対応するファイル形式¶
Weblate は幅広い翻訳フォーマットに対応しています。各形式は若干異なり、異なる機能セットを提供します。
ヒント
アプリケーションで使うファイル形式を選択するときは、使用するツールキット/プラットフォームで実績のある形式を使用することをお勧めします。そうすれば、翻訳者は慣れ親しんだツールを追加で使用でき、プロジェクトに貢献する可能性が高まります。
- Android 文字列リソース
- Apple iOS 文字列
- アプリ ストアのメタデータ ファイル
- ARB ファイル
- CSV ファイル
- DTD ファイル
- Excel Open XML
- フラット化した XML ファイル
- Fluent 形式
- Format.JS JSON ファイル
- GNU gettext PO (Portable Object)
- go-i18n JSON ファイル
- gotext JSON ファイル
- GWT プロパティ
- HTML ファイル
- i18next JSON ファイル
- IDML 形式
- INI の翻訳
- Inno Setup INI の翻訳
- Java プロパティ
- Joomla の翻訳
- JSON ファイル
- Laravel PHP 文字列
- Markdown ファイル
- mi18n 言語ファイル
- モバイル Kotlin リソース
- OpenDocument 形式
- PHP 文字列
- Qt Linguist .ts
- ResourceDictionary ファイル
- .NET リソース ファイル (RESX、RESW)
- Ruby YAML ファイル
- Stringsdict 形式
- 字幕ファイル
- TermBase eXchange 形式
- テキスト ファイル
- WebExtension JSON
- Windows RC ファイル
- XLIFF
- YAML ファイル
自動検出¶
Weblate は、翻訳プロジェクトとコンポーネントの追加 中にファイル形式の検出を試みます。同じシリアル化形式(JSON、YAML、プロパティ)またはファイル エンコーディングの異なる別表記では検出が間違っていることがあるため、コンポーネントを作成する前に ファイル形式 が正しいことを確認してください。
翻訳の種類別の機能¶
ファイル形式 |
ファイル種別 [1] |
複数形 [2] |
説明 [3] |
コンテキスト [4] |
文字列位置 [5] |
フラグ [8] |
追加の状態 [6] |
---|---|---|---|---|---|---|---|
バイリンガル |
yes |
yes |
yes |
yes |
yes [9] |
要編集 |
|
モノリンガル |
yes |
yes |
yes |
yes |
yes [9] |
要編集 |
|
両方 |
yes |
yes |
yes |
yes |
yes |
要編集、承認済 |
|
両方 |
no |
yes |
no |
no |
no |
||
モノリンガル |
no |
yes |
no |
no |
no |
||
モノリンガル |
yes |
yes |
no |
no |
no |
||
モノリンガル |
no |
yes |
no |
yes |
no |
||
両方 |
yes |
yes |
no |
yes |
yes |
要編集 |
|
モノリンガル |
yes |
yes [7] |
no |
no |
yes |
||
両方 |
no |
yes |
no |
no |
no |
||
モノリンガル |
no [10] |
yes |
no |
no |
no |
||
モノリンガル |
no |
no |
no |
no |
no |
||
モノリンガル |
yes |
no |
no |
no |
no |
||
モノリンガル |
yes |
yes |
no |
no |
no |
||
モノリンガル |
yes |
yes |
no |
yes |
no |
||
モノリンガル |
yes |
yes |
no |
no |
no |
||
モノリンガル |
yes |
yes |
no |
no |
no |
||
モノリンガル |
no |
yes |
no |
no |
yes |
||
モノリンガル |
no |
no |
no |
no |
yes |
||
両方 |
no |
yes |
yes |
yes |
no |
要編集 |
|
モノリンガル |
no |
no |
no |
no |
no |
||
モノリンガル |
yes |
no |
no |
no |
no |
||
モノリンガル |
no |
no |
no |
no |
no |
||
モノリンガル |
no |
no |
no |
no |
yes |
||
モノリンガル |
no |
yes |
no |
no |
no |
||
モノリンガル |
no |
yes |
yes |
yes |
no |
要編集 |
|
モノリンガル |
no |
no |
no |
no |
no |
||
モノリンガル |
no |
no |
no |
yes |
no |
||
モノリンガル |
no |
no |
no |
no |
no |
||
モノリンガル |
no |
no |
no |
no |
no |
||
モノリンガル |
no |
no |
no |
no |
no |
||
モノリンガル |
no |
no |
no |
no |
no |
||
モノリンガル |
no |
no |
no |
no |
no |
||
モノリンガル |
no |
no |
no |
no |
no |
||
バイリンガル |
no |
yes |
no |
no |
yes |
||
モノリンガル |
no |
no |
no |
no |
no |
||
モノリンガル |
yes |
no |
no |
no |
no |
||
モノリンガル |
no [11] |
yes |
no |
no |
no |
バイリンガル形式とモノリンガル形式¶
モノリンガル と バイリンガル の両方の形式に対応しています。バイリンガル形式は一つのファイルの中に二つの言語、原文と翻訳文が保存されます(典型例は GNU gettext PO (Portable Object)、XLIFF や Apple iOS 文字列)。一方、モノリンガル形式は文字列を ID で識別し、それぞれの言語のファイルには各 ID に対応するその言語への翻訳のみが含まれます(典型例は Android 文字列リソース)。ファイル形式によっては、どちらの形式にも使用されます。詳細は、下記の説明で確認してください。
モノリンガル ファイルを正しく使用するには、原文とともに翻訳する文字列の完全なリストを含むファイルを編集することが必要です。このファイルは、Weblate 内では モノリンガル用の、基礎となる言語ファイル と呼ばれますが、命名は項目により変化することがあります。
さらに 中間言語ファイル を使用して、開発者が提供するが、最終的には使われない文字列を組み込むようにワークフローを拡張できます。
文字列の状態¶
多くのファイル形式では、「未翻訳」文字列と「翻訳済み」の文字列の区別しかありません。一部の形式では、「要編集」や「承認済」など、より詳細な状態情報を保存できます。
原文の説明¶
原文の説明を使用して、翻訳する文字列に関する追加情報を渡すことができます。
多くのファイル形式では、翻訳者に追加情報を提供するために独自に対応しています(例: :ref:xliff、:ref:gettext、:ref:webex、:ref:csv、:ref:xlsx、:ref:qtling、:ref:go-i18n-json、:ref:gotext-json、:ref:arb、:ref:dotnet など)。他の多くのファイル形式では、最も近いコメントを原文の説明として抽出します。
解説¶
文字列の 解説 は、一部のファイル形式で保存および解析できます。
現在、TermBase eXchange 形式 でのみ対応しています。
原文の記載位置¶
ソースコード内の文字列の位置情報は、熟練した翻訳者が文字列の使用状況を把握する参考になります。
通常、この情報はツールを使用してソース コードから文字列が抽出されるバイリンガル形式で入手できます。たとえば、GNU gettext PO (Portable Object) や Qt Linguist .ts などです。
翻訳フラグ¶
翻訳フラグを使用すると、Weblate の動作をカスタマイズできます。一部の形式は、翻訳ファイルでの設定に対応しています(Weblate 管理画面からいつでも設定できます。参照: フラグを使用した動作の設定)。
この機能は、GNU gettext PO (Portable Object) のフラグを参考にしています。
さらに、すべての XML を元にしたファイル形式では、フラグは非標準の属性 weblate-flags
から抽出されます。また、max-length:N
は XLIFF 規格で定義されている maxwidth
`属性<http://docs.oasis-open.org/xliff/v1.2/os/xliff-core.html#maxwidth>`_ により対応しています。参照: 翻訳フラグの指定。
参考
フラグを使用した動作の設定、PO files documentation`_
コンテキスト¶
コンテキストは、異なるスコープで使用されるバイリンガル形式での同一の文字列を区別するために使用されます(例: 「Sun」は日曜日の省略名としても、太陽の意味でも使われます)。
モノリンガル形式の場合、文字列識別子(キーと呼ばれることが多い)が同じ目的を果たすことができ、追加のコンテキストは必要ありません。
複数形がある文字列¶
複数形は、数によって変化する文字列を適切に現地語化するために必要です。規則は対象言語によって異なり、ファイル形式の多くは CLDR の仕様に準拠しています。
ヒント
文字列の複数形化には、アプリケーション フレームワークでの適切な対応も必要です。 GNU gettext PO (Portable Object)、Android 文字列リソース、Stringsdict 形式 など、プラットフォームの正規のファイル形式を選択します。
翻訳禁止の文字列¶
翻訳ファイル中の翻訳禁止の文字列は Weblate に読み込まれますが、編集はできません。この機能はいくつかのフォーマット(XLIFF および Android 文字列リソース)では公式に対応していますが、その他のフォーマットでは read-only
フラグを追加して再現しています(参照: フラグを使用した動作の設定)。
他の形式への対応¶
ほとんどの、translate-toolkit に対応するファイル形式では、シリアル化への対応は簡単にできます。(まだ)テストはしていませんが。多くの場合は、translate-toolkit ストレージの動作の違いに対応するため、Weblate に対応させるプログラムの実装が必要です。
新しいファイル形式に対応するには、まず translate-toolkit に対応するプログラムから実装すべきです。