国际化程序

国际化操作指一个程序可以适应多国语言。
实现工具:
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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值