1.简介
资源包包含特定于语言环境的对象。当程序需要一个特定于语言环境的资源时(如 String),程序可以从适合当前用户语言环境的资源包中加载它。使用这种方式,可以编写很大程度上独立于用户语言环境的程序代码,它将资源包中大部分(即便不是全部)特定于语言环境的信息隔离开来。
这使编写的程序可以:
1)轻松地本地化或翻译成不同的语言
2)一次处理多个语言环境
3)以后可以轻松进行修改,以便支持更多的语言环境
资源包属于这样的系列,其成员共享一个公共的基本名称,但是名称中还有标识其语言环境的其他组件。例如,某个资源包系列的基本名称可能是 "MyResources"。该系列应该有一个默认资源包,其名称与其系列名相同( "MyResources"),如果不支持指定的语言环境,则应该将此资源包用作最后的手段。然后,此系列可根据需要提供特定于语言环境的成员,例如一个名为 "MyResources_de" 的德语资源包。
一个系列中的每个资源包都包含相同的项,但是这些项已经针对该资源包所代表的语言环境进行了翻译。例如,"MyResources" 和 "MyResources_de" 可能有用在取消操作按钮上的 String。在 "MyResources" 中,String 可能包含 "Cancel",而 "MyResources_de" 中则可能包含 "Abbrechen"。
如果不同的国家/地区有不同的资源,则可以对它们进行限定:例如,"MyResources_de_CH" 包含瑞士 (CH) 中包含德语 (de) 的对象。如果只想修改限定中的某些资源,就可以这样做。
2.实例
1)代码
SRC
|-com.siyuan.test.util
|-ResourceBundleTest.java
|-MyResources_en.properties
|-MyResources.properties
(1)ResourceBundleTest.java
package com.siyuan.test.util; import java.util.Locale; import java.util.ResourceBundle; public class ResourceBundleTest { public static void main(String[] args) { //输出本地Locale System.out.println(Locale.getDefault()); //使用默认的Locale.UK,并且存在XX_en与之对应 ResourceBundle resourceBundle1 = ResourceBundle.getBundle("MyResources", Locale.UK); System.out.println(resourceBundle1.getString("welcome")); System.out.println(resourceBundle1.getLocale()); //使用本地Locale ResourceBundle resourceBundle2 = ResourceBundle.getBundle("MyResources", Locale.getDefault()); System.out.println(resourceBundle2.getString("welcome")); System.out.println(resourceBundle2.getLocale()); //使用默认的Locale.CHINA,并且与本地Locale一致 ResourceBundle resourceBundle3 = ResourceBundle.getBundle("MyResources", Locale.CHINA); System.out.println(resourceBundle3.getString("welcome")); System.out.println(resourceBundle3.getLocale()); //使用默认的Locale.JAPAN,不存在XX_ja与只对应,也不与本地Locale一致 ResourceBundle resourceBundle4 = ResourceBundle.getBundle("MyResources", Locale.JAPAN); System.out.println(resourceBundle4.getString("welcome")); System.out.println(resourceBundle4.getLocale()); } }
(2)MyResources_en.properties
welcome=hello
(3)MyResources.properties
welcome=nihao
2)运行结果
zh_CN hello en nihao nihao nihao
相关推荐
国际化插件-ResourceBundle Editor
NULL 博文链接:https://singleant.iteye.com/blog/1485781
这里面有详细的处理maven项目中resources目录下的资源文件,方便快捷的得到或设置资源文件中的内容,本人亲测,里面还有示例
java.util.ResourceBundle使用详解
ResourceBundle:资源包,包括图片源代码
ResourceBundle rb = ResourceBundle.getBundle(name, Locale.getDefault()); 3。使用java.util.PropertyResourceBundle类的构造函数 示例: InputStream in = new BufferedInputStream(new FileInputStream...
j18n替代了java.util.ResourceBundle以支持Unicode属性文件。 您可以将UTF8字符放入* .properties中,唯一的代码更改是将“ ResourceBundle.getBundle(..)”替换为“ J18n.getBundle(..)”。
下面小编就为大家带来一篇ResourceBundle类在jsp中的国际化实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
ResourceBundle 是一个固执的 Symfony 包,用于帮助开发 REST API。 它为您做出一些架构决策,使您能够更多地关注应用程序的领域。 它使用尽可能少的魔法,使其更易于理解、调试和扩展。 ##Prerequisites ...
开发它是为了简化创建 ResourceBundle 源的过程,而不必每次使用 genrb 重新编译源文件。 这个项目既不是真正的一部分,也不是。 用法 : 测试文件 <?php use Adoy \ ICU \ ResourceBundle \ ResourceBundle ;...
private ResourceBundle resourceBundle; public CommonParam() { propertyFileName = "com/test/dao/SysConfig"; resourceBundle = ResourceBundle.getBundle(propertyFileName); } public String ...
ResourceBundleEditor 资源文件编辑器 eclipse的资源文件编辑插件 经常在做国际化的时候编辑properties文件。转换文件字符总是让人比较繁琐。有了这个插件所见即所得。我们输入中文的时候自动就转换完毕了。...
ResourceBundle Editor 是一个用于编辑本地化的属性文件(localized properties files)的 Eclipse 插件。它让你通一个屏幕就能够同时管理所有相关联属性文件中的 key/value 信息。它所具有的功能包括:自动为Keys分类...
ResourceBundle getTexts(String aBundleName) Get the named bundle, such as "com/acme/Foo". boolean hasActionErrors() Check whether there are any Action-level error messages. boolean ...
NULL 博文链接:https://leiwuluan.iteye.com/blog/369909
绝对路径方式:(这是添加的resourcebundle插件,资源文件编辑器) 如: com.essiembre.eclipse.i18n.resourcebundle,0.7.7,file:/D:\work\plugins\com.essiembre.eclipse.i18n.resourcebundle_0.7.7,4,false 可以...
可视化的插件编写,也可以转化国际化语言,挺不错的小工具