`
moxue2459
  • 浏览: 13428 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论
阅读更多

   国际化信息”也称为“本地化信息”,一般需要两个条件才可以确定一个特定类型的本地化信息,它们分别是“语言类型”和“国家/地区的类型”。在java的API中实现这个功能很简单 就是一个类。

 

  国际化信息的文件名称一般为:message_en_US.properties/message_zh_CN.properties. 配置文件在classpath路径下.

  其中:zh,en 代表语言。CN,US代表国家/地区.

 

 在java中 有个 ResourceBundle 类,它会根据当前系统的默认环境,选择去从 中文/英文环境中去获取信息。

 API中对其功能的介绍为:

  • 轻松地本地化或翻译成不同的语言
  • 一次处理多个语言环境
  • 以后可以轻松进行修改,以便支持更多的语言环境 

 如:

 1.     ResourceBundle rs = ResourceBundle.getBundle("message"); // 默认获取当前环境 即 中文下的信息.  

         String message = rs.getString(key);  //配置文件中的国际化信息   

      这样就完成了一个简单的 国际化。

 2. 在开发中,根据情况,有时会用到通配符。在这时,就要用到另一个类MessageFormat。

     API中对其功能的描述:

       MessageFormat 获取一组对象,格式化这些对象,然后将格式化后的字符串插入到模式中的适当位置。

 

             ResourceBundle rs = ResourceBundle.getBundle("message");

             // 通配符中的参数,注意顺序要保持一致

             Object[] params = {"John", new GregorianCalendar().getTime() };

     String value = rs.getString("greeting.common");

             //第二个参数不写的话(同ResourceBundle 一样),默认为当前环境

     MessageFormat mf = new MessageFormat(value,Locale.getDefault());  

     String message = mf.format(params);

     System.out.println(message);

  ------------------------------------------------------------------------

greeting.common=你好吗!{0},今天是{1} 

********************************

你好!John,今天是12-9-28 下午5:48 

--------------------------------------------------------------------------------

这里就是 java 对 国际化支持的 具体实现。很简单吧.

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics