対応するファイル形式

Weblate は translate-toolkit で扱えるほとんどの翻訳フォーマットに対応していますが、ファイル形式ごとに細かな違いがあり、テストが不十分なファイル形式では問題が発生することがあります。

注釈

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

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

モノリンガル と バイリンガル の両方の形式に対応しています。バイリンガル形式は一つのファイルの中に二つの言語、原文と翻訳文が保存されます(典型例は GNU gettextXLIFFApple iOS 文字列)。一方、モノリンガル形式は文字列を ID で識別し、それぞれの言語のファイルには各 ID に対応するその言語への翻訳のみが含まれます(典型例は Android 文字列リソース)。いくつかのファイルフォーマットは、どちらの形式で使われることもあります。詳細は、下記の説明を確認してください。

For correct use of monolingual files, Weblate requires access to a file containing complete list of strings to translate with their source—this file is called モノリンガル用の、基礎となる言語ファイル within Weblate, though the naming might vary in your paradigm.

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

自動検出

Weblate は、広く普及しているファイル形式などを自動的に検出できますが、この検出機能によって性能が低下したり、特定のファイル形式よっては、特化した機能(新しい翻訳の自動追加など)が制限されます。

翻訳の種類別の機能

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

ファイル形式

ファイル種別 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 10

要編集、承認済

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 10

要編集

Android 文字列リソース

モノリンガル

yes

yes 7

no

no

yes 10

Apple iOS 文字列

両方

no

yes

no

no

no

PHP 文字列

モノリンガル

no 11

yes

no

no

no

JSON ファイル

モノリンガル

no

no

no

no

no

JSON i18next ファイル

モノリンガル

yes

no

no

no

no

go-i18n JSON ファイル

モノリンガル

yes

no

no

no

no

ARB ファイル

モノリンガル

yes

yes

no

no

no

WebExtension JSON

モノリンガル

yes

yes

no

no

no

.XML リソース ファイル

モノリンガル

no

yes

no

no

yes 10

ResourceDictionary ファイル

モノリンガル

no

no

no

no

yes 10

CSV ファイル

両方

no

yes

yes

yes

no

要編集

YAML ファイル

モノリンガル

no

yes

no

no

no

Ruby YAML ファイル

モノリンガル

yes

yes

no

no

no

DTD ファイル

モノリンガル

no

no

no

no

no

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

モノリンガル

no

no

no

no

yes 10

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 10

テキスト ファイル

モノリンガル

no

no

no

no

no

Stringsdict 形式

モノリンガル

yes

yes

no

no

no

Fluent 形式

モノリンガル

no 12

yes

no

no

no

1

参照: バイリンガル形式とモノリンガル形式

2

複数形は、数によって変化する文字列を適切に現地語化するために必要です。

3

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

4

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

5

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

6

「未翻訳」と「翻訳済」に加えて、ファイル形式で対応する追加の状態。

7

<string> 要素の前に配置された XML コメントであり、原文の説明として解釈されます。

8

参照: フラグを使用した動作の設定

9(1,2)

gettext 型のコメントはフラグとして使用されます。

10(1,2,3,4,5,6,7)

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

11

複数形は、文字列構文で定義する Laravel の場合にのみ対応しています。参照: Laravel での現地語化の方法

12

複数形は文字列の構文で処理され、Weblate では複数形として公開されません。

翻訳禁止の文字列

バージョン 3.10 で追加.

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

GNU gettext

libre ソフトウェアの翻訳に最も広く使用されているフォーマット。

ファイルに保存されている付随情報は、ヘッダーを調整するか、対応する原文にリンクして対応します。

一般的なバイリンガルの gettext PO ファイル:

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "Monday"
msgstr "Pondělí"

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "Tuesday"
msgstr "Úterý"

#: weblate/accounts/avatar.py:163
msgctxt "No known user"
msgid "None"
msgstr "Žádný"

典型的な Weblate コンポーネント構成

ファイル マスク

