Java如何支持I18N?

2023-06-30   


不支持I18N的例子 – NoI18NSample.java
   支持I18N的例子
   我们需要将硬编码文本转移到外部的资源文件
   编写MessagesBundle.properties
   编写MessagesBundle_zh_CN.properties
   编写MessagesBundle_en_US.properties
   编写I18NSample.java
   运行I18NSample.java
   乱码?
   因为资源文件必须是Latin-1或Unicode编码(如udddd)的字符
   使用native2ascii工具,将中文资源文件进行转换
   Java支持I18N的编码过程总结:
   1、创建属性文件(可能要用native2ascii工具转换)
   2、定义Locale对象
   3、创建一个ResourceBundle对象
   ResourceBundle对象用于分离跟本地相关的数据
   如果找不到相应语言或国家代码的属性文件,将使用默认的属性文件(即没有标识语言和国家代码的属性文件:MessagesBundle.properties)
   其创建方式如下:
   message = ResourceBundle.getBundle(“MessagesBundle”, currentLocale);
   第一个参数,表示要从哪些资源属性文件中(MessagesBundle_XX.properties)获取数据
   第二个参数,是一个Locale对象,表示要选择哪个资源属性文件
   4、从ResourceBundle对象中获取数据


相关内容:

  1. Java面试题:为什么要用Java
  2. GWT都有什么特性
  3. 请介绍一下Ant
  4. Java里面有没有全局变量?为什么?
  5. 附答案的Java面试题
  6. 如何设置Java的运行环境