対応するファイル形式#

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

ヒント

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

自動検出#

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

翻訳の種類別の機能#

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

ファイル形式

ファイル種別 [1]

複数形 [2]

説明 [3]

コンテキスト [4]

文字列位置 [5]

フラグ [8]

追加の状態 [6]

GNU gettext

バイリンガル

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

RESX .NET リソース ファイル

モノリンガル

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

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 gettextXLIFFApple iOS 文字列)。一方、モノリンガル形式は文字列を ID で識別し、それぞれの言語のファイルには各 ID に対応するその言語への翻訳のみが含まれます(典型例は Android 文字列リソース)。ファイル形式によっては、どちらの形式にも使用されます。詳細は、下記の説明で確認してください。

モノリンガル ファイルを正しく使用するには、原文とともに翻訳する文字列の完全なリストを含むファイルを編集することが必要です。このファイルは、Weblate 内では モノリンガル用の、基礎となる言語ファイル と呼ばれますが、命名は項目により変化することがあります。

さらに 中間言語ファイル を使用して、開発者が提供するが、最終的には使われない文字列を組み込むようにワークフローを拡張できます。

String states#

Many file formats only differentiate "Untranslated" and "Translated" strings. With some formats it is possible to store more fine-grained state information, such as "Needs editing" or "Approved".

原文の説明#

原文の説明を使用して、翻訳する文字列に関する追加情報を渡すことができます。

Several formats have native support for providing additional info to translators (for example XLIFF, GNU gettext, WebExtension JSON, CSV ファイル, Excel Open XML, Qt Linguist .ts, go-i18n JSON ファイル, gotext JSON ファイル, ARB ファイル, RESX .NET リソース ファイル). Many other formats extract closest comment as source string description.

解説#

The 解説 on strings can be stored and parsed from a few file formats.

Currently supported only in TermBase eXchange 形式.

原文の記載位置#

ソースコード内の文字列の位置情報は、熟練した翻訳者が文字列の使用状況を把握する参考になります。

This information is typically available in bilingual formats where strings are extracted from the source code using tools. For example GNU gettext and Qt Linguist .ts.

翻訳フラグ#

翻訳フラグを使用すると、Weblate の動作をカスタマイズできます。一部の形式は、翻訳ファイルでの設定に対応しています(Weblate 管理画面からいつでも設定できます。参照: フラグを使用した動作の設定)。

この機能は、GNU gettext のフラグを参考にしています。

さらに、すべての XML を元にしたファイル形式では、フラグは非標準の属性 weblate-flags から抽出されます。また、max-length:N は XLIFF 規格で定義されている maxwidth `属性<http://docs.oasis-open.org/xliff/v1.2/os/xliff-core.html#maxwidth>`_ により対応しています。参照: 翻訳フラグの指定

参考

フラグを使用した動作の設定、PO files documentation`_

コンテキスト#

Context is used to differentiate identical strings in a bilingual format used in different scopes (for example Sun can be used as an abbreviated name of the day "Sunday" or as the name of our closest star).

For monolingual formats the string identifier (often called key) can serve the same purpose and additional context is not necessary.

複数形がある文字列#

複数形は、数によって変化する文字列を適切に現地語化するために必要です。規則は対象言語によって異なり、ファイル形式の多くは CLDR の仕様に準拠しています。

ヒント

文字列の複数形化には、アプリケーション フレームワークでの適切な対応も必要です。 GNU gettextAndroid 文字列リソースStringsdict 形式 など、プラットフォームの正規のファイル形式を選択します。

翻訳禁止の文字列#

バージョン 3.10 で追加.

翻訳ファイル中の翻訳禁止の文字列は Weblate に読み込まれますが、編集はできません。この機能はいくつかのフォーマット(XLIFF および Android 文字列リソース)では公式に対応していますが、その他のフォーマットでは read-only フラグを追加して再現しています(参照: フラグを使用した動作の設定)。

他の形式への対応#

ほとんどの、translate-toolkit に対応するファイル形式では、シリアル化への対応は簡単にできます。(まだ)テストはしていませんが。多くの場合は、translate-toolkit ストレージの動作の違いに対応するため、Weblate に対応させるプログラムの実装が必要です。

新しいファイル形式に対応するには、まず translate-toolkit に対応するプログラムから実装すべきです。