Pseudo-Localization
Pseudo-Localization (疑似ローカライゼーション) は、各種言語への翻訳を行う前に開発の早期段階でアプリケーションの国際化の側面をテストするための方法です。類似した文字セットを使用した、実際と同じ容量を占める疑似的な翻訳が生成され、実際の翻訳をアプリケーションのコンテンツに適用した時に起こり得る問題が明確になります。
Pseudo-Localization は、例えば以下のような問題の起こり得る箇所をあらかじめ確認するために役立ちます。
- スペースの制限: 翻訳されたテキストに十分なスペースがなく、テキストが不自然な形で折り返される可能性がある箇所です。
- ローカライズされない文字列: ハードコードされた、ローカライゼーションのフレームワークを経由しない文字列です。
- 別々に翻訳された文章や段落の組み合わせ で、ローカライゼーションが困難な形で構成されている箇所
- フォントのエンコードと変換の問題: フォントがそれぞれの言語で必要な特殊文字を全てサポートしていること、またそうした特殊文字のグリフにデザイン上の問題がないことを確認してください。
- 右横書きテキストの問題: 右横書き (RTL) 言語のユーザーインターフェースは、左書きレイアウトのミラーイメージ (左右反転画像) としてレイアウトされる必要があります。
- ローカライズされないアート (テキストを含んだテクスチャなど)
例
Pseudo-Localization の一般的な用途の 1 つは、メニューのコンテンツ内の潜在的な問題の発見です。例えば以下は、元の英語テキストを含んだメニューの画像です。
以下の画像は、同じメニューのテキストに Pseudo-Localization を適用したものです。これによりテキストに必要な領域が拡大され、 一部の文字が他の文字に置き換えられています。
Pseudo-Localization によって、最終的なメニュー項目 "Exit Game" が、より大きな領域を必要とする言語に翻訳された時に領域からはみ出してしまう可能性が高いことが確認できます。疑似翻訳が領域に収まらない場合は、一部の実際の翻訳も領域に収まらない可能性が高くなります。
以下の画像は、同じメニューをスペイン語に翻訳したものです。
Pseudo-Localization の示した通り、最終的なメニュー項目の領域のサイズが大きくなっているので、UI 内に収まるように手動で調整する必要があります。 この場合の解決策は、例えば、"Exit Game" を、他の言語に翻訳した時に必要な領域が小さくなると思われる "Quit" に変更することです。
参考文献
- W3: 訳文における文字サイズ
- Gamasutra: Pseudo-Localization A Must in Video Gaming
- Minimizing Human Error in Localization
- Pseudolocalization to Catch i18n Errors Early
Pseudo-Locale アセット
Pseudo-Locale (疑似ロケール) アセットは、String Table から値をプルし、そこにオンデマンドで Pseudo-Localization を適用します。Pseudo-Localization を使用するには、以下を行う必要があります。
- String Table 内にテキストを設定する
- Pseudo-Locale アセットを設定する
- それをランタイムでシーンに適用する
Pseudo-Locale アセットを設定する
新しい Pseudo-Locale アセットを作成するには、Assets > Create > Localization > Pseudo-Locale と選択してください。
プロパティ | 説明 |
---|---|
名前 | この Pseudo-Locale アセットの名前を設定します。何を行うのか識別できる名前や、添付されたメソッドが識別できる名前を付けると便利です。 |
Source Locale | 疑似ローカライゼーションに使用するロケールです。例えば English を選択すると、Pseudo-Localization システムは、English String Table から文字列を読み込んで疑似ローカライゼーションを行います。 |
Code | このフィールドには、選択された Source Locale の言語コードが自動で入力されます。 |
Metadata | Metadata リストを使用して、以下の 2 つのタイプのデータを追加できます。
|
Pseudo-Localization Methods | Methods リストを使用して、この Pseudo-Locale アセットがアプリケーションのテキストに適用する疑似ローカライゼーションのメソッドを定義します。デフォルトで含まれる Pseudo-Locale は Accenter、Expander、Encapsulator です。 各メソッドの詳細は メソッド を参照してください。 |
Pseudo-Localization Preview | 疑似ローカライゼーションの設定のプレビューが表示されます。テキストフィールドを編集して、任意のテキストの文字列をプレビューできます。 |
ランタイムでシーンに適用する
Pseudo-Locale を適用するには、Selected Locale を新しい Pseudo-Locale アセットに変更する必要があります。これはエディターの ゲームビューのロケールメニュー から行うか、スクリプトで LocalizationSettings.SelectedLocale を変更することで行うことができます。 (Package Manager 内にある) Samples パッケージに、ロケール変更の例と、ロケール選択メニューの例が含まれています。