ブログランキング・にほんブログ村へ


iPhone/iPad用潜水艦ゲームアプリ ソナーエコー iTunesにて公開中

2015年04月18日

[iOS]アプリのdefault言語

iOSアプリで、localizationするのはまあいい。
Japanese と English を用意する。 xcode6になってから Baseってのができたから、これがdefaultって意味なんだろうと思って、試しにドイツ語環境で動かしたらばっちり日本語で動いてる。

default指定はどこかでやってやらないといけないらしい。

どこだ。

ProjectのTARGETを出して Infoのタグ。
Localization native development region
ってとこに Base と書いてやったらうまくいった。
Baseって名前があったからdefaultとして認識されると思ってた。まぎらわしい。

あと
Localization native development region

に "en"
って入ってた。入れた覚えないんだけど。なんだったんだ。
なんにせよ指定無効だったら Baseにしてくれ。Englishも用意してみてもやはり日本語が出た。
なんでそんなに日本語にする。iOS。

ーーーーー@2015.5.4

以上の記述は間違っていたことが判明。
iOS7(iOS8含む) 以降、ローカリゼーションで対応していない言語の場合、Settingsの言語リストでみて2番目以降最初に出てきた方が採用となるしようとなっていた模様。
だから上の例だと
直前に使った言語が日本語→ドイツ語だと 日本語が、
直前に使った言語が英語→ドイツ語だと 英語が
表示される。
つまりアプリデフォルト言語というものは存在しない。
なんでこんな仕様になったのかはわからないがとても使いにくい。
EnglishとJapaneseだとなにもしないと多分Englishのほうが上にあるだろうから、英語以外の外人さんの場合ちゃんと英語で出てる‥と思うんだけど、なんだか心配なんで、プログラムで対応する方法で対応した。

Localizable.strings で選ばれるデフォルトの言語を設定する

こちらのやり方が参考になった。

ただこれだと、当然だけどアプリの名前は変わらない。
次回からは日本版も英語の名前にするか‥やだなぁ
posted by みこあいさ at 15:26| iOS開発