T

Titaniumで作ったアプリの表示名を国際化対応(iOS)

Titaniumで作成したアプリの表示名はデフォルトでtieapp.xmlのnameで指定されたものになる。iPhoneだと生成されるInfo.plistではCFBundleDisplayNameが${PRODUCT_NAME}になっている。ここにはデフォルトではプロジェクトディレクトリの名前がそのまま入るのだが、例えば日本語のアプリ名にしようとすると、プロジェクト名は日本語に出来ないので、iPhoneなら一度ビルドして作成されるbuild/iphone/Info.plistをプロジェクトのディレクトリ直下にコピーして、CFBundleDisplayNameを書き換える。AndroidだとAndroidManifest.xmlを同じくコピーして中身を書き換える。

でも、このやり方だと画面に表示するアプリの名称を国際化対応することができない。そこで調べてみたら、iOSだとこんなやり方でできた。

(1)例えば英語ならResources/English.lproj/InfoPlist.stringsを作成する
(2)中身を下のようにする。

CFBundleDisplayName = "English Name!";

(3)このInfoPlist.stringsをUTF-16で保存する。
(4)念のためbuild/iphone/以下のファイルを全部消してリビルドする

日本語の場合はJapanese.lprojになる。ところで中国語だが、zh_TW.lprojが繁体字、zh_CN.lprojが簡体字になる。Info.plistはそのままCFBundleDisplayNameは${PRODUCT_NAME}で大丈夫。

Posted by on 7月 13, 2011 in Android, Apple, Titanium

コメントを残す