zoukankan      html  css  js  c++  java
  • 国际化(i18n)学习

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

    资源文件的内容通常采用"关键字=值"的形式,软件根据关键字检索值显示在页面上。一个资源包中的所有资源文件的关键字必须相同,值则为相应国家的文字。
    并且资源文件中采用的是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"));
    	}
    }
    
    





  • 相关阅读:
    临摹帖
    PC+PLC通过Modbus协议构建工控系统
    mvn打包时出现一个子模块找不到另一个子模块的情况
    T-SQL——函数——字符串操作函数
    T-SQL——透视PIVOT动态获取待扩展元素集
    T-SQL——数据透视和逆透视
    T-SQL——关于表数据的复制插入
    T-SQL——关于SQL读取Excel文件
    T-SQL——关于SqlPrompt的使用
    微信小程序--聊天室小程序(云开发)
  • 原文地址:https://www.cnblogs.com/humi/p/7872625.html
Copyright © 2011-2022 走看看