软件中语言资源本地化的实现方法技术

技术编号:2868073 阅读:207 留言:0更新日期:2012-04-11 18:40
一种软件中语言资源本地化的实现方法,由具有信息处理能力的装置将软件中第一语言资源生成对应第二语言资源,并可在该软件中使用该第二语言资源;所述方法包括下步骤:    A、根据第一语言资源在源程序中存在的特征,从所述软件源程序的语句中查找第一语言资源;    B、采用字符串常量替代查找到的每一处第一语言资源,将每一处第一语言资源赋值给对应的字符串常量并写入到资源文件,在该资源文件中形成第一语言资源部分,其中所述字符串常量在所述源程序中全局唯一;    C、根据资源文件中的第一语言资源部分生成对应的第二语言资源部分;    D、所述软件运行时根据操作系统类型加载所述资源文件中的第一语言资源部分或第二语言资源部分。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及计算软件的处理技术,尤其涉及一种。
技术介绍
软件源程序中的语言资源通常是指软件人机界面上的菜单项、标题、提示说明、软件操作运行中弹出的提示信息、各类输出信息等等。一般的软件本地化版本生成方法是在软件开发伊始就着手进行多语言版本的筹划工作,最常见的做法是将所有开发中出现的中文资源以资源ID的方式置于资源文件当中,在资源文件中提供资源的多语言版本,由软件在运行时决定加载何种资源。但纵观国内一些投入了大量人力、财力开发出来的优秀专业软件,在开发阶段并未考虑软件的本地化,它们已经投入实际运用,等到想要进军国际市场,会发现在较短时间内开发出英文版本简直是个噩梦。虽然可通过手工方式直接将软件源代码中的中文替换成西文来实现西文版本的程序,但这样方法存在以下缺点首先,手工对代码中的中英文词条的替换工作繁琐,而翻译工作本身就有很大变数,一个词条可能要举一反三,手动替换确实效率低下;其次,采用手工方式进行替换容易出错,使产品的可靠性难以得到保证;其三,版本一致性难以得到保证;最后,维护成本高,一套软件需要维护中文,英文两个版本。
技术实现思路
本专利技术的目的在于提供一种,以解决现有技术中手工对单语言版本的软件进行本地化时存在工作量大和可靠性差的问题。实现本专利技术的技术方案一种,由具有信息处理能力的装置将软件中第一语言资源生成对应第二语言资源,并可在该软件中使用该第二语言资源;所述方法包括下步骤A、根据第一语言资源在源程序中存在的特征,从所述软件源程序的语句中查找第一语言资源;B、采用字符串常量替代查找到的每一处第一语言资源,将每一处第一语言资源赋值给对应的字符串常量并写入到资源文件,在该资源文件中形成第一语言资源部分,其中所述字符串常量在所述源程序中全局唯一;C、根据资源文件中的第一语言资源部分生成对应的第二语言资源部分;D、所述软件运行时根据操作系统类型加载所述资源文件中的第一语言资源部分或第二语言资源部分。其中步骤C包括C1、将所述资源文件中的第一语言写入资源字典,并在该资源字典中通过翻译生成每一条第一语言资源对应的第二语言资源;C2、根据资源文件中的第一语言资源,采用完全匹配方式检索资源字典得到对应的第二语言资源,将该第二语言资源赋值给第一语言资源对应的字符串常量并写入资源文件,以在该资源文件中生成第二语言资源部分。一种,由具有信息处理能力的装置将软件中第一语言资源生成对应第二语言资源,并可在该软件中使用该第二语言资源;所述方法包括下步骤(1)根据第一语言资源在源程序中存在的特征,从所述软件源程序的语句中查找第一语言资源;(2)采用字符串常量替代查找到的每一处第一语言资源,将每一处第一语言资源直接写入到资源字典中的第一语言资源列; (3)根据将资源字典中的第一语言资源生成对应的第二语言资源;(4)将源程序软件代码行中的第一语言资源作为检索从资源字典中查找到其对应的第二语言资源,并用该第二语言资源替换源代码行中的第一语言资源,生成源程序软件的第二语言版本。其中所述源程序是采用VB、VC、BC、JAVA或其他类似编程语言编制的源程序,或者是采用脚本(Script)语言编制的源程序。本专利技术具有以下有益效果1、通过自动检索软件源程序中的第一语言资源,并根据该第一语言资源生成可供软件加载的第二语言资源,因而避免了采用手工方式进行语言替换的繁琐和容易出错的问题。2、采用本专利技术,只需维护软件的第一语言版本,即软件的代码级修改均针对该版本,修改完毕后可以使用程序重新自动生成软件的第二语言版本,实现了维护一套源代码就可以维护国内和国际两套产品的目标。3、资源字典的生存周期等于软件的生存周期,软件的资源字典一旦生成,就可以持续地对其进行维护,对于已经生成的第二语言版本软件,一旦资源字典中的译文有了变动,则可以自动生成更新的第二语言版本软件。附图说明图1为实施本专利技术的计算机结构示意图;图2A、2B、图2C为本专利技术的流程图;图3为图2B处理流程示意图。具体实施例方式本专利技术主要是针对开发工作已经完毕或已经实际应用并且只有第一语言资源版本的软件,该软件中的第一语言资源在计算机中是由双字节表示的文字(如中文、日文、韩文等)构成的资源(资源通常指的是软件人机界面上的菜单项、标题、提示说明、软件操作运行中弹出的提示信息、各类输出信息等等。),通过计算机技术将其本地化为由双字节或单字节表示的文字(单字节文字,如英文、法文、意文、俄文、德文等)构成的第二语言资源,即自动地实现软件的本地化。图1显示了一台用来实施本专利技术方法的计算机。计算机具有一个处理器,它通过总线和存储器相连接,同时还通过总线连接输入输出接口。输入输出接口连接键盘、外部存储器和显示器。存储器中储存了计算机程序和需要本地化的软件的源程序代码,这些代码以ASCII码的形式保存。第一语言资源对应的第二语言资源可通过所述键盘提供,并由显示器进行显示。参阅图2A所示,软件源程序语言的本地化的主要处理流程如下步骤10第一语言资源在源程序中存在的特征,从软件源程序的语句中查找第一语言资源。步骤20采用字符串常量替代查找到的每一处第一语言资源,其中字符串常量在源程序中全局唯一。步骤30将每一处第一语言资源赋值给对应的字符串常量并写入到资源文件,在资源文件中形成第一语言资源部分。步骤40,根据资源文件中的第一语言资源部分生成对应的第二语言资源部分。步骤50软件运行时根据操作系统类型加载所述资源文件中的第一语言资源部分或第二语言资源部分。在步骤50中,也可根据资源文件中的第二语言资源部分,用第二语言资源替换源程序中对应的字符串常量,生成第二语言版本的源程序。在该流程中,根据资源文件中的第一语言资源部分直接提供每一条第一语言资源对应的第二语言资源来生成第二语言资源部分,这种方式适用于源程序中第一语言资源数量较少的情况。参阅图2B所示,该处理流程与图2A所示的处理流程区别主要在于,资源文件中的第二语言资源部分是通过资源字典生成,其主要处理流程如下 步骤100第一语言资源在源程序中存在的特征,从软件源程序的语句中查找第一语言资源。步骤110采用字符串常量替代查找到的每一处第一语言资源,其中字符串常量在源程序中全局唯一。步骤120将每一处第一语言资源赋值给对应的字符串常量并写入到资源文件,在资源文件中形成第一语言资源部分。步骤130将所述资源文件中的第一语言资源写入资源字典,并在该资源字典中生成每一条第一语言资源对应的第二语言资源。步骤140根据资源文件中的第一语言资源,采用完全匹配方式检索资源字典得到对应的第二语言资源,将该第二语言资源赋值给第一语言资源对应的字符串常量并写入资源文件,以在该资源文件中生成第二语言资源部分。步骤150软件运行时根据操作系统类型加载所述资源文件中的第一语言资源部分或第二语言资源部分。在步骤150中,也可根据资源文件中的第二语言资源部分,用第二语言资源替换源程序中对应的字符串常量,生成第二语言版本的源程序。该流程通过资源字典来生成资源文件的第二语言资源部分或者替换源程序中的第一语言资源,因为更为灵活,也易于修改,尤其适合于软件中的第一语言资源数量大的情况。图2A和图2B所示的处理流程适合于采用VB、VC、BC、JAVA或其他类似编程语言编制的源程序。对于采用脚本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:宋朝青
申请(专利权)人:艾默生网络能源有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1