po/*.po

モノリンガル用の、基礎となる言語ファイル

Empty(空)

新しい翻訳のテンプレート

po/messages.pot

ファイル形式

Gettext PO ファイル

モノリンガルの gettext

一部のプロジェクトでは、gettext をモノリンガル形式として使用することを定めています。ソースコード内の ID のみをコード化し、文字列を英語を含むすべての言語に翻訳することが必要です。これには対応していますが、コンポーネントを Weblate にインポートするときは、このファイル形式を明示的に選択することが必要です。

一般的なモノリンガルの gettext PO ファイル:

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-monday"
msgstr "Pondělí"

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-tuesday"
msgstr "Úterý"

#: weblate/accounts/avatar.py:163
msgid "none-user"
msgstr "Žádný"

一般的な基準の言語ファイル:

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-monday"
msgstr "Monday"

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-tuesday"
msgstr "Tuesday"

#: weblate/accounts/avatar.py:163
msgid "none-user"
msgstr "None"

典型的な Weblate コンポーネント構成

ファイル マスク

po/*.po

モノリンガル用の、基礎となる言語ファイル

po/en.po

新しい翻訳のテンプレート

po/messages.pot

ファイル形式

gettext PO ファイル (モノリンガル)

XLIFF

XML ベースのファイル形式で、翻訳ファイルを標準化するために作成されましたが、結果的には、この分野の 多くの標準 の 1 つにしかすぎません。

XML Localization Interchange File Format (XLIFF) は、通常はバイリンガルとして使用しますが、Weblate ではモノリンガルとしても対応しています。

Weblate が対応している XLIFF の種類:

XLIFF 翻訳ファイル

Simple XLIFF file where content of the elements is stored as plain text (all XML elements being escaped).

XLIFF with placeables support

Standard XLIFF supporting placeables and other XML elements.

gettext 拡張付きの XLIFF

XLIFF enriched by XLIFF 1.2 Representation Guide for Gettext PO to support plurals.

翻訳文の状態

バージョン 3.3 で変更: Weblate は、3.3リリース以前は state 属性を無視していました。

ファイルの state 属性は、個別に処理され、Weblate 内の「要編集」状態に分類されます(翻訳対象の文字列が存在する場合に、要編集とフラグが付く状態: newneeds-translationneeds-adaptationneeds-l10n)。state 属性がない場合は、<target> 要素があれば、ただちに翻訳済みとみなします。

翻訳文が、approved="yes" であれば、「承認済」として Weblate にインポートされますが、それ以外のものは、「査読待ち」(XLIFF 仕様に沿う)としてインポートします。

保存中は、必要がない限り追加されない属性:

  • state 属性は、文字列に「要編集」のフラグが付いている場合にのみ追加される。

  • approved 属性は、文字列が「査読済み」の場合にのみ追加される。

  • その他の場合、属性は追加されないが、存在する場合には更新される。

つまり、XLIFF 形式を使用する場合は、文字列の承認状態を確認して変更できるように、Weblate の査読の強制は必ず有効化してください。

同様に、このようなファイルをインポート(アップロード フォームから)する場合は、要編集の文字列の扱い の中から、要編集として文字列をインポート を選択してください。

XLIFF の空白と改行

通常、XML 形式では、複数の空白や種別を認識しません。現状の空白を保存する場合は、xml:space="preserve" フラグを文字列に追加してください。

例:

    <trans-unit id="10" approved="yes">
        <source xml:space="preserve">hello</source>
        <target xml:space="preserve">Hello, world!
</target>
    </trans-unit>

翻訳フラグの指定

weblate-flags 属性を使用して、追加の翻訳フラグ(参照: フラグを使用した動作の設定)を指定します。Weblate が認識できる XLIFF 仕様の maxwidth および font 属性の記述例:

<trans-unit id="10" maxwidth="100" size-unit="pixel" font="ubuntu;22;bold">
   <source>Hello %s</source>
</trans-unit>
<trans-unit id="20" maxwidth="100" size-unit="char" weblate-flags="c-format">
   <source>Hello %s</source>
</trans-unit>

font 属性は、フォント名、サイズ、および太さを解析します。上記の例では、すべての項目が設定されていますが、フォント名のみ必須です。フォント名に使用する文字列の空白は、すべてアンダースコアに変換されます。したがって、Source Sans Pro は、Source_Sans_Pro となります。(参照:fonts)になります。フォントグループに名前を付けるときは、この点に注意してください(参照: フォントの管理)。

文字列キー

Weblate は、XLIFF ファイル内のユニットを、resname 属性が存在する場合はそれによって識別し、なければ id に(存在する場合は file タグとセットで)フォールバックします。

Weblate での表示名として、resname 属性は id よりも ユニットのわかりやすい識別子であると考えています。resname は、XLIFF ファイル全体で一意にしてください。これは、Weblate では必須の条件ですが、XLIFF 標準では一意の制限はありません。

バイリンガル XLIFF 用の、標準的な Weblate コンポーネント構成

ファイル マスク

localizations/*.xliff

モノリンガル用の、基礎となる言語ファイル

Empty(空)

新しい翻訳のテンプレート

localizations/en-US.xliff

ファイル形式

XLIFF 翻訳ファイル

モノリンガル XLIFF 用の、標準的な Weblate コンポーネント構成

ファイル マスク

localizations/*.xliff

モノリンガル用の、基礎となる言語ファイル

localizations/en-US.xliff

新しい翻訳のテンプレート

localizations/en-US.xliff

ファイル形式

XLIFF 翻訳ファイル

Java プロパティ

翻訳用のネイティブな Java フォーマット。

Java プロパティは、通常、モノリンガルの翻訳として使用します。

Weblate は、この形式の ISO-8859-1、UTF-8、UTF-16 に対応しています。これらは、すべて Unicode の文字を保存しますが、エンコード方法が異なるだけです。ISO-8859-1 では、Unicode エスケープ処理(例: zkou\u0161ka)されます。それ以外の文字は、すべて UTF-8 または UTF-16 で直接エンコードされます。

注釈

エスケープ処理の読み込みは、UTF-8 モードでも機能するため、注意してアプリケーションが必要とする正しいエンコードに設定してください。

典型的な Weblate コンポーネント構成

ファイル マスク

src/app/Bundle_*.properties

モノリンガル用の、基礎となる言語ファイル

src/app/Bundle.properties

新しい翻訳のテンプレート

Empty(空)

ファイル形式

Java プロパティ(ISO-8859-1)

mi18n 言語ファイル

バージョン 4.7 で追加.

mi18n を使用した、JavaScript の現地語化のためのファイル形式。構文は、Java プロパティ と同じです。

典型的な Weblate コンポーネント構成

ファイル マスク

*.lang

モノリンガル用の、基礎となる言語ファイル

en-US.lang

新しい翻訳のテンプレート

Empty(空)

ファイル形式

mi18n 言語ファイル

GWT プロパティ

翻訳用のネイティブな GWT 形式。

GWT プロパティは、通常、モノリンガルの翻訳として使用します。

典型的な Weblate コンポーネント構成

ファイル マスク

src/app/Bundle_*.properties

モノリンガル用の、基礎となる言語ファイル

src/app/Bundle.properties

新しい翻訳のテンプレート

Empty(空)

ファイル形式

GWT プロパティ

INI の翻訳

バージョン 4.1 で追加.

翻訳用の INI ファイル形式。

INI 翻訳は、通常、モノリンガル翻訳として使用します。

典型的な Weblate コンポーネント構成

ファイル マスク

language/*.ini

モノリンガル用の、基礎となる言語ファイル

language/en.ini

新しい翻訳のテンプレート

Empty(空)

ファイル形式

INI ファイル

注釈

Weblate は、INI ファイル内のセクションからのみキーを抽出します。INI ファイルにセクションがない場合は、代わりに Joomla の翻訳 もしくは Java プロパティ を使用してください。

Inno Setup INI の翻訳

バージョン 4.1 で追加.

翻訳用の Inno Setup INI ファイル形式。

Inno Setup INI の翻訳は、通常、モノリンガルの翻訳として使用します。

注釈

INI の翻訳 との唯一の明確な違いは、改行とタブの %n および %t のプレースホルダに対応することです。

典型的な Weblate コンポーネント構成

ファイル マスク

language/*.islu

モノリンガル用の、基礎となる言語ファイル

language/en.islu

新しい翻訳のテンプレート

Empty(空)

ファイル形式

Inno Setup INI ファイル

注釈

現在、Unicode ファイル (.islu)のみに対応しており、ANSI 版(.isl)には対応していません。

Joomla の翻訳

バージョン 2.12 で追加.

翻訳用のネイティブの Joomla 形式。

Joomla の翻訳は、通常、モノリンガル翻訳として使用します。

典型的な Weblate コンポーネント構成

ファイル マスク

language/*/com_foobar.ini

