現地語化ファイル フォーマット

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

ヒント

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

自動検出

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

翻訳の種類別の機能

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

ファイル形式

ファイル種別 [1]

複数形 [2]

説明 [3]

コンテキスト [4]

文字列位置 [5]

フラグ [8]

追加の状態 [6]

GNU gettext PO(ポータブル オブジェクト)

バイリンガル

yes

yes

yes

yes

yes [9]

要修正

モノリンガルの gettext

モノリンガル

yes

yes

yes

yes

yes [9]

要修正

XLIFF 1.1 and 1.2

両方

yes

yes

yes

yes

yes

要修正、承認済み

Java プロパティ

両方

no

yes

no

no

no

draggable/i18n 用の言語ファイル

モノリンガル

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

yes

no

yes

テキスト ファイル

モノリンガル

no

no

no

no

no

Stringsdict 形式

モノリンガル

yes

no

no

no

no

Fluent 形式

モノリンガル

no [11]

yes

no

no

no

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

モノリンガル と バイリンガル の両方の形式に対応しています。バイリンガル形式は一つのファイルの中に二つの言語、原文と翻訳文が保存されます(典型例は GNU gettext PO(ポータブル オブジェクト)XLIFF 1.1 and 1.2Apple iOS 文字列)。一方、モノリンガル形式は文字列を ID で識別し、それぞれの言語のファイルには各 ID に対応するその言語への翻訳のみが含まれます(典型例は Android 文字列リソース)。ファイル形式によっては、どちらの形式にも使用されます。詳細は、下記の説明で確認してください。

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

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

文字列の状態

多くのファイル形式では、「未翻訳」文字列と「翻訳済み」の文字列の区別しかありません。一部の形式では、「要修正」や「承認済み」など、より詳細な状態情報を保存できます。

原文の説明

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

いくつかのファイル形式では、翻訳者に追加情報を提供するために対応しています(例: XLIFF 1.1 and 1.2GNU gettext PO(ポータブル オブジェクト)WebExtension JSONCSV ファイルExcel Open XMLQt Linguist .tsgo-i18n JSON ファイルgotext JSON ファイルARB ファイル.NET リソース ファイル (RESX、RESW) など)。他の多くのファイル形式では、最も近いコメントを原文の説明として抽出します。

解説

文字列の 解説 は、一部のファイル形式で保存および解析できます。

現在、TermBase eXchange 形式 でのみ対応しています。

原文の記載位置

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

通常、この情報はツールを使用してソース コードから文字列が抽出されるバイリンガル形式で入手できます。たとえば、GNU gettext PO(ポータブル オブジェクト)Qt Linguist .ts などです。

翻訳フラグ

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

この機能は、GNU gettext PO(ポータブル オブジェクト) のフラグを参考にしています。

さらに、すべての XML を元にしたファイル形式では、フラグは非標準の属性 weblate-flags から抽出されます。また、max-length:N は XLIFF 規格で定義されている maxwidth 属性 により対応しています。参照: 翻訳フラグの指定

コンテキスト

コンテキストは、異なるスコープで使用されるバイリンガル形式での同一の文字列を区別するために使用されます(例: 「Sun」は日曜日の省略名としても、太陽の意味でも使われます)。

モノリンガル形式の場合、文字列識別子(キーと呼ばれることが多い)が同じ目的を果たすことができ、追加のコンテキストは必要ありません。

複数形がある文字列

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

ヒント

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

翻訳禁止の文字列

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

他の形式への対応

多くの translate-toolkit に対応している形式のうち、シリアル化に対応しているものは、Weblate でも簡単に実行できます。ただし、これらの形式は(まだ)テストされていません。多くの場合、異なるストレージ間の挙動の違いを吸収するために、Weblate 側で薄い抽象化レイヤーを追加する必要があります。

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

ファイル形式パラメータ

