スタートアップロケールセレクター
Locale Selector (ロケールセレクター) は Localization Settings の一部で、アプリケーションの初回起動時あるいはアクティブなロケールが選択されていない時に Unity が使用する ロケール を設定するものです。例えば、デフォルトのロケールを使用したり、プレイヤーが他のデバイスで使用しているロケールの使用を試みたりすることが可能です。
Localization Settings はリスト内の各セレクターを先頭 (インデックス 0) から順番にクエリします。セレクターがロケールを返さなかった場合 (null) は次をクエリし、有効なロケールが見付かるかリストの末尾に到達するまでこれを続行します。これにより、Unity が使用するロケールを選択する時のフォールバック動作の作成が可能になっています。
デフォルトでは、以下の Locale Selector から選択可能です。
- Command Line Locale Selector
- System Locale Selector
- Specific Locale Selector
- Player Pref Locale Selector
IStartupLocaleSelector インターフェースを使用して、追加的なカスタムセレクターを作成できます。
Command Line Locale Selector
Command Line Locale Selector を使用すると、アプリケーションの起動時にコマンドライン引数を使用してロケールを設定できます。コマンドラインで指定するロケールは Locale Code に一致する必要があります。
例えば -language=en-GB
は English(United Kingdom) に一致し、-language=ja
は Japanese に一致します。
デフォルトの引数は -language=
です。これは Command Line Argument フィールドで設定できます。
System Locale Selector
System Locale Selector は、デバイスのロケール (場所) を検出して一致するものを見付けます。 System Locale Selector は、一致する Rocale か適切なフォールバックの Rocale が見付かるまで、異なる API をクエリし続けます。
- iOS - 優先する言語: Unity は iOS の優先する言語 をクエリします。
- Android - デバイス言語: Unity は Android の getDefault の値をクエリします。 しま
- System Culture: Unity は CultureInfo.CurrentUICulture の値を使用します。
- System Language: Unity は SystemLanguage の値を最終チェックとして使用します。
Specific Locale Selector
Specific Locale Selector は指定されたロケールを選択します。これを使用すると、他の全てのセレクターが失敗しても必ずロケールが選択されるようにすることができます。選択されるロケールは Locale Id フィールドで設定可能です。
Player Pref Locale Selector
Player Pref Locale Selector は、Unity の PlayerPrefs を使用して、ゲームのセッションとセッションの間に、選択されたロケールを格納および取得します。これにより、プレイヤーがゲーム言語を変更した後で再びゲームを開始した時に、確実に前回選択した言語と同じものが使用されるようにすることができます。