java国际化
import java.util.Locale; import org.junit.Test; /** * 使用指定的国际化文件 */ public class Demo { @Test public void testName1() throws Exception { // 指定国际化为中国中文 Locale locale = new Locale("zh", "CN"); /* * getBundle的第一个参数(baseName): * |- 默认路径为classpath路径。 * |- 如果传参'myres',就会去找src的下以myres开头的properties文件; 如:src/myres(*).properties * |- 如果传参'demos/java/util/locale/myres',则去找src下路径为'demos/java/util/locale'的文件夹下的myres(*).properties文件。 * * getBundle的第二个参数(locale): * |- 指定了使用哪种国际化语言。 * |- 如果指定了使用国际化语言new Locale("zh", "CN");,则去找myres_zh_CN.properties文件 * |- 如果指定了使用国际化语言new Locale("en", "US");,则去找myres_en_US.properties文件 * |- 如果上面两个文件找不到,则去找myres.properties文件(默认使用)。 */ java.util.ResourceBundle resourceBundle = java.util.ResourceBundle.getBundle("demos/java/util/locale/myres", locale); System.out.println(resourceBundle.getString("aaa")); System.out.println(resourceBundle.getString("bbb")); /* * 打印结果 * ---------- * 很好 * 谢谢 */ } @Test public void testName2() throws Exception { Locale locale = new Locale("en", "US"); java.util.ResourceBundle resourceBundle = java.util.ResourceBundle.getBundle("demos/java/util/locale/myres", locale); System.out.println(resourceBundle.getString("aaa")); System.out.println(resourceBundle.getString("bbb")); /* * 打印结果 * ------------- * good * thanks */ } }
国际化文件路径(src/demos/java/util/locale):
myres.properties
aaa=good
bbb=thanks
myres_en_US.properties
aaa=good bbb=thanks
myres_zh_CN.properties
aaa=\u5F88\u597D bbb=\u8C22\u8C22