ファイル形式パラメーターは、ファイル形式に関連する設定するための方法を提供します。これはコンポーネント単位で設定され、ファイルの解析やシリアル化の処理方法をカスタマイズできます。

ファイル形式パラメータ一覧

パラメータ名

ファイル形式

ラベル

説明

csv_encoding

  • csv

  • csv-multi

File encoding

Encoding used for CSV files

設定できる値:

auto

Auto-detect

utf-8

UTF-8

csv_simple_encoding

  • csv-simple

File encoding

Encoding used for simple CSV files

設定できる値:

auto

Auto-detect

utf-8

UTF-8

iso-8859-1

ISO-8859-1

flatxml_key_name

  • flatxml

FlatXML キー名

flatxml_root_name

  • flatxml

FlatXML ルート名

flatxml_value_name

  • flatxml

FlatXML 変数名

gwt_encoding

  • gwt

File encoding

Encoding used for GWT Properties files

設定できる値:

utf-8

UTF-8

iso-8859-1

ISO-8859-1

json_indent

  • json

  • json-nested

  • webextension

  • i18next

  • i18nextv4

  • arb

  • go-i18n-json

  • go-i18n-json-v2

  • formatjs

  • gotext

JSON 形式のインデント

json_indent_style

  • json

  • json-nested

  • webextension

  • i18next

  • i18nextv4

  • arb

  • go-i18n-json

  • go-i18n-json-v2

  • formatjs

  • gotext

JSON のインデントスタイル

設定できる値:

spaces

スペース

tabs

タブ

json_sort_keys

  • json

  • json-nested

  • webextension

  • i18next

  • i18nextv4

  • arb

  • go-i18n-json

  • go-i18n-json-v2

  • formatjs

  • gotext

JSON キーの並べ替え

json_use_compact_separators

  • json

  • json-nested

  • webextension

  • i18next

  • i18nextv4

  • arb

  • go-i18n-json

  • go-i18n-json-v2

  • formatjs

  • gotext

区切り文字の後にスペースを入れない

merge_duplicates

  • markdown

  • html

  • txt

  • dokuwiki

  • mediawiki

Deduplicate identical strings

Consolidates identical source strings into a single translation unit. Prevents translation loss during file restructuring or table reordering by removing position-dependent context.

po_fuzzy_matching

  • po

あいまい検索を使用する

po_keep_previous

  • po

翻訳済み文字列の以前の msgid を保持する

po_line_wrap

  • po

  • po-mono

長い行を折り返す

デフォルトでは、gettext は 77 文字または改行で行を折り返します。--no-wrap パラメータを指定すると、改行でのみ折り返されます。

設定できる値:

77

行を 77 文字と改行で折り返す(xgettext のデフォルト)

65535

改行でのみ行を折り返す(xgettext --no-wrap のように)

-1

行を折り返さない

po_no_location

  • po

ファイルにロケーション情報を含めないでください

properties_encoding

  • properties

  • xwiki-page-properties

File encoding

Encoding used for Java Properties files

設定できる値:

iso-8859-1

ISO-8859-1

utf-8

UTF-8

utf-16

UTF-16

strings_encoding

  • strings

File encoding

Encoding used for iOS strings files

設定できる値:

utf-16

UTF-16

utf-8

UTF-8

xml_closing_tags

  • ts

  • plainxliff

  • xliff

  • xliff2

  • xliff2-placeables

  • poxliff

  • resx

  • aresource

  • moko-resource

  • cmp-resource

  • tbx

空の XML タグに終了タグを含める

yaml_indent

  • yaml

  • ruby-yaml

YAML 形式のインデント

yaml_line_break

  • yaml

  • ruby-yaml

改行コード

設定できる値:

dos

DOS (\r\n)

unix

UNIX (\n)

mac

MAC (\r)

yaml_line_wrap

  • yaml

  • ruby-yaml

長い行を折り返す

設定できる値:

80

80 文字で改行

100

100 文字で改行

120

120 文字で改行

180

180 文字で改行

65535

行を折り返さない