【问题标题】:Symfony twig translation in overrided FOS template覆盖 FOS 模板中的 Symfony 树枝翻译
【发布时间】:2016-01-19 09:49:14
【问题描述】:

我在 app/Resources/FOSUserBundle/views/Profile/edit.html.twig 中的 FosUserBundle 的覆盖模板中

这是模板:

{% extends "::base.html.twig" %}

{% trans_default_domain 'FOSUserBundle' %}

{% block body %}
    <div class="page-content">
        <div class="bg-lightBlue fg-white align-center">
            <div class="container">
                <div class="no-overflow padding30" style="padding-top: 40px">

                    <h1 class="text-shadow metro-title text-light padding20">
                        {{ 'member.profile'|trans }}
                    </h1>

                    <div class="text-light" style="padding-bottom:30px">
                        {% include "FOSUserBundle:Profile:edit_content.html.twig" %}
                    </div>

                </div>
            </div>
        </div>
    </div>
{% endblock %}

正如您在 h1 中看到的,我有:{{ 'member.profile'|trans }},但翻译在此模板中不起作用。

翻译在我的包中的其他视图中工作,所以我认为问题出在 FosUser。

有什么想法吗?

【问题讨论】:

  • 这是因为您使用FOSUserBundle 域进行翻译。删除{% trans_default_domain 'FOSUserBundle' %},它应该可以按预期工作。
  • “它不起作用”是什么意思?你期待什么?你得到了什么?您将member.profile 键的翻译放在哪里?
  • 也许读到这个 ​​- StackOverflow 1 - StackOverflow 2
  • 它不起作用意味着在我看来,我显示了 member.profile 而不是我的翻译。我知道是 FosUser trans 的问题,但我也需要保留这些翻译。

标签: symfony fosuserbundle


【解决方案1】:

如果您想使用 FOSUserBundle 翻译域,您也必须覆盖 fos 翻译文件才能使其工作。其他解决方案是更改翻译消息所在的翻译域

【讨论】:

    【解决方案2】:

    确保在 app/config/config.yml 文件的 framework 部分中,取消注释:translator: { fallbacks: ['%locale%'] }。我遇到了这个问题,所以我做了这个,它对我有用。

    【讨论】:

      猜你喜欢
      • 2017-04-01
      • 2018-07-23
      • 2019-05-07
      • 2015-05-19
      • 1970-01-01
      • 2014-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多