Linux マシンでデフォルトの Java ロケールを使用すると、US ロケール設定で表示されます。正しいロケールで表示されるようにするには、どこを変更すればよいですか?
10 に答える
user.language
、user.country
およびuser.variant
プロパティを使用します。
例:
java -Duser.language=th -Duser.country=TH -Duser.variant=TH SomeClass
フランス語ロケールのマシンで実行されるスクリプトでこれを制御する必要がありましたが、特定の Java プログラムは en_US で実行する必要がありました。すでに指摘したように、次のように動作します。
java -Duser.language=en -Duser.country=US ...
あるいは、
LC_ALL=en_US.UTF-8 java ...
私は後者の方が好きです。
Java は、起動された環境変数からこれを収集すると信じているため、LANG および LC_* 環境変数が適切に設定されていることを確認する必要があります。
ロケールのマンページには、上記の環境変数に関する完全な情報があります。
コマンドラインでinit またはLocale.setDefault()または -Duser.language=、-Duser.country=、および -Duser.variant= の間に呼び出すことができます。Sun のサイトに次のようなものがあります。
jarsigner
Java で実装されているツールの場合。
JAVA_TOOL_OPTIONS=-Duser.language=en jarsigner
コンソールで変更できます。
$ export LANG=en_US.utf8
Mac を使用している場合は、[システム環境設定] -> [言語] を使用し、テストする言語を一番上 (英語の前) にドラッグするだけで、次にアプリを開いたときに正しいロケールが試されます!!
Linux では/etc/default/locale
、次の内容でファイルを作成します。
LANG=en.utf8
次に、source
コマンドを使用してこの変数をエクスポートします。
source /etc/default/locale
source コマンドは、変数を永続的に設定します。
ロケール設定を制御する 1 つの方法は、Java システム プロパティ user.language および user.region を設定することです。