我使用特殊的_locale
参数定义了我的路由。当路由器与路由器匹配时,在我的用户会话中正确设置了语言环境,我可以看到在探查器中使用的正确语言环境。
$this->get('session')->getLocale(); // Return the correct locale
问题是i18n转换器总是使用我的parameters.yml文件中定义的默认语言环境,而不是使用会话中设置的语言环境。
有什么我想念的吗?我是否必须手动将会话区域设置传递给翻译器?
我正在使用Symfony 2.0.9。
答案 0 :(得分:0)
根据此链接:Translations configuration,“翻译中使用的语言环境是存储在用户会话中的语言环境。”如果你不是这种情况,我猜你在配置中改变了什么?
顺便说一下,语言环境将存储在请求中,而不再存储在2.1中的会话中:https://github.com/symfony/symfony/commit/74bc699b270122b70b1de6ece47c726f5df8bd41