web-dev-qa-db-ja.com

設定Javaロケール設定

LinuxマシンでデフォルトのJavaロケールを使用する場合、USロケール設定で表示されますが、正しいロケールで表示されるようにこれを変更するにはどうすればよいですか?

33
Simon Tucker

Javaこれが起動された環境変数からこれを収集するので、LANGおよびLC_ *環境変数が適切に設定されていることを確認する必要があります。

ロケール manpage には、上記の環境変数に関する完全な情報があります。

13
pjz

とともに user.languageuser.countryおよびuser.variantプロパティ。

例:

Java -Duser.language=th -Duser.country=TH -Duser.variant=TH SomeClass

44
Chris Broadfoot

フランス語ロケールのマシンで実行するスクリプトでこれを制御する必要がありましたが、特定のJavaプログラムはen_USで実行する必要がありました。すでに指摘したように、次のように動作します。

Java -Duser.language=en -Duser.country=US ...

あるいは、

LC_ALL=en_US.UTF-8 Java ...

私は後者を好む。

21
cayhorstmann

Initまたは何でも Locale.setDefault() または-Duser.language =、-Duser.country =、および-Duser.variant =をコマンドラインで呼び出すことができます。 Sunのサイトに何かあります

13
sblundy

Javaで実装されるjarsignerなどのツールの場合。

Java_TOOL_OPTIONS=-Duser.language=en jarsigner
11
hiroshi

コンソールで変更できます:

$ export LANG=en_US.utf8
2
Derzu

ロケールまたは文字セットJavaが使用しているものを確認したい場合、これはJVMに組み込まれています。

Java -XshowSettings -version

使用している設定の負荷をダンプします。これにより、LANGLC_*値が正しく取得されます。

2
Matthew Buckett

Macを使用している場合は、[システム環境設定]-> [言語]を使用し、テストする言語を(英語の前に)ドラッグするだけで、次回アプリを開くときに正しいロケールが試されます。

1
Gmu

Linuxでは、/etc/default/localeに次の内容のファイルを作成します

LANG=en.utf8

次に、sourceコマンドを使用して、次のコマンドを実行してこの変数をエクスポートします。

source /etc/default/locale

Sourceコマンドは変数を永続的に設定します。

1
aseychell

ロケール設定を制御する1つの方法は、Javaシステムプロパティuser.languageおよびuser.regionを設定することです。

0
killdash10