Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1531271
  • 博文数量: 3500
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 43870
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-03 20:31
文章分类

全部博文(3500)

文章存档

2008年(3500)

我的朋友

分类:

2008-05-04 23:07:07

一起学习
简介

全球化的Internet需要全球化的软件。全球化软件,意味着同一种版本的产品能够容易地适用于不同地区的市场。就开发者所关心的,软件的全球化意味着国际化和本地化。Java语言“一次编写,随处运行”。它已经具有国际化和本地化的特征和API。尽管Java开发工具为国际化和本地化的工作提供了一些基本的类,但还是有一些对于Java应用程序的本地化和国际化来说较困难的工作, 例如:消息获取、编码转换,显示布局和数字、日期、货币的格式等。如果我们仅用手工来完成国际化和本地化的工作,这些工作将花费大量的时间和资源。这个Java国际化和本地化ToolKit(Java I18n/L10n ToolKit)是一个加快Java应用程序国际化和本地化开发的工具集。它将大大减少国际化和本地化开发的所消耗的时间和资源。

概述

这个工具集包括五个部分:
  • 项目管理器 能定义一个项目来管理所有的java源文件及与它们相关的资源文件。

  • 国际化检验工具 能在policies文件的帮助下,完成java国际化和本地化有效性的验证并生成报告。

  • 国际化消息生成工具 能定义resource bundles, 转换和获取消息, 在不同的locale下产生resource bundle文件, 冻结所有的不需要国际化的消息项。所有在国际化检验工具中的功能在此工具中都包括。

  • 资源处理工具 能合并和区分不同的resources,转换resource bundle(ListResourceBundle, PropertyResourceBundle)的类型,转换resource 文件的编码(从本地编码到Unicode)。

  • 翻译器 能在字典或可重用资源的帮助下翻译 resources。
结构

如图一所示。

图一 Java 国际化和本地化工具集结构

特点
  • 易于使用
    此工具集是Java应用程序国际化和本地化开发的集成开发环境。开发人员能够在GUI风格下交互地完成国际化和本地化的开发,或在命令行的风格下自动地完成该功能。
  • 友好的用户界面和文档
    此工具集的GUI方式是以Swing components为基础的。用户手册和帮助文档都有提供。在线帮助可以从GUI方式获得。在所有工具的GUI方式中都提供一个编辑器。
  • 可配置性
    此工具集能够通过在GUI下设置特性来配置,或通过直接编辑特性文件来配置。
  • 自动处理性
    国际化有效性的验证,消息获取和消息翻译能够自动完成。
  • 可插入式
    有一些API是为把该工具集提供到其它IDE或SDK工具中而提供的。用户定义的 resource bundle, 用户定义的字典和可重用的消息能够被插入到该工具集中。
  • JDK 支持
    Java 2 SDK 被优先推荐。
    jdk1.1.7或更新的和Swing 1.1
功能描述

该工具集是为加速Java应用程序的国际化和本地化开发的的集成开发环境。该工具集包括一个项目管理器和四个工具: 国际化检验工具, 国际化消息生成工具, 资源处理工具, 和翻译器。每个工具都有图形界面,并提供一个编辑工具。 这个编辑工具提供所有的编辑java源文件的功能,如:复制、剪切、粘贴、恢复、重做、查询、替换和转至等。
它能够在词法分析器的帮助下,根据java的语义,以不同的颜色显示源文件中的语句。 国际化检验工具,国际化消息生成工具, 和翻译器也能在命令行下运行。
  • 项目管理器
它是一个项目的管理器,它能够管理一些java源文件和与它们相关的不同的locales的resource bundles。一个项目的结构保存在一个特性文件中。通过激活项目管理器中的特定的工具,任意一个源文件和资源文件都能被处理。当一个resource bundle文件被更新或为文件产生时,项目管理器将被特定的工具自动通知。项目管理器提供一个GUI工具,以配置项目的特性文件,例如工作目录和输出目录等。它也能在图形界面方式下,直接调用这些工具(这些工具也可以被分别请求),如图2所示。

图2 项目管理器

  • 国际化检验工具
