アプリをローカライズ
言語に複数の異形を追加する
コードで NSLocalizedString マクロに渡すローカライズ可能な文字列の 複数の異形 を作成するには、 stringsdict ファイル (.stringsdict ファイル拡張子が付いたファイル) をプロジェクトに追加して下さい。
たとえば、フォーマットされた文字列 “%d files remaining” には、stringsdict ファイルが必要になる場合があります。英語では、変数 d の値が 1 の場合、バリアントは “1 file remaining” または “one file remaining” です。それ以外の場合、バリアントは “%d files remaining” です。他の言語では、このフォーマットされた文字列に複数形のバリアントがある場合があります。
- [ファイル(File)] > [新規(New)] > [ファイル(File)] を選択します。
- 表示されるシートで、ターゲットのオペレーティングシステムを選択します。
- [リソース(Resource)] で Stringsdict ファイルを選択し、[次へ(Next)] をクリックします。
- 表示されるシートで、ファイル名を入力し、ファイルの場所を選択して、[作成(Create)] をクリックします。
テンプレートには、単一のフォーマットされた文字列の複数のバリアントを持つ辞書が含まれています。フォーマットされた文字列ごとに、複数のバリアントを定義し、テンプレートで提供されるローカライズされた文字列キー (StringKey) と値のペアを複製します。次に、フォーマットされた文字列ごとに以下の編集を行います。
- ローカライズされた文字列キー (StringKey) を、NSLocalizedString マクロに渡すフォーマットされた文字列に置き換えます。
- VARIABLE (2 つの場所) を、ローカライズ可能な文字列で使用する変数の名前に置き換え、ローカライズされたフォーマットキー (NSStringLocalizedFormatKey) の値に置き換えます。
注意:ローカライズされた形式のキー文字列に複数の変数がある場合は、変数ごとに VARIABLE キー値のペアを複製して下さい。
- 開発言語に必要な複数のバリアントごとに、対応するカテゴリのフォーマットされた文字列を入力してから、使用しないカテゴリを削除します。
たとえば、1 つのカテゴリと他のカテゴリの文字列を入力してから、英語の zero と 2 つのカテゴリを削除します。
重要:必須である他のカテゴリーの値を指定して下さい。
プロパティリストエディタ (stringsdict ファイルのデフォルトエディタ) を使用して stringsdict ファイルを編集すると、キーの Xcode のタイトルが表示されます。たとえば、ローカライズされたフォーマットキーです。ソースエディタでファイルを表示する場合 (ファイルを Control + クリックし、[名前を付けて開く(Open As)] > [ソースコード(Source Code)] を選択)、生のキーが表示されます。たとえば、NSStringLocalizedFormatKey。
以下も見よ
Stringsdict ファイル形式
プロパティリストの編集