我通过在我的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中定义的值,从不考虑。 我错过了什么吗? 非常感谢您的帮助
答案 0 :(得分:0)
只有一种可能性,你在某处定义了第二个picasso
参数,可能在另一个文件中locale
)。