対応するファイル形式

Weblate は幅広い翻訳フォーマットに対応しています。各形式は若干異なり、異なる機能セットを提供します。

ヒント

アプリケーションで使うファイル形式を選択するときは、使用するツールキット/プラットフォームで実績のある形式を使用することをお勧めします。そうすれば、翻訳者は慣れ親しんだツールを追加で使用でき、プロジェクトに貢献する可能性が高まります。

自動検出

Weblate は、翻訳プロジェクトとコンポーネントの追加 中にファイル形式の検出を試みます。同じシリアル化形式(JSON、YAML、プロパティ)またはファイル エンコーディングの異なる別表記では検出が間違っていることがあるため、コンポーネントを作成する前に ファイル形式 が正しいことを確認してください。

翻訳の種類別の機能

ファイル形式が対応するすべての機能

ファイル形式

ファイル種別 [1]

複数形 [2]

説明 [3]

コンテキスト [4]

文字列位置 [5]

フラグ [8]

追加の状態 [6]

GNU gettext PO (Portable Object)

バイリンガル

yes

yes

yes

yes

yes [9]

要編集

モノリンガルの gettext

モノリンガル

yes

yes

yes

yes

yes [9]

要編集

XLIFF

両方

yes

yes

yes

yes

yes

要編集、承認済

Java プロパティ

両方

no

yes

no

no

no

mi18n 言語ファイル

モノリンガル

no

yes

no

no

no

GWT プロパティ

モノリンガル

yes

yes

no

no

no

Joomla の翻訳

モノリンガル

no

yes

no

yes

no

Qt Linguist .ts

両方

yes

yes

no

yes

yes

要編集

Android 文字列リソース

モノリンガル

yes

yes [7]

no

no

yes

Apple iOS 文字列

両方

no

yes

no

no

no

PHP 文字列

モノリンガル

no [10]

yes

no

no

no

JSON ファイル

モノリンガル

no

no

no

no

no

i18next JSON ファイル

モノリンガル

yes

no

no

no

no

go-i18n JSON ファイル

モノリンガル

yes

yes

no

no

no

gotext JSON ファイル

モノリンガル

yes

yes

no

yes

no

ARB ファイル

モノリンガル

yes

yes

no

no

no

WebExtension JSON

モノリンガル

yes

yes

no

no

no

.NET リソース ファイル (RESX、RESW)

モノリンガル

no

yes

no

no

yes

ResourceDictionary ファイル

モノリンガル

no

no

no

no

yes

CSV ファイル

両方

no

yes

yes

yes

no

要編集

YAML ファイル

モノリンガル

no

no

no

no

no

Ruby YAML ファイル

モノリンガル

yes

no

no

no

no

DTD ファイル

モノリンガル

no

no

no

no

no

フラット化した XML ファイル

モノリンガル

no

no

no

no

yes

Windows RC ファイル

モノリンガル

no

yes

no

no

no

Excel Open XML

モノリンガル

no

yes

yes

yes

no

要編集

アプリ ストアのメタデータ ファイル

モノリンガル

no

no

no

no

no

字幕ファイル

モノリンガル

no

no

no

yes

no

HTML ファイル

モノリンガル

no

no

no

no

no

Markdown ファイル

モノリンガル

no

no

no

no

no

OpenDocument 形式

モノリンガル

no

no

no

no

no

IDML 形式

モノリンガル

no

no

no

no

no

INI の翻訳

モノリンガル

no

no

no

no

no

Inno Setup INI の翻訳

モノリンガル

no

no

no

no

no

TermBase eXchange 形式

バイリンガル

no

yes

no

no

yes

テキスト ファイル

モノリンガル

no

no

no

no

no

Stringsdict 形式

モノリンガル

yes

no

no

no

no

Fluent 形式

モノリンガル

no [11]

yes

no

no

no

バイリンガル形式とモノリンガル形式

モノリンガル と バイリンガル の両方の形式に対応しています。バイリンガル形式は一つのファイルの中に二つの言語、原文と翻訳文が保存されます(典型例は GNU gettext PO (Portable Object)XLIFFApple 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 に対応するプログラムから実装すべきです。