モノリンガル用の、基礎となる言語ファイル

language/en-GB/com_foobar.ini

新しい翻訳のテンプレート

Empty(空)

ファイル形式

Joomla 言語ファイル

Qt Linguist .ts

Qt ベースのアプリケーションで使用する翻訳形式。

Qt Linguist ファイルは、バイリンガル翻訳とモノリンガル翻訳のどちらも使用します。

バイリンガル 用の、標準的な Weblate コンポーネント構成

ファイル マスク

i18n/app.*.ts

モノリンガル用の、基礎となる言語ファイル

Empty(空)

新しい翻訳のテンプレート

i18n/app.de.ts

ファイル形式

Qt Linguist 翻訳ファイル

モノリンガル用の、標準的な Weblate コンポーネント構成

ファイル マスク

i18n/app.*.ts

モノリンガル用の、基礎となる言語ファイル

i18n/app.en.ts

新しい翻訳のテンプレート

i18n/app.en.ts

ファイル形式

Qt Linguist 翻訳ファイル

Android 文字列リソース

アプリケーションを翻訳するための Android 固有のファイル形式。

Android の文字列リソースはモノリンガルです。モノリンガル用の、基礎となる言語ファイル は他のファイルとは異なる場所に保存されます -- res/values/strings.xml

典型的な Weblate コンポーネント構成

