ロケール(言語と国)を指定するプロパティ
え、知らなかった.....
class LocaleTest { public static void main(String[] args) { System.out.println(java.util.Locale.getDefault()); } }
上記コードをコンパイルして、日本語環境で以下のように実行。
$ java -version java version "1.6.0_05-ea" Java(TM) SE Runtime Environment (build 1.6.0_05-ea-b05) Java HotSpot(TM) Client VM (build 1.6.0_05-ea-b05, mixed mode, sharing) $ java LocaleTest ja_JP $ java -Duser.language=de -Duser.country=CH LocaleTest de_CH $
例では、意味もなく"ドイツ語のスイス"を指定しています。
SunのJava限定かと思ったのですが、gcjでもできました。最後は「おやっ?」と思うかもしれませんが、gcjでは、有効なロケールに国が存在せず、言語は"en,fr,de,ga"だけのようです。
$ /etc/alternative/java -version java version "1.4.2" gij (GNU libgcj) version 4.1.2 20070626 (Red Hat 4.1.2-13) Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. $ /etc/alternative/java LocaleTest ja_JP $ /etc/alternative/java -Duser.language=en -Duser.country=UK LocaleTest en_JP $