设置java语言环境设置

34 java locale

当我在我的linux机器上使用默认的java语言环境时,它提供了美国语言环境设置,我在哪里更改它以便它出现正确的语言环境?

Chr*_*oot 44

随着user.language,user.countryuser.variant属性.

例:

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

  • 这样可以工作,但是设置环境并让JRE为这些设置找出正确的值是更安全和更具前瞻性的. (2认同)

cay*_*ann 22

我必须在具有法语语言环境的机器上运行的脚本中控制它,但是特定的Java程序必须使用en_US运行.正如已经指出的那样,以下工作:

java -Duser.language=en -Duser.country=US ...
Run Code Online (Sandbox Code Playgroud)

或者,

LC_ALL=en_US.UTF-8 java ...
Run Code Online (Sandbox Code Playgroud)

我更喜欢后者.


sbl*_*ndy 13

您可以在init期间调用,或者在命令行中调用Locale.setDefault()或-Duser.language =, - Duser.country =和-Duser.variant =.这是Sun网站上的内容.

  • 支持的语言列于 http://www.oracle.com/technetwork/java/javase/locales-137662.html#translation (2认同)

pjz*_*pjz 13

我相信java会从启动它的环境变量中收集它,因此您需要确保正确设置LANG和LC_*环境变量.

语言环境联机帮助页有关于所述环境变量的完整信息.


hir*_*shi 11

对于使用jarsignerJava实现的工具.

JAVA_TOOL_OPTIONS=-Duser.language=en jarsigner
Run Code Online (Sandbox Code Playgroud)

  • 这个环境效果更好,只需在〜/ .profile中添加导出JAVA_TOOL_OPTIONS = -Duser.language = en (2认同)

Mat*_*ett 6

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

java -XshowSettings -version
Run Code Online (Sandbox Code Playgroud)

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