XLIFF 1.1 and 1.2¶
注釈
XLIFF 2.0 は XLIFF 1.2 とは異なる形式であり、後方互換性はありません。
XML ベースのファイル形式で、翻訳ファイルを標準化するために作成されましたが、結果的には、この分野の 多くの標準 の 1 つにしかすぎません。
XML Localization Interchange File Format (XLIFF) は、通常はバイリンガルとして使用しますが、Weblate ではモノリンガルとしても対応しています。
Weblate が対応している XLIFF の種類:
- XLIFF 1.2 翻訳ファイル
要素の内容が、プレーン テキストとして格納される単純な XLIFF ファイル(すべての XML 要素がエスケープされる)。
- 置換可能な要素に対応する XLIFF 1.2
置換可能な要素などのさまざまな XML 要素に対応する標準 XLIFF です。
- gettext 拡張付きの XLIFF 1.2
複数形に対応するため、XLIFF 1.2 Representation Guide for Gettext PO によって強化された XLIFF。
- XLIFF 1.2 with Apple extensions
XLIFF enriched by Apple to support plurals.
参考
翻訳文の状態¶
ファイルの state 属性は、個別に処理され、Weblate 内の「要修正」状態に分類されます(翻訳対象の文字列が存在する場合に、要修正とフラグが付く状態: new、needs-translation、needs-adaptation、needs-l10n)。state 属性がない場合は、<target> 要素があれば、ただちに翻訳済みとみなします。
翻訳文が、approved="yes" であれば、「承認済み」として Weblate にインポートされますが、それ以外のものは、「査読待ち」(XLIFF 仕様に沿う)としてインポートします。
保存中は、必要がない限り追加されない属性:
state属性は、文字列に「要修正」のフラグが付いている場合にのみ追加される。approved属性は、文字列が「査読済み」の場合にのみ追加される。その他の場合、属性は追加されないが、存在する場合には更新される。
つまり、XLIFF 形式を使用する場合は、文字列の承認状態を確認して変更できるように、Weblate の査読の強制は必ず有効化してください。
同様に、このようなファイルをインポート(アップロード フォームから)する場合は、要修正の文字列の扱い の中から、要修正として文字列をインポート を選択してください。
参考
XLIFF の空白と改行¶
通常、XML 形式では、複数の空白や種別を認識しません。現状の空白を保存する場合は、xml:space="preserve" フラグを文字列に追加してください。
例:
<trans-unit id="10" approved="yes">
<source xml:space="preserve">hello</source>
<target xml:space="preserve">Hello, world!
</target>
</trans-unit>
翻訳フラグの指定¶
weblate-flags 属性を使用して、追加の翻訳フラグ(参照: フラグを使用した動作の設定)を指定します。Weblate が認識できる XLIFF 仕様の maxwidth および font 属性の記述例:
<trans-unit id="10" maxwidth="100" size-unit="pixel" font="ubuntu;22;bold">
<source>Hello %s</source>
</trans-unit>
<trans-unit id="20" maxwidth="100" size-unit="char" weblate-flags="c-format">
<source>Hello %s</source>
</trans-unit>
font 属性は、フォント名、サイズ、および太さを解析します。上記の例では、すべての要素が設定されていますが、フォント名のみ必須です。フォント名に使用する文字列の空白は、すべてアンダースコアに変換されます。したがって、Source Sans Pro は、Source_Sans_Pro となります。(参照:fonts)になります。フォントグループに名前を付けるときは、この点に注意してください(参照: フォントの管理)。
文字列キー¶
Weblate は、XLIFF ファイル内のユニットを、resname 属性が存在する場合はそれによって識別し、なければ id に(存在する場合は file タグとセットで)フォールバックします。
Weblate での表示名として、resname 属性は id よりも ユニットのわかりやすい識別子であると考えています。resname は、XLIFF ファイル全体で一意にしてください。これは、Weblate では必須の条件ですが、XLIFF 標準では一意の制限はありません。
ファイルの例¶
XLIFF ファイルの設定例:
<?xml version='1.0' encoding='UTF-8'?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.1">
<file>
<body>
<trans-unit weblate-flags="c-format, max-length:100">
<source xml:space="preserve">Hello, world!
</source>
</trans-unit>
<trans-unit>
<source xml:space="preserve">Orangutan has %d banana.
</source>
</trans-unit>
<trans-unit>
<source xml:space="preserve">Try Weblate at <https://demo.weblate.org/>!
</source>
</trans-unit>
<trans-unit>
<source>Thank you for using Weblate.</source>
</trans-unit>
</body>
</file>
</xliff>
File extensions |
|
|---|---|
Linguality ⓘ |
Both monolingual and bilingual |
Supports plural ⓘ |
|
Supports descriptions ⓘ |
|
Supports explanation ⓘ |
|
Supports context ⓘ |
|
Supports location ⓘ |
|
Supports flags ⓘ |
|
Additional states ⓘ |
|
API identifier |
|
Supports read-only strings ⓘ |
|
Weblate の設定¶
バイリンガル XLIFF 用の、標準的な Weblate コンポーネント構成 |
|
|---|---|
ファイル マスク |
|
モノリンガル用の、基礎となる言語ファイル |
Empty(空) |
新しい翻訳のテンプレート |
|
ファイル形式 |
XLIFF 翻訳ファイル |
モノリンガル XLIFF 用の、標準的な Weblate コンポーネント構成 |
|
|---|---|
ファイル マスク |
|
モノリンガル用の、基礎となる言語ファイル |
|
新しい翻訳のテンプレート |
|
ファイル形式 |
XLIFF 翻訳ファイル |