ファイル マスク

res/values-*/strings.xml

モノリンガル用の、基礎となる言語ファイル

res/values/strings.xml

新しい翻訳のテンプレート

Empty(空)

ファイル形式

Android 文字列リソース

注釈

現在、Android の string-array 構造体には対応していません。これを回避して、文字列配列を分解する例:

<string-array name="several_strings">
    <item>First string</item>
    <item>Second string</item>
</string-array>

分割して書き換える方法:

<string-array name="several_strings">
    <item>@string/several_strings_0</item>
    <item>@string/several_strings_1</item>
</string-array>
<string name="several_strings_0">First string</string>
<string name="several_strings_1">Second string</string>

string 要素を指す string-array は、別のファイルに格納することが必要であり、翻訳には使用できません。

既存の strings.xml ファイルと翻訳を事前に処理するのに便利なスクリプト: https://gist.github.com/paour/11291062

ヒント

To avoid translating some strings, these can be marked as non-translatable. This can be especially useful for string references:

<string name="foobar" translatable="false">@string/foo</string>

Apple iOS 文字列

File format typically used for translating Apple iOS applications, but also standardized by PWG 5100.13 and used on NeXTSTEP/OpenSTEP.

Apple iOS の文字列は、通常、モノリンガルとして使用します。

典型的な Weblate コンポーネント構成

ファイル マスク

Resources/*.lproj/Localizable.strings

モノリンガル用の、基礎となる言語ファイル

Resources/en.lproj/Localizable.strings もしくは Resources/Base.lproj/Localizable.strings

新しい翻訳のテンプレート

Empty(空)

ファイル形式

iOS 文字列 (UTF-8)

PHP 文字列

通常、PHP の翻訳はモノリンガルなので、(最も一般的な)英語の文字列で、基礎となる翻訳ファイルを設定してください。

ファイルの設定例:

<?php
$LANG['foo'] = 'bar';
$LANG['foo1'] = 'foo bar';
$LANG['foo2'] = 'foo bar baz';
$LANG['foo3'] = 'foo bar baz bag';

典型的な Weblate コンポーネント構成

ファイル マスク

lang/*/texts.php

モノリンガル用の、基礎となる言語ファイル

lang/en/texts.php

新しい翻訳のテンプレート

lang/en/texts.php

ファイル形式

PHP 文字列

Laravel PHP 文字列

バージョン 4.1 で変更.

Laravel PHP の現地語化ファイルは、複数形にも対応しています。記述例:

<?php
return [
    'welcome' => 'Welcome to our application',
    'apples' => 'There is one apple|There are many apples',
];

JSON ファイル

