5

我需要更改 java 在 Windows 2008 Server 机器上使用的默认语言环境。Java 是作为 Oracle + 应用程序服务器设置的一部分安装的。我可以在代码中执行此操作,但我需要永久更改此设置。

编辑:我应该注意,我们正在谈论通过应用程序服务器提供的 jsp 页面,所以我不能将命令行参数准确地传递给 java。此外,机器的区域和语言选项已经设置为我需要的(希腊语)。Java 的默认语言环境仍然是 en_US 而不是 el_GR。

编辑和解决方案:我正在将现有应用程序移植到新服务器。该应用程序认为默认语言环境是理所当然的,这在新服务器上效果不佳(它在我的机器上运行它的所有荣耀)。我希望不必接触代码本身,但最终决定在所有页面都包含的文件中显式设置默认语言环境。不是最优雅的解决方案,但它确实有效。

4

4 回答 4

7

在这样的命令上指定语言环境会启动 JVM 工作吗?

java -Duser.language=2-char-language-code -Duser.region=2-char-country-code

http://www.oracle.com/technetwork/articles/javase/locale-140624.html

于 2009-07-10T13:20:52.310 回答
6

事实上,我找到了两个答案 - http://java.com/en/download/help/locale.xml提供的错误答案和有效的 hack 答案。

我会解释 - 我在法国使用法语安装的多语言 XP 和法语键盘 - 但我希望我的应用程序能用英语与我交谈。Sun plain 的页面不适用于这种组合 - Java 仍然用法语与我交谈。

HACK 解决方案是进入 regedit 并将 HKEY_CURRENT_USER\Control Panel\International\Locale 从 0000040C 更改为 00000409。这使 Java 说英语。

回到区域设置控制面板工具,我注意到这实际上已经更改了“区域选项”下拉菜单中的名称,同时保留了数字日期等的所有法语格式。

所以Sun的那一页是完全错误的!!Java 不会从高级页面上的设置中获取其默认的 LOCALE,而是从区域选项页面上的设置中获取 - 如果不搞砸所有这些选项(即您不能轻易更改语言和保持数字/日期/等格式不变)。

有人知道如何将这些信息发送给 Sun 吗???

于 2009-12-12T00:30:01.513 回答
3

对我来说,改变HKEY_CURRENT_USER\Control Panel\International\LocaleNameto就可以en-US了。按照 Martin Bartlett 的建议更改语言环境并没有帮助。

于 2015-01-16T14:00:53.833 回答
3
  1. user.language 和 user.country 工作,你可以试试下面的例子:
    java -Duser.language=sv -Duser.country=SE
    java -Duser.language=en -Duser.country=US

  1. 如果你想让jvm默认选择它,你应该设置环境变量JAVA_TOOL_OPTIONS它也适用于windows(除了设置环境变量在windows上有点不同)
    导出 JAVA_TOOL_OPTIONS="-Duser.language=en -Duser.country=US"

有关 JAVA_TOOL_OPTIONS 的详细信息,请参阅此问题。

于 2017-10-25T02:36:57.110 回答