0

我有 symfony 2.3 并且我为 i18n 目的配置了翻译,将 _locale 放在 url 中,它适用于经过身份验证的用户,但不适用于匿名用户,因为匿名用户总是给我默认的语言环境,在探查器中,语言环境看起来很好但它没有加载正确的翻译。

Pd:我正在使用 FOSUserBundle

4

1 回答 1

0

请确保已为匿名用户启动会话。在您的控制器中检查:

$this->container->get('session')->isStarted()

开始会话

$this->container->get('session')->start();

如果会话已正确启动,请验证已设置区域设置。

在其他示例中使用$this->get()别名。$this->container->get()

获取语​​言环境

$this->get('session')->get('_locale');

否则设置语言环境

$this->get('session')->set('_locale', 'en_US');
于 2013-06-09T22:57:53.523 回答