Language:
Page Info
Engine Version:
The translation of this page is out of date. Please see the English version for the latest version of the page.

ローカリゼーション システムの概要

プロジェクトのローカリゼーションには次のキー コンセプトが含まれます。

OverviewDiagram.png

テキスト

テキストはローカリゼーションの基本的なユニットです。テキストは、名前空間、キー、ソース文字列、表示文字列で定義されます。名前空間とキーの組み合わせをユニークな恒等式となり、テキストを参照することができます。 同形異語の場合、名前空間で異なる恒等式を与えることにより、テキストを様々に翻訳することができます。キーは、テキストに関する特定のコンテキストを与えます。 ソース ストリングは、翻訳されないままの、ネイティブ形式の文字列です。表示文字列は表示される文字列で、通常はソース文字列の翻訳形式になります。

例えば、ダイアログ ボックスは英語かスペイン語で表示される場合があります。ダイアログ ボックスには、メッセージや [OK] ボタン、 [Cancel] ボタンが含まれる場合があります。テキストのこのような 3 つの構成要素には、名前空間の "MyProject" を使います。メッセージ テキストは [MyMessage] キーを使い、 Ok テキストは [DialogBox.AffirmativeButtonLabel] のキーを、Cancel テキストは [DialogBox.NegatoryButtonLabel] キーを使います。名前空間とキーに基いて、 テキストのそれぞれの構成要素はユニークに認識および翻訳されます。

ターゲット

ターゲットは名前のついた、独立したローカリゼーション データのモジュールです。ターゲットは、特定のソースからテキストを収集し、マニフェスト ファイルに格納し、カルチャ専用のアーカイブ ファイルで翻訳し、 カルチャ専用のローカリゼーション リソース ファイルにコンパイルしその後表示用のシステムによってロードされます。

プロジェクトは、簡単するためにターゲットを 1 つだけ持ったり、、あるいはプロジェクトのローカリゼーション データを分離できるセクションに分けるために複数のターゲットを持つことができます。アンリアル エディタでは、エディタがまだローカライズできない場合に エディタのローカリゼーション データをデータと一緒に配布することを保留できるように、それ以外のアンリアル エンジンからターゲットを分けています。通常、ゲームは基本となるゲームのローカリゼーション データ全体に対してターゲットは 1 つです。 拡張によってターゲットが追加されます。

カルチャ

カルチャはロケールとしても知られ、言葉、スクリプト、リージョンなどの詳細を定義します。カルチャは、必須の言語コード (ISO-639 standard) 、オプションのリージョン コード (ISO-3166 standard) のそれぞれを ダッシュまたは下線で区切ったフォーマットの文字列で識別します。

カルチャ コードの例は、"en" (英語) 、"es-MX" (スペイン語、メキシコ リージョン) 、"zh-Hans-CN" (中国語、簡体字、中国リージョン) などです。

マニフェスト

マニフェストは、名前空間とキーで人間が理解できる JSON フォーマットでマッピングされた収集されたテキストを、ソース文字列として格納します。マニフェストは、特別なテキストを収集するコマンドレットから収集された テキストを使ったコマンドレットで生成されます。マニフェストは切り捨てられて毎回ゼロから作成されます。手書きコードによる更新はされません。

アーカイブ

アーカイブは、名前空間とキーで人間が理解できる JSON フォーマットでマッピングされた文字列とその翻訳を格納します。アーカイブは、特定のマニフェストからのすべてのエントリをスタブするコマンドレットで生成されます。 アーカイブのエントリにはキーがないので、名前空間で同じソースを共有するマニフェストからのすべてのエントリは、1 つのアーカイブ エントリに折りたたまれます。 キーだけ異なるテキストは、表面上は同一と見なされ、同じ翻訳を使用します。既に存在するアーカイブに対しては、切り捨てではなく更新が行われます。アーカイブは、そのままの状態、もしくは他のフォーマットに翻訳された状態でトランスレーターへ処理のために渡され、 空のスタブ エントリに翻訳が入って戻されます。

ローカリゼーション リソース (LocRes)

LocRes は、システムがロードする翻訳済みテキストをバイナリファイル フォーマットで格納します。LocRes は、特定のマニフェストと幾つかの特定のアーカイブをコンパイルするコマンドレットで生成されます。

システムは、プロジェクトの設定値と現在のカルチャに合わせて LocRes をロードします。現在のカルチャのすべての親カルチャの LocRes からローカライズされたテキストに加えて、 現在のカルチャの LocRes からローカライズされたテキストも使用されます。これにより、一般的な翻訳は、リージョンにさらに特化した翻訳と合わせて、言語に対しても特化して行えるようになります。基本的な例としては、 単一のターゲットが "Color" というテキストを含み、 "en" (英語) と "en-UK" (英国英語) に対応する場合、 "en" LocRes は "Color" を "Color" として翻訳しますが、 "en-UK" LocRes は "Colour" としてローカライズします。ユーザーが "en-CA" (カナダ英語) へ切り替えた場合、 "en-CA" 用の LocRes には "Color" に対するローカリゼーションがないので、 "en" 用の LosRes が "Color" を使います。