我正在使用FOS RestBundle和JMSSerializer(也许它正在做一些我不知道的事情)并希望在json中返回已翻译的消息。我想使用翻译服务,但trans()方法不起作用。
$this->get('translator')->trans('translator.key.here')
翻译似乎正确加载,因为我转储了翻译,并在当前语言环境下找到了已翻译的消息,并且' translator.key.here'键。但是,trans函数只是简单地返回键字符串。 有什么想法吗?
编辑:在树枝上它完美地工作。 在我的messages.hu yml文件中:
translator:
key:
here: some message
在配置中还设置了回退:
translator: { fallbacks: [hu] }
default_locale: "%locale%"
当我将翻译器转储到我在en locale下找到的对象时,右侧消息密钥对:
"translator.key.here" => "some message"
答案 0 :(得分:1)
在parameters.yml:
中试试locale: hu
并在config.yml中:
framework:
translator: { fallbacks: ["%locale%"] }
default_locale: "%locale%"
并在翻译文件夹中创建文件:messagess.hu.yml
答案 1 :(得分:0)
我找到了一个解决方案..仍然不知道为什么不能简单地工作,但如果我直接设置翻译域,它就有效。 translator-> trans('key.goes.here',array(),'messages);如果有人将来有一些问题。