简介   ...">

Java 国际化和本地化 Toolkit 2.0


table border="0" bgcolor="#666699" >
简介

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

Toolkit 2.0工具概述

Toolkit 2.0结构介绍

Toolkit 2.0之特点介绍

Toolkit 2.0功能描述


概述

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

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

  • 国际化消息生成工具 能定义resource bundles, 转换和获取消息, 在不同的locale下产生resource bundle文件, 冻结所有的不需要国际化的消息项。所有在国际化检验工具中的 茉诖斯ぞ咧卸及ā?br>
  • 资源处理工具 能合并和区分不同的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 语言的消息。