Php 扩展FosUserBundle';s翻译:扩展模板上的一些额外消息无法翻译

Php 扩展FosUserBundle';s翻译:扩展模板上的一些额外消息无法翻译,php,symfony,symfony-3.2,Php,Symfony,Symfony 3.2,在我的Symfony 3.2项目中,我在名为messages.en.yml的文件中扩展了FosUserBundle,该文件具有以下内容: security.login.username: "Username" security.login.password: "Password" security.login.remember_me: "Remember me" security.login.submit: "Login" registration.confirmed.header: "Regi

在我的Symfony 3.2项目中,我在名为
messages.en.yml
的文件中扩展了FosUserBundle,该文件具有以下内容:

security.login.username: "Username"
security.login.password: "Password"
security.login.remember_me: "Remember me"
security.login.submit: "Login"
registration.confirmed.header: "Registration Success"
reset.password.header: "Reset your password"
{% extends "@FOSUser/layout.html.twig" %}

{% set body_css_classes="skin-blue layout-top-nav" %}

{% trans_default_domain 'FOSUserBundle' %}

{% block title %} Set a new Password {% endblock %}

{% block fos_user_content %}
<div class="content-wrapper" style="min-height:100%">
        <div class="container">
            <section class="content">
                <div class="box box-default">
                    <div class="box-header">
                        <h4 class="text-center">{{ 'reset.password.header'|trans }}</h4>
                    </div>
                    <form action="{{ path('fos_user_resetting_send_email') }}" method="POST" class="form-horizontal">
                        <div class="box-body">
                          <div class="form-group">
                                    <label for="username" class="col-sm-3 control-label">{{ 'resetting.request.username'|trans }}</label>
                                    <div class="col-sm-9">
                                        <input type="text" id="username" class="form-control" name="username" required="required" />
                                    </div>
                           </div>
                           <div class="form-group">
                             <div class="col-sm-offset-3 col-sm-9">
                               <input type="submit" class="btn btn-primary" value="{{ 'resetting.request.submit'|trans }}" />
                             </div>
                           </div>
                        </div>
                    </form>
                </div>
            </section>
        </div>
    </div>
{% endblock fos_user_content %}

{% block javascriptsFooter %}
{% endblock %}
请注意,
注册.确认.标题
重置.密码.标题
用于I从fos用户捆绑包扩展而来的模板,如
请求.html.细枝
,具有以下内容:

security.login.username: "Username"
security.login.password: "Password"
security.login.remember_me: "Remember me"
security.login.submit: "Login"
registration.confirmed.header: "Registration Success"
reset.password.header: "Reset your password"
{% extends "@FOSUser/layout.html.twig" %}

{% set body_css_classes="skin-blue layout-top-nav" %}

{% trans_default_domain 'FOSUserBundle' %}

{% block title %} Set a new Password {% endblock %}

{% block fos_user_content %}
<div class="content-wrapper" style="min-height:100%">
        <div class="container">
            <section class="content">
                <div class="box box-default">
                    <div class="box-header">
                        <h4 class="text-center">{{ 'reset.password.header'|trans }}</h4>
                    </div>
                    <form action="{{ path('fos_user_resetting_send_email') }}" method="POST" class="form-horizontal">
                        <div class="box-body">
                          <div class="form-group">
                                    <label for="username" class="col-sm-3 control-label">{{ 'resetting.request.username'|trans }}</label>
                                    <div class="col-sm-9">
                                        <input type="text" id="username" class="form-control" name="username" required="required" />
                                    </div>
                           </div>
                           <div class="form-group">
                             <div class="col-sm-offset-3 col-sm-9">
                               <input type="submit" class="btn btn-primary" value="{{ 'resetting.request.submit'|trans }}" />
                             </div>
                           </div>
                        </div>
                    </form>
                </div>
            </section>
        </div>
    </div>
{% endblock fos_user_content %}

{% block javascriptsFooter %}
{% endblock %}
{%extends“@FOSUser/layout.html.twig”%}
{%set body\u css\u classes=“皮肤蓝色布局顶部导航”%}
{%trans\u默认\u域'FOSUserBundle%}
{%block title%}设置新密码{%endblock%}
{%block fos_user_content%}
{{'reset.password.header'| trans}}
{{'重置.request.username'| trans}}
{%endblock fos_user_content%}
{%block javascriptsFooter%}
{%endblock%}
问题是,除了
reset.password.header
之外,所有内容都会被翻译,即使我将其放入
messages.yml
中,它仍然不会翻译我设置的额外消息

{% trans_default_domain 'FOSUserBundle' %}

这意味着,翻译人员不是在“messages”域中查找,而是在“FOSUserBundle”域中查找。在/app/Resources/translations/FOSUserBundle.en.yml中添加翻译应该有效。

因为@kero说翻译文件必须命名为
FOSUserBundle.en.yml
,并且必须具有完整路径:
app/Resources/translations/FOSUserBundle.en.yml


另外,请确保您已设置了正确的密钥,并且不要覆盖任何现有密钥,例如,您可以在
供应商/friendsofsymfony/Resources/translations/
文件夹下的
FOSUserBundle.xx.yml
文件中看到,无法设置密钥
更改密码。提交一些
内容,并希望正确翻译

我可以在一个模板中放置多个域吗?老实说,我不确定翻译文件夹中的FOSUserBundle.en.yml、messages.en.yml(、validators.en.yml…)有什么问题?您确定路径吗?我有一个正在运行的Symfony 2.8项目,其中覆盖的视图位于
app/Resources/FOSUserBundle/views/
中,但覆盖的翻译位于
app/Resources/translations/
中。或者两者都可以工作我没有使用2.8我使用的是Symfony 3.2