实现Java企业级应用的多语言(国际化)支持

在完成本文所有内容的阅读和实践前,本文假定您已具备了 Java ResouceBundle、 Java Locale和J2EE方面的知识,同时熟悉Eclipse IDE开发环境以及Eclipse插件的安装 、配置和使用。

IGT开发背景

软件全球化支持,被公认为是电子商务市场成功的一个关键部分。实时请求方式的电 子商务,在"提供英语或其它语言版本的问题解答"方面,面临了新的挑战。在过去几年中 ,为了符合 "IBM的全球化标准",无论是那些新开发的,抑或是那些以英文版用户为设计 初衷的软件产品,都要求能够被全球化。为使运行在单机服务器或终端处理机上的软件, 能够在多语言环境(例如互联网)中,进行正确的多语言数据处理,数据显示以及日志,软 件开发者不得不耗费巨大的精力。那么,如何才能成功解决这种新的需求难题呢?

全球化开发过程中,我们找到了一个有效的解决方案,即使用一个功能增强的Eclipse 插件来简化全球化开发工作。在Eclipse 3.0版本中,Eclipse已为使用者提供了一个名为 "Externalize String"的插件(外部化字符串插件)。虽然此Externalize String插件已 具备了"提取字符串,修改代码,以及自动创建属性文件"的功能。但是经此插件处理的软 件,不能在复杂的Internet环境中分离地处理多语言的数据显示和日志记录, 所以不适 用于多用户的B/S应用。

基于以上各因素,最终我们开发出了一个新的Eclipse插件来实现软件国际化的目标。 与原先的"Externalize String"插件相比,功能增强后的全球化插件--IBM Globalization Tool(简称为IGT),不仅完善了Externalize String所具有的"抽取核心 字符串,修改代码,以及自动创建属性文件"的功能,还为用户提供了一个具有 "处理客 户端地域信息,响应不同用户请求,以及创建多语言日志"功能的中间层。IGT允许一个服 务实例,通过用一个在全球化过程中自动创建的称之为"XX Resources"的集合类对象,使 得应用程序软件能够根据客户端的实际位置信息来显示多语言数据。在这个被称为"XX Resources"集合类中,每个被称为"资源入口(Resource Entry)"类的对象,都对应地指 向了某个存放在属性文件里的消息字符串。而这种 "资源入口(Resource Entry)" 对象 ,既可以被开发人员自行实现或者使用默认由工具生成的。 基于这种理念设计出的IGT, 为我们提供了一个更为灵活和快捷的国际化J2EE 企业级应用程序的方式。

下载组件

需要下载并安装的组件列表

表 1. 在这篇文章中用到的组件及版本

Component Version
Eclipse IDE 3.1/3.0
IGT 1.0
Java SDK 1.4.1 1.4.2
Tomcat 5.0.16

下载需要的组件你需要的,站点被列在了资源一节中。

安装IGT

您需要根据您Eclipse版本, 把IGT解压到Eclipse的plugin文件夹下,重新启动 Eclipse就可以完成IGT的安装了。验证IGT的安装从Eclipse界面, 如下图所示。

(图1 Eclipse菜单栏和工具栏界面)

时间: 2024-10-31 05:58:09

实现Java企业级应用的多语言(国际化)支持的相关文章

批处理文件国际化支持解决方案

随着软件应用的迅速推广与发展,应用软件无一例外的面临着支持多国家多语种的国际化问题,基于 Windows 的批处理文件应用广泛,然而作为一种通用脚本语言,批处理脚本没有提供一种体系化的多语言国际化支持.本文首先介绍编程语言和国际标准化对多语言问题作出的努力:其次,给出了通用多语言支持解决方案的灵活架构设计:再次,给出了批处理文件的轻量级.灵活架构的通用多语言支持解决方案,以及基于该解决方案构建支持多语言的批处理软件系统的一般步骤:最后作了一定的总结和展望. 背景 软件应用迅速发展扩张,逐步渗透到

gettext库 多语言国际化2

通常人们写程序时都是将文字写死在程序里的,比如:echo "Hello World!"; ,假如要改成它国语言,写国际化程序,就要逐个打开进行修改,程序较短时还行,若程序有上万甚至更多,改起来就不是那么容易了.近来随着i18n的逐渐标准化,我也来讲一讲在PHP中如何实现国际化支持.跟其他程序语言一样,在 PHP 也可以利用 gettext套件写作 i18n 程序,实现 NLS(Native Language Support) 国际化支持.   实现流程:程序设计者在程序码中写入所要显示