バージョン 2.0 で追加.

バージョン 2.16 で変更: Weblate 2.16 で追加、translate-toolkit 2.2.4 以降からは、ネスト構造の JSON ファイルにも対応しています。

バージョン 4.3 で変更: たとえ以前のリリースで破壊した困難な状況となっても、JSON ファイルの構造体は維持されます。

JSON 形式は、多くの JavaScript で実装したアプリケーションの翻訳に使用されています。

現在 Weblate が対応している JSON 翻訳ファイル:

通常、JSON の翻訳はモノリンガルなので、(最も一般的な)英語の文字列で、基礎となる翻訳ファイルを設定してください。

ファイルの設定例:

{
  "Hello, world!\n": "Ahoj světe!\n",
  "Orangutan has %d banana.\n": "",
  "Try Weblate at https://demo.weblate.org/!\n": "",
  "Thank you for using Weblate.": ""
}

ネスト化したファイルにも対応しています(上記の要件を参照) 。ネスト化の記述方法:

{
  "weblate": {
    "hello": "Ahoj světe!\n",
    "orangutan": "",
    "try": "",
    "thanks": ""
  }
}

ヒント

JSONファイル および JSON ネスト構造ファイル は、どのファイル形式も同じ処理をします。どちらも、翻訳時に既存の JSON 構造を維持します。

唯一の違いは、Weblate を使用して新しい文字列を追加する場合です。ネスト化された構造のファイル形式では、新しく追加したキーを解析し、キーが一致した構造体に新しい文字列を挿入します。app.name キーの挿入例:

{
   "app": {
      "name": "Weblate"
   }
}

典型的な Weblate コンポーネント構成

ファイル マスク

langs/translation-*.json

モノリンガル用の、基礎となる言語ファイル

langs/translation-en.json

新しい翻訳のテンプレート

Empty(空)

ファイル形式

JSON ネスト構造ファイル

JSON i18next ファイル

バージョン 2.17 で変更: Weblate 2.17 で追加、translate-toolkit 2.2.5 以降からは、複数形を含む i18next JSON ファイルにも対応。

i18next は、JavaScript で記述された国際化のためのフレームワークです。Weblate は、複数形などの機能を備えた現地語化ファイルに対応しています。

i18next の翻訳はモノリンガルなので、(最も一般的な)英語の文字列で、基礎となる翻訳ファイルを設定してください。

注釈

Weblate は、i18next JSON v3 形式に対応しています。v2 と v1 の違いは、複数形の処理方法以外は、ほぼ互換性があります。

v4 では、単語の複数形の格納方法には異なるアプローチを採用してるので、現在は対応していません。

ファイルの設定例:

{
  "hello": "Hello",
  "apple": "I have an apple",
  "apple_plural": "I have {{count}} apples",
  "apple_negative": "I have no apples"
}

典型的な Weblate コンポーネント構成

ファイル マスク

langs/*.json

モノリンガル用の、基礎となる言語ファイル

langs/en.json

新しい翻訳のテンプレート

Empty(空)

ファイル形式

i18next JSON ファイル

go-i18n JSON ファイル

バージョン 4.1 で追加.

go-i18n の翻訳はモノリンガルなので、(最も一般的な)英語の文字列で、基礎となる翻訳ファイルを設定してください。

注釈

Weblate は、 go-i18n JSON v1 形式に対応しています。フラット化した JSON 形式の場合は、:ref:`json`を使用してください。現在、ハッシュ付きの v2 形式には対応していません。

典型的な Weblate コンポーネント構成

ファイル マスク

langs/*.json

モノリンガル用の、基礎となる言語ファイル

langs/en.json

新しい翻訳のテンプレート

Empty(空)

ファイル形式

go-i18n JSON ファイル

ARB ファイル

バージョン 4.1 で追加.

ARB の翻訳はモノリンガルなので、(最も一般的な)英語の文字列で、基礎となる翻訳ファイルを設定してください。

典型的な Weblate コンポーネント構成

ファイル マスク

lib/l10n/intl_*.arb

モノリンガル用の、基礎となる言語ファイル

lib/l10n/intl_en.arb

新しい翻訳のテンプレート

Empty(空)

ファイル形式

ARB ファイル

WebExtension JSON

バージョン 2.16 で追加: Weblate 2.16 で追加: translate-toolkit 2.2.4 以降から対応。

Mozilla Firefox または Google Chromium の拡張機能を翻訳するときに使用するファイル形式です。

注釈

この形式は JSON と呼ばれますが、この仕様には、JSON の仕様では対応していないコメントを含めることができます。現在、Weblate ではコメント付きのファイルには対応していません。

ファイルの設定例:

{
  "hello": {
    "message": "Ahoj světe!\n",
    "description": "Description",
    "placeholders": {
      "url": {
        "content": "$1",
        "example": "https://developer.mozilla.org"
      }
    }
  },
  "orangutan": {
    "message": "Orangutan has $coUnT$ bananas",
    "description": "Description",
    "placeholders": {
      "count": {
        "content": "$1",
        "example": "5"
      }
    }
  },
  "try": {
    "message": "",
    "description": "Description"
  },
  "thanks": {
    "message": "",
    "description": "Description"
  }
}

典型的な Weblate コンポーネント構成

ファイル マスク

_locales/*/messages.json

