Java Swing中的NL(荷兰语)语言环境似乎不起作用

Java Swing中的NL(荷兰语)语言环境似乎不起作用,java,swing,locale,Java,Swing,Locale,我有一个支持多语言的java应用程序。当我更改语言时(在“首选项”对话框中),整个应用程序的语言都会更改,包括Swing组件的语言,如JFileChooser。这对于英语、西班牙语和法语来说是完美的。但当我选择荷兰语时,Swing组件的语言(JFileChooser、确认对话框等)会变为英语 下面是将语言更改为荷兰语的代码。备注:对于其他语言,我使用相同的代码(当然,除了“NL”字符串),它工作正常 Locale locale = new Locale("nl"); Locale.setDefa

我有一个支持多语言的java应用程序。当我更改语言时(在“首选项”对话框中),整个应用程序的语言都会更改,包括Swing组件的语言,如
JFileChooser
。这对于英语、西班牙语和法语来说是完美的。但当我选择荷兰语时,Swing组件的语言(
JFileChooser
、确认对话框等)会变为英语

下面是将语言更改为荷兰语的代码。备注:对于其他语言,我使用相同的代码(当然,除了
“NL”
字符串),它工作正常

Locale locale = new Locale("nl");
Locale.setDefault(locale);
JComponent.setDefaultLocale(locale);
我还尝试使用
newlocale(“nl”,“BE”)创建区域设置
新区域设置(“nl”、“nl”)但它们都不起作用。荷兰地区有问题吗?还是我做错了什么?

如上所述,用户界面翻译不支持荷兰语:

用户界面翻译 JavaSE运行时环境 Java SE运行时环境6提供的用户界面元素包括Swing对话框、由运行时环境写入标准输出和标准错误流的消息,以及由JRE提供的工具生成的消息。这些用户界面元素本地化为以下语言:

语言区域设置ID 中文(简体)zh_CN
中文(繁体)zh_TW
英语en
法语fr
德语de
意大利it
日语ja
韩语ko
葡萄牙(巴西)pt_BR
西班牙语es

瑞典sv

几年后。。。但是您也可以创建这样的包装器类

public class DutchLocale {
    static public final Locale NL = new Locale("nl", "NL");
}

可能是因为您的系统上没有可用的区域设置,所以它会返回到默认值?快速检查表明语言代码应该是小写的,所以
locale locale=new locale(“nl”)
新区域设置(“nl”、“nl”)但我怀疑这是真的。我正在使用新的语言环境(“nl”);我在邮件中犯了一个错误。我会更新的。谢谢@Sign