インストールされたアプリのタイトルをデバイスの言語設定によって切り替えたいときのハナシ。いわゆる国際化対応で英語だったら英語のアプリ名、日本語だったら日本語のアプリ名を表示するみたいに切り替えたい場合のことですね。
iOSの場合
iPhoneの場合は<ロケール>.lproj
というフォルダを用意して、その中にInfoPlist.strings
というファイルを用意して以下の2つのキーを各言語ごとに用意していく。
"CFBundleName" = "日本語の名前"; "CFBundleDisplayName" = "日本語の名前";
フォルダは各言語で用意する必要があるので、日本語、英語、スペイン語が必要ならば
ja.lproj en.lproj es.lproj
という感じでフォルダを用意します。そして各フォルダに用意したInfoPlist.strings
を配置するだけ。
ちなみにCFBundleName
ってのはバンドル名の省略形としての名前だそうで15文字までだそうです。
Androidの場合
Androidも似たような感じ。Androidの場合はres
フォルダの下にロケールごとにvalues-<ロケール名>
というフォルダを用意して、その中にstrings.xml
というファイルを保存しておく。その中身はこんな感じだ。以下はvalues-ja
に配置したstrings.xml
の中身。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <resources> <string name="app_name">日本語の名前</string> </resources>
各言語ごとにapp_name
の箇所を変えてあげるだけ。
確認
これは簡単でシミュレータなりエミュレータの言語設定を変えてあげればすぐに確認ができるはず。