1

<p>,<italic>, <strong>Symfony2 のタグを含む HTML ページ全体 (テキストといくつかのマークアップ) を翻訳したいと考えています。私が使用する単純なフレーズの場合{{ 'read.first'|trans }}、これは のような html タグを受け入れません<p>。それ、どうやったら出来るの ?

4

1 に答える 1

0

symfony の翻訳コンポーネントを使用して完全なページを翻訳するべきではありません。これは、短い文字列だけを意味します。

Twig は常に文字列内のタグをエスケープします。翻訳でこれを無効にする方法については、翻訳ドキュメントを参照してください。

翻訳タグまたはフィルターを使用しても同じ効果がありますが、わずかな違いが 1 つあります。自動出力エスケープは、フィルターを使用して翻訳された変数にのみ適用されます。つまり、変換された変数が出力エスケープされていないことを確認する必要がある場合は、変換フィルターの後に raw フィルターを適用する必要があります。

{# 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 }}
于 2013-01-10T21:51:32.567 に答える