3

我安装了捆绑包:https ://github.com/lunetics/LocaleBundle ,它有助于在语言之间切换。一切正常,在树枝上,翻译工作正常。但是当我想翻译控制器中的任何消息时,我得到的是法语(fr)而不是定义的语言(例如 en)。

请问如何在控制器中获取当前选择的语言环境?

我使用:$this->getRequest()->getLocale()但它不起作用,它给了我每种文化的 FR。

我在 parameter.ini 中的默认设置语言是 FR

4

1 回答 1

0

在查看了 LuneticsLocaleBundle 和 Symfony 2.1 文档的代码后,我发现 symfony2.1 正在通过路线中的语言环境。从 symfony 创建 nes 请求的 twig 模板渲染动作时存在问题。所以,为了解决这个问题,我重写了 LuneticsLocaleBundle 的代码,并添加$this->get('session')->set('_locale', $_locale);了包的 LocaleController 的 switchAction。

因此,语言环境将存储在会话中。

我希望这也能帮助你。

于 2013-02-05T23:10:18.813 回答