首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >已加载但未翻译的Symfony2翻译

已加载但未翻译的Symfony2翻译
EN

Stack Overflow用户
提问于 2015-11-17 22:37:13
回答 2查看 75关注 0票数 0

我正在使用FOS、RestBundle和JMSSerializer (可能它在做一些我不知道的事情),我想用json返回一个翻译后的消息。我想使用translator服务,但是trans()方法不起作用。

代码语言:javascript
复制
$this->get('translator')->trans('translator.key.here')

当我转储translator并在当前区域设置和'translator.key.here‘键下找到翻译后的消息时,翻译似乎被正确加载。但是,trans函数只是返回密钥字符串。有什么想法吗?

编辑:在twig中,它可以完美地工作。在我的messages.hu yml文件中:

代码语言:javascript
复制
translator:
    key: 
        here: some message

在配置中还设置回退:

代码语言:javascript
复制
translator: { fallbacks: [hu] }
default_locale:  "%locale%"

当我在对象中转储translator时,我在en locale下找到了正确的消息密钥对:

代码语言:javascript
复制
"translator.key.here" => "some message"
EN

回答 2

Stack Overflow用户

发布于 2015-11-17 22:48:53

在parameters.yml中尝试:

代码语言:javascript
复制
locale: hu

在config.yml中:

代码语言:javascript
复制
framework:
     translator:      { fallbacks: ["%locale%"] }
     default_locale:  "%locale%"

并在翻译文件夹中创建文件: messages.hu.yml

票数 1
EN

Stack Overflow用户

发布于 2015-11-18 02:18:59

我找到了一个解决方案..。仍然不知道为什么不简单地工作,但它工作,如果我直接设置翻译领域。translator->trans('key.goes.here',array(),'messages);如果有人将来有什么问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33759617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档