这是为java应用程序做国际化验证的工具。此验证工具能检查java源文件,发现所有与国际化相关的项并产生一个报告作为结果。根据特性文件中的设置,这个报告可以是 文本文件或HTML文件。在报告中,所有与国际化相关的项都被列出。每一项的细节信息包括:源文件名、项的位置,相关的源字符串、项的状态、项的类型,国际化建议等等。有几个层次的项目状态: ERROR, WARNING, NOTSURE, FROZEN, NOTE, FINISHED. 有几种项目类型:String, Bundle name, Resource bundle, Retrieve method, 和Locale sensitive method. 如图3所示:


图3 国际化检验工具
Policy 文件作为验证的规则来使用。有两种类型的policy文件:系统policy文件和用户定义policy文件。两种Policy文件的格式是一样的。在系统policy文件中,有一些普通的policy被用作缺省值。在用户定义policy文件中,用户能够客户化它们自己的policies。在policy中的一个规则是应该包括:这种规则的类型(构造函数或方法), 参数的数目,该规则的项的类型(与上面提到的项的类型一样)、该规则的项的状态(与上面提到的项的类型一样),对该项的建议和参数的原型。
此验证器在GUI方式和命令行方式都可以运行。在GUI方式下,它一次仅能处理一个文件,而在命令行方式下,它同时能处理多个文件和目录。当处理多文件时,它能只产生一个报告文件,或分别生成报告文件。


  • 国际化消息生成工具
这是一个用来做特殊消息国际化工作的工具。它能够转换、不转换、冻结、不冻结一个源文件中的消息项。它能在源文件中定义一个resource bundle并为它自动产生一个resource bundle。它能够识别信息连接并为它自动产生一个消息格式。它不仅支持resource bundles的缺省类型如ListResourceBundle和PropertyResourceBundle,而且也支持由TDC 定义的,扩展的resource bundles ArrayResourceBundle和其它用户定义的resource bundles。
源文件中的每个消息项能够被转换成一个项,在这个项中,消息能够根据关键字(缺省的原始字符串)从resource bundle中提取出来。这个用来提取消息的关键字也可以在转换的时候由用户定义。如图4所示。


图4 国际化消息生成工具

该工具也涉及I18n Verifier 的GUI方式下的大部分功能。它重新利用I18n Verifier的结果。
在命令行状态下,该工具能转换所有的状态是ERROR的消息项并自动生成一个resource bundle文件。它是一个做国际化工作的工具。

  • 资源处理工具
该工具用来转换resource bundles类型和resource bundle文件的格式的。它能够合并和区分两个不同的resource bundles文件。它能在ListResourceBundle, PropertyResourceBundle和ArrayResourceBundle之间转换resource bundles的类型。 并对不同的文件编码进行转换,从本地编码到Unicode或从Unicode到本地编码,如图5所示。


图5 资源处理工具
  • 翻译器
该工具和resource tool是用来做本地化工作的。它能够在一些字典、可再利用的resource bundles和消息数据库(可能)的帮助下,把resource bundles中的消息翻译成本地语言的消息。此工具提供一个缺省的英汉字典。如果有为字典桥安装的界面,其它的字典或消息数据库也能在此工具中使用。如图6所示。



图6 翻译器
此工具能够把resource bundle输出到其它locale并用Unicode保存此resource bundle文件。它也能够在命令行方式下运行,把所有的消息值转换成能够和可重新利用的resource bundles或消息数据库自动匹配的local 语言的消息。
下载本文示例代码


Java 国际化和本地化 Toolkit 2.0Java 国际化和本地化 Toolkit 2.0Java 国际化和本地化 Toolkit 2.0Java 国际化和本地化 Toolkit 2.0Java 国际化和本地化 Toolkit 2.0Java 国际化和本地化 Toolkit 2.0Java 国际化和本地化 Toolkit 2.0Java 国际化和本地化 Toolkit 2.0Java 国际化和本地化 Toolkit 2.0Java 国际化和本地化 Toolkit 2.0Java 国际化和本地化 Toolkit 2.0Java 国际化和本地化 Toolkit 2.0
阅读(253) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~