Localization 設定
Localization 設定の Inspector ウィンドウは、ローカライゼーションに関わる全ての設定へのアクセスポイントです。ここには、プロジェクトの Project Locale や Asset Table にアクセスできるインターフェースが提供されています。
設定にアクセスする
Localization 設定を使用するには、Edit > Project Settings > Localization を開いてください。
設定アセットが存在しない場合は、作成を促すプロンプトが表示されます。
設定アセットは Assets メニューからも作成できます。Assets > Create > Localization > Localization Settings の順に選択してください。
Available Locales
Available Locales には、ビルドされたプロジェクトがサポートする ロケール のリストが含まれています。 これはデフォルトでは Addressable システムを使用してロケールをフェッチします。ただし、ILocalesProvider を実装するクラスを作成して、これを完全にカスタマイズすることもできます。
Locale Generator ウィンドウ
ロケールを作成するには、Available Locales エディター内の Locale Generator ボタンをクリックしてください。
Locale Generator は、選択してプロジェクトに保存できる既知のロケール一式を提供します。
Locale Source フィールドを使用して、Unity がロケールのリストを生成する基となるソースを設定します。これらの既知のロケールは CultureInfo クラスか Unity の SystemLanguage enum から収集されます。
ロケールを選択するには、名前の隣にあるチェックボックスにチェックマークを入れてください。希望のロケールを選択したら Create Locales ボタンを押します。これにより、各ロケールがアセットとしてプロジェクト内に保存され、Addressable アセットとしてマークされます。既にプロジェクトに含まれているロケールはチェックマークが付いて無効化されます。 Locale アセットは Addressables に追加/削除できます。Remove Selected ボタンをクリックして削除、追加 (+) ボタンで追加、あるいは Add All ボタンでプロジェクト内の全ての Locale アセットを自動的に追加できます。
Locale Selector
Locale Selector は、アプリケーションの初回起動時やアクティブなロケールが選択されていない時に Unity が使用するロケールを指定します。例えばデフォルトロケールを使用したり、プレイヤーが他のデバイスで使用しているロケールの使用を試みることもできます。
Localization 設定は、リスト内の各セレクターを先頭 (インデックス 0) からクエリします。セレクターが null を返した場合は次をクエリし、有効なロケールが見付かるかリストの最後に到達するまでこれを続行します。これにより、Unity が使用するロケールを選択する時のフォールバック動作の作成が可能になっています。
Asset Database
Asset Database は様々な Asset Table および後続のアセットを取得する役割を持っており、これには Addressable Assets システムを介したクエリと読み込みが含まれます。 Default Table フィールドには、デフォルトの Asset Table 名を設定できます。これはその後、明示的なテーブル名を指定せずにアセットを読み込む時に使用できます
String Database
String Database は、様々な String Table とそれに属するローカライズ済み文字列を取得する役割を担っています。
Default Table フィールドには、デフォルトの String Table 名を設定できます。これはその後、明示的なテーブル名を指定せずに文字列を読み込む時に使用できます。
No Translation Found Format フィールドには、ローカライズされていない値に対して返される文字列を設定できます。
Project Locale
Project Locale には、デフォルトのロケール (アプリケーションの開発に使用されたロケールなど) を設定します。このプロパティは主に Localized Property Variants システムによって使用されます。
Initialize Synchronously
アプリケーションの開始時、あるいは選択ロケールの変更時には、Localization システムは自動的に初期化される必要があります。初期化の処理には、サポートされたロケールの読み込みと、Srting Table および Asset Table のプリロードが含まれます。これはデフォルトでは Unity の実行中にバックグラウンドで非同期的に実行されます。Initialize Synchronously を有効にすると、初期化が完了するまでメインスレッドがブロックされます。これによりローカライゼーションの初期化操作が強制的に即時完了されます。操作の完了には WaitForCompletion メソッドが使用されます。これは WebGL ではサポートされていないことに注意してください。
Smart Format の設定
Smart Format セクションでは、Smart String の構文解析時および書式設定時の動作を設定できます。
Smart String の設定は、Project Settings (Edit > Project Settings) の Localization タブ内で行えます。
Settings
Settings セクションには、Smart String の構文解析と書式設定の方法を設定する、一般設定項目が含まれています。
フィールド | 説明 |
---|---|
Format Error Action Parse Error Action |
Error Action (エラーアクション) は、構文解析 (文字列のトークンの解釈) 中および書式設定 (構文解析されたトークンの文字列値への変換) 中のエラーに対する Unity の反応を指定するものです。 以下のいずれかを選択できます。
Smart.Default.OnFormattingFailure Smart.Default.Parser.OnParsingFailure これらのイベントは、全てのエラーおよびエラーアクションの値に対して発生します。このため、エラーへの対処方法をコード内で指定することができます。 |
Case Sensitivity | プレースホルダーの大文字と小文字を区別するかどうかを指定します。 |
Convert Character String Literals | リテラルテキストとは、プレースホルダーではない、置換されないテキストです。この項目を有効にすると、リテラルテキストが C# 文字列として扱われ、エスケープシーケンス が変換されます。例えば \n は新しい行になり、\t はタブに変換されます。 |
Parser
Parser (パーサー) は、Smart String を、Source および Formatter によって解釈可能な (また場合によっては、ネストされた書式項目の処理時に更に構文解析可能な) 一式の書式項目に変換する役割を担っています。
フィールド | 説明 |
---|---|
Opening Brace Closing Brace |
Opening Brace とClosing Brace は、書式項目 (Format Item) の開始と終了を示すために使用されます。デフォルトでは、String.Format と同じ括弧 { } が使用されます。 例: Some text {0} |
Alphanumeric Selectors | 有効にすると、セレクターに、a-z および A-Z の範囲内のアルファベットのセレクターを含めることができます。 例: Some text {FormatItem} |
Allowed Selector Chars | 数学などの追加的なセレクター構文をサポートするためにセレクターに含めることができる、追加的な文字のリストが含まれています。 |
Operators | セレクターとセレクターの間に来る文字のリストが含まれています。例えば ドット表記の場合は "." 、配列の場合は [ ]、あるいは数学記号の場合もあります。 |
Alternative Escaping | Smart Strings are a replacement for string.Format. Therefore, curly braces are escaped the string.Format way. So if the desired output is {literal}, double the open and closing curly braces to be {{literal}} instead. This string.Format compatibility, however, causes problems when using SmartFormat's extended formatting capabilities, for example the following would not work: {0:{Persons:{Name}|, }}. The reason is the double curly braces at the end of the format string, which the parser will escape, leading to a missing closing brace exception. This issue is solved by using an alternative escape character instead. When enabled and you wish to treat a double curly brace as literal it should be preceded by a backwards slash (\). So the following would be treated as literal: "\{literal\}". |
Alternative Escape Char | セレクター括弧ではなくリテラル文字として扱うべきであることを示すために、開始と閉じの波括弧と接続して使用する文字です。 |
Sources
セレクター を評価する時に考慮すべきソースです。
ソースは、リストの先頭にある最初の項目から下に向かって順に評価されます。ソースの順序によって結果の文字列が変わる場合があります。
Formatters
使用可能な フォーマッター です。