各言語には、単数形および複数形のフレーズに対する独自の文法形式があります。
例:
-
英語には one と other の2つの形式があり、1 file や 2 files のように使用されます。
-
他の言語には、one、few、other のように、1つまたは複数の形式が存在する場合があります。
これはローカライズにおける課題となります。
基数および序数の複数形を含む、複数形に対応した Strings の翻訳がサポートされています。これらの Strings は、訳文の言語の複数形ルールに基づいて、複数形を使用して翻訳する必要があります。これらの複数形は、原文ファイル内で定義されている必要があります。
例:
-
英語の文字列 There are %d% items left では、%d% は1以外の任意の数値を表します。
-
チェコ語では、これを2通りの方法で翻訳する必要があります。
1つ目は2、3、4という数字用(つまり few)、2つ目は0、5以上の数字用(つまり other)です。
PO (gettext) ファイルは、ICU メッセージ と同様に複数形を一般的に使用します。
複数形のルールに関する詳細については、CLDR 複数形ルール を参照してください。
複数形の取り扱い
多くのローカライズファイル形式がサポートされており、それぞれ異なる方法で複数値を処理します。各 ファイル形式について、最も一般的な方法を紹介します。
複数形の数は、Unicode ルール に従って自動的に処理されます。つまり、言語によっては最大6つの形式があり、また別の言語では数種類しかない場合もあります。プロジェクトに ロケール を追加して ISO コードを提供すると、その言語の正しい複数形カテゴリが Strings Editor に自動的に表示され、翻訳できるようになります。エクスポート時に、複数形のキーはターゲットプラットフォームに適した構文に変換されます。
複数形は、ウィンドウのタブで処理されます。のドロップダウンで、従来または番号付きUnicode CLDR複数形ルールバージョンを選択します。
従来は、Phraseのオリジナルの複数形カテゴリマッピングを使用します。番号付きのCLDRバージョン(例:CLDR48)は、そのリリースの公式Unicode CLDR複数形ルールに従います。ほとんどの言語では、どちらの方法でもカテゴリセットは同一です。スペイン語、イタリア語、ポルトガル語、フランス語を含むいくつかの言語では、CLDR48は従来にはないmanyカテゴリを追加します。
バージョンを切り替えても、既存の翻訳が削除または変更されることはありません。
-
新しいバージョンでプロジェクト言語のいずれかにカテゴリが追加された場合、そのカテゴリは空欄で始まり、新しい翻訳が必要になります。
-
プロジェクトで以前使用されていたカテゴリが、その言語の新しいバージョンのセットに含まれていない場合、既存の翻訳は保存されたままになりますが、エディタには表示されなくなります。
キーは、キーの作成時または編集時に複数形を有効にすることで、複数形として設定できます。プロジェクトのタブでキーごとに複数形を有効にするには、次の手順に従います。
-
プロジェクトページで、詳細/キーを選択します。
タブが表示されます。
-
目的のキーの歯車アイコン
をクリックします。
ウィンドウが表示されます。
-
タブをクリックし、を選択します。
のドロップダウンが表示されます。
-
との複数形タイプから選択します。
注意
複数形タイプを変更すると、既存の翻訳は消去されます。
-
保存をクリックします。
使用するファイル形式で必要な場合は、が指定されていることを確認してください(例:gettextを使用する場合)。
複数形タイプも、各キーのエディタサイドバーのセクションで表示および編集できます。