Androidの端末の設定言語による処理の振り分け

開発中のAndroidアプリ、ユーザが使っているAndroidのに設定されている言語によって処理を振り分けたい。

まあ、英語をデフォルトにしてもうひとつは日本語なんだけど。

 

で、過去の経緯をいろいろとググってみると、設定言語の取得は Locale.getDefault() だったんだけど、今は非推奨だとか、いろいろと歴史があったらしい。

Locale.getDefault().getLanguage() で返ってくる値(日本語は ja)とかで判定すればいいかな?と思ったんだけど。

 

どれがいいのかよくわかんなかったので、下記の方法で対応してみた。

 

res/values-jp/strings.xml

<bool name="isJpn">true</bool>


res/values/strings.xml

<bool name="isJpn">false</bool>

 

と設定しておいて、

 

this.isJpn = getResources().getBoolean(R.bool.isJpn);

 

これで判断すればいいんじゃね?

 

まあこれがベターなのかわかんないけど、こんな感じで実装してみる。