国际化程序

来源:互联网 发布:用淘宝怎么贷款 编辑:程序博客网 时间:2024/04/29 22:32

国际化操作指一个程序可以适应多国语言。
实现工具:
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.csdn.net/u/20080509/22/1ec7de0a-3fb1-4c61-a728-c8a5ed621cdf.html

原创粉丝点击