【iOS/Xcode】アプリ名をローカライズする時の設定【Unity】

【iOS/Xcode】アプリ名をローカライズする時の設定【Unity】

UnityでiOS向けにビルドしたプロジェクトを使って実機ビルドを行うと、デフォルトではアプリの表示名がProduct名になっています。

アプリのタイトルが英語ならいいのですが、日本向けのゲームでは多くの場合アプリ名も日本語になっていることが多いです。他の国のストアでもリリースすることを考えると、言語に合わせて表示名が切り替わるのが望ましいですね。

といった場合には、InfoPlist.stringsで言語ごとにアプリ名を設定していきます。

 

 

環境

macOS 10.15 Catalina

Unity2018.4.23f1

Xcode11.5

 

iOSでアプリ名をローカライズするには

iOSのアプリを作る際、Xcodeでローカライズしたい言語に対応したInfoPlist.stringsのファイルに

のように記載することで、端末の言語設定に応じてアプリ名の表示を切り替えてくれます。「CFBundleDisplayName」が表示名の設定項目です。

Unityの場合、iOSビルドを行ってXcodeのプロジェクトをエクスポートした直後はいくつかの言語でローカライズ対象となっています。

……が、デフォルトでリストに表示されている言語については「deprecated」の文字が表示されているものがあるので、自分でLocalizationの設定を追加する必要があります。(手元で確認したUnity2018.4、Unity2019.2、Unity2019.4では「deprecated」が出ました)

Deprecatedの表示が
Deprecatedの表示が

 

「deprecated」となっているLocalizationを削除する方法については以下の記事もご覧あれ。

 

 

ローカライズの設定

アプリ名のローカライズ手順を画像と一緒に解説します。

PROJECTの「Unity-iPhone」を選択し、Infoタブからローカライズの設定を行うことができます。

プロジェクトの選択
プロジェクトの選択

 

ローカライズ対象言語の追加

Localizationの領域にある [+] ボタンをクリックすると、追加する言語を選択することができます。

+ボタンで追加しよう
+ボタンで追加しよう

 

表示されたメニューから「Japanese (ja)」を、下の方にある「Other」から追加で表示されるメニューから「Japanese (Japan) (ja-JP)」を追加すると良いでしょう。すぐ下に「Javanese (jv)」があるのでお間違えなく。Javaneseはインドネシアのジャワ島の言葉です。

+をクリックしたメニュー
+をクリックしたメニュー

 

otherから選択
Otherから選択

 

言語を選択すると以下のようなダイアログが表示されます。言語に対応したInfoPlist.stringsのファイルを自動的に作成してくれるので、チェックを入れたまま [Finish] をクリックすればOKです。

InfoPlist.stringの追加
InfoPlist.stringの追加

 

「ja」と「ja-JP」を両方追加している理由ですが、以下のツイートによると、iOS13では「ja」だけではアプリ名のローカライズが反映されなかったようでした。なので、「ja-JP」も追加するのが良いと思います。

 

 

InfoPlist.stringsの設定

ローカライズ対象の言語を追加すると、各言語に対応したInfoPlist.stringsのファイルが作成されます。

「Unity-iPhone」→「Unity-iPhone Tests」→「Supporting Files」のディレクトリを確認しましょう。

設定を記載するファイル
設定を記載するファイル

 

「InfoPlist.strings」のファイルを選択している状態で、画面右側のインスペクターアイコンをクリックしてインスペクターを表示します。

インスペクター
インスペクター

 

インスペクターの「Localization」の項目ではローカライズ対象の言語が表示されています。もし選択されていない言語があればここでチェックを入れます。

また、ビルドしたアプリに反映させるためには「Target Membership」の項目で「Unity-iPhone」にチェックを入れます。これを忘れると、設定がちゃんと書かれているのに実機に反映されない! と30分くらい焦ることになるので気をつけましょう(1敗)

チェックを入れる
チェックを入れる

 

InfoPlist.stringsのファイルでは、冒頭で紹介したように「CFBundleDisplayName」にアプリ名を設定します。

画像だとこんな感じ。

CFBundleDisplayNameの設定
CFBundleDisplayNameの設定

 

アプリ名を日本語にローカライズする場合は「InfoPlist.strings (Japanese)」と「InfoPlist.strings (Japanese (Japan))」の両方で記載するようにします。

ダブルクォーテーションが半角になっていないとビルドエラーが出るのでご注意を(1敗)

 

まとめ

iOSでアプリ名をローカライズしたい時には、ローカライズする言語に対応したInfoPlist.stringsに「CFBundleDisplayName」の設定を記載します。

ターゲットの入れ忘れは私がよくやる凡ミスなので、あなたには回避してもらえるとこの記事を書いた甲斐があります。

 

     

ゲーム開発の攻略チャートを作りました!

CTA-IMAGE

「ゲームを作ってみたいけど、何から手を付けていいか分からない!」


そんなお悩みをお持ちの方向けに、todoがアプリをリリースした経験を中心に、ゲーム作りの手順や考慮すべき点をまとめたe-bookを作成しました。ゲーム作りはそれ自体がゲームのように楽しいプロセスなので、「攻略チャート」と名付けています。


ゲームを作り始めた時にぶつかる壁である「何をしたら良いのか分からない」という悩みを吹き飛ばしましょう!