Edited at
qnoteDay 3

[Android]Android端末の多言語対応のために言語環境を取得してみた


自己紹介的ななにか

qnote Advent Calendar 2015 の 3日目を担当する横田です。

猫のいる会社qnoteで猫給仕室長として勤しみながら、あいた時間にプログラマをやっています。

…石を投げないでください!


本題

最近Androidのアプリ開発を始めたので、そこで得た知識をアウトプットしてみます。

浅い知識ですみません。

以前書いた下記の記事が自分のためにそこそこ役立っています。

[iOS]中国語対応のために端末の言語環境の値を取得したときにハマったこと

ついでなので、Android版も調べてみたので、備忘録として残しておくことにします。

public static String getLocaleId()

{
String localeId = "ja";

// ロケールの取得
Locale locale = Locale.getDefault();
String language = locale.getLanguage();
String country = locale.getCountry();

if (language.equals("ja")) {
localeId = "日本語";
} else if (language.equals("en")) {
localeId = "英語";
} else if ((language.equals("zh")) && (country.equals("CN"))) {
localeId = "簡体字";
} else if ((language.equals("zh")) && ((country.equals("TW")) || (country.equals("HK")))) {
localeId = "繁体字";
}

return localeId;
}

Utilクラスでも作って、そこにこのメソッドを定義しておくと、たぶん便利に使えるかと思います。