翻译Twig中父模板块的文本?

时间:2012-07-10 14:10:21

标签: symfony twig

如何翻译父模板page.html.twig中的整个块:

{# app/Resources/views/page.html.twig #}
{% extends '::bootstrap.html.twig' %}

{% block page %}
    <div class="page-header">
        <h1>{% block header %}{% endblock %} 
        <small>{% block small %}{% endblock %}</small></h1>
    </div>
    <div id="content" class="container-fluid">
        {% block content %}{% endblock %}
    </div>
{% endblock %}

...而不是在每个子模板中调用trans

{# src/AcmeHelloBundle/Resources/views/User/show.html.twig #}
{% extends '::page.html.twig' %}

{% block header %}{% trans %}Utente{% endtrans %}{% endblock %}
{% block small %}{% trans %}dettaglio{% endtrans %}{% endblock %}

{% block content %}{% endblock %}

我尝试使用{% block header %}环绕{% trans %},但它抱怨trans应该是一个简单的字符串,而不是表达式。

1 个答案:

答案 0 :(得分:3)

没关系。我自己直接使用block找到它:

{% block page %}
<div class="page-header">
    <h1>{{ block('header')|trans }} 
    <small>{{ block('small')|trans }}</small></h1>
</div>
<div id="content" class="container-fluid">
    {% block content %}{% endblock %}
</div>
{% endblock %}

我不打算删除这个问题,因为我找不到任何类似的......