2017-05-03 6 views
1

私のSymfonyフレームワークプロジェクトで「メッセージコード」、たとえば「person.name」を使用しています。私は対応するxliffメッセージコードファイルを使用します。これは索引として使用されるメッセージコードで、「ソース言語」属性を設定するための正しいまたは普通のアプローチは何ですか?ここでは例:BCP47パー<source>属性のメッセージコードを使用する場合のXLIFFソース言語設定

<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> 
    <file source-language="en" target-language="de" datatype="plaintext" original="file.ext"> 
     <body> 
      <trans-unit id="person.name"> 
       <source>person.name</source> 
       <target>Name</target> 
      </trans-unit> 
     </body> 
    </file> 
</xliff> 

答えて

0

は、あなたがund(判別できない)を使用することができるはずですが、私は強く、文字列IDまたは何を」として言及してsourceを移入します(使用しているアプローチを使用しないことをお勧めしますメッセージコード ")。その理由は、Xliffは、文字列IDに基づいて、またはソース言語またはターゲット言語に基づいて、各言語の翻訳を取得するために簡単に解析できる2言語の並列リソースであることを意図しています。翻訳者が使用するツールは、このようにXliffを使用し、sourceタグのコンテンツを翻訳者にソース言語として提供し、そのソース文字列に基づいてtargetの内容を入力する必要があります。

sourceに文字列IDを入力すると、その目的を無効にします。あなたの例でXLIFFを使用する一般的な方法は次のとおりです。でIDを使用して

<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> 
    <file source-language="en" target-language="de" datatype="plaintext" original="file.ext"> 
     <body> 
      <trans-unit id="person.name"> 
       <source>Name</source> 
       <target>Vorname</target> 
      </trans-unit> 
      <trans-unit id="person.surname"> 
       <source>Surname</source> 
       <target>Nachname</target> 
      </trans-unit> 
     </body> 
    </file> 
</xliff> 
+1

はsymfonyの既知の問題です、https://github.com/symfony/symfony/issues/20076#issuecomment-294126923 –

+0

を参照してください右。それを知らなかった。 Xliffのようなバイリンガルなファイルフォーマットがどのように機能し、どのように他のツールと互換性がなければならないかについて、メンテナの側で誤解されているようです。明らかに、私は、(a)ソース文字列を参照してターゲット文字列、(b)ターゲット文字列を検索してソース文字列、(c)resnameを使用してソースとターゲットのペアをルックアップすることができます。 – Shervin

+0

はい、同意します。 (私はその問題を提起した、いつか私はPRを開く時間を見つけるかもしれない)。 –

関連する問題