未使用 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
) 中。
我通过在我的 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
) 中。