专利名称:一种软件系统国际化方法
技术领域:
本发明涉及一种Web应用系统中处理国际化的-一些方式和方法,尤其是系统不需 要做大规模的改动就nj以实现软件国际化的方法,具体地说是一种软件系统国际化方法。
背景技术:
国际化(internationalization)是设计和制造容易适应不NJ区域耍求的产品的 一种方式。它要求从产品巾抽离所有的与语由—,国家/地区和文化相关的元素。换鉀之, 应用程序的功能和代码设计考虑在不同地区运行的需要,其代码简化了不同本地版本的生 产。开发这样的程序的过程,就称为国际化。 传统的软件系统中,处理国际化的方式都是采用资源文件的方式处理界面字符, 对f数据库数据中的字符型数据的国际化支持或考虑的比较少,也有些系统采用的是数据 痄资源表的模式,如图i所示,即将所有的含有字符型数据的表都关联到--张资源表中,在 所有的需要返回字符串的结构化査询语言SQL语句中都需要关联这个资源表,使得査询 SQL语句变得累赘。另外,很多应用系统多是从小系统逐步迭代而来,起初可能并没有国际 化的需求, 一旦要进行国际化,面临这大规模的系统改造,冈此采用资源表关联査询的模式 并不适合,并面临着高昂的改造成本。
发明内容
本发明的目的是针对传统的软件系统中,处理国际化的方式都是采用资源文件的
方式处理界面字符,对于数据库数据中的字符型数据的国际化支持或考虑的比较少,也有
些系统采用的是数据库资源表的模式,闺际化面临着a昂的改造成本的问题,提出了一种
实用的方法来实现既有软件系统的国际化改造,使得系统不需嬰做大规模的改动就可以实
现软件的国际化,从而保护现有系统的投资。 本发明的技术方案是 —种软件系统国际化方法,它包括界面字符、操作提示信息的国际化和表数据的 国际化,界面字符及操作提示信息的国际化采用资源文件来实现,表数据的国际化采用数 据翻译机来实现; 资源文件实现国际化的过程包括4个阶段,部署之前即研发过程,部署过程,系统 启动过程以及系统使用过程,其步骤如下 (1).研发过程,软件在部署之前需耍先定义缺省的资源文件,提供语言; (2).系统部署过程,客户使用资源文件定义工具定义符合木地化特征或者习惯的
资源文件; (3).部署完成以后的应用启动过程,系统将资源表屮的数据按照不同的语言使)1J 资源加载器加载到资源池中缓存起来;其加载顺序是先加载系统自带的资源文件,然后 再加载客户自定义的资源文件,并且对f资源文件中重复的资源值,用客户自定义的值覆 盖系统自带的资源值;
(4)系统使用过程,在访问系统时,系统接受到某个Web请求时,使用资源阅读器 获取客户端需要的语言的字符,其执行顺序是web服务器在返回请求时调用资源阅读器 请求获取页面中的字符串,资源阅渎器根据客户端请求的语言和资源键值,从资源池中获 取本地化的语言字符串,将符合要求的字符串显示到Web页面上; 表数据的国际化的方法称为资源翻译机国际化,NJ样分为4个相M的阶段,部署 之前即研发过程,部署过程,系统启动过程以及系统使用过程,其步骤如下
(1).研发过程,系统会赋予域表缺省的语言数据,-一般为英文数据,该数据会作为 资源翻译工具翻译时的参照; (2)软件部署过程,客户根据自己的需求在配置和初始化系统时,可以使用资源翻 译工具,将自己系统中的域表数据、配置表数据翻译成多种语言版本,并存储到国际化资源 表中; (3).系统启动过程,系统会将资源表中的数据按照不同的语言装载到资源池中缓 存起来; (4)系统使用过程,系统接收到某个Web请求后,会査询域表或者配置表中的数 据,系统先从原始表中获取查询数据,再对照资源池中的数据字典,将返回数据翻译成调用 者所需语言的'f'符数据返M。
本发明的"益效果 本发明能够以最少的代价满足国际化的要求,并且具有平滑的扩展性。可以根据 客户的需要定义需要国际化的数据表。 本发明是全面的闺际化解决方案,实现了从界面数据、提示信息、数据库数据的全 面国际化。 木发明的客户自定义资源文件的模式,最大可能满足用户需求,提高系统的客户 体验和满意度。 本发明资源文件实现国际化的特征是多S次的资源文件模型,分g的资源加载 器;支持操作员自定义界面字符并立即生效;支持操作员自定义提示信息并立即生效。
本发明数据翻译机来实现国际化的特征是资源翻译工具,客户可以使用这个工 具将数据库数据翻译成其他语言,并保存到数据库。资源翻译机,在客户端査洵时,资源翻 译机将根据客户端要求,对请求数据中的字符串进行转译,将符合客户端语言要求的字符 返回给客户端。国际化方式比较灵活,扩展性好。客户可以根据业务需耍自己定义需耍翻 译的表和数据。并且对既有的设计模型带来影响比较小。
图1是传统国际化中数据库资源表模式的示意图。
图2是本发明的资源文件国际化的过程不意图。
图3是本发明资源文件国际化中资源文件的分层模型图。
图4是本发明的资源翻译机实现闺际化的过程示意图。
图5是本发明的资源翻译机实现资源匹配的过程示意图。
具体实施方式
名词解释 资源文件Java的资源文件是--种文本文件,按照键、值对的方式定义,其文件后 缀名为,properites,命名采用文件名—语言名,properties的形式,如营销模块定义的 资源文件SalosRos—on. properties,内容如下表所示
#CroatGdbyJIiito—wwi guh—softwares do 柳:onS印2216:14:48CST2008
S—SAL—03001 = Ca皿oU〗sedispatchri〗leincreateactivi tiesm肌ually conditioru
S—SAL—04003 = Theareahasbeencojif丄guredthesameob ject Lyperule, S-SAL-()4()《)4 = Noconf'i guredtheva I uecomponentf'orthee I ement. S—SAL—06001 = FailtoaddthGdoc,ont, S—SAL—06002 = Fai Itomocli-fythedocument..
S-SAL-06003 = Failtodeletethedoci皿enttype, becauseithasbeenreferenced, S—SAL—06004 = Fai- Itodeletetheattachmetit" because]. t.hasbeenrefereticedtoleacL S—SAL—06005 = Failtodeletetheattachment, becauseithasbeenreferencedto opportunity,
S—SAL—06006 = Fa丄ltodeletetheatLachment, because丄thasbeenreferencedLo campai gn. 缺省资源文件指系统发布的时候缺省自带的资源文件,与之相对的是软件系统 应用人员fi定义的资源文件。 资源加载器指系统屮的一个工具类,该类一般在软件系统启动时调用,按照固有 的算法,将预先设定的国际化的元素(如资源文件、表的国际化数据)等加载到-一个缓冲池 对象中。 资源定义工具指的是-一个系统功能界面,该界面提供了客户自定义资源文件的 功能。 资源翻译工具指的是.'个系统功能界面,该界面提供了客户读取、翻译、和存储 资源表数据的功能。 资源阅读器指的是--个工具类,该工具类-一般在需要展示界面字符或者弹出提示 框时调用。主要根据调用者传入的键值,自动匹配语言,并从资源池屮获取对应的字符数据。
域表- 一般用于系统数据库中定义- 一些同定值,可称为静态数据,如用户状态,如 客户类型表是一个域表,数据如K : 丄A Individual CustomerIndividual Customer
2 B Corporate Customer单位客户Corporate Customer 下面结合附图1-4和实施例对本发明作进-.步的说明。
—种软件系统国际化方法,它包括界面字符及操作提示信息的国际化和表数据的
国际化,其特征是界面字符及操作提不信息的国际化采用资源文件国际化的方法实现,表
数据的国际化采用数据翻译机来实现;资源文件国际化的方法包括以下歩骤 (1)定义缺省的资源文件,一般提供中文和英文2种语言; (2)使用资源定义工具定义符合本地化特征或者习惯的资源文件; (3)应用启动时,资源加载器会先加载系统内置的资源文件,然后再加载客户自定
义的资源文件,并且对于资源文件中重复的资源值,用客户fi定义的值覆盖系统fi带的资源值。
(4)资源加载器按照不同的语言分多个层次将资源文件加载到资源池中。 (5)当客户端向Web服务器请求页面时,web服务器在返回请求时会调用资源阅读
器请求获取页面中的字符串。 (6)资源阅读器根据客户端请求的语言和键值,从资源池中获取本地化的语言字 符串。
(7)最终将符合要求的字符串显示到Web页面l:。 资源翻译机实现国际化的过程如图4所示,其步骤说明如下 1.、应用部署和系统初始化时,数据库系统屮很多表的数据,一般是域表或者配置 表,使用默认语言,一般为英文进行配置,数据库中存储的字符小数据该种默认语言字符 串。 2、资源翻译工具从需要本地化的表中提取数据进行本地化翻译。
3、将翻译完成的数据保存在资源表中。 4、应用启动时,系统将资源表中的数据按照语言装载到-^个资源池中缓存起来。
5、在系统接受到某个Web请求时,调用服务例如査询产品名称,返回缺省语H的 产品名称,例如"GSM Post-paid"。 6、资源翻译机将对返回的缺省语言数据按照一定的规则和算法进行匹配,并替换 其中的部分字符数据以后重新返冋。 7、资源阅读器解析替换以后的XML数据进行解析得到符合语言要求的字符数据。
8、将字符数据显示到界面上。 资源翻译机实现数据翻译利用过滤器(Filter)的设计模式和技术实现。资源翻 译机实现资源匹配的过程如图5所示 1,匹配Service Name (服务名),所有的前后台调用都有对应的服务名,如果服务 名在国际化资源表中有配置,则继续匹配,如果没有,则直接返回; 2.匹配请求URL,取得发起服务调用的URL路径,如果此路径在服务页面表屮有配 置,则直接继续匹配,否则直接返冋; 3,匹配BO (Business Ob ject,业务对象)路径,根据BO路径nj以找到服务结果BO 中具休的原始值 4.语言替换,根据前面匹配的原始值和当前的Locale表示,从闺际化资源表査到 本地化资源值;把原始值替换为本地化资源值; 木发明未涉及部分均与现有技术相同或可采用现有技术加以实现。
权利要求
一种软件系统国际化方法,它包括界面字符、操作提示信息的国际化和表数据的国际化,其特征是界面字符及操作提示信息的国际化采用资源文件来实现,表数据的国际化采用数据翻译机来实现;资源文件实现国际化的过程包括4个阶段,部署之前即研发过程,部署过程,系统启动过程以及系统使用过程,其步骤如下(1).研发过程,软件在部署之前需要先定义缺省的资源文件,提供语言;(2).系统部署过程,客户使用资源文件定义工具定义符合本地化特征或者习惯的资源文件;(3).部署完成以后的应用启动过程,系统将资源表中的数据按照不同的语言使用资源加载器加载到资源池中缓存起来;其加载顺序是先加载系统自带的资源文件,然后再加载客户自定义的资源文件,并且对于资源文件中重复的资源值,用客户自定义的值覆盖系统自带的资源值;(4)系统使用过程,在访问系统时,系统接受到某个Web请求时,使用资源阅读器获取客户端需要的语言的字符,其执行顺序是web服务器在返回请求时调用资源阅读器请求获取页面中的字符串,资源阅读器根据客户端请求的语言和资源键值,从资源池中获取本地化的语言字符串,将符合要求的字符串显示到Web页面上;表数据的国际化的方法称为资源翻译机国际化,同样分为4个相同的阶段,部署之前即研发过程,部署过程,系统启动过程以及系统使用过程,其步骤如下(1).研发过程,系统会赋予域表缺省的语言数据,一般为英文数据,该数据会作为资源翻译工具翻译时的参照;(2)软件部署过程,客户根据自己的需求在配置和初始化系统时,可以使用资源翻译工具,将自己系统中的域表数据、配置表数据翻译成多种语言版本,并存储到国际化资源表中;(3).系统启动过程,系统会将资源表中的数据按照不同的语言装载到资源池中缓存起来;(4)系统使用过程,系统接收到某个Web请求后,会查询域表或者配置表中的数据,系统先从原始表中获取查询数据,再对照资源池中的数据字典,将返回数据翻译成调用者所需语言的字符数据返回。
全文摘要
一种软件系统国际化方法,它包括界面字符、操作提示信息的国际化和表数据的国际化,界面字符及操作提示信息的国际化采用资源文件来实现,表数据的国际化采用数据翻译机来实现。本发明能够以最少的代价满足国际化的要求,并且具有平滑的扩展性。可以根据客户的需要定义需要国际化的数据表。是全面的国际化解决方案,实现了从界面数据、提示信息、数据库数据的全面国际化。本发明的客户自定义资源文件的模式,最大可能满足用户需求,提高系统的客户体验和满意度。
文档编号G06F9/44GK101697127SQ20091023348
公开日2010年4月21日 申请日期2009年10月30日 优先权日2009年10月30日
发明者杨学书 申请人:南京中兴软创科技股份有限公司;