NutzWk 4.0.1新启航,Java 企业级开源开发框架

NutzWk 基于Nutz的开源企业级开发框架 前言 本项目源于2010年,那时老东家还在使用Jsp和Struts1,需要手动创建并释放连接池.需要配置XML请求路径和类映射关系.要支持刚刚兴起的JSON非常痛苦等等的原因,开始选择适用"快速开发.功能丰富.扩展性强.性能优越"等技术要求的框架产品,讨厌Spring的繁杂配置.Hibernate及Mybatis的繁琐,讨厌一切让开发变得低效和繁杂的技术,这和Nutz的设计理念不谋而合. 使用本框架开发商用项目始于2012年,先是基于Nu

一步一步理解 Java 企业级应用的可扩展性

摘要:本文主要介绍如何理解 Java 应用的扩展方式以及不同类型的扩展技术和具体技巧,介绍一些有关 Java 企业级应用的一般扩展策略. 老实说,"可扩展性"是个全面且详尽的话题,而且往往得不到充分理解.人们通常认为可扩展性等同于高可用性,笔者见过编程新手和架构师"老手"都建议将集群作为可扩展性和高可用性的解决方案.建议确实没错,但问题是,人们通常是通过互联网搜索,而非实际理解应用本身的情况来实现集群. 笔者并未自称"专家",只想通过这篇文章介绍

一步一步理解Java 企业级应用的可扩展性

老实说,"可扩展性"是个全面且详尽的话题,而且往往得不到充分理解.人们通常认为可扩展性等同于高可用性,笔者见过编程新手和架构师"老手"都建 议将集群作为可扩展性和高可用性的解决方案.建议确实没错,但问题是,人们通常是通过互联网搜索,而非实际理解应用本身的情况来实现集群. 笔者并未自称"专家",只想通过这篇文章介绍一些有关 Java 企业级应用的一般扩展策略. 问题 可扩展性并非 Java 企业级平台规范内的标准组件.相关技术通常因供应商(应用服务

qtcreator-QT多语言国际化的问题

问题描述 QT多语言国际化的问题 搜索资料,网上也有很多对qt国家化支持的例子代码,但是我使用的事qt5.2.0版本,通过实际操作,还是出不来效果,编译也通过了的,请问qt5的国际化和4不一样吗,这是为什么,求指导啊

中英文支持-你的程序做到了吗?---不落伍的应用Struts 2 的国际化支持特性(7)

4.3  Struts 2的国际化支持 前面已经介绍了Java国际化的原理和方法,读者知道,Java的国际化需要一个Locale和一个资源包就能够实现国际化.资源包可以是资源文件也可以是资源类文件. Struts 2的国际化是建立在Java国际化的基础之上的,也是使用资源包的方式,通过getBundle()方法来寻找指定Locale相关联的资源包,再从资源包文件中查找指定Key所对应的国际化资源信息. Struts 2框架的底层国际化与Java国际化是一致的,作为一个良好的MVC框架,Strut

《MySQL DBA修炼之道》——3.7 字符集和国际化支持

3.7 字符集和国际化支持 3.7.1 什么是字符集 字符集(character set)是一套符号和编码.校对规则(collation)是在字符集内用于比较字符的一套规则,即字符集的排序规则. 假设我们有一个字母表使用了4个字母:'A'.'B'.'a'.'b'.现在为每个字母赋予一个数值:'A'=0,'B'= 1,'a'= 2,'b'= 3,字母'A'是一个符号,数字0是'A'的编码,那么这4个字母和它们的编码组合在一起就是一个字符集.我们可以认为字符集是字符的二进制的编码方式,即二进制编码到

Yii2 添加国际化支持

链接 版本 配置 使用 英文 0 链接 http://alex-my.xyz/web/Yii2-添加国际化支持 1 版本 // yii\BaseYii\getVersion public static function getVersion() { return '2.0.10'; } 2 配置 基于基础版 创建语言包 在根目录建立一个文件夹messages\zh-CN 在zh-CN中创建两个文件: app.php, error.php // app.php <?php return [ 'lo