私はこれがこの質問をする正しいフォーラムであることを望みます。そうでない場合は、より適切なフォーラムにリダイレクトしてください。Qt言語学者の翻訳ファイル(TSファイル)でメッセージを識別する
Qt Linguist TSファイルの形式を理解しようとしています。私はファイルを修正しました。そのファイルを開こうとすると、 "Duplicate messages found in ..."というエラーメッセージが表示されます。ソースコードは、ファイルが実際に
- 同じソース
- 同じファイル名が異なる行番号
- 異なる翻訳ここ
と場所を持っている二つのメッセージであるコンテキストが含まれていますこのエラーが発生する最小限のファイル:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="es">
<context>
<name>MyContext</name>
<message>
<location filename="../../../../../MyFile.cpp" line="605"/>
<source>Delete</source>
<translatorcomment>Menu option</translatorcomment>
<translation type="unfinished">&Borrar</translation>
</message>
<message>
<location filename="../../../../../MyFile.cpp" line="1572"/>
<source>Delete</source>
<translation>Eliminar</translation>
</message>
</context>
</TS>
私の知る限り、各メッセージは次のとおりです。コンテキスト、ソース、ロケーションによって識別されるので、行番号が異なるため、これは問題ではありません。また、2つのメッセージ要素が異なる翻訳テキストを含んでいるため、メッセージ要素を1つにまとめることはできません。
エラーメッセージが表示される原因はわかりません。 Qtバージョン4.6.2を使用しています。 Qt Linguist Manual: Translator、Qt Linguist Manual: Programmers、Linguist TS file format私は探している情報、すなわち各メッセージがどのように識別されているか、そしてQt言語学者のエラーメッセージを引き起こす可能性のある情報を見つけました。
この質問に対する回答がわからない場合は、TS形式に関するさらに詳しい情報へのリンクも役立ちます。私はオプションのタグを使用してTS /コンテキスト/メッセージ/ することが可能であるコメントことを見出した
UPDATE
は、例えば、同じコンテキスト/メッセージ/ソースの異なる翻訳テキストを持っています
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="es">
<context>
<name>MyContext</name>
<message>
<location filename="../../../../../MyFile.cpp" line="605"/>
<source>Delete</source>
<comment>Comment 1</comment>
<translatorcomment>Menu option</translatorcomment>
<translation type="unfinished">&Borrar</translation>
</message>
<message>
<location filename="../../../../../MyFile.cpp" line="1572"/>
<source>Delete</source>
<comment>Comment 2</comment>
<translation>Eliminar</translation>
</message>
</context>
</TS>
上記のファイルはエラーなしで開くことができます。
これは私の問題を解決すると思われますが、この形式についての正確な文書を用意することは良いことです。
Qtバージョン? – menjaraz
Qt 4.6.2。この情報を質問に追加します。 – Giorgio
あなたはXML技術を使い快適になっていますか? – menjaraz