CN101697127A - 一种软件系统国际化方法 - Google Patents

一种软件系统国际化方法 Download PDF

Info

Publication number
CN101697127A
CN101697127A CN200910233481A CN200910233481A CN101697127A CN 101697127 A CN101697127 A CN 101697127A CN 200910233481 A CN200910233481 A CN 200910233481A CN 200910233481 A CN200910233481 A CN 200910233481A CN 101697127 A CN101697127 A CN 101697127A
Authority
CN
China
Prior art keywords
resource
data
internationalization
language
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200910233481A
Other languages
English (en)
Other versions
CN101697127B (zh
Inventor
杨学书
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Whale Cloud Technology Co Ltd
Original Assignee
ZTEsoft Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTEsoft Technology Co Ltd filed Critical ZTEsoft Technology Co Ltd
Priority to CN200910233481A priority Critical patent/CN101697127B/zh
Publication of CN101697127A publication Critical patent/CN101697127A/zh
Application granted granted Critical
Publication of CN101697127B publication Critical patent/CN101697127B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种软件系统国际化方法,它包括界面字符、操作提示信息的国际化和表数据的国际化,界面字符及操作提示信息的国际化采用资源文件来实现,表数据的国际化采用数据翻译机来实现。本发明能够以最少的代价满足国际化的要求,并且具有平滑的扩展性。可以根据客户的需要定义需要国际化的数据表。是全面的国际化解决方案,实现了从界面数据、提示信息、数据库数据的全面国际化。本发明的客户自定义资源文件的模式,最大可能满足用户需求,提高系统的客户体验和满意度。

Description

一种软件系统国际化方法
技术领域
本发明涉及一种Web应用系统中处理国际化的一些方式和方法,尤其是系统不需要做大规模的改动就可以实现软件国际化的方法,具体地说是一种软件系统国际化方法。
背景技术
国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式。它要求从产品中抽离所有的与语言,国家/地区和文化相关的元素。换言之,应用程序的功能和代码设计考虑在不同地区运行的需要,其代码简化了不同本地版本的生产。开发这样的程序的过程,就称为国际化。
传统的软件系统中,处理国际化的方式都是采用资源文件的方式处理界面字符,对于数据库数据中的字符型数据的国际化支持或考虑的比较少,也有些系统采用的是数据库资源表的模式,如图1所示,即将所有的含有字符型数据的表都关联到一张资源表中,在所有的需要返回字符串的结构化查询语言SQL语句中都需要关联这个资源表,使得查询SQL语句变得累赘。另外,很多应用系统多是从小系统逐步迭代而来,起初可能并没有国际化的需求,一旦要进行国际化,面临这大规模的系统改造,因此采用资源表关联查询的模式并不适合,并面临着高昂的改造成本。
发明内容
本发明的目的是针对传统的软件系统中,处理国际化的方式都是采用资源文件的方式处理界面字符,对于数据库数据中的字符型数据的国际化支持或考虑的比较少,也有些系统采用的是数据库资源表的模式,国际化面临着高昂的改造成本的问题,提出了一种实用的方法来实现既有软件系统的国际化改造,使得系统不需要做大规模的改动就可以实现软件的国际化,从而保护现有系统的投资。
本发明的技术方案是:
一种软件系统国际化方法,它包括界面字符、操作提示信息的国际化和表数据的国际化,界面字符及操作提示信息的国际化采用资源文件来实现,表数据的国际化采用数据翻译机来实现;
资源文件实现国际化的过程包括4个阶段,部署之前即研发过程,部署过程,系统启动过程以及系统使用过程,其步骤如下:
(1).研发过程,软件在部署之前需要先定义缺省的资源文件,提供语言;
(2).系统部署过程,客户使用资源文件定义工具定义符合本地化特征或者习惯的资源文件;
(3).部署完成以后的应用启动过程,系统将资源表中的数据按照不同的语言使用资源加载器加载到资源池中缓存起来;其加载顺序是:先加载系统自带的资源文件,然后再加载客户自定义的资源文件,并且对于资源文件中重复的资源值,用客户自定义的值覆盖系统自带的资源值;
(4)系统使用过程,在访问系统时,系统接受到某个Web请求时,使用资源阅读器获取客户端需要的语言的字符,其执行顺序是:web服务器在返回请求时调用资源阅读器请求获取页面中的字符串,资源阅读器根据客户端请求的语言和资源键值,从资源池中获取本地化的语言字符串,将符合要求的字符串显示到Web页面上;
表数据的国际化的方法称为资源翻译机国际化,同样分为4个相同的阶段,部署之前即研发过程,部署过程,系统启动过程以及系统使用过程,其步骤如下:
(1).研发过程,系统会赋予域表缺省的语言数据,一般为英文数据,该数据会作为资源翻译工具翻译时的参照;
(2)软件部署过程,客户根据自己的需求在配置和初始化系统时,可以使用资源翻译工具,将自己系统中的域表数据、配置表数据翻译成多种语言版本,并存储到国际化资源表中;
(3).系统启动过程,系统会将资源表中的数据按照不同的语言装载到资源池中缓存起来;
(4)系统使用过程,系统接收到某个Web请求后,会查询域表或者配置表中的数据,系统先从原始表中获取查询数据,再对照资源池中的数据字典,将返回数据翻译成调用者所需语言的字符数据返回。
本发明的有益效果:
本发明能够以最少的代价满足国际化的要求,并且具有平滑的扩展性。可以根据客户的需要定义需要国际化的数据表。
本发明是全面的国际化解决方案,实现了从界面数据、提示信息、数据库数据的全面国际化。
本发明的客户自定义资源文件的模式,最大可能满足用户需求,提高系统的客户体验和满意度。
本发明资源文件实现国际化的特征是:多层次的资源文件模型,分层的资源加载器;支持操作员自定义界面字符并立即生效;支持操作员自定义提示信息并立即生效。
本发明数据翻译机来实现国际化的特征是:资源翻译工具,客户可以使用这个工具将数据库数据翻译成其他语言,并保存到数据库。资源翻译机,在客户端查询时,资源翻译机将根据客户端要求,对请求数据中的字符串进行转译,将符合客户端语言要求的字符返回给客户端。国际化方式比较灵活,扩展性好。客户可以根据业务需要自己定义需要翻译的表和数据。并且对既有的设计模型带来影响比较小。
附图说明
图1是传统国际化中数据库资源表模式的示意图。
图2是本发明的资源文件国际化的过程示意图。
图3是本发明资源文件国际化中资源文件的分层模型图。
图4是本发明的资源翻译机实现国际化的过程示意图。
图5是本发明的资源翻译机实现资源匹配的过程示意图。
具体实施方式
名词解释:
资源文件:Java的资源文件是一种文本文件,按照键、值对的方式定义,其文件后缀名为.properites,命名采用【文件名_语言名.properties】的形式,如营销模块定义的资源文件SalesRes_en.properties,内容如下表所示:
 #Created by JInto-www.guh-software.de#Mon Sep 22 16:14:48 CST 2008S-SAL-03001=Can not use dispatch rule in create activities manuallyS-SAL-04001=Fail to delete the rule because it has configured criteria.S-SAL-04002=Fail to delete the criteria because it has configured criteriacondition.S-SAL-04003=The area has been configured the same object type rule.S-SAL-04004=No configured the value component for the element.S-SAL-06001=Fail to add the document.S-SAL-06002=Fail to modify the document.S-SAL-06003=Fail to delete the document type,because it has been referenced.S-SAL-06004=Fail to delete the attachment,because it has been referenced to lead.S-SAL-06005=Fail to delete the attachment,because it has been referenced toopportunity.S-SAL-06006=Fail to delete the attachment,because it has been referenced tocampaign.
缺省资源文件:指系统发布的时候缺省自带的资源文件,与之相对的是软件系统应用人员自定义的资源文件。
资源加载器:指系统中的一个工具类,该类一般在软件系统启动时调用,按照固有的算法,将预先设定的国际化的元素(如资源文件、表的国际化数据)等加载到一个缓冲池对象中。
资源定义工具:指的是一个系统功能界面,该界面提供了客户自定义资源文件的功能。
资源翻译工具:指的是一个系统功能界面,该界面提供了客户读取、翻译、和存储资源表数据的功能。
资源阅读器:指的是一个工具类,该工具类一般在需要展示界面字符或者弹出提示框时调用。主要根据调用者传入的键值,自动匹配语言,并从资源池中获取对应的字符数据。
域表:一般用于系统数据库中定义一些固定值,可称为静态数据,如用户状态,如客户类型表是一个域表,数据如下:
1 A Individual Customer个人客户Individual Customer
   2 B Corporate Customer单位客户Corporate Customer
下面结合附图1-4和实施例对本发明作进一步的说明。
一种软件系统国际化方法,它包括界面字符及操作提示信息的国际化和表数据的国际化,其特征是界面字符及操作提示信息的国际化采用资源文件国际化的方法实现,表数据的国际化采用数据翻译机来实现;资源文件国际化的方法包括以下步骤:
(1)定义缺省的资源文件,一般提供中文和英文2种语言;
(2)使用资源定义工具定义符合本地化特征或者习惯的资源文件;
(3)应用启动时,资源加载器会先加载系统内置的资源文件,然后再加载客户自定义的资源文件,并且对于资源文件中重复的资源值,用客户自定义的值覆盖系统自带的资源值。
(4)资源加载器按照不同的语言分多个层次将资源文件加载到资源池中。
(5)当客户端向Web服务器请求页面时,web服务器在返回请求时会调用资源阅读器请求获取页面中的字符串。
(6)资源阅读器根据客户端请求的语言和键值,从资源池中获取本地化的语言字符串。
(7)最终将符合要求的字符串显示到Web页面上。
资源翻译机实现国际化的过程如图4所示,其步骤说明如下:
1、应用部署和系统初始化时,数据库系统中很多表的数据,一般是域表或者配置表,使用默认语言,一般为英文进行配置,数据库中存储的字符串数据该种默认语言字符串。
2、资源翻译工具从需要本地化的表中提取数据进行本地化翻译。
3、将翻译完成的数据保存在资源表中。
4、应用启动时,系统将资源表中的数据按照语言装载到一个资源池中缓存起来。
5、在系统接受到某个Web请求时,调用服务例如查询产品名称,返回缺省语言的产品名称,例如:“GSM Post-paid”。
6、资源翻译机将对返回的缺省语言数据按照一定的规则和算法进行匹配,并替换其中的部分字符数据以后重新返回。
7、资源阅读器解析替换以后的XML数据进行解析得到符合语言要求的字符数据。
8、将字符数据显示到界面上。
资源翻译机实现数据翻译利用过滤器(Filter)的设计模式和技术实现。资源翻译机实现资源匹配的过程如图5所示:
1.匹配Service Name(服务名),所有的前后台调用都有对应的服务名,如果服务名在国际化资源表中有配置,则继续匹配,如果没有,则直接返回;
2.匹配请求URL,取得发起服务调用的URL路径,如果此路径在服务页面表中有配置,则直接继续匹配,否则直接返回;
3.匹配BO(Business Object,业务对象)路径,根据BO路径可以找到服务结果BO中具体的原始值
4.语言替换,根据前面匹配的原始值和当前的Locale表示,从国际化资源表查到本地化资源值;把原始值替换为本地化资源值;
本发明未涉及部分均与现有技术相同或可采用现有技术加以实现。

Claims (1)

1.一种软件系统国际化方法,它包括界面字符、操作提示信息的国际化和表数据的国际化,其特征是界面字符及操作提示信息的国际化采用资源文件来实现,表数据的国际化采用数据翻译机来实现;
资源文件实现国际化的过程包括4个阶段,部署之前即研发过程,部署过程,系统启动过程以及系统使用过程,其步骤如下:
(1).研发过程,软件在部署之前需要先定义缺省的资源文件,提供语言;
(2).系统部署过程,客户使用资源文件定义工具定义符合本地化特征或者习惯的资源文件;
(3).部署完成以后的应用启动过程,系统将资源表中的数据按照不同的语言使用资源加载器加载到资源池中缓存起来;其加载顺序是:先加载系统自带的资源文件,然后再加载客户自定义的资源文件,并且对于资源文件中重复的资源值,用客户自定义的值覆盖系统自带的资源值;
(4)系统使用过程,在访问系统时,系统接受到某个Web请求时,使用资源阅读器获取客户端需要的语言的字符,其执行顺序是:web服务器在返回请求时调用资源阅读器请求获取页面中的字符串,资源阅读器根据客户端请求的语言和资源键值,从资源池中获取本地化的语言字符串,将符合要求的字符串显示到Web页面上;
表数据的国际化的方法称为资源翻译机国际化,同样分为4个相同的阶段,部署之前即研发过程,部署过程,系统启动过程以及系统使用过程,其步骤如下:
(1).研发过程,系统会赋予域表缺省的语言数据,一般为英文数据,该数据会作为资源翻译工具翻译时的参照;
(2)软件部署过程,客户根据自己的需求在配置和初始化系统时,可以使用资源翻译工具,将自己系统中的域表数据、配置表数据翻译成多种语言版本,并存储到国际化资源表中;
(3).系统启动过程,系统会将资源表中的数据按照不同的语言装载到资源池中缓存起来;
(4)系统使用过程,系统接收到某个Web请求后,会查询域表或者配置表中的数据,系统先从原始表中获取查询数据,再对照资源池中的数据字典,将返回数据翻译成调用者所需语言的字符数据返回。
CN200910233481A 2009-10-30 2009-10-30 一种软件系统国际化方法 Expired - Fee Related CN101697127B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910233481A CN101697127B (zh) 2009-10-30 2009-10-30 一种软件系统国际化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910233481A CN101697127B (zh) 2009-10-30 2009-10-30 一种软件系统国际化方法

Publications (2)

Publication Number Publication Date
CN101697127A true CN101697127A (zh) 2010-04-21
CN101697127B CN101697127B (zh) 2012-08-29

Family

ID=42142232

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910233481A Expired - Fee Related CN101697127B (zh) 2009-10-30 2009-10-30 一种软件系统国际化方法

Country Status (1)

Country Link
CN (1) CN101697127B (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101894025A (zh) * 2010-07-26 2010-11-24 沈阳酷洲软件开发有限公司 动态电子信息国际化的方法
CN102693221A (zh) * 2011-08-29 2012-09-26 新奥特(北京)视频技术有限公司 一种资源文件语言的转换方法及系统
CN102999488A (zh) * 2011-09-14 2013-03-27 盛趣信息技术(上海)有限公司 翻译平台系统及其实现方法
CN103309647A (zh) * 2012-03-08 2013-09-18 鸿富锦精密工业(深圳)有限公司 应用程序多语言支持系统及方法
CN103336768A (zh) * 2013-06-14 2013-10-02 深圳市比邻软件有限公司 一种翻译手持设备上的应用程序界面的方法、系统及装置
CN103383680A (zh) * 2012-05-02 2013-11-06 成都勤智数码科技股份有限公司 It运维系统的多语化系统
CN103383679A (zh) * 2012-05-02 2013-11-06 成都勤智数码科技股份有限公司 多语统一的it运维知识库实现方法
CN103902261A (zh) * 2012-12-25 2014-07-02 北京慧点科技股份有限公司 一种处理软件资源的方法及装置
CN104346153A (zh) * 2013-07-31 2015-02-11 国际商业机器公司 用于翻译应用程序的文本信息的方法和系统
CN104375808A (zh) * 2013-07-11 2015-02-25 携程计算机技术(上海)有限公司 界面显示方法及装置
CN104798067A (zh) * 2012-09-18 2015-07-22 株式会社野村综合研究所 Web服务器系统、辞典系统、辞典调用方法、画面控件显示方法以及演示应用生成方法
CN104808970A (zh) * 2014-01-23 2015-07-29 深圳中兴网信科技有限公司 一种实现国际化软件的方法和系统
CN106227522A (zh) * 2016-07-15 2016-12-14 浪潮通用软件有限公司 一种资源统一管理方法
CN106228191A (zh) * 2016-07-28 2016-12-14 努比亚技术有限公司 一种控件文本超长检测装置及方法
CN106484402A (zh) * 2016-09-23 2017-03-08 郑州云海信息技术有限公司 一种适用通配符模式的国际化资源文件的配置方法
WO2017181856A1 (zh) * 2016-04-18 2017-10-26 中兴通讯股份有限公司 一种应用国际化方法、装置及终端
CN112612503A (zh) * 2019-12-27 2021-04-06 北京金风慧能技术有限公司 一种软件的国际化资源扩展方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6983238B2 (en) * 2001-02-07 2006-01-03 American International Group, Inc. Methods and apparatus for globalizing software
JP4143661B2 (ja) * 2006-09-11 2008-09-03 インターナショナル・ビジネス・マシーンズ・コーポレーション テスト用リソース・ファイル及びテスト用フォントを用いた国際化ソフトウェアのテスト方法、装置及びプログラム

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101894025A (zh) * 2010-07-26 2010-11-24 沈阳酷洲软件开发有限公司 动态电子信息国际化的方法
CN102693221B (zh) * 2011-08-29 2015-04-29 新奥特(北京)视频技术有限公司 一种资源文件语言的转换方法及系统
CN102693221A (zh) * 2011-08-29 2012-09-26 新奥特(北京)视频技术有限公司 一种资源文件语言的转换方法及系统
CN102999488A (zh) * 2011-09-14 2013-03-27 盛趣信息技术(上海)有限公司 翻译平台系统及其实现方法
CN102999488B (zh) * 2011-09-14 2017-07-04 盛趣信息技术(上海)有限公司 翻译平台系统及其实现方法
CN103309647A (zh) * 2012-03-08 2013-09-18 鸿富锦精密工业(深圳)有限公司 应用程序多语言支持系统及方法
CN103383680A (zh) * 2012-05-02 2013-11-06 成都勤智数码科技股份有限公司 It运维系统的多语化系统
CN103383679A (zh) * 2012-05-02 2013-11-06 成都勤智数码科技股份有限公司 多语统一的it运维知识库实现方法
CN104798067B (zh) * 2012-09-18 2017-07-04 株式会社野村综合研究所 辞典系统以及辞典调用方法
CN104798067A (zh) * 2012-09-18 2015-07-22 株式会社野村综合研究所 Web服务器系统、辞典系统、辞典调用方法、画面控件显示方法以及演示应用生成方法
CN103902261B (zh) * 2012-12-25 2017-03-01 北京慧点科技有限公司 一种处理软件资源的方法及装置
CN103902261A (zh) * 2012-12-25 2014-07-02 北京慧点科技股份有限公司 一种处理软件资源的方法及装置
CN103336768B (zh) * 2013-06-14 2016-09-07 深圳市比邻软件有限公司 一种翻译手持设备上的应用程序界面的方法、系统及装置
CN103336768A (zh) * 2013-06-14 2013-10-02 深圳市比邻软件有限公司 一种翻译手持设备上的应用程序界面的方法、系统及装置
CN104375808B (zh) * 2013-07-11 2018-07-20 上海携程商务有限公司 界面显示方法及装置
CN104375808A (zh) * 2013-07-11 2015-02-25 携程计算机技术(上海)有限公司 界面显示方法及装置
CN104346153B (zh) * 2013-07-31 2018-04-17 国际商业机器公司 用于翻译应用程序的文本信息的方法和系统
CN104346153A (zh) * 2013-07-31 2015-02-11 国际商业机器公司 用于翻译应用程序的文本信息的方法和系统
CN104808970A (zh) * 2014-01-23 2015-07-29 深圳中兴网信科技有限公司 一种实现国际化软件的方法和系统
CN104808970B (zh) * 2014-01-23 2018-08-07 深圳兴路通科技有限公司 一种实现国际化软件的方法和系统
WO2017181856A1 (zh) * 2016-04-18 2017-10-26 中兴通讯股份有限公司 一种应用国际化方法、装置及终端
CN106227522A (zh) * 2016-07-15 2016-12-14 浪潮通用软件有限公司 一种资源统一管理方法
CN106228191A (zh) * 2016-07-28 2016-12-14 努比亚技术有限公司 一种控件文本超长检测装置及方法
CN106484402A (zh) * 2016-09-23 2017-03-08 郑州云海信息技术有限公司 一种适用通配符模式的国际化资源文件的配置方法
CN112612503A (zh) * 2019-12-27 2021-04-06 北京金风慧能技术有限公司 一种软件的国际化资源扩展方法和装置

Also Published As

Publication number Publication date
CN101697127B (zh) 2012-08-29

Similar Documents

Publication Publication Date Title
CN101697127B (zh) 一种软件系统国际化方法
CN103136231B (zh) 一种异构数据库间的数据同步方法及系统
CN110263317B (zh) 一种生成文档模板的方法及装置
CN100440143C (zh) 一种支持多语言的系统及输入、读取多语言数据的方法
CN102402559A (zh) 一种数据库升级脚本的生成方法和装置
CN101375247A (zh) 服务创建方法,用于实现所述方法的计算机程序产品和计算机系统
CN106796525B (zh) 按需加载动态脚本语言代码以减少内存使用
US7937686B2 (en) Name-based identifiers of model elements
CN100489860C (zh) 将对象局部属性更新到关系数据库的方法及装置
CN106940721B (zh) 一种自定义选择框的数据处理方法及系统
CN107291907A (zh) 一种业务数据多语言存储和查询方法及装置
CN109116828B (zh) 一种控制器中模型代码配置方法和装置
US7711548B2 (en) Method and structures to enable national language support for dynamic data
US20060190501A1 (en) System supporting data repository compatibility
CN109815242A (zh) 一种数据处理方法及系统
EP1909170B1 (en) Method and system for automatically generating a communication interface
CN101145164B (zh) 一种序时簿的查询方法及一种序时簿的查询装置
CN102171696A (zh) 定制资料的生成方法和装置
CN101770508B (zh) 移动通信终端中的数据访问方法和设备
US7954086B2 (en) Self-describing kernel modules
CN101447045A (zh) 一种交易流程处理方法及系统
CN114328579A (zh) 自动创建和分配任务的系统、方法、电子设备及存储介质
CN100499479C (zh) 智能网平台中业务管理代理点动态支持多语种的方法
US6345269B1 (en) System and method for communicating with various electronic archive systems
CN113010232A (zh) 配置驱动的轻量级批量数据处理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: Yuhuatai District of Nanjing City, Jiangsu province 210012 Bauhinia Road No. 68

Patentee after: ZTESOFT TECHNOLOGY Co.,Ltd.

Address before: Yuhuatai District of Nanjing City, Jiangsu province 210012 Bauhinia Road No. 68

Patentee before: NANJING ZTESOFT TECHNOLOGY Co.,Ltd.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 210012 room 627, Ning Shuang Road, Yuhuatai District, Nanjing, Jiangsu, 627

Patentee after: WHALE CLOUD TECHNOLOGY Co.,Ltd.

Address before: 210012 No. 68 Bauhinia Road, Yuhuatai District, Jiangsu, Nanjing

Patentee before: ZTESOFT TECHNOLOGY Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120829