アプリの国際化をする時に使っているtipsです。
国際化しているアプリは色々な言語でデバッグする必要がありますが、シミュレータの言語設定を毎回変更するのは非常にめんどくさいです。
そういう時はXcodeで起動時の言語指定してシミュレータを立ち上げると楽です。
シミュレータの言語を指定する
下のようにArguments Passed On Launch
で-AppleLanguages (ja)
と言語を指定すればその言語で立ち上がってくれます。
各言語用のSchemeを作る
下のように各言語用Scheme
を作っておくと楽です。
追加は下画面のNew Scheme
からできます。
効いてくれない設定もある
[[NSLocale currentLocale] localeIdentifier]
はAppleLanguages
の設定変更が効きませんでした。
この設定は端末の言語設定を返します。
[NSLocale preferredLanguages].firstObject
やNSLocalizedString
には設定が反映されました。
中国語のAppleLanguages
中国語は-AppleLanguages (zh-Hans)
という指定が必要でした。
最初-AppleLanguages (ch)
を試したのですがこちらではうまくいきませんでした。
中国語は難しいものと簡単なものがあるようなので、その辺りが影響しているのではないかと思いました。