モノリンガル用の、基礎となる言語ファイル

_locales/en/messages.json

新しい翻訳のテンプレート

Empty(空)

ファイル形式

WebExtension JSON ファイル

.XML リソース ファイル

バージョン 2.3 で追加.

.XML リソース(.resx)ファイルは、Microsoft .NET アプリケーションで使用するモノリンガル XML ファイル形式を採用しています。これは、.resx と同じ構文を使用する場合は、.resw と互換性があります

典型的な Weblate コンポーネント構成

ファイル マスク

Resources/Language.*.resx

モノリンガル用の、基礎となる言語ファイル

Resources/Language.resx

新しい翻訳のテンプレート

Empty(空)

ファイル形式

.NET resource ファイル

参考

.NET Resource files (.resx)翻訳対象の言語ファイルの更新、ref:addon-weblate.cleanup.generic

ResourceDictionary ファイル

バージョン 4.13 で追加.

ResourceDictionary は、Windows Presentation Foundation(WPF)アプリケーション用に現地語化可能な文字列リソースをパッケージ化するために使用されるモノリンガルの XML ファイル形式です。

典型的な Weblate コンポーネント構成

ファイル マスク

Languages/*.xaml

モノリンガル用の、基礎となる言語ファイル

Language/en.xaml

新しい翻訳のテンプレート

Empty(空)

ファイル形式

ResourceDictionary ファイル

CSV ファイル

バージョン 2.4 で追加.

CSV ファイルには、原文と翻訳文の単純なリストを含めることができます。Weblate で対応するファイル:

  • ヘッダー定義フィールドが存在するファイル(locationsourcetargetIDfuzzycontexttranslator_commentsdeveloper_comments)。エラーが発生しにくいファイル形式として、CSV file を選択します。

  • 原文の翻訳文(この順序)の 2 つのフィールドが存在するファイル。ファイル形式として シンプルな CSV ファイル を選択します。

  • translate-toolkit で定義した順序のフィールドが並ぶ、ヘッダーがないファイル: locationsourcetargetIDfuzzycontexttranslator_commentsdeveloper_comments。ファイル形式は、CSV file を選択します。

  • ファイルがモノリンガルである場合は、モノリンガル用の、基礎となる言語ファイル を定義してください。参照: バイリンガル形式とモノリンガル形式

ヒント

デフォルトでは、CSV 形式を選択するとファイルのエンコーディングを自動検出します。一部の特殊なケースでは、正確に判別できず検出速度が低下します。これを避けるには、エンコーディングを指定したファイル形式を選択してください(例 CSV ファイル(UTF-8))。

警告

現在、CSV 形式では、CSV ファイルの違いを自動的に検出します。場合によっては、自動検出に失敗して違いが混在します。特に、値に改行を含む CSV ファイルで発生することが多いです。回避策として、引用符を省略してください。

ファイルの設定例:

Thank you for using Weblate.,Děkujeme za použití Weblate.

バイリンガル CSV 用の、標準的な Weblate コンポーネント構成

ファイル マスク

locale/*.csv

モノリンガル用の、基礎となる言語ファイル

Empty(空)

新しい翻訳のテンプレート

locale/en.csv

ファイル形式

CSV ファイル

モノリンガル CSV 用の、標準的な Weblate コンポーネント構成

ファイル マスク

locale/*.csv

モノリンガル用の、基礎となる言語ファイル

locale/en.csv

新しい翻訳のテンプレート

locale/en.csv

ファイル形式

シンプルな CSV ファイル

複数値 CSV ファイル

バージョン 4.13 で追加.

この種類の CSV ファイルでは、一つの文字列に対して複数の翻訳を保存できます。

参考

CSV

YAML ファイル

バージョン 2.9 で追加.

文字列キーと値、の形式のプレーン YAML ファイル。Weblate は、リストまたは辞書から文字列を抽出することもできます。

YAML ファイルの記述例:

weblate:
  hello: ""
  orangutan": ""
  try": ""
  thanks": ""

典型的な Weblate コンポーネント構成

ファイル マスク

translations/messages.*.yml

モノリンガル用の、基礎となる言語ファイル

translations/messages.en.yml

新しい翻訳のテンプレート

Empty(空)

ファイル形式

YAML ファイル

Ruby YAML ファイル

バージョン 2.9 で追加.

ルートノードの言語を含む Ruby i18n YAML ファイル。

Ruby i18n YAML ファイルの記述例:

cs:
  weblate:
    hello: ""
    orangutan: ""
    try: ""
    thanks: ""

典型的な Weblate コンポーネント構成

ファイル マスク

translations/messages.*.yml

モノリンガル用の、基礎となる言語ファイル

translations/messages.en.yml

新しい翻訳のテンプレート

Empty(空)

ファイル形式

Ruby YAML ファイル

DTD ファイル

バージョン 2.18 で追加.

DTD ファイルの記述例:

<!ENTITY hello "">
<!ENTITY orangutan "">
<!ENTITY try "">
<!ENTITY thanks "">

典型的な Weblate コンポーネント構成

ファイル マスク

locale/*.dtd

モノリンガル用の、基礎となる言語ファイル

locale/en.dtd

新しい翻訳のテンプレート

Empty(空)

ファイル形式

DTD ファイル

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

バージョン 3.9 で追加.

フラット化した XML ファイルの記述例:

<?xml version='1.0' encoding='UTF-8'?>
<root>
  <str key="hello_world">Hello World!</str>
  <str key="resource_key">Translated value.</str>
</root>

典型的な Weblate コンポーネント構成

ファイル マスク

locale/*.xml

モノリンガル用の、基礎となる言語ファイル

locale/en.xml

新しい翻訳のテンプレート

Empty(空)

ファイル形式

Flat化した XML ファイル

参考

Flat XML

Windows RC ファイル

バージョン 4.1 で変更: Windows RC ファイルへの対応を書き換えました。

注釈

この形式への対応は現在ベータ版であり、実験者からのフィードバックを歓迎します。

Windows RC ファイルの記述例:

LANGUAGE LANG_CZECH, SUBLANG_DEFAULT

STRINGTABLE
BEGIN
    IDS_MSG1                "Hello, world!\n"
    IDS_MSG2                "Orangutan has %d banana.\n"
    IDS_MSG3                "Try Weblate at http://demo.weblate.org/!\n"
    IDS_MSG4                "Thank you for using Weblate."
END

典型的な Weblate コンポーネント構成

ファイル マスク

lang/*.rc

モノリンガル用の、基礎となる言語ファイル

lang/en-US.rc

新しい翻訳のテンプレート

lang/en-US.rc

ファイル形式

RC ファイル

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

バージョン 3.5 で追加.

多くのアプリ ストアで、アプリの公開に使用するメタデータを翻訳します。現在、互換性があるツール:

メタデータは複数のテキストファイルから構成されており、Weblate は、それを別々の文字列として翻訳します。

典型的な Weblate コンポーネント構成

ファイル マスク

fastlane/android/metadata/*

モノリンガル用の、基礎となる言語ファイル

fastlane/android/metadata/en-US

新しい翻訳のテンプレート

fastlane/android/metadata/en-US

ファイル形式

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

ヒント

特定の文字列(例: changelogs)を翻訳させない場合は、翻訳禁止に設定します(参照: :ref:'custom-checks')。これは、 一括編集 を使用して自動化できます。

字幕ファイル

バージョン 3.7 で追加.

Weblate は、多くの字幕ファイルを翻訳します。

  • SubRip 字幕ファイル(*.srt

  • MicroDVD 字幕ファイル( *.sub

  • Advanced Substation Alpha 字幕ファイル( *.ass

  • Substation Alpha 字幕ファイル(*.ssa

典型的な Weblate コンポーネント構成

ファイル マスク

ファイル パス/*.srt

モノリンガル用の、基礎となる言語ファイル

ファイル パス/en.srt

新しい翻訳のテンプレート

ファイル パス/en.srt

ファイル形式

SubRip 字幕ファイル

参考

Subtitles

Excel Open XML

バージョン 3.2 で追加.

Excel Open XML(.xlsx)ファイルをインポートおよびエクスポートします。

翻訳用に XLSX ファイルをアップロードする場合は、アクティブなワークシートのみを認識します。また、少なくとも source という列(原文を含む)および target という列(翻訳文を含む)が必要です。さらに、context という列(翻訳文のコンテキスト パスを含む)が必要です。XLSX ダウンロードを選択して翻訳を Excel ワークブックにエクスポートする場合は、正しいファイル形式のファイルを取得できます。

HTML ファイル

バージョン 4.1 で追加.

注釈

この形式への対応は現在ベータ版であり、実験者からのフィードバックを歓迎します。

翻訳するコンテンツを HTML ファイルから抽出し、翻訳するために使用します。

参考

HTML

テキスト ファイル

バージョン 4.6 で追加.

注釈

この形式への対応は現在ベータ版であり、実験者からのフィードバックを歓迎します。

プレーン テキスト ファイルから翻訳するコンテンツを抽出し、翻訳のために使用します。各段落は、個別の文字列として翻訳します。

使用可能な 3 種類の形式:

  • プレーン テキスト ファイル

  • DokuWiki テキスト ファイル

  • MediaWiki テキスト ファイル

OpenDocument 形式

バージョン 4.1 で追加.

注釈

この形式への対応は現在ベータ版であり、実験者からのフィードバックを歓迎します。

翻訳するコンテンツを、OpenDocument ファイルから抽出し、翻訳のために使用します。

IDML 形式

バージョン 4.1 で追加.

注釈

この形式への対応は現在ベータ版であり、実験者からのフィードバックを歓迎します。

翻訳するコンテンツを、Adobe InDesign マークアップ言語ファイルから抽出し、翻訳するために使用します。

TermBase eXchange 形式

バージョン 4.5 で追加.

TBX は、用語データを交換するための XML 形式です。

典型的な Weblate コンポーネント構成

ファイル マスク

tbx/*.tbx

モノリンガル用の、基礎となる言語ファイル

Empty(空)

新しい翻訳のテンプレート

Empty(空)

ファイル形式

TermBase eXchange ファイル

Stringsdict 形式

バージョン 4.8 で追加.

注釈

この形式への対応は現在ベータ版であり、実験者からのフィードバックを歓迎します。

文字列の複数形を格納するためのアップルが使用する XML ベースの形式。

典型的な Weblate コンポーネント構成

ファイル マスク

Resources/*.lproj/Localizable.stringsdict

モノリンガル用の、基礎となる言語ファイル

Resources/en.lproj/Localizable.stringsdict もしくは Resources/Base.lproj/Localizable.stringsdict

新しい翻訳のテンプレート

Empty(空)

ファイル形式

Stringsdict ファイル

Fluent 形式

バージョン 4.8 で追加.

注釈

この形式への対応は現在ベータ版であり、実験者からのフィードバックを歓迎します。

Fluent は、非対称の現地語化用のモノリンガルのテキスト形式: ある言語の単純な文字列を、別の言語の複雑な多くの異なる翻訳として設定します。

典型的な Weblate コンポーネント構成

ファイル マスク

locales/*/messages.ftl

モノリンガル用の、基礎となる言語ファイル

locales/en/messages.ftl

新しい翻訳のテンプレート

Empty(空)

ファイル形式

Fluent ファイル

他の形式への対応

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

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