我有一个自定义服务,其中的翻译不起作用。 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的缓存,然后进行了热身。在控制台中找到并显示翻译。
答案 0 :(得分:1)
替换
$this->translator->trans(
'elasticsearch.exception.service.date.wrong_format'
)
使用
$this->translator->trans(
'elasticsearch.exception.service.date.wrong_format', array(), 'exceptions'
)