Symfony 2.1 如何在Symfony2中将整个页面翻译成另一种语言?

Symfony 2.1 如何在Symfony2中将整个页面翻译成另一种语言?,symfony-2.1,Symfony 2.1,我想翻译整个html页面(文本和一些标记),包括Symfony2中的,标记。对于简单的短语,我使用{{'read.first'| trans}},但这不接受像这样的html标记。如何做到这一点?您不应该使用symfony的翻译组件翻译完整的页面,这意味着只翻译短字符串 Twig总是以字符串形式转义标记,您可以阅读如何为您的翻译禁用此项: 使用翻译标记或过滤器具有相同的效果,但有一个细微的区别: 自动输出转义仅应用于使用筛选器转换的变量。换句话说 换句话说,如果您需要确保转换后的变量没有输出转义,

我想翻译整个html页面(文本和一些标记),包括Symfony2中的
标记。对于简单的短语,我使用
{{'read.first'| trans}}
,但这不接受像
这样的html标记。如何做到这一点?

您不应该使用symfony的翻译组件翻译完整的页面,这意味着只翻译短字符串

Twig总是以字符串形式转义标记,您可以阅读如何为您的翻译禁用此项:

使用翻译标记或过滤器具有相同的效果,但有一个细微的区别: 自动输出转义仅应用于使用筛选器转换的变量。换句话说 换句话说,如果您需要确保转换后的变量没有输出转义,那么您必须 在转换筛选器之后应用原始筛选器:

{# text translated between tags is never escaped #}
{% trans %}
    <h3>foo</h3>
{% endtrans %}

{% set message = '<h3>foo</h3>' %}

{# a variable translated via a filter is escaped by default #}
{{ message|trans|raw }}

{# but static strings are never escaped #}
{{ '<h3>foo</h3>'|trans }}
{#在标记之间翻译的文本永远不会转义#}
{%trans%}
福
{%endtrans%}
{%set消息='foo'%}
{#默认情况下,通过过滤器转换的变量将被转义#}
{{message | trans | raw}}
{#但是静态字符串永远不会转义#}
{{'foo'| trans}}