モバイルアプリのホーム画面で表示される名前を国際化対応させる (Android/iOS)

インストールされたアプリのタイトルをデバイスの言語設定によって切り替えたいときのハナシ。いわゆる国際化対応で英語だったら英語のアプリ名、日本語だったら日本語のアプリ名を表示するみたいに切り替えたい場合のことですね。

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の箇所を変えてあげるだけ。

確認

これは簡単でシミュレータなりエミュレータの言語設定を変えてあげればすぐに確認ができるはず。

©Keisuke Nishitani, 2023   プライバシーポリシー