【问题标题】:Translation doesn't work with Anonymous user at symfony2翻译不适用于 symfony2 的匿名用户
【发布时间】:2013-06-09 21:33:12
【问题描述】:

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

Pd:我正在使用 FOSUserBundle

【问题讨论】:

    标签: php symfony


    【解决方案1】:

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

    $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');
    

    【讨论】:

    • 它对两者(匿名和注册)都返回 true
    • 我已经在我的控制器顶部尝试过,会话在两个追逐中都是空的(匿名用户和登录用户)
    猜你喜欢
    • 2013-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-22
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多