【问题标题】:Setting java locale settings设置 java 语言环境设置
【发布时间】:2010-09-09 00:10:02
【问题描述】:

当我在我的 linux 机器上使用默认的 java 语言环境时,它会显示美国语言环境设置,我应该在哪里更改它以使其具有正确的语言环境?

【问题讨论】:

标签: java locale


【解决方案1】:

使用user.languageuser.countryuser.variant 属性。

例子:

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

【讨论】:

  • 这会起作用,但设置环境并让 JRE 为这些计算出正确的值会更安全、更面向未来。
【解决方案2】:

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

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

或者,

LC_ALL=en_US.UTF-8 java ...

我更喜欢后者。

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

    • 什么是 LC_* 环境变量?
    • 如果您的程序格式化数字,您可能需要设置 LC_ALL。请参阅下面的答案。
    • 请注意这是不完整的。我正在运行 macOS Sierra,并将 LANG 和 LC_ALL 设置为“en_US.UTF8”。然而,出于某种原因,Java 提出了user.language=enuser.country=USuser.country.format=DE
    【解决方案4】:

    您可以在 init 期间调用或在命令行中调用 Locale.setDefault() 或 -Duser.language=、-Duser.country= 和 -Duser.variant=。 Here's something on Sun's site.

    【讨论】:

    【解决方案5】:

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

    JAVA_TOOL_OPTIONS=-Duser.language=en jarsigner
    

    【讨论】:

    • 这个环境效果更好,只需在你的 ~/.profile 中添加 export JAVA_TOOL_OPTIONS=-Duser.language=en
    • 最后,这是我想要的选项! java 和 javac 似乎不支持 LANG 和 LC_ALL。
    【解决方案6】:

    如果您想检查 java 使用的语言环境或字符集,这是 JVM 内置的:

    java -XshowSettings -version
    

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

    【讨论】:

    • 嗯,这给了我一个“默认语言环境”、“默认显示语言环境”和“默认格式语言环境”……到底有什么区别?
    【解决方案7】:

    您可以在控制台上更改:

    $ export LANG=en_US.utf8
    

    【讨论】:

    • 首先,你需要写 'utf-8' 而不是 'utf8'。其次,只有编码部分有效,语言部分无效。
    【解决方案8】:

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

    【讨论】:

      【解决方案9】:

      在linux上,在/etc/default/locale创建文件,内容如下

      LANG=en.utf8
      

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

      source /etc/default/locale
      

      source 命令永久设置变量。

      【讨论】:

        【解决方案10】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-09-20
          • 2016-09-07
          • 2012-12-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多