テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

ローカライズについて

以前発表した健康系補助アプリ「癒しの呼吸」の英語版ローカライズを出すことにしたので、
その時のメモ。

スクリーンショット 2012-05-17 2.33.26


xcodeローカライズ(複数言語対応)

xcodeローカライズをすごく簡単に出来るみたい。

まずは画像のローカライズ(例として日本語と英語のローカライズ

1.画像のLocalise設定でEnglishとJapaneseを追加。
2.en.lprojとja.lprojを探して、対応する言語の画像に差し替える

スクリーンショット 2012-05-17 1.58.52

癒しの呼吸では文章のローカライズ部分は無いので、これだけでOK。

文章をローカライズする場合はinfoPlistをローカライズして
それぞれ参照するように開発すればOKらしい。

画像がローカライズ出来ることに気づくまで、スクリプトローカライズしようとしてたのは秘密

■Unity3Dのローカライズ

さて我らがUnity3Dのローカライズについてだけど、
どうもUnityにはXcodeであるようなスマートなローカライズ機能が無いらしい。

なので、[Application.systemLanguage]で現在実行している端末の言語を取得して
スクリプトベースでローカライズする必要があるみたい。
Application.systemLanguageスクリプトリファレンス


逆に言えば実行端末の言語は取得できるので、多少の手間でローカライズできるとも言える。
Unityの画像ファイル等はmaterialを挟むので、materialを多言語で差し替えてやれば
概ねローカライズできると思う(乱暴)

(でもUnityはテクスチャのコストが高いから、文章で出来るところは文章で書くのが良い気がする)

■TextManagerでローカライズ

上の方法の続きで、ローカライズ対象のファイル名や文章を取得に使えそうなサンプルがコレ。

TextManager。】

これは簡単にいえば、ハッシュテーブルをテキストから作り、管理するものらしい。
実行時に言語を判定・リソースからハッシュテーブルを作成。

たぶん【Multilanguage Manager】は、これをEditor拡張したアセット。
もしかしたら高級な機能を持ってるかもしれないので、入手する機会があれば検証してみたいところ。