在 Symfony 2 中使用 Twig:嵌入块内的翻译不起作用
Using Twig in Symfony 2: Translation inside an embeded block does not work
我在 Symfony 2
WebApp 项目中使用 Twig
。我使用 {% embed SomeTamplate %}
将一个模板文件的内容包含在另一个模板文件中。这工作正常,但翻译在嵌入文件中不起作用。
页面模板:
{% extends 'AppBundle::layout.html.twig' %}
{% trans_default_domain mypages' %}
1: {{ 'pages.home.sometext'|trans }}
{% embed "block.html.twig" with {'classes': 'homepage-hero'} %}
{% block content %}
2: {{ 'pages.home.sometext'|trans }}
{% endblock %}
{% endembed %}
{% embed "block.html.twig" with {'classes': 'red-bg'} %}
{% block content %}
3: {{ 'pages.home.sometext'|trans }}
{% endblock %}
{% endembed %}
块模板:
{% trans_default_domain mypages' %}
<div class="full-width-block{% if classes is defined %} {{ classes }}{% endif %}">
X: {{ 'pages.home.sometext'|trans }}
{% block content %}
{% endblock %}
</div>
输出:
1: SomeText
X: SomeText
2: pages.home.sometext
X: SomeText
3: pages.home.sometext
所以:虽然翻译在两个模板文件中工作正常,但嵌入块中的相同文本常量未翻译。我该如何解决这个问题?
域名必须用引号括起来,最后一个引号就可以了。
访问 http://symfony.com/doc/current/book/translation.html
这样说:
{% trans_default_domain "mypages" %}
希望你的问题得到解决
我在 Symfony 2
WebApp 项目中使用 Twig
。我使用 {% embed SomeTamplate %}
将一个模板文件的内容包含在另一个模板文件中。这工作正常,但翻译在嵌入文件中不起作用。
页面模板:
{% extends 'AppBundle::layout.html.twig' %}
{% trans_default_domain mypages' %}
1: {{ 'pages.home.sometext'|trans }}
{% embed "block.html.twig" with {'classes': 'homepage-hero'} %}
{% block content %}
2: {{ 'pages.home.sometext'|trans }}
{% endblock %}
{% endembed %}
{% embed "block.html.twig" with {'classes': 'red-bg'} %}
{% block content %}
3: {{ 'pages.home.sometext'|trans }}
{% endblock %}
{% endembed %}
块模板:
{% trans_default_domain mypages' %}
<div class="full-width-block{% if classes is defined %} {{ classes }}{% endif %}">
X: {{ 'pages.home.sometext'|trans }}
{% block content %}
{% endblock %}
</div>
输出:
1: SomeText
X: SomeText
2: pages.home.sometext
X: SomeText
3: pages.home.sometext
所以:虽然翻译在两个模板文件中工作正常,但嵌入块中的相同文本常量未翻译。我该如何解决这个问题?
域名必须用引号括起来,最后一个引号就可以了。 访问 http://symfony.com/doc/current/book/translation.html
这样说:
{% trans_default_domain "mypages" %}
希望你的问题得到解决