Java 7 默认语言环境

2022-01-18 00:00:00 windows locale windows-7 java java-7

我刚刚安装了 jre7,我很惊讶地发现我的默认语言环境现在是 en_US.对于 jre6,它是 de_CH.

I have just installed jre7 and I'm surprised to see that my default locale is now en_US. With jre6 it was de_CH.

jre7 有什么不同?默认语言环境不再是操作系统之一吗?(顺便说一句,我使用的是 Windows7)

What is different with jre7? Is the default locale no more the one of the Operating System? (btw, I'm using Windows7)

谢谢你的回答.

我已经看到 Category.FORMAT 的区域设置是旧"的(de_CH).Category.DISPLAY 的语言环境从操作系统的语言中获取语言(在 Windows 中,这是在控制面板 > 区域和语言 > 键盘和语言 > 显示语言中完成的)和来自...?

I have seen the Locale for Category.FORMAT is the "old" one (de_CH). The Locale for Category.DISPLAY takes the language from the language of the OS (in Windows this is done in Control Panel > Region and Language > Keyboard and Languages > Display Language) and the contry from...?

似乎不同的是属性user.country".使用 Java6 我得到CH",使用 Java7 我得到US".

What seems to be different is the property "user.country". With Java6 I get "CH" and with Java7 I get "US".

推荐答案

这是设计好的.Java 7 改变了 Locale.getDefault() 的工作方式.Oracle 已经输入了一个缺陷,但他们基本上说这是 As Design.

This is as designed. Java 7 has changed the way Locale.getDefault() works. A defect has been entered with Oracle, but they basically said this is As Designed.

总而言之,你必须修改操作系统的显示语言.仅修改区域格式已不够.

To sum up, you must modify the Display Language of the OS. Modifying the Region Format only is no longer sufficient.

在此处阅读错误报告:Locale.getDefault() 返回错误的 Java 语言环境SE 7

相关文章