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);
これで判断すればいいんじゃね?
まあこれがベターなのかわかんないけど、こんな感じで実装してみる。