我安装了捆绑包:https ://github.com/lunetics/LocaleBundle ,它有助于在语言之间切换。一切正常,在树枝上,翻译工作正常。但是当我想翻译控制器中的任何消息时,我得到的是法语(fr)而不是定义的语言(例如 en)。
请问如何在控制器中获取当前选择的语言环境?
我使用:$this->getRequest()->getLocale()
但它不起作用,它给了我每种文化的 FR。
我在 parameter.ini 中的默认设置语言是 FR
我安装了捆绑包:https ://github.com/lunetics/LocaleBundle ,它有助于在语言之间切换。一切正常,在树枝上,翻译工作正常。但是当我想翻译控制器中的任何消息时,我得到的是法语(fr)而不是定义的语言(例如 en)。
请问如何在控制器中获取当前选择的语言环境?
我使用:$this->getRequest()->getLocale()
但它不起作用,它给了我每种文化的 FR。
我在 parameter.ini 中的默认设置语言是 FR
在查看了 LuneticsLocaleBundle 和 Symfony 2.1 文档的代码后,我发现 symfony2.1 正在通过路线中的语言环境。从 symfony 创建 nes 请求的 twig 模板渲染动作时存在问题。所以,为了解决这个问题,我重写了 LuneticsLocaleBundle 的代码,并添加$this->get('session')->set('_locale', $_locale);
了包的 LocaleController 的 switchAction。
因此,语言环境将存储在会话中。
我希望这也能帮助你。