首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Java:加载中文ResourceBundle (简体中文和繁体中文)不起作用

Java:加载中文ResourceBundle (简体中文和繁体中文)不起作用
EN

Stack Overflow用户
提问于 2018-08-11 05:30:45
回答 1查看 477关注 0票数 1

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

代码语言:javascript
代码运行次数:0
运行
复制
new Locale("es") // for spanish
new Locale (Locale.ITALIAN)
new Locale ("gu") // for Gujarati

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

代码语言:javascript
代码运行次数:0
运行
复制
ResourceBundle messages = ResourceBundle.getBundle("MessagesBundle", currentLocale, loader);

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

代码语言:javascript
代码运行次数:0
运行
复制
MessagesBundle_es.txt, MessagesBundle_it.txt, MessagesBundle_ru.txt, etc...

它们都加载得很好(俄语(-->西里尔文)、土耳其语、捷克语、德语、西班牙语、意大利语等)

但是中文有一个问题。在繁体中文和简体中文的代码中,我创建了如下版本的Locale对象:

代码语言:javascript
代码运行次数:0
运行
复制
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文件:

代码语言:javascript
代码运行次数:0
运行
复制
MessagesBundle_zh.txt

将加载该捆绑包。但是如果这个捆绑包被调用

代码语言:javascript
代码运行次数:0
运行
复制
MessagesBundle_zh_CN or MessagesBundle_zh_TW //other postfixes: _zh-TX, _zh_Hans, etc..

要区分简体中文和繁体中文,请忽略ResourceBundle和默认捆绑包:

代码语言:javascript
代码运行次数:0
运行
复制
MessagesBundle.txt

(本例中为English)已加载

我尝试了MessagesBundle文件的几个版本的后缀,以及许多版本来创建区域设置,但是,遗憾的是,都没有成功。下一步我可以尝试什么。我读过很多类似的问题,但没有一个对我有效。

EN

回答 1

Stack Overflow用户

发布于 2021-11-29 07:29:13

你的伙伴似乎不支持像"MessagesBundle_zh_CN.txt“这样的名字。实际上,您可以只使用zh.txt,因为zh-cn/zh-tw可以被两端读取,不会有太大困难

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51794257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档