我有一个支持多语言的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");
创建语言环境,但都没有奏效。荷兰语区域有问题吗?或者我在这里做错了什么?
答案 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");
}