Java的国际化
常识:
i18n是Internationalization单词的缩写
JDK中与国际化有关的类
- Locale:是API帮助文档中提供对应区域/语言等信息的一个类
- ResourceBundle:是API帮助文档中提供加载国际化资源的一个类
Demo
在项目根目录下创建两个资源文件,命名方式:基本名称_语言代码_国家代码.properties
使用如下代码生成平台已安装的国家和语言代码,其中getDisplay...()就是以适合向用户显示的语言环境语言显示,(在中国就是以中文显示)
@Test public void test1() { Locale[] locs = Locale.getAvailableLocales(); for (Locale locale : locs) { System.out.println(locale.getCountry() + " " + locale.getDisplayCountry() + " " + locale.getLanguage()); } }
国家 语言代码 国家代码 中国 zh CN 美国 es US 创建hello_es_US.properties文件,内容为hello=hello to you;hello_zh_CN.properties文件,内容为hello=你好;
打印结果为@Test public void test2(){ Locale loc = Locale.getDefault();//本地默认地理位置 // Locale loc = Locale.US;//美国地理位置 ResourceBundle rb = ResourceBundle.getBundle("hello", loc); System.out.println(rb.getString("hello")); }