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

Locale defined in parameters.yml is not used

我通过在我的 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 显示的值仍然是 "en"。 在框架配置中,当我像这样手动更改 default_locale 的值时:

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

有效,app.request.locale的值为"fr"。 这就像 parameters.yml 中定义的值从未被考虑在内。 我错过了什么吗? 非常感谢您的帮助

只有一种可能,您在某处定义了第二个 locale 参数,可能在另一个文件 (config.yml) 中。