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

时间:2011-09-20 12:43:04

标签: java swing locale

我有一个支持多语言的java应用程序。当我更改语言时(在首选项对话框中),整个应用程序的语言会发生变化,包括像JFileChooser这样的Swing组件的语言。这适用于英语,西班牙语和法语。但是当我选择荷兰语时,Swing组件的语言(JFileChooser,确认对话框等)会改为英语。

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

Locale locale = new Locale("nl");
Locale.setDefault(locale);
JComponent.setDefaultLocale(locale);

我还尝试使用new Locale("nl", "BE");new Locale("nl", "NL");创建语言环境,但都没有奏效。荷兰语区域有问题吗?或者我在这里做错了什么?

2 个答案:

答案 0 :(得分:7)

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

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

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

答案 1 :(得分:1)

几年到晚......但你也可以像这样创建一个包装类

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