1、了解缺省Locale是由操作系统决定的,Locale是由语言和国家代码组成

2、国际化资源文件是由baseName+locale组成,如:MessageBundle_en_US.properties
baseName是任意合法的文件名

3、native2ascii命令的位置和用法
 * 位置:JAVA_HOME/bin
 * 使用native2ascii.exe  o.properties MessagesBundle_zh_CN.properties

例:
 1package com.bjsxt.i18n;
 2
 3import java.text.MessageFormat;
 4import java.util.Locale;
 5import java.util.ResourceBundle;
 6
 7public class I18nSample {
 8
 9    public static void main(String[] args) {
10        
11        Locale defaultLocale = Locale.getDefault();//获取默认的本地化
12        System.out.println("default country=" + defaultLocale.getCountry());
13        System.out.println("default language=" + defaultLocale.getLanguage());
14        
15        //Locale currentLocale = new Locale("en", "US");//通过初始化指定语言和国际本地化
16        //Locale currentLocale = new Locale("zh", "CN");
17        
18        Locale currentLocale = new Locale("ja""JP");
19        
20        ResourceBundle rb = ResourceBundle.getBundle("res.MessagesBundle", currentLocale);//获取本地化配置
21        //System.out.println(rb.getString("k1"));//通过配置文件中的key显示
22        //System.out.println(rb.getString("k2"));
23        
24        MessageFormat mf = new MessageFormat(rb.getString("k1"));//通过站位符显示指定的信息
25        System.out.println(mf.format(new Object[]{"Tom"}));//对占位符填充
26        //System.out.println(mf.format(new Object[]{"张三"}));
27    }

28}

29
o.properties文件
1k1=你好,{0}
2k2=再见
缺省的properties文件MessagesBundle.properties
1k1=hello,{0}
2k2=good bye
英文文件MessagesBundle_en_US.properties
1k1=hello,{0}
2k2=good bye
中文文件MessagesBundle_zh_CN.properties
1k1=\u4f60\u597d,{0}
2k2=\u518d\u89c1
3