1

<br />symfony の XLIFF i18n ファイルで改行 () を使用するための実用的なソリューションを探しています。

残念ながら、デフォルトのタグ<x id='1' ctype='lb'/>は Twig や symfony の XLIFF 実装によって取り除かれているようです。XLIFF 形式は symfony2 の推奨形式なので、symfony のクックブックに改行に関する単一の行がないことを疑問に思っています。

<!-- messages.fr.xliff -->
<?xml version="1.0"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
    <file source-language="en" datatype="plaintext" original="file.ext">
        <body>
            <trans-unit id="1">
                <source>Je suis Joe Schmoe</source>
                <target>I am<x id="1" ctype="lb"/>Joe Schmoe</target>
            </trans-unit>
        </body>
    </file>
</xliff>

一般的なプレースホルダー <x/>(非推奨)

この<x/>要素は、元のドキュメントのコードを置き換えるために使用されます。必須の id 属性は、スケルトン ファイル内の置き換えられたコードを参照するために使用されます。オプションのctype属性を使用すると、プレースホルダーが表す属性の種類を指定できます。

出典: XLIFF 1.2 仕様

Line 1<x id='1' ctype='lb'/>line 2

編集2:

この<x/>要素は非推奨です。現在、この情報はドキュメントで確認できます。

4

3 に答える 3

11

CDATA セクションを使用して、html タグが xliff と誤解されないようにする必要があります。

<!-- messages.fr.xliff -->
<?xml version="1.0"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
    <file source-language="en" datatype="plaintext" original="file.ext">
        <body>
            <trans-unit id="1">
                <source>Je suis Joe Schmoe</source>
                <target><![CDATA[I am<br />Joe Schmoe]]></target>
            </trans-unit>
        </body>
    </file>
</xliff>

その後、テンプレートで、html がエスケープされていないことを確認し、raw タグを使用します。

{{'Je suis Joe Schmoe' | trans | raw }}

ところで、これは一体何なんだろう?<x id='1' ctype='lb'/>

于 2014-01-29T18:14:43.690 に答える