2025年8月17日
開発環境
OS:Windows 11
SDK:Android Studio Narwhal Feature Drop | 2025.1.2
概要
多言語化としてインドネシア語に対応したつもりでいたら、対応できていませんでした・・・
アプリをインドネシア語に対応させてみる
配信中の投稿系アプリ「 みてみて 」がインドネシアで伸びているということでインドネシア語に対応しようと思い、2か国語(日本語、英語)対応済みのアプリにインドネシア語の追加対応を行いました。
多言語化対応
多言語化の対応は簡単でリソースフォルダ(res)配下に対応したい言語のフォルダを作成した後、すでに格納されている文字列定義ファイル(string.xml)をそのフォルダに複製し、対応言語で定義しなおすだけです。(定義が多いと翻訳が大変ですが)
※アプリで表示する文字列をstring.xmlで一括管理している前提の話です。

2か国語の対応では、英語をデフォルト言語とするためフォルダ「values」に英語の定義ファイル(string.xml)を格納し、フォルダ「values-ja」を新たに作成し、日本語の定義ファイル(string.xml)を格納しました。
新たにインドネシア語に対応するには、フォルダ「values-id」を作成し、このフォルダにインドネシア語に変換した定義ファイル(string.xml)を格納するだけです。
新規に作成するフォルダ名は「values」とIOS639-1に準拠した言語コードをハイフン(-)で連結すればよいということでインドネシア語の言語コード「id」を連結し、「values-id」としました。
これで対応完了、ということでそのままリリース。
新たな機能を追加するつもりが・・・
それからしばらくして新たな機能を追加するために下調べでネット検索を行ったら、思わぬ情報が目に入りました。

えっ、インドネシア語のリソースフォルダは「values-in」・・・
慌ててスマホの言語設定をインドネシア語に切り替えてアプリを立ち上げてみると。
インドネシア語は表示されず、英語のままでした。。。
インドネシア語フォルダ修正
インドネシア語の定義ファイルを格納したフォルダの名前を「values-id」→「values-in」に変更します。

そして、スマホの言語設定をインドネシア語にして検証。
インドネシア語が表示されたことを確認してリリース。
ようやくインドネシア語に対応できました。
それにしても、なぜ?
インドネシア語の言語コードを確かめる
対応言語のPlayConsoleヘルプで確認した結果、インドネシア語の言語コードは、「id / in」となっていました。
これはつまり・・・
どういうこと?
少なくともXperia(SO-53C)でシステム言語をインドネシア語に切り替えて、アプリの表示を確認すると「values-id」ではデフォルト(英語)になり、「values-in」で定義したインドネシア語が表示される結果となりました。
対応するならば、
インドネシア語としては、「id」と「in」、2つの定義を共存させておくのがベターな対応かもしれません。
そして反省・・・
リリースするときはしっかり検証しましょう。。。
お疲れさまでした。
