やはり日本語に対応したアプリのアプリ名は日本語にしたほうが、インストールしたときにわかりやすいですね。
今回はTitanium Mobileで作ったアプリの名前を日本語にする方法と、管理人が遭遇した問題について書きたいと思います。

iOS(iPhone、iPad)の場合

プロジェクト直下の「i18n」フォルダにある「ja」フォルダにapp.xmlファイルを作成します。フォルダがなければ作成します。
app.xmlの内容は以下のとおりです。

———————————————————————————–
<?xml version=”1.0″ encoding=”UTF-8″?>
<!– i18n/ja/app.xml –>
<resources>
<string name=”appname”>日本語アプリ名</resources>
</resources>
———————————————————————————–

これでiOS版のアプリの名前は日本語で表示されます。
言語別にアプリ名を変更する場合は、それぞれフォルダとファイルを作成すればよいみたいです。

Androidの場合

プロジェクト直下の「i18n」フォルダにある「en」フォルダと「ja」フォルダにstrings.xmlファイルを作成します(フォルダやファイルがなければ作成しましょう)。

———————————————————————————–
<?xml version=”1.0″ encoding=”UTF-8″?>
<!– i18n/en/strings.xml and i18n/ja/strings.xml–>
<resources>
<string name=”appname”>日本語アプリ名</string>
</resources>
———————————————————————————–

プロジェクト直下に「platform」フォルダをさらにその中に「android」フォルダを作成します。
そして、プロジェクト/build/android/AndroidManifest.xmlを先ほど作成した、
プロジェクト/platform/android/にコピーします。
コピーしたほうのAndroidManifest.xml内のandroid:label=””の部分をandroid:label=”@string/appname”とします。
これでAndroid版のアプリの名前は日本語で表示されます。

ちなみに、プロジェクト/build/android/AndroidManifest.xmlはTitanium Studioの左端にあるエクスプローラーには表示されないので、直接「Titanium_Studio_Workspace」の中を操作します。

Androidでの注意事項

strings.xml内で定義した日本語アプリ名(<string name=”appname”>日本語アプリ名</string>)は、enフォルダのstrings.xml内にも定義するようにしましょう。
そうしないと、パッケージ化したあとにGoogle Playにアップロードしようとしたとき、
ERROR getting ‘android:icon’ attribute: attribute is not a string value
というエラーが表示されてアップロードできません。

ソース内で使用する

Ti.Local.getString(“strings.xmlでの定義名”)
とか
L(“strings.xmlでの定義名”)
で使用することができるようです。