【问题标题】:Translating text of a parent template block in Twig?在 Twig 中翻译父模板块的文本?
【发布时间】:2012-07-10 00:56:20
【问题描述】:

如何翻译父模板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 %}

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

【问题讨论】:

    标签: symfony twig


    【解决方案1】:

    没关系。自己用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 %}
    

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

    【讨论】:

    • 太棒了。我也找不到答案!
    • @Sydney_o9 很高兴为您提供帮助。当(比如说)small 包含动态字符串时,唯一的坏处会发生。我正在寻找比离开{% block small %}{% endblock %}... 更好的解决方案
    猜你喜欢
    • 1970-01-01
    • 2019-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-16
    • 2012-12-16
    • 2015-10-30
    相关资源
    最近更新 更多