设置Java语言环境设置

设置Java语言环境设置

Setting java locale settings

当我在Linux机器上使用默认的Java语言环境时,它带有美国语言环境设置,应在哪里进行更改以使其具有正确的语言环境?


具有user.languageuser.countryuser.variant属性。

例:

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


我必须用在具有法语语言环境的计算机上运行的脚本中对此进行控制,但是特定的Java程序必须与en_US一起运行。正如已经指出的,以下工作原理:

1
java -Duser.language=en -Duser.country=US ...

或者,

1
LC_ALL=en_US.UTF-8 java ...

我更喜欢后者。


我相信Java会从启动它的环境变量中收集这些信息,因此您需要确保正确设置了LANG和LC_ *环境变量。

语言环境手册页包含有关所述环境变量的完整信息。


您可以在初始化期间调用,也可以在命令行中调用任何Locale.setDefault()或-Duser.language =,-Duser.country =和-Duser.variant =来调用。这是Sun网站上的内容。


对于用Java实现的jarsigner之类的工具。

1
JAVA_TOOL_OPTIONS=-Duser.language=en jarsigner

如果您想检查java正在使用哪种语言环境或字符集,它将内置在JVM中:

1
java -XshowSettings -version

它将转储正在使用的设置的负载。这样,您可以检查LANGLC_*值是否正确拾取。


您可以在控制台上进行更改:

1
$ export LANG=en_US.utf8

如果您使用的是Mac,只需使用"系统偏好设置"->"语言"并将语言拖至顶部进行测试(英语之前),即可确保下次打开该应用程序时会尝试正确的语言环境!


在Linux上,在/etc/default/locale中使用以下内容创建文件

1
LANG=en.utf8

然后使用source命令通过运行导出此变量

1
source /etc/default/locale

source命令永久设置变量。


控制语言环境设置的一种方法是设置Java系统属性user.language和user.region。


推荐阅读