2013-02-05 123 views
3

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

请问我该如何获取控制器中当前选定的区域设置?

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

我的默认设置语言为FR

回答

0

LuneticsLocaleBundle和Symfony的2.1文件的代码中寻找后,我discovred的是,symfony2.1是通过语言环境的路线。当从symfony创建nes请求的树枝模板呈现动作时存在问题。所以,为了解决这个问题,我重写了LuneticsLocaleBundle的代码,并且在bundle的LocaleController的switchAction中添加了$this->get('session')->set('_locale', $_locale);

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

我希望能帮助你。