Chinaunix首页 | 论坛 | 博客
  • 博客访问: 685496
  • 博文数量: 845
  • 博客积分: 5000
  • 博客等级: 大校
  • 技术积分: 5015
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-15 16:22
文章分类

全部博文(845)

文章存档

2011年(1)

2008年(844)

我的朋友

分类:

2008-10-15 16:36:09

  一、概念

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

  二、Struts对国家化的支持

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

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

  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]   

【责编:Chuan】

--------------------next---------------------

阅读(309) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~