国际化(i18n)学习

一 软件的国际化:软件开发时,要使它能同时应对世界不一样地区和国家的访问,并针对不一样地区和国家的访问,提供相应的、符合来访者阅读习惯的页面或数据。
  国际化(internationalization)又称为 i18n(读法为i 18 n,听说是由于internationalization(国际化)这个单词从i到n之间有18个英文字母,i18n的名字由此而来)
 一、对于程序中固定使用的文本元素,例如菜单栏、导航条等中使用的文本元素、或错误提示信息,状态信息等,须要根据来访者的地区和国家,选择不一样语言的文本为之服务。
  二、对于程序动态产生的数据,例如(日期,货币等),软件应能根据当前所在的国家或地区的文化习惯进行显示。java

资源文件的内容一般采用"关键字=值"的形式,软件根据关键字检索值显示在页面上。一个资源包中的全部资源文件的关键字必须相同,值则为相应国家的文字。
而且资源文件中采用的是properties格式文件,因此文件中的全部字符都必须是ASCII字码,属性(properties)文件是不能保存中文的,对于像中文这样的非ACSII字符,须先进行编码。
 java提供了一个native2ascII工具用于将中文字符进行编码处理,native2ascII的用法以下所示:
编程

二 编程实现固定文本的国际化工具

package i18n;

import java.util.Locale;
import java.util.ResourceBundle;
/**
 * 
* @ClassName: ForI18N 
* @Description: TODO(这里用一句话描述这个类的做用) 
* @author penny
* @date 2017年11月21日 下午10:46:58 
*
 */
public class ForI18N {
    public static void main(String[] args) {
        Locale cn = Locale.CHINESE;
        Locale en = Locale.US;
        
        ResourceBundle enrb=ResourceBundle.getBundle("i18n.my", en);
        ResourceBundle cnrb=ResourceBundle.getBundle("i18n.my",cn);
        
        System.out.println(cnrb.getString("user"));
        System.out.println(enrb.getString("user"));
    }
}





相关文章
相关标签/搜索