应用程序文本的按需翻译的制作方法

文档序号:6361246阅读:161来源:国知局
专利名称:应用程序文本的按需翻译的制作方法
技术领域
本发明涉及用于计算机程序的地区(locale)管理,且更特定地涉及用于计算机程序的文本的地区管理。
背景技术
地区管理是指以特定地区本地的语言呈现计算机程序的文本内容。有可能建立难以编码成以特定语言呈现文本信息的计算机程序。为了将计算机程序部署在多个不同地区,必须替换文本内容且为不同地区中的每一个重建该计算机程序。为解决信息技术市场空间的全球化,许多适当架构的计算机程序将许多文本内容与该计算机程序的源代码分离。因而,可将并入于“资源”中的文本内容复制为不同语言,且在构建时间期间可仅将用于期望地区的资源与源代码包括在一起。资源束(resource bundle)为含有特定于地区的数据的文件。在Java程序设计语言的特定情形下,资源束为含有特定于地区的数据的属性文件。如在一般资源的情况下,资源束的使用提供了一种通过使代码独立于地区来使应用程序国际化的方式。如本领域所公知的,资源束本质上为文本文件,且资源束中文本的最常见类型为字符串列表。每个字符串具有“关键字”以识别该字符串,该关键字在所有不同资源束中皆相同。因此,当为应用程序撰写代码时,仅需提及该关键字而非得到独立于地区的代码的对应字符串。例如,使用在用于ResourceBundle类的Java应用程序设计接口(API)中采用的方法,可以访问与关键字相关联的字符串(即,“值”)。取决于应用程序要处理哪个地区,可以采用API来在运行时调用适当的资源束。结果,从代码提取地区敏感对象(例如,字符串)而非对字符串进行硬编码可以使得应用程序处理多个地区,而无需针对每个地区维护不同的源代码。此外,翻译器可以聚焦于仅仅翻译资源束中的字符串,而非可翻译文本与源代码两者。就此而言,机器翻译可用于以算法方式解析一种语言的文本的文档,从而将每个词翻译成不同语言。当然,机器翻译仅可用于有限的语言集合,且必须在构建应用程序之前应用至资源束。机器翻译在分发之前可能不可用,从而进一步抑制应用程序在部署前的测试。在完全翻译及部署前,常使用提供有针对一地区的语言的字符集及方向性但并非实际翻译的模拟翻译以便于测试应用程序。无论如何,仅存在很少的针对到应用程序的目标地区的实际翻译的替代品,尤其是在部署前对应用程序的测试阶段期间。

发明内容
本发明的实施例解决了关于计算机程序本地化的技术的缺乏,且提供了一种用于按需翻译文本的新颖且非显而易见的方法、系统及计算机程序产品。在本发明实施例中,一种用于按需翻译文本的方法可包括在由主计算机的至少一处理器于内存中执行的动态翻译模块中接收来自执行应用程序的针对按照目标地区的语言的文本的消息请求。该方法可进一步包括检索按照不同于该目标地区的地区的语言的文本,及将该检索到的文本翻译成该目标地区的语言。最后,该方法可包括将所述翻译后的检索文本返回到所述应用程序。在实施例的一个方面中,检索按照不同于目标地区的地区的语言的文本可包括首先识别用于不同于目标地区的地区的资源束,且以所述消息请求查询所识别出的资源束。随后,响应于该查询,可接收按照不同于目标地区的地区的语言的对应于所述消息请求的文本。在实施例的另一方面中,将检索到的文本翻译成目标地区的语言可包括通过计算机通信网络将用以把检索到的文本翻译成目标地区的语言的请求发送至机器翻译服务,且响应于所述发送而通过所述计算机通信网络自该机器翻译服务接收按照目标地区的语言的翻译文本。最后,在实施例的又一方面中,可针对目标地区识别资源束,可以利用所述消息请求来查询识别出的资源束,且响应于该查询,可接收按照目标地区的语言的对应于所述消息请求的文本。因而,所接收到的文本可返回到所述应用程序而不首先要求翻译。在本发明的另一实施例中,一种数据处理系统配置为按需翻译文本。该系统可包括具有至少一个处理器和内存的主计算机及在该主计算机的内存中执行的应用程序服务器。该系统可进一步包括多个资源束的数据储存器,每个所述资源束对应于一个不同地区。更进一步,该应用程序服务器中的应用程序可利用所述资源束。最后,动态翻译模块可耦合至该应用程序。该模块可包括使得能够进行以下操作的程序代码接收来自应用程序的针对按照目标地区的语言的文本的消息请求、从所述多个资源束中的一个资源束检索按照不同于该目标地区的地区的语言的文本、将检索到的文本翻译成该目标地区的语言,以及将所述翻译后的检索文本返回到所述应用程序。可选地,机器翻译服务可通过计算机通信网络耦合至主计算机,且配置为将检索到的文本翻译成该目标地区的语言。本发明的其它方面将在随后的描述中部分地得到阐述,且将部分地自该描述而显而易见,或可通过实践本发明而得以获悉。本发明的方面将通过在所附权利要求中特别指出的元件及组合来实现及达成。应理解,上述大体描述与以下详细描述两者均仅为例示性及说明性的,且并不限制如所请求保护的本发明。


