2014年3月2日日曜日

Locale.getDisplayCountry()

Locale.getDisplayCountry()

Locale.getDisplayCountry()には、引数の無いメソッドと、有るメソッドがありますが、その振る舞いについては、下記のとおりです。

Javaのコード
Locale l1 = Locale.KOREAN;//言語情報のみ。国情報を含まない。
Log.d(TAG, "l1.getCountry()==" + l1.getCountry());
Log.d(TAG, "l1.getDisplayCountry()==" + l1.getDisplayCountry());
Log.d(TAG, "l1.getDisplayCountry(l1)==" + l1.getDisplayCountry(l1));
Locale l2 = Locale.KOREA;//言語情報と国情報を含む
Log.d(TAG, "l2.getCountry()==" + l2.getCountry());
Log.d(TAG, "l2.getDisplayCountry()==" + l2.getDisplayCountry());
Log.d(TAG, "l2.getDisplayCountry(l2)==" + l2.getDisplayCountry(l2));

日本語を表示するように設定された端末で、上記コードを実行したログは次のとおりです。
l1.getCountry()==
l1.getDisplayCountry()==
l1.getDisplayCountry(l1)==
l2.getCountry()==KR
l2.getDisplayCountry()==大韓民国
l2.getDisplayCountry(l2)==대한민국

getDisplayCountry()の引数の無いメソッドを使うと、端末に設定された言語で表示されます。有るメソッドを使うと、引数に指定した言語で表示されます。