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