参照附图,仅通过示例来描述本发明的优选实施例。图1为用于按需翻译资源束中的文本的处理的图标说明;图2为配置为按需翻译资源束中的文本的数据处理系统的示意性说明;及图3为说明用于按需翻译资源束中的文本的处理的流程图。
具体实施例方式本发明的实施例提供一种用于按需翻译文本的方法、系统及计算机程序产品。根据关于使用资源束以用于应用程序的本地化的本发明的实施例,可接收利用请求关键字检索用于目标地区的文本的请求。响应于接收到该请求,可判定用于目标地区的资源束是否可用,或是否用于该目标地区的资源束可用但所请求的关键字不存在于该资源束中。若是,则可自用于该目标地区的资源束检索所请求的文本,并将该所请求的文本返回至请求者。否则,可选择用于已可用的地区的资源束,且可自该已可用的地区检索对应于该请求的文本。随后,可通过计算机通信网络(诸如,全球因特网)将检索到文本提交给机器翻译服务以便将该检索到的文本翻译成符合目标地区的语言。最后,翻译后的文本一旦由机器翻译服务提供就可返回至请求者。以此方式,尽管不存在所需的用于目标地区的资源束或所需资源束缺失请求关键字,亦可至少部分地(若并非完全)翻译该应用程序中的文本。在进一步说明中,图1以图示方式示出了用于按需翻译资源束中的文本的处理。如图1中所示,计算机150可管理由该计算机150中的至少一个处理器在内存中执行的应用程序140。应用程序140可并有提供应用程序140的可变本地化的多个不同资源束110A、IIOZ0在该实施例的一个方面中,资源束110A、IIOZ中的每一个可包括一组关键字值对,使得提供的关键字(例如,以消息的形式)120A、120Z可产生所得值,即符合资源束110AU10Z中的对应一个的地区的语言的文本130A、130Z。请注意,动态资源束翻译数据处理系统200可管理对得自应用程序140的经本地化的文本的请求。就此而言,系统200可从应用程序140接收按照具有请求关键字的消息的形式的针对目标地区中本地化的文本的请求。系统200继而可判定资源束110A、110Z中是否已经存在用于目标地区的一个资源束。若存在,则消息可传递至资源束110AU10Z中已经存在的用于目标地区的一个资源束,并且可以从资源束110AU10Z中的该资源束将对应于消息的按照该目标地区的语言的文本返回至系统200并且返回至应用程序140。相对而言,若系统200不能在资源束110A、110Z中定位用于目标地区的资源束,或若用于目标地区的资源束可用但所请求的关键字不存在于该资源束中,则消息可传递至资源束110AU10Z中的一个预定资源束,以便检索不同于目标地区的一个地区的对应文本,且检索到的对应文本可提交给机器翻译服务160。机器翻译服务160继而可利用辞典170将检索到的对应文本翻译成目标地区的语言,且将其返回至系统200。最后,系统200可将翻译后的文本返回至应用程序140。值得注意的是,作为一个选项,翻译后的文本可与请求关键字及目标地区相关联地高速缓存于内存中。因而,由目标地区中的请求关键字反映的对本地化的文本的随后请求可从该高速缓存得到满足而无需额外的机器翻译。图1中描述的处理可实施于数据处理系统中。作为实例,图2为配置用于按需翻译资源束中的文本的数据处理系统的示意性说明。该系统可包括具有内存及至少一个处理器的主计算机210。主计算机210可包括操作系统220,其管理支持应用程序240的执行的应用程序服务器230的执行。通过使用存储于数据储存器250中用于不同目标地区的不同资源束260,应用程序240可配置用于可变本地化。请注意,动态翻译模块300可耦合至应用程序服务器230。动态翻译模块300可包括程序代码,该程序代码在由主计算机210执行时可从应用程序240接收针对按照目标地区的语言的文本字符串的消息。该程序代码在由主计算机210执行时可进一步通过用于目标地区的资源束260返回所请求的按照目标地区的语言的文本字符串,或者通过用于不同地区的资源束260检索按照不同地区的语言的所请求文本字符串,并且通过计算机通信网络270 (诸如,全球因特网)从机器翻译服务280获得检索到的文本字符串到目标地区的语言的动态翻译。在对动态翻译模块300的操作的更进一步说明中,图3为例示用于按需翻译资源束中的文本的处理的流程图。开始于块310,可参考针对目标地区的消息接收文本检索请求。在块320中,可检查现有资源束,且在决策块330中,可判定是否存在用于目标地区的资源束。若存在,则在块340中,可以利用消息查询用于目标地区的现有资源束,以在块350中获得按照目标地区的语言的所得文本。最后,在块360中,可将所得文本返回至请求者。
在决策块330中,若判定资源束中不存在用于目标地区的资源束,则在块370中,可选择用于不同于目标地区的地区的资源束,且以消息对其进行查询,以在块380中获得按照不同地区的语言的所得文本。随后,在块390中,可将所得文本传递至机器翻译服务以获得该所得文本到目标地区的语言的翻译。最后,在块360中,可将翻译后的文本返回至请求者。所属技术领域的技术人员知道,本发明的方面可以实现为系统、方法或计算机程序产品。因此,本发明的方面可以采取以下形式的实施例,即完全硬件、完全软件(包括固件、驻留软件、微代码等)或者硬件和软件结合,本文一般称为“电路”、“模块”或“系统”。此外,本发明的方面还可以采取实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言和常规的过程式程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。以上参照根据本发明实施方式的方法、装置(系统)与计算机程序产品的流程图和框图描述了本发明的方面。在这方面,附图中的流程图和框图例示了根据本发明各种实施方式的系统、方法与计算机程序产品的可能实现的体系结构、功能和操作。例如,流程图或框图中的每一块都可以代表代码的一个模块、片段或者部分,这可以包括用于实现所指定逻辑功能的一条或多条可执行指令。还应当指出,在有些备选实现中,块中所指出的功能可以不以图中所指出的次序发生。例如,依赖所涉及的功能性,依次示出的两个块事实上可以基本上同时执行,或者有时候块可以以颠倒的次序执行。还应当指出,框图和/或流程图说明的每一块及框图和/或流程图说明中块的组合可以由执行特定功能或动作的基于硬件的专用系统或者专用硬件与计算机指令的组合实现。还应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令的制造品。也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。在此所使用的术语是为了描述特定的实施方式而不是要作为本发明的限制。如在此所使用的,除非上下文清楚地另外指示,否则单数形式“一个”和“该”也要包括复数形式。还应当理解,当在本说明书中使用时,术语“包括”指定所陈述特征、整体、步骤、操作、元件和/或部件的存在,但不排除一个或多个其它特征、整体、步骤、操作、元件、部件和/或其组的存在或增加。以下权利要求中的对应结构、材料、动作以及所有功能性限定的装置(means)或步骤的等同替换,旨在包括任何用于与在权利要求中具体指出的其它单元相组合地执行该功能的结构、材料或动作。所给出的对本发明的描述其目的在于例示和描述,并非是穷尽性的,也并非是要把本发明限定到所公开的形式。对于本领域普通技术人员来说,在不偏离本发明范围和主旨的情况下,显然可以作出许多修改和变型。对实施方式的选择和说明,是为了最好地解释本发明的原理和实际应用,使本领域其他普通技术人员能够明了,本发明可以有适合所要的特定用途的具有各种改变的各种实施方式。由此已经详细参照其实施例描述了本申请的发明,显然可以在不脱离如所附权利要求中定义的本发明的范围的情况下进行修改和变型。
权利要求
1.一种用于按需翻译文本的方法,包括 在由主计算机的至少一个处理器于内存中执行的动态翻译模块中接收来自执行应用程序的针对按照目标地区的语言的文本的消息请求; 检索按照不同于所述目标地区的地区的语言的文本; 将检索出的文本翻译成所述目标地区的语言;及 将翻译后的检索文本返回至所述应用程序。
2.如权利要求1所述的方法,其中检索按照不同于所述目标地区的地区的语言的文本包括 识别用于不同于所述目标地区的地区的资源束; 利用所述消息请求查询识别出的资源束;及 响应于所述查询而接收按照不同于所述目标地区的地区的语言的对应于所述消息请求的文本。
3.如权利要求1所述的方法,其中将检索出的文本翻译成所述目标地区的语言包括 通过计算机通信网络,将用以把检索出的文本翻译成所述目标地区的语言的请求发送到机器翻译服务 '及 响应于所述发送而通过所述计算机通信网络从所述机器翻译服务接收按照所述目标地区的语言的翻译后文本。
4.如权利要求1所述的方法,进一步包括 识别用于所述目标地区的资源束; 利用所述消息请求查询识别出的资源束; 响应于所述查询,接收按照所述目标地区的语言的对应于所述消息请求的文本;及 将接收到的文本返回到所述应用程序而无需翻译。
5.如权利要求1所述的方法,进一步包括高速缓存所述翻译后的检索文本,以供响应于来自执行应用程序的针对按照所述目标地区的语言的文本的随后消息请求而进行的检索使用。
6.一种配置用于按需翻译文本的数据处理系统,包括 主计算机,其具有至少一个处理器及内存; 应用程序服务器,其执行于所述主计算机的内存中; 用于多个资源束的数据储存器,所述多个资源束中的每一个对应于一个不同地区; 在所述应用程序服务器中的利用所述资源束的应用程序;及 动态翻译模块,其耦合至所述应用程序,该模块包括使得能够进行以下操作的程序代码从所述应用程序接收针对按照目标地区的语言的文本的消息请求、从所述多个资源束中的一个资源束检索按照不同于所述目标地区的地区的语言的文本、将检索出的文本翻译成所述目标地区的语言,及将翻译后的检索文本返回至所述应用程序。
7.如权利要求6所述的系统,进一步包括机器翻译服务,该机器翻译服务通过计算机通信网络耦合至所述主计算机,且配置为将检索出的文本翻译成所述目标地区的语言。
8.一种用于按需翻译文本的计算机程序产品,该计算机程序产品包括 计算机可读存储介质,具有计算机可读程序代码,该计算机可读程序代码包括 用于接收来自执行应用程序的针对按照目标地区的语言的文本的消息请求的计算机可读程序代码; 用于检索按照不同于所述目标地区的地区的语言的文本的计算机可读程序代码; 用于将检索出的文本翻译成所述目标地区的语言的计算机可读程序代码;及 用于将翻译后的检索文本返回至所述应用程序的计算机可读程序代码。
9.如权利要求8所述的计算机程序产品,其中用于检索按照不同于所述目标地区的地区的语言的文本的计算机可读程序代码包括 用于识别用于不同于所述目标地区的地区的资源束的计算机可读程序代码; 用于利用所述消息请求查询识别出的资源束的计算机可读程序代码;及用于响应于所述查询而接收按照不同于所述目标地区的地区的语言的对应于所述消息请求的文本的计算机可读程序代码。
10.如权利要求8所述的计算机程序产品,其中用于将检索出的文本翻译成所述目标地区的语言的计算机可读程序代码包括 用于通过计算机通信网络,将用以把检索出的文本翻译成所述目标地区的语言的请求发送到机器翻译服务的计算机可读程序代码;及 用于响应于所述发送而通过所述计算机通信网络从所述机器翻译服务接收按照所述目标地区的语言的翻译后文本的计算机可读程序代码。
11.如权利要求8所述的计算机程序产品,其进一步包括 用于识别用于所述目标地区的资源束的计算机可读程序代码; 用于利用所述消息请求查询识别出的资源束的计算机可读程序代码; 用于响应于所述查询,接收按照所述目标地区的语言的对应于所述消息请求的文本的计算机可读程序代码 '及 用于将接收到的文本返回到所述应用程序而无需翻译的计算机可读程序代码。
12.如权利要求11所述的计算机程序产品,其进一步包括用于高速缓存所述翻译后的检索文本,以供响应于来自执行应用程序的针对按照所述目标地区的语言的文本的随后消息请求而进行的检索使用的计算机可读程序代码。
全文摘要
提供了一种用于按需翻译文本的方法、系统及计算机程序产品。在本发明的实施例中,一种用于按需翻译文本的方法可包括在由主计算机的至少一个处理器于内存中执行的动态翻译模块中接收来自执行应用程序的针对按照目标地区的语言的文本的消息请求。该方法可进一步包括检索按照不同于所述目标地区的地区的语言的文本,及将检索出的文本翻译成所述目标地区的语言。最后,该方法可包括将翻译后的检索文本返回至所述应用程序。检索按照不同于所述目标地区的地区的语言的文本可包括识别和查询特定于地区的资源束。如果不能使用现有资源束替换,可以使用机器翻译。
文档编号G06F9/44GK103038763SQ201180035970
公开日2013年4月10日 申请日期2011年7月19日 优先权日2010年7月23日
发明者M·J·庞斯福德, R·布里姆纳, G·W·鲁施, W·J·依扎尔德 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1