快速业务通道

Struts从零开始四、Struts中的国际化 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15

Struts从零开始四、Struts中的国际化

时间:2011-08-05

一、概念

I18N作为“国际化”的简称,其来源是明文单词“internationlization”的首末字符“i”和“n”之间的字符数为18。随着全球经济的遗体化为一种主流的趋势,软件开发者应该开发出支持多国语言、国家化的web应用程序吧。也就是一个web应用程序在运行时能够根据客户端请求所来自的国家和语言的不同显示不同的用户界面。这样,当需要在应用程序中添加对一种新的语言的支持时,不需要对已有的软件返工,无需修改应用程序的程序代码。

二、Struts对国家化的支持

在Struts框架中进行应用程序的国际化,支持重点在于应用程序的文本和图像表示。最重要的工作就是准备Resurce Bundle 资源包。事实上,准备资源包的过程,就是把对应不同语言的用户所涉及的文本和图片保存在多个文本文件中,客户端根据不同的环境需要进行更换。这些文件被称为“属性文件”,所有属性文件合在一起被称为资源包(Resource Bundle)。

Struts建立于Java平台之上,很容易建立国际化和本地化的应用程序。在这里你要熟悉的关键概念是:

1) Locale – 基础的支持国际化的java类是java.util.Locale。每个Locale代表一个特别的国家和语言的选择(加上一个可选的语言变量),以及一套格式假定,例如数字和日期等等。

2) ResourceBundle – java.util.ResourceBundle类提供支持多种语言消息的基本工具。查看文档中关于ResourceBundle类以及你的JDK版本的文档包中关于国际化的更多内容。

3) PropertyResourceBundle – 一个ResourceBundle类的标准实现允许你使用与初始化properties文件同样的键/值的语法来定义资源。这对于使用为用于一个web应用程序的消息准备资源包是非常方便的,因为这写消息通常都是面向文本的。

4) MessageFormat – java.text.MessageFormat类允许你使用运行时的指定的参数替换一个消息字符串中的一部分(在这种情况下,是一个从一个资源包得到的消息)。这在你创建一个句子的场合中是有用的,但是词会以不同的语言安照不同的顺序出现。消息中的占位符,字符串{0}用第一个运行时参数替换,{1}用第二个运行时参数替换,以此类推。

5) MessageResources – Struts的类org.apache.struts.util.MessageResources使你能够将一套资源包视做一个数据库,并且允许你为一个特定的Locale(通常是与当前用户相对应)请求一个特定的消息,而不是为服务器运行在其中的缺省的Locale请求消息。

三、示例

1、我们还在前面的登录实例进行加工。

2、在默认的applicationResources.properties文件中添加相应的消息文本。

label.username=username label.password=password button.submit=submit button.reset=reset

Struts从零开始四、Struts中的国际化(2)

时间:2011-08-05

3、创建临时中文资源文件:applicationResources_temp.propertyies

label.username=用户名

label.password=密码

button.submit=确定

button.reset=重置

4、对临时资源文件进行编码转换:

在JDK中提供了native2ascii命令,它能够实现字符编码转换。在DOS下执行以下命令,将生成按GBK以编码的中文资源文件:applicationResources_zh_CN.properties

native2ascii –encoding gbk applicationResources_temp.properties

applicationResources_zh_CN.properties

生成的applicationResources_zh_CN.properties的内容如下:

label.username="u7528"u6237"u540d label.password="u5bc6"u7801 button.submit="u786e"u5b9a button.reset="u91cd"u7f6e

当web用户的Locale为中文时,S

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号