ググった他のサイトの記事が一切通用しなかった&忘れそうなのでメモ。
やり方が正しいのかは、不明。
version
- phonegap 3.3
- Xcode 5.0.3
箇条書きで要約
英語ファイルをベースに日本語ファイルを作る
- InfoPlist.strings ファイルを手動で アプリ名/Resources/en.lproj/ 以下に 追加
- InfoPlist.stringsファイルに CFBundleDisplayName = "App Name"; を追加
- Xcode の言語追加のところで、 Japanese の言語追加
- en.lprog の下に ja.lproj/InfoPlist.strings ができるのでそこに日本語のアプリ名を入れる
手順
僕の環境では、以下のような構成 (Xcode)
[アプリ名]
+ Resources
Images.xcasetts
+ de.lproj
+ se.lproj
+ en.lproj
+ es.lproj
+ icons
+ splash
[アプリ名]-Info.plist
en.lproj/ に InfoPlist.strings を入れる
- 英語をベースにする
- なので、英語のアプリ名用にファイルを用意する
en.lproj/ をクリックすると、Localizable.strings が見える
そこに InfoPlist.strings を入れる
- en.lprojを右クリック New File を選択
- Strings File のアイコンを選択
- InfoPlist.strings とファイル名を入れてファイルを追加
以下のような内容のファイルが自動でできる
/*
InfoPlist.strings
AppName
Created by Hoge Hogeo on 2014/03/06.
*/
- Project から Info のタブをクリック
- Localizations の Languages の項目に既に
- English
- German
- Northern Sami
- Spanish
がある(僕の環境では)
- + をクリックして、Japanese を追加
- ウィンドウが開いて、リファレンスになる言語を選択してと言われるので
- English の Localizable.strings と InfoPlist.strings を選択する
このへんでよく ja.lproj が追加できない等言われることがあるので、その場合は直接以下のディレクトリを削除してから、再度 Japaneseを追加する
platforms/ios/NyankoTouch/Resources/en.lproj/ja.lproj
アプリ名を追加
追加後 Xcodeで [アプリ名]/Resources/en.lproj/Info.Plist.strings をクリックすると、以下の2つが見えるようになる
InfoPlist.strings (English)
InfoPlist.strings (Japanese)
Englishの方に英語のアプリ名
CFBundleDisplayName = "Sample App Name";
Japaneseの方に日本語のアプリ名
CFBundleDisplayName = "サンプルアプリ名";
作業は、以上。
テスト
- ビルドして問題ないことを確認
- 英語なiOSと日本語なiOSで試して、起動アイコンの名前が正しければOK
- iOSシミュレータで起動して、現言語環境でのアプリ名を確認。その後、iOSシミュレータ内の設定で、言語環境を変えて、アプリ名がその言語環境の名前になれば、成功!
他サイトのやり方の問題
ググってもphonegap や Xcode のバージョンが古いとかディレクトリが存在しないなど、同じ条件のページが見つからず。
- Supporting Files というディレクトリが存在しない
- どこでもいいっぽいし、Resources 以下に en.lproj 等存在するので、そこに作ることにする
- InfoPlist.strings も存在しない
- 自分で作るべし?
参考リンク
Xcode 5でアプリを多言語対応するまでの全スクリーンショット - Dolice Lab
トラブル
- Japanese 追加し、削除したら、再度追加時にエラーになるという問題に遭遇。 別ページで解決方法書いたのでググって下さい。
検索用語
アプリ, iPhone, iPad, ローカライゼーション, ローカライズ, 多言語化, internationalization, localization, xcode, phonegap, cordova