不使用在parameters.yml中定义的语言环境

时间:2015-09-02 19:54:33

标签: symfony locale fosuserbundle

我通过在我的Bundle文件夹中创建自己的layout.html.twig来覆盖FOSUserBundle登录屏幕的布局。我的Bundle是FOSUserBundle的孩子。 但是,我无法更改语言环境,语言被锁定为英语。

在我的parameters.yml中,我定义了我的语言环境值:

# app/config/parameters.yml
parameters:
locale:                 fr

还配置了翻译:

# app/config/config.yml
framework:
    #esi:             ~
    translator:      { fallbacks: ["%locale%"] }
    default_locale:  "%locale%"

我的模板如下:

{% extends "::base.html.twig" %}
{% block stylesheets %}
    {{ parent() }}
    {% stylesheets
        'css/login-screen.less'
        filter='less,cssrewrite'
    %}
    <link rel="stylesheet" href="{{ asset_url }}" type="text/css" />
    {% endstylesheets %}
{% endblock %}
{% block body %}
    Locale : {{ app.request.locale }} <br />
    {# Flash message of FosUserBundle #}
    {% for key, message in app.session.flashbag.all() %}
        <div class="alert alert-{{ key }}">
            {{ message|trans({}, 'FOSUserBundle') }}
        </div>
    {% endfor %}
    {% block fos_user_content %}
    {% endblock fos_user_content %}
{% endblock %}

app.request.locale显示的值仍为&#34; en&#34;。 在框架配置中,当我手动更改default_locale的值时,如下所示:

# app/config/config.yml
framework:
    #esi:             ~
    translator:      { fallbacks: ["%locale%"] }
    default_locale:  fr

可行,app.request.locale的值为&#34; fr&#34;。 它类似于parameters.yml中定义的值,从不考虑。 我错过了什么吗? 非常感谢您的帮助

1 个答案:

答案 0 :(得分:0)

只有一种可能性,你在某处定义了第二个picasso参数,可能在另一个文件中locale)。