今回はいよいよローカライズの手順です。
Language Sourceコンポーネントを編集していきますが、
Assets \ I2 \ Localization \ Resources \ I2Languages.prefabを直接エディットする方法をとります。詳しくは前回を参照して下さい。
この方法だと、シーンを跨いでもローカライズデータベース(Language Sourceコンポーネント)にアクセスできるので、小中規模なアプリではとても有効な手段だと思います。
ちなみに、この Assets \ I2 \ Localization \ Resources \ I2Languages.prefab は、初めてI2 Localizationをプロジェクトにインポートすると自動で生成されます。アセットをアップデートした場合は、編集済みの I2Languages.prefab ファイルを上書きしないように、上書き生成はしないようになっているそうです。(動作未確認)
まあ、上書きされたとしてもGitやSVNでバージョン管理していれば、それほど焦らなくてすむとは思いますが、念のため。
ローカライズ言語を設定
Assets \ I2 \ Localization \ Resources \ I2Languages.prefabを選択して、インスペクターに表示されたLanguage Sourceコンポーネントを編集します。まずは、Languagesタブにして、ローカライズする言語を決めます。リストの一番上がデフォルト言語になり、ローカライズ対応していない環境でロードされた場合は、デフォルト言語が使用されます。下の入力エリアから国名を入力すると、プルダウンリストが現れるので、目的のものをクリックします。同じ英語でも、米、カナダ、イギリスなど、細かに指定することもできます。
Term(キー)の追加
Language SourceコンポーネントのTermタブの+ボタンを押すと、Term(キー)の追加ができます。Termはローカライズされたオブジェクトを引き出す「キー」になります。Textタイプのローカライズ
Term(キー)から引き出せるオブジェクトのタイプはいろいろありますが、以下の図はTextタイプのローカライズの場合です。YourRecordというTerm(キー)を追加して、編集しているところです。
(1)はローカライズするオブジェクトのタイプで、現在のところ、Text、Font、Texture、Audio Clip、Game Object、Sprite、Material、Objectが指定できます。
(2)は言語ごとのローカライズ設定です。Term(キー)で引き出されるオブジェクトのことです。今回はTextタイプなので、英語環境の場合は「YOUR RECORD」で、日本語環境の場合は「あなたの記録」というテキストが取得できます。
(3)はTextタイプの場合の自動翻訳ボタンです。Google翻訳を使って翻訳しているようです。ただし、I2GoogleWebService(Google Apps Script)をインストールした後でないと使えません。今回は、話しが横道にそれるので解説しません。
Fontタイプのローカライズ
uGUIのTextコンポーネントなどに設定するフォントもローカライズしておきます。フォントをローカライズするというと、なんだか誤解を招きそうな表現ですが、言語ごとにテキストフォントを指定でき、Textなどと同じローカライズシステムを使用していると考えて下さい。GeneralFontというTerm(キー)を追加して、編集しているところです。
TypeにFontを指定します。
そして、それぞれの言語にFontを指定しますが、JapaneseにはNone(空白)を指定しています。空白にして、それぞれの実行環境に内蔵されている日本語フォントを使用するようにしています。あまりおすすめではないですが、アプリに日本語フォントを内蔵させたくない場合には有効です。
uGUIのTextコンポーネントをローカライズ
uGUIのボタンに設定されているTextコンポーネントをローカライズしてみます。Textコンポーネントのあるオブジェクトを選択して、I2 > Localization > Localizeコンポーネントを追加します。(下図)
TargetにTextを指定します。
そしてTermに、上で設定したYourRecordを指定します。
次にLocalizeコンポーネントのSecondaryタブを選択してください。
Termに、上で設定したGeneralFontを指定します。
これでこのTextコンポーネントのローカライズは終了です。実行環境の言語が調べられ、マッチした言語があれば、その言語のテキストを表示し、マッチした言語がなければ、デフォルトの言語が表示されます。
次回は、スクリプトからローカライズテキストの利用について、書いてみたいと思います。
0 件のコメント:
コメントを投稿