为什么 Java 使用 en_AU(英语,澳大利亚)作为语言代码,而其他技术使用 en-AU(破折号,而不是下划线)?

cur*_*us1 2 java internationalization

我对这种情况感到困惑。

在 Java 中,如果需要,语言代码使用下划线,例如 en_AU。但是我在其他地方和包(例如 JQuery UI)中看到,人们像 en-au 一样使用破折号。

我很想知道为什么会有这种差异。

感谢致敬。

Joo*_*gen 5

历史上,java 使用了一些常量名称,因此在名称中必须使用下划线,而不是减号。它扫过字符串值。与字体中的 Java 用法相反:“Arial-PLAIN-10”。所以一个程序员目光短浅。

顺便说一句,现在 Java 中也允许使用“-”,至少对于变体而言。

一个可以使用Locale.forLanguageTag("en-AU")