国际化操作指一个程序可以适应多国语言。
实现工具:
1. java.util.Local类:用于表示一个国家的语言类
2. java.util.Resource.Bundle类:用于访问属性文件(资源文件)
3. java.text.MessageFormat类:格式化动态资源文件。
属性文件:指后缀为(.properties)的文件,内容保存结构为“key = value” 形式。Java类集中有介绍。
实现操作的思路:
通过Locale类所指定的区域码(国家的IOS编码),ResourceBundle能找到相应的资源文件,如果资源文件中存在动态文件,则使用MessageFormat进行格式化。

import java.util.Locale;
import java.util.ResourceBundle;
import java.text.MessageFormat;
public class InterDemo02 {
public static void main(String []args) {
Locale zhLoc = new Locale("zh", "CN"); // 表示的地区
Locale enLoc = new Locale("en", "US");
Locale frLoc = new Locale("fr", "FR");
ResourceBundle zhrb = ResourceBundle.getBundle("Message",zhLoc); // 找到地区资源属性文件
ResourceBundle enrb = ResourceBundle.getBundle("Message",enLoc);
ResourceBundle frrb = ResourceBundle.getBundle("Message",frLoc);
// 依次读取各个属性文件中的内容,通过键值名称"Info" 读取
String strZh = zhrb.getString("info");
String strEn = enrb.getString("info");
String strFr = frrb.getString("info");
System.out.println("中文:" + MessageFormat.format(strZh,"张泽"));
System.out.println("英文:" + MessageFormat.format(strEn,"ZhangZe"));
System.out.println("法文:" + MessageFormat.format(strFr,"ZhangZe"));
}
}
/*
* 使用MessageFormat类处理动态文件使用方法:
* public static Stirng format(String pattern, Object… arguments)
*/
PS:
1、取得各个国家的ISO编码方法: IE浏览器,选择[工具]->[Internet选项]->[常规]->[语言]->[添加]
2.将一个中文编码变成Unicode编码方法:运行:native2ascii.exe命令输入中文后,回车:
问题:1、ResouceBundle.getBundle()方法的参数不熟悉
2、读取属性文件的方法:
getString();与toString()区别和用处?
3、怎样把汉字转换成Unicode编码?请移驾收藏的一篇论坛:http://topic.youkuaiyun.com/u/20080509/22/1ec7de0a-3fb1-4c61-a728-c8a5ed621cdf.html

633

被折叠的 条评论
为什么被折叠?



