Java:加载无法正常工作的中文ResourceBundle(简体中文和繁体中文)

时间:2018-08-10 21:30:45

标签: java localization resourcebundle chinese-locale

在我的Java应用程序中,创建一个Locale,如下所示:

new Locale("es") // for spanish
new Locale (Locale.ITALIAN)
new Locale ("gu") // for Gujarati

现在,通过执行以下操作将加载正确的ResourceBundle-文本文件:

ResourceBundle messages = ResourceBundle.getBundle("MessagesBundle", currentLocale, loader);

资源文本文件位于一个单独的文件夹中,其名称为:

MessagesBundle_es.txt, MessagesBundle_it.txt, MessagesBundle_ru.txt, etc...

它们的负载都很好(俄语(->西里尔字母),土耳其语,捷克语,德语,西班牙语,意大利语等)

但是中文有问题。 在使用繁体中文和简体中文的代码中,我创建了Locale-对象,如下所示:

locale = Locale.SIMPLIFIED_CHINESE; //or
locale = Locale.TRADITIONAL_CHINESE; //or
locale= new Locale ("zh","cn") //or
locale= new Locale ("zh","tw") //or
locale= new Locale ("zh","CN") //or
locale= new Locale ("zh","TW") //or

如果MessagesBundle-文件被调用:

MessagesBundle_zh.txt

捆绑包将被加载。 但是如果捆绑包被称为

MessagesBundle_zh_CN or MessagesBundle_zh_TW //other postfixes: _zh-TX, _zh_Hans, etc..

为了区分简体中文和繁体中文,将忽略ResourceBundle和默认的Bundle:

MessagesBundle.txt

(在此情况下为英语)

我尝试了几个MessagesBundle文件的后缀版本,并尝试了许多版本来创建语言环境,但可惜没有成功。 接下来我可以尝试什么。我读过很多类似的问题,但是没有一个对我有用。

0 个答案:

没有答案