如何在Windows上永久更改java的默认语言环境

时间:2009-07-10 13:12:09

标签: java locale application-server

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

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

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

5 个答案:

答案 0 :(得分:6)

在命令上指定区域设置会启动JVM工作吗?

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

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

答案 1 :(得分:6)

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

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

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

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

所以Sun的页面是完全错误的!! Java不会从高级页面上的设置中获取其默认的LOCALE,而是从“区域选项”页面上的设置中获取 - 而且它们很难在不搞砸所有这些选项的情况下进行更改(即,您无法轻易改变语言和保留数字/日期/等格式。)

任何人都知道如何将这些信息提供给Sun ???

答案 2 :(得分:3)

对我来说,将HKEY_CURRENT_USER\Control Panel\International\LocaleName更改为en-US就可以了。正如Martin Bartlett建议的那样改变语言环境并没有帮助。

答案 3 :(得分:0)

我不确定如何使用Oracle的java。 设置java属性user.languageuser.countryuser.variant是否有效?。

答案 4 :(得分:0)

  1. user.language和user.country工作,您可以尝试以下示例:
  2. 
        java -Duser.language=sv -Duser.country=SE
        java -Duser.language=en -Duser.country=US
    
    
    1. 如果你想让jvm默认选择它,你应该设置环境变量JAVA_TOOL_OPTIONS它也适用于Windows(除了设置环境变量在windows上有点不同)
    2. 
          export JAVA_TOOL_OPTIONS="-Duser.language=en -Duser.country=US"
      
      

      请参阅此enter image description here