当我在 Linux 计算机上使用默认的 java 语言环境时,它会显示美国语言环境设置,我应该在哪里更改它才能显示正确的语言环境?

有帮助吗?

解决方案

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

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

其他提示

随着 user.language, user.countryuser.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 ...

我更喜欢后者。

你可以在 init 或其他什么时候调用 Locale.setDefault() 或在命令行中使用 -Duser.language=、-Duser.country= 和 -Duser.variant=。 这是 Sun 网站上的一些内容.

对于像这样的工具 jarsigner 这是用Java实现的。

JAVA_TOOL_OPTIONS=-Duser.language=en jarsigner

您可以在控制台上更改:

$ export LANG=en_US.utf8

如果您想检查 java 正在使用的语言环境或字符集,则将其内置于 JVM 中:

java -XshowSettings -version

它会转储它正在使用的大量设置。这样您就可以检查您的 LANGLC_* 值被正确获取。

如果您使用的是 Mac,只需使用“系统偏好设置”->“语言”并将要测试的语言拖到顶部(英语之前)即可确保您下次打开应用程序时尝试正确的区域设置!

在 Linux 上,创建文件 /etc/default/locale 包含以下内容

LANG=en.utf8

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

source /etc/default/locale

source 命令永久设置该变量。

控制区域设置的一种方法是设置 java 系统属性 user.language 和 user.region。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top