如何在Symfony 2.1控制器中获取语言环境?

时间:2013-02-05 22:52:48

标签: symfony-2.1

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

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

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

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

1 个答案:

答案 0 :(得分:0)

在查看LuneticsLocaleBundle和Symfony 2.1文档的代码后,我发现,symfony2.1正在路由中传递Locale。从twig模板呈现操作时存在问题,其中symfony创建nes请求。所以,为了解决这个问题,我重写了LuneticsLocaleBundle的代码,并在bundle的LocaleController的switchAction中添加了$this->get('session')->set('_locale', $_locale);

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

我希望这也可以帮到你。