5.12.1 国际化支持
ApplicationContext 接口继承 MessageSource 接口,因此具备国际化功能。下面是MessageSource 接口中定义的三个用于国际化的方法:
StringgetMessage(Stringcode,0均ect[]args,Localeloc)。
StringgetMessage(Stringcode,Object[] 缸gs,Stringdefault,Localeloc)。
StringgetMessage(MessageSourceResolvableresolvable,Localelocale)。
ApplicationContext 也通过这三个方法,完成消息的国际化。在 ApplicationContext加载时,自动查找在context中 MessageSourcebean。该bean的名字必须是MessageSource。一旦找到这个bean,上述三个方法的调用被委托给MessageSource。如果没有找到该bean,ApplicationContext 会查找其父定义中的 MessageSourcebean0 如果找到,它将被作为MessageSource使用。如果无法找到MessageSourcebean,则将会实例化空的StaticMessageSourcebean,该 bean 能接受上述三个方法的调用。
Spring 的国际化通常采用 ResourceBundleMessageSource类。看下面配置文件:
<?xrnlversioN="1.0"encoding="gb2312"?><!--指定 Spring 配置文件的dtd>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN""
littp://www.springframework.org/dtd/spring-beans.dtd">
<!--Spring配置文件的根元素一〉
<beans>
<!--配置messsageSource bean. 该 bean的名字必须是messageSource
采用 Spring的实现类ResourceBund1eMessageSource-->
<bean id="messageSource" class="org.springframework.
context.support.ResourceBundleMessageSource">
<!--basenames确定资源文件的文件名,该属性接受list 值,用于接受多个资源文件->
<property name="basenames"><list>
<!-- 确定一份资源文件,资源文件名为message-->
<value>message</value>
<!--如果有多个资源文件,全部列在此处一〉
</list>
</property>
</bean>
</beans>
|
然后给出如下两份资源文件:
第一份,英文的资源文件,文件名:message_en.properties。
hello=welcome,{O}now=now is :{l}
|
第二份,中文的资源文件,文件名:message_zh.properties。
hello=欢迎你,{O}
now=现在时间是:{1}
|
当然,应使用native2asciii具将这份资源文件国际化,命令如下:
native2ascii message_zh.properties message_zh_l.properties
|
删除message_zh.properties文件,将message_zh_l.properties文件重命名为message_zh.properties。此时,程序拥有了两份资源文件,可以自适应英语和汉语的环境。主程序部分如下:
public class SpringTest
{
public static void main(String[] args)throws Exception
{
//实例化 ApplicationContext
ApplicationContext ctx =new FileSystemXrnlApplicationContext("bean.xml");
//创建参数数组
String[] a = {"读者" };
//使用 getMessage 方法获取本地化消息。 Locale 的 getDefault 方法用来返回计算机
//环境的 Locale
String hello = ctx.getMessage("hello" ,
a,Locale.getDefault());Object[] b ={口ewDate()};
String now = ctx.getMessage("hello" ,b,Locale.getDefault());
//打印出两条本地化消息
System.out.pri口tln(hello);System.out.println(now);
|
程序的执行结果会随环境不同而改变,在简体中文的环境下,执行结果如下:
[java] 欢迎你,读者
[java] 欢迎你,06-5-8 下午 3:34
|
英文环境下,执行结果如下:
[java] welcome,读者
[java] welcome,5/8/06 3:53 PM
|
当然,即使在英文环境下,"读者"这个词都无法变成英文,因为"读者"是写在程序代码中,而不是从资源文件中获得。
分享到:
相关推荐
5.6.10.3 支持非结构化 PDU 会话类型 119 5.6.11 SMF 在报告使用情况的利益领域存在 UE 119 5.6.12 网络实例的使用 121 5.6.13 始终在 PDU 会议 121 上 5.6.14 框架布线的支撑 121 5.7 QoS 模型 122 5.7.1 概述 122 ...
为了支持国际化应用,MySQL提供了多种字符集。用户可以根据需要选择合适的字符集来处理不同语言的数据。 #### 八、MySQL日志文件 ##### 5.11.1 错误日志 错误日志记录了MySQL服务器运行过程中发生的错误信息。这...
5.10. MySQL本地化和国际应用 5.10.1. 数据和排序用字符集 5.10.2. 设置错误消息语言 5.10.3. 添加新的字符集 5.10.4. 字符定义数组 5.10.5. 字符串比较支持 5.10.6. 多字节字符支持 5.10.7. 字符集问题 5.10.8. ...
5.10. MySQL本地化和国际应用 5.10.1. 数据和排序用字符集 5.10.2. 设置错误消息语言 5.10.3. 添加新的字符集 5.10.4. 字符定义数组 5.10.5. 字符串比较支持 5.10.6. 多字节字符支持 5.10.7. 字符集问题 ...
5.10. MySQL本地化和国际应用 5.10.1. 数据和排序用字符集 5.10.2. 设置错误消息语言 5.10.3. 添加新的字符集 5.10.4. 字符定义数组 5.10.5. 字符串比较支持 5.10.6. 多字节字符支持 5.10.7. 字符集问题 5.10.8. ...
5.10. MySQL本地化和国际应用 5.10.1. 数据和排序用字符集 5.10.2. 设置错误消息语言 5.10.3. 添加新的字符集 5.10.4. 字符定义数组 5.10.5. 字符串比较支持 5.10.6. 多字节字符支持 5.10.7. 字符集问题 5.10.8. ...
5.10. MySQL本地化和国际应用 5.10.1. 数据和排序用字符集 5.10.2. 设置错误消息语言 5.10.3. 添加新的字符集 5.10.4. 字符定义数组 5.10.5. 字符串比较支持 5.10.6. 多字节字符支持 5.10.7. 字符集问题 5.10.8. ...
5.10. MySQL本地化和国际应用 5.10.1. 数据和排序用字符集 5.10.2. 设置错误消息语言 5.10.3. 添加新的字符集 5.10.4. 字符定义数组 5.10.5. 字符串比较支持 5.10.6. 多字节字符支持 5.10.7. 字符集问题 5.10.8. ...
5.10. MySQL本地化和国际应用 5.10.1. 数据和排序用字符集 5.10.2. 设置错误消息语言 5.10.3. 添加新的字符集 5.10.4. 字符定义数组 5.10.5. 字符串比较支持 5.10.6. 多字节字符支持 5.10.7. 字符集问题 ...
5.10. MySQL本地化和国际应用 5.10.1. 数据和排序用字符集 5.10.2. 设置错误消息语言 5.10.3. 添加新的字符集 5.10.4. 字符定义数组 5.10.5. 字符串比较支持 5.10.6. 多字节字符支持 5.10.7. 字符集问题 ...
5.10. MySQL本地化和国际应用 5.10.1. 数据和排序用字符集 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 5/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 5.10.2. 设置错误消息语言 ...
ONVIF (Open Network Video Interface Forum) 是一个旨在推动网络视频产品标准化的国际性组织。其发布的ONVIF 2.0协议是针对视频监控系统中设备间通信的一个详细规范。本文将依据《ONVIF2.0中文协议原版.pdf》的内容...
MySQL本地化和国际应用 5.10.1. 数据和排序用字符集 5.10.2. 设置错误消息语言 5.10.3. 添加新的字符集 5.10.4. 字符定义数组 5.10.5. 字符串比较支持 5.10.6. 多字节字符支持 5.10.7. 字符集...
在第2部分,文档列举了制定本标准时所依据的相关国际标准和文档,这些标准为ONVIF 2.0的实现提供了技术基础。 ##### 3. 术语与定义 - **3.1 定义**:这部分详细解释了ONVIF 2.0中使用的专业术语及其含义。 - **3.2 ...