とあるアプリの多言語化対応をしています
日本語以外の言語は全て英語版を表示する前提です
一旦うまく行ったんですが
日本語以外の言語に設定すると
なぜか英語ではなく日本語が表示される
???
え?
さっき確認した時は英語が表示されたよ?
ここから迷走が始まります
変なものコミットした成果もしれないと思い
コミットしたコードをリバートしたりしますが
うまくいきません
そしてようやく気がつきました
これiPhone側の設定の問題だと・・・
何が原因だったかというと
言語設定の優先順位でした
iPhoneの言語設定で言語を切り替えていくと
こんな感じで表示されます
この画面にあるPREFERRED LANGUAGE ORDERが重要でした
言語設定にないアプリが起動された場合
この優先順位に沿って言語設定が行われるようです
例えば英語と日本語しか設定していないアプリで
スペイン語を設定した時
上から順番に最初にヒットした言語設定を使うみたいです
スペイン語の次の優先順位が日本語になっていたので
英語版が表示されず日本語版が表示されていたんですね
わかってみればなんともないことなんですが
これがわかるまで数時間を無駄にしました・・・
今日も勉強になった!