Posted in 面试题 onOctober 31, 2016
不支持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对象中获取数据
支持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对象中获取数据
Java如何支持I18N?
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Tags in this post...
Reply on: @reply_date@
@reply_contents@