我有symfony 2.3并且我为i18n目的配置了翻译,将_locale放在url中,它适用于经过身份验证的用户但不适用于匿名用户,因为匿名用户总是在分析器上给我默认语言环境locale看起来很好,但它没有加载正确的翻译。
Pd:我正在使用FOSUserBundle
答案 0 :(得分:0)
请确保已为匿名用户启动会话。在你的控制器中检查:
$this->container->get('session')->isStarted()
开始会话
$this->container->get('session')->start();
如果会话正确启动,请验证是否已设置区域设置。
在其他示例中使用$this->get()
的{{1}}别名。
获取区域设置
$this->container->get()
否则设置区域设置
$this->get('session')->get('_locale');