|
ファイル拡張子 |
.xlf, .xliff |
|
API拡張 |
xlf |
|
インポート |
はい |
|
エクスポート |
はい |
|
複数形のサポート |
はい |
|
説明のサポート |
はい |
|
フォーマットオプション ファイルがアップロードおよび/またはダウンロードされるときに指定できるオプションです。アップロード/ダウンロード方法(API、CLI、リポジトリ同期など)に応じて、クエリパラメータ |
enclose_in_cdata include_translation_state indent_size indent_style ignore_source_translations ignore_target_translations export_key_id_as_resname export_key_name_hash_as_extradata override_file_language strip_placeholder_delimiters delimit_placeholders |
翻訳業界で最も広く使用されているファイル形式です。ソースファイルのミラーとして見なすことができ、ソースコンテンツをさまざまなセグメントに分解し、タグに保存します(例:<trans-unit>、<seg-source>)。
XLIFFはXMLベースで、基本的なXMLの規則(有効性や整形式など)に従います。翻訳の前に、ファイル拡張子を.xliff(.xlf)から.xmlに変更し、ウェブブラウザで開くことでサニティチェックを必ず行ってください。ファイルが有効な場合、整理されたドキュメント構造が表示され、無効な場合は表示できないか、エラーメッセージが表示されます。
XLIFFはXLIFF 2.0で更新されました。より広く使用されているXLIFFに似ていますが、通常はXLIFFと互換性のない異なるファイル形式です。
Xcodeは、ローカライズのために業界標準のXLIFF形式にローカライズ可能な文字列をパッケージ化できます。
ファイル形式オプション
|
識別子 |
enclose_in_cdata |
|
タイプ |
ブール |
|
アップロード |
いいえ |
|
ダウンロード |
はい |
|
デフォルト |
false |
|
概要 |
HTMLタグを含む翻訳をCDATAで囲みます。無効にすると、サポートされていないHTMLエンティティはデコードされた値に置き換えられます。以下に例を挙げます。
|
|
識別子 |
include_translation_state |
|
タイプ |
ブール |
|
アップロード |
いいえ |
|
ダウンロード |
はい |
|
デフォルト |
false |
|
概要 |
ターゲットロケールにおける翻訳の状態を含めます。すべての |
|
識別子 |
ignore_source_translations |
|
タイプ |
ブール |
|
アップロード |
はい |
|
ダウンロード |
いいえ |
|
デフォルト |
false |
|
概要 |
アップロード中にファイル内のソース翻訳を無視します(誤ってソース言語の更新を避けるため)。 |
|
識別子 |
ignore_target_translations |
|
タイプ |
ブール |
|
アップロード |
はい |
|
ダウンロード |
いいえ |
|
デフォルト |
false |
|
概要 |
アップロード中にファイル内のターゲット翻訳を無視します(誤ってソース言語の更新を避けるため)。 |
|
識別子 |
export_key_id_as_resname |
|
タイプ |
ブール |
|
アップロード |
いいえ |
|
ダウンロード |
はい |
|
デフォルト |
false |
|
概要 |
キーIDをresname属性としてエクスポートします。 |
|
識別子 |
export_key_name_hash_as_extradata |
|
タイプ |
ブール |
|
アップロード |
いいえ |
|
ダウンロード |
はい |
|
デフォルト |
false |
|
概要 |
キー名ハッシュをextradata属性としてエクスポートします。 |
|
識別子 |
override_file_language |
|
タイプ |
ブール |
|
アップロード |
はい |
|
ダウンロード |
いいえ |
|
デフォルト |
false |
|
概要 |
このファイル形式には通常、ファイル自体に言語情報が含まれています。このオプションを使用して、指定した言語で上書きします。 |
|
識別子 |
delimit_placeholders |
|
タイプ |
ブール |
|
アップロード |
いいえ |
|
ダウンロード |
はい |
|
デフォルト |
false |
|
概要 |
翻訳プレースホルダーを |
コードサンプル
<?xml version="1.0" encoding="UTF-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
<file original="global" datatype="plaintext" source-language="de-DE" target-language="en-GB">
<body>
<trans-unit id="boolean_key">
<source xml:lang="de-DE">--- true
</source>
<target xml:lang="en-GB">--- true
</target>
</trans-unit>
<trans-unit id="empty_string_translation">
<source xml:lang="de-DE"/>
<target xml:lang="en-GB"/>
</trans-unit>
<trans-unit id="key_with_description">
<source xml:lang="de-DE">これを見て!このキーには説明があります!</source>
<target xml:lang="en-GB">チェックしてみて!このキーは説明です。(少なくとも一部のファイル形式で)</target>
<note>これはこのキーの素晴らしい説明です!</note>
</trans-unit>
<trans-unit id="key_with_line-break">
<source xml:lang="de-DE">Diese Übersetzung hat
<source>改行があります。</source>
<target xml:lang="en-GB">この翻訳には</target>
a line-break.</target>
</trans-unit>
<trans-unit id="nested.deeply.key">
<source xml:lang="de-DE">私は深くネストされたキーです。</source>
<target xml:lang="en-GB">私は深くネストされたキーです。</target>
</trans-unit>
<trans-unit id="nested.key">
<source xml:lang="de-DE">このキーは名前空間の中にネストされています。</source>
<target xml:lang="en-GB">このキーは名前空間の中にネストされています。</target>
</trans-unit>
<trans-unit id="null_translation">
<source xml:lang="de-DE"/>
<target xml:lang="en-GB"/>
</trans-unit>
<trans-unit id="sample_collection">
<source xml:lang="de-DE">---
- 最初のアイテム
- zweites Item
</source>
<target xml:lang="en-GB">---
- first item
- second item
- third item
</target>
</trans-unit>
<trans-unit id="simple_key">
<source xml:lang="de-DE">シンプルなキー、シンプルなメッセージ、非常にシンプルです。</source>
<target xml:lang="en-GB">シンプルなキー、シンプルなメッセージ、非常にシンプルです。</target>
</trans-unit>
<trans-unit id="unverified_key">
<source xml:lang="de-DE">この翻訳はまだ確認されておらず、待機中です!</source>
<target xml:lang="en-GB">この翻訳はまだ確認されておらず、待機中です。</target>(一部のフォーマットでは、このステータスもエクスポートされます)</target>
</trans-unit>
</body>
</file>
</xliff>
複数形
複数形のキーは次の構文を使用してエクスポートされます:
<trans-unit id="plural_key">
<source xml:lang="en">{"one":"one chair","other":"{nrOfChairs} chairs","zero":"no chairs"}</source>
<target xml:lang="de">{"one":"一つの椅子","other":"{nrOfChairs} 椅子","zero":"椅子はありません"}</target>
</trans-unit>