自定义服务中的Symfony转换无法正常工作

时间:2017-03-21 10:55:33

标签: php symfony service translation

我有一个自定义服务,其中的翻译不起作用。 Symfony版本3.2.3

构造

public function __construct(TranslatorInterface $translator){
    $this->translator = $translator;
}

方法:

public function iConvertDateTimeString(){
     ...
if ($dateTime === false) {
    throw new \InvalidArgumentException(
        $this->translator->trans(
            'elasticsearch.exception.service.date.wrong_format'
        ),
        1488549113
    );
}

services.yml:

services:
    elastic_search.elasticsearch:
        class: MyCompany\ElasticSearchBundle\Services\ElasticSearchService
        arguments: [ "@translator" ]

exceptions.de_DE.yml:

elasticsearch:
    exception:
        service:
            date:
                wrong_format: Der DateTime String hat das falsche Format. Benutze 'Y-m-d H:i:s' oder 'Y-m-d H:i:s.u'.

输出:

elasticsearch.exception.service.date.wrong_format
500 Internal Server Error - InvalidArgumentException

问题是什么? Allready已经清除了prod和dev的缓存,然后进行了热身。在控制台中找到并显示翻译。

1 个答案:

答案 0 :(得分:1)

替换

$this->translator->trans(
        'elasticsearch.exception.service.date.wrong_format'
)

使用

$this->translator->trans(
        'elasticsearch.exception.service.date.wrong_format', array(), 'exceptions'
)