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

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

ヒント

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

自動検出

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

翻訳の種類別の機能

Please refer to the documentation page of each individual file format for information about which features are supported in that format.

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

モノリンガル と バイリンガル の両方の形式に対応しています。バイリンガル形式は一つのファイルの中に二つの言語、原文と翻訳文が保存されます(典型例は 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

ファイルのエンコーディング

CSV ファイルで使用されるエンコーディング

設定できる値:

auto

自動検出

utf-8

UTF-8

csv_simple_encoding

  • csv-simple

ファイルのエンコーディング

シンプルな CSV ファイルで使用されるエンコーディング

設定できる値:

auto

自動検出

utf-8

UTF-8

iso-8859-1

ISO-8859-1

dos_eol

All file formats

DOS 形式の改行

Use DOS line endings (rn) instead of UNIX line endings (n) in strings.

flatxml_key_name

  • flatxml

FlatXML キー名

flatxml_root_name

  • flatxml

FlatXML ルート名

flatxml_value_name

  • flatxml

FlatXML 変数名

gwt_encoding

  • gwt

ファイルのエンコーディング

GWT プロパティで使用されるエンコーディング

設定できる値:

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

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

line_max_length

  • markdown

  • mdx

Maximum line length

The maximum number of characters for each line in the output file.

md_extract_code_blocks

  • markdown

  • mdx

Extract code blocks

Whether to extract translatable content from code blocks in Markdown and MDX files.

md_extract_frontmatter

  • markdown

  • mdx

Extract front matter

Whether to extract and translate YAML front matter blocks in Markdown and MDX files.

md_no_placeholders

  • markdown

  • mdx

Disable placeholders

Disables detection and processing of placeholders in Markdown and MDX files.

merge_duplicates

  • markdown

  • mdx

  • html

  • txt

  • dokuwiki

  • mediawiki

  • asciidoc

同一文字列の重複排除

同一の原文を 1 つの翻訳ユニットに統合します。位置に依存したコンテキストを削除することで、ファイル構造の変更やテーブルの並べ替え時に翻訳が失われるのを防ぎます。

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

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

po_report_msgid_bugs_to

  • po

  • po-mono

Report msgid bugs to

Lets Weblate update the "Report-Msgid-Bugs-To" file header if Source string bug reporting address is set.

po_set_language_team

  • po

  • po-mono

Update language team header

Lets Weblate update the "Language-Team" file header.

po_set_last_translator

  • po

  • po-mono

Update last translator header

Lets Weblate update the "Last-Translator" file header.

po_set_x_generator

  • po

  • po-mono

Update X-Generator header

Lets Weblate update the "X-Generator" file header.

properties_encoding

  • properties

ファイルのエンコーディング

Java プロパティで使用されるエンコーディング

設定できる値:

iso-8859-1

ISO-8859-1

utf-8

UTF-8

utf-16

UTF-16

strings_encoding

  • strings

ファイルのエンコーディング

iOS の文字列ファイルで使用されるエンコーディング

設定できる値:

utf-8

UTF-8

utf-16

UTF-16

xml_closing_tags

  • ts

  • plainxliff

  • xliff

  • xliff2

  • xliff2-placeables

  • poxliff

  • apple-xliff

  • 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

行を折り返さない