言語の定義
異なる翻訳を適切に提供するには、言語名、テキストの文字順、複数形の定義、および言語コードに関する情報が必要です。
言語コードの解析
翻訳の解析時に、Weblate は言語コード(通常は ISO 639-1 )を既存の言語オブジェクトにマップしようとします。
言語の別名 を使用して、このマッピングをプロジェクト レベルで設定できます。
完全に一致するものが見つからないときには、既存の言語で最も近いものを探します。以下の手順を試します:
大文字と小文字を区別しない検索。
アンダースコアとダッシュの正規化。
標準搭載の言語のエイリアスの検索。
言語名での検索。
指定する言語のデフォルトの国コードの無視 --
cs_CZ
ではなくcs
の選択。
これらにも一致しないときは、デフォルト(左から右へのテキスト順、1 つの複数形)を使用して新しい言語定義が作成されます。自動作成されるコード xx_XX
の言語は、xx_XX (generated) と命名されます。後で管理インターフェイスでこれを変更し(参照: 言語定義の変更 )、課題管理ツールに報告して(参照: Weblate に貢献 )、適切な定義を今後の Weblate リリースに追加できます。
ヒント
間違ったものが言語として認識された場合は、言語フィルター を設定して、翻訳の解析時にそのようなファイルを無視することを推奨します。
言語定義の変更
言語の定義は、言語インターフェイス(/languages/
URL)で変更できます。
編集中は、すべてのフィールドが正しいことを確認してください(特に複数形とテキスト順)。正しくないと、翻訳者は翻訳文を適切に編集できません。
標準搭載の言語定義
約 600 の言語の定義が Weblate に含まれており、リストはリリースごとに拡張されます。Weblate がアップグレードされるたびに(具体的には weblate migrate が実行されるたびに。参照: 一般的なアップグレード方法 )、言語のデータベースが更新され、Weblate に付属するすべての言語定義が拡張されます。
この機能は UPDATE_LANGUAGES
を使用して無効にできます。setuplang
を使用して、Weblate に標準搭載されたデータと一致するようにデータベースを更新することもできます。
あいまいな言語コードとマクロ言語
多くの場合、翻訳にマクロ言語コードを使用することは推奨しません。典型的な問題のあるケースはクルド語で、種類によってアラビア文字かラテン文字で書かれています。Weblate で正しく動作させるには、個々の言語コードのみを使用し、マクロ言語は使用しないことを推奨します。
言語の定義
各言語を構成するフィールド:
言語コード
言語を識別するコード。Weblate は、ISO 639-1 で定義された2文字のコードを優先しますが、2文字のコードを持たない言語には ISO 639-2 または ISO 639-3 コードを使用します。BCP 47 で定義された拡張コードにも対応しています。
言語名
表示する言語名。Weblate に含まれる言語名も、ユーザーインターフェイスの言語に合わせて現地語化されます。
テキストの方向
言語を右から左に書くか、左から右に書くかを指定します。このプロパティは、ほとんどの言語で正しく自動検出されます。
複数形の数
言語で使用する複数形の数。
複数形判別式
与えられたカウントに、どの複数形を使用するかを決定するために使用する Gettext 互換の複数形式。
新しい翻訳の追加
バージョン 2.18 で変更: 2.18 以前のバージョンでは、新しい翻訳の追加の動作はファイル形式別でした。
Weblate では、すべてのファイル形式の新しい翻訳を自動的に開始できます。
形式によっては、空のファイルで始まり、翻訳した文字列のみを含むことを想定しているものもあれば(例: Android string resources )、すべてのキーが存在することを想定しているものもあります(例: GNU gettext )。場合によっては、実際には形式に依存せず、翻訳を処理するために使用するフレームワークに依存します(例: JSON files )。
Component configuration で 新しい翻訳のテンプレート を指定すると、Weblate はこのファイルを使用して新しい翻訳を開始します。既存の翻訳文は、ファイルから削除されます。
新しい翻訳のテンプレート が空で、ファイル形式が対応している場合、空のファイルが作成され、新しい文字列を翻訳するとそこに追加されます。
言語コード スタイル で変更できる、生成したファイル名で使用する言語コード:
- ファイル形式から導き出されるデフォルト
ファイル形式によって異なるが、ほぼ POSIX が使用される。
- アンダースコアを区切り文字とする POSIX 形式
通常、gettext および関連ツールで使用され、
pt_BR
のような言語コードを生成する。- 国コードを含む、下線を区切り文字とする POSIX 形式
必要でない場合でも国コードを含む POSIX 形式の言語コード(例:
cs_CZ
)。- ハイフンを区切り文字とする BCP 形式
通常、Web プラットフォームで使用し、
pt-BR
などの言語コードを生成する。- 国コードを含む、ハイフンを区切り文字とする BCP 形式
必要でない場合でも国コードを含む BCP 形式の言語コード(例:
cs-CZ
)。- Android 形式
Android アプリでのみ使用し、
pt-rBR
のような言語コードを生成する。- Java 形式
Java で使用—主に中国語用のレガシー コードを使用する BCP。
さらに、言語の別名 で定義したマッピングはすべて逆に適用する。
注釈
Weblate は翻訳ファイルを解析するときに、これらのいずれかを認識しますが、上記の設定は新しいファイルがどのように作成されるかにのみ影響します。