Symfony2翻译已加载但未翻译

时间:2015-11-17 14:37:13

标签: symfony translation fosrestbundle jmsserializerbundle

我正在使用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"

2 个答案:

答案 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);如果有人将来有一些问题。