书签 分享 收藏 举报 版权申诉 / 21

用于翻译应用程序的文本信息的方法和系统.pdf

  • 上传人:a***
  • 文档编号:4698332
  • 上传时间:2018-10-27
  • 格式:PDF
  • 页数:21
  • 大小:3.54MB
  • 摘要
    申请专利号:

    CN201310328433.5

    申请日:

    2013.07.31

    公开号:

    CN104346153A

    公开日:

    2015.02.11

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):G06F 9/44申请日:20130731|||公开

    IPC分类号:

    G06F9/44

    主分类号:

    G06F9/44

    申请人:

    国际商业机器公司

    发明人:

    韩彪

    地址:

    美国纽约阿芒克

    优先权:

    专利代理机构:

    北京市金杜律师事务所11256

    代理人:

    酆迅; 李峥宇

    PDF完整版下载: PDF下载
    内容摘要

    本发明公开了一种用于翻译应用程序的文本信息的方法和系统。在一个实施方式中,公开了一种用于翻译应用程序的文本信息的方法,包括:基于源语言运行所述应用程序;接收将所述文本信息从源语言翻译成目标语言的请求;以及响应于所述请求,获取所述应用程序的文本信息的文本位置标识符,并且根据文本位置标识符-目标语言内容映射表,将所述文本信息从源语言翻译成目标语言。本发明的具体实施方式可以翻译成本较低和翻译结果相对准确地翻译应用程序的文本信息。

    权利要求书

    权利要求书
    1.  一种用于翻译应用程序的文本信息的方法,包括:
    基于源语言运行所述应用程序;
    接收将所述文本信息从源语言翻译成目标语言的请求;以及
    响应于所述请求,获取所述应用程序的文本信息的文本位置标识符,
    并且根据文本位置标识符-目标语言内容映射表,将所述文本信息从源语言翻译成目标语言。

    2.  一种根据权利要求1所述的方法,还包括:
    基于所述应用程序的文本信息的文本位置标识符、该文本信息对应的文本键、以及该文本键在目标语言资源文件中对应的目标语言内容,生成所述文本位置标识符-目标语言内容映射表。

    3.  一种根据权利要求1或2所述的方法,还包括:
    监听所述应用程序的加载;
    响应于文本节点添加到所述应用程序的对象结构描述文件,记录该文本节点在该对象结构描述文件中的路径信息;以及
    将该路径信息确定为该文本节点的文本信息的所述文本位置标识符。

    4.  一种根据权利要求1或2所述的方法,还包括:
    基于所述应用程序的应用程序接口,获取应用程序的文本节点与应用程序的其它控件之间的继承关系;以及
    将所述继承关系确定为所述文本节点的文本信息的所述文本位置标识符。

    5.  一种根据权利要求1-4任一项所述的方法,还包括:
    基于该文本节点的文本信息,在源语言资源文件中查询该文本信息对应的文本键;以及
    响应于查询到该文本键,记录该文本键。

    6.  一种根据权利要求5所述的方法,还包括:
    基于所述文本信息对应的文本键,在目标语言资源文件中查询该 文本键对应的目标语言内容;以及
    响应于查询到该目标语言内容,基于所述文本位置标识符和该目标语言内容建立所述文本位置标识符-目标语言内容映射表。

    7.  一种根据权利要求6所述的方法,还包括:
    监听所述对象结构描述文件的变化;
    响应于所述对象结构描述文件中的文本节点发生变化,修改所述文本位置标识符-目标语言内容映射表。

    8.  一种根据权利要求3所述的方法,其中所述应用程序为网络应用,所述对象结构描述文件为文档对象化模型树。

    9.  一种根据权利要求1所述的方法,其中所述获取所述应用程序中的文本信息的文本位置标识符还包括:
    监听预定的输入设备事件;以及
    响应于用户选择所述文本信息,确定该文本信息的文本位置标识符。

    10.  一种根据权利要求1所述的方法,其中所述文本信息是位于应用程序的用户界面上的文本信息,所述方法还包括:
    将已翻译成目标语言的所述文本信息显示在所述用户界面上。

    11.  一种根据权利要求1所述的方法,其中所述根据文本位置标识符-目标语言内容映射表,将所述文本信息从源语言翻译成目标语言包括:
    用所述文本位置标识符在文本位置标识符-目标语言内容映射表中检索对应的目标语言内容;以及
    响应于检索到所述目标语言内容,以该目标语言内容确定为所述文本信息的翻译结果。

    12.  一种用于翻译应用程序的文本信息的系统,包括:
    运行装置,被配置用于基于源语言运行所述应用程序;
    接收装置,被配置用于接收将所述文本信息从源语言翻译成目标语言的请求;以及
    翻译装置,被配置用于响应于所述请求,获取所述应用程序的文本信息的文本位置标识符,并且根据文本位置标识符-目标语言内容映射表,将所述文本信息从源语言翻译成目标语言。

    13.  一种根据权利要求12所述的系统,还包括:
    映射表生成装置,被配置用于基于所述应用程序的文本信息的文本位置标识符、该文本信息对应的文本键、以及该文本键在目标语言资源文件中对应的目标语言内容,生成所述文本位置标识符-目标语言内容映射表。

    14.  一种根据权利要求12或13所述的系统,还包括:
    监听装置,被配置用于监听所述应用程序的加载;
    路径信息记录装置,被配置用于响应于文本节点添加到所述应用程序的对象结构描述文件,记录该文本节点在该对象结构描述文件中的路径信息;以及
    文本位置标识符确定装置,被配置用于将该路径信息确定为该文本节点的文本信息的所述文本位置标识符。

    15.  一种根据权利要求12或13所述的系统,还包括:
    继承关系获取装置,被配置用于基于所述应用程序的应用程序接口,获取应用程序的文本节点与应用程序的其它控件之间的继承关系;以及
    第二文本位置标识符确定装置,将所述继承关系确定为所述文本节点的文本信息的所述文本位置标识符。

    16.  一种根据权利要求12-15任一项所述的系统,还包括:
    查询装置,被配置用于基于该文本节点的文本信息,在源语言资源文件中查询该文本信息对应的文本键;以及
    文本键记录装置,被配置用于响应于查询到该文本键,记录该文本键。

    17.  一种根据权利要求16所述的系统,还包括:
    目标语言内容查询装置,被配置用于基于所述文本信息对应的文本键,在目标语言资源文件中查询该文本键对应的目标语言内容;以及
    建立装置,被配置用于响应于查询到该目标语言内容,基于所述文本位置标识符和该目标语言内容建立所述文本位置标识符-目标语言内容映射表。

    18.  一种根据权利要求17所述的系统,还包括:
    变化监听装置,被配置用于监听所述对象结构描述文件的变化;
    修改装置,被配置用于响应于所述对象结构描述文件中的文本节点发生变化,修改所述文本位置标识符-目标语言内容映射表。

    19.  一种根据权利要求14所述的系统,其中所述应用程序为网络应用,所述对象结构描述文件为文档对象化模型树。

    20.  一种根据权利要求12所述的系统,其中所述获取所述应用程序中的文本信息的文本位置标识符还包括:
    事件监听装置,被配置用于监听预定的输入设备事件;以及
    文本位置标识符获得装置,被配置用于响应于用户选择所述文本信息,获得该文本信息的文本位置标识符。

    21.  一种根据权利要求12所述的系统,其中所述文本信息是位于应用程序的用户界面上的文本信息,所述系统还包括:
    显示装置,被配置用于将已翻译成目标语言的所述文本信息显示在所述用户界面上。

    22.  一种根据权利要求12所述的系统,其中所述翻译装置包括:
    检索装置,被配置用于用所述文本位置标识符在文本位置标识符-目标语言内容映射表检索对应的目标语言内容;以及
    翻译确定装置,被配置为响应于检索到所述目标语言内容,以该目标语言内容确定为所述文本信息的翻译结果。

    说明书

    说明书用于翻译应用程序的文本信息的方法和系统
    技术领域
    本发明涉及信息处理技术,更具体地,涉及一种用于翻译应用程序的文本信息的方法和系统。
    背景技术
    在国际化软件开发过程中,软件开发者经常需要处理特定语言环境下的软件问题。比如图2所示,一位只懂英文的软件工程师,需要在德语的环境下重现一个测试发现的问题或者顾客反映的问题。这样的工作难度很大。重现步骤往往很复杂,工程师在完全不熟悉的德语界面上执行这些步骤不仅费时而且容易出错。而且对于程序没有按预定设计给出的一些德语的提示信息,工程师完全看不懂,很难判断程序异常的原因。此外,软件界面设计师在设计软件界面时,也需要考虑不同语言环境对软件界面布局的影响。比如一段文本在英文环境下可能只要一行就能显示,然而用希腊语可能要占用两行空间。为了解决这些问题,提高软件开发效率,通常的解决办法是:
    (1)雇佣既懂英语又懂德语的工程师。无疑,这会增加人力成本。而且,既懂英语又懂德语的人才可能比较好找,但是既懂英语又懂德语还懂日语的工程师就很难找了。
    (2)使用谷歌翻译或者词典等翻译工具,对显示出的德文界面做翻译。这种方式虽然比(1)方便,但是翻译不准确的缺点也很明显。而且这些通用的翻译工具往往给出很多种翻译结果,仍然需要人工判断哪一种更适合当前语境。
    因此需要一种用于翻译应用程序的文本信息且翻译成本较低和翻译结果相对准确的方法或系统。
    发明内容
    根据本发明的一个方面,提供了一种用于翻译应用程序的文本信息的方法,包括:基于源语言运行所述应用程序;接收将所述文本信息从源语言翻译成目标语言的请求;以及响应于所述请求,获取所述应用程序的文本信息的文本位置标识符,并且根据文本位置标识符-目标语言内容映射表,将所述文本信息从源语言翻译成目标语言。
    根据本发明的另一个方面,提供了一种用于翻译应用程序的文本信息的系统,包括:运行装置,被配置用于基于源语言运行所述应用程序;接收装置,被配置用于接收将所述文本信息从源语言翻译成目标语言的请求;以及
    翻译装置,被配置用于响应于所述请求,获取所述应用程序的文本信息的文本位置标识符,并且根据文本位置标识符-目标语言内容映射表,将所述文本信息从源语言翻译成目标语言。
    本发明的各个具体实施方式提供了用于翻译应用程序的文本信息且翻译成本较低和翻译结果相对准确的方法或系统。
    附图说明
    通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
    图1示出了适于用来实现本发明一种实施方式的示例性计算机系统/服务器12的框图。
    图2示出了软件测试人员面临的不同语言测试环境。
    图3a、3b、3c示出了各种语言资源文件的实例。
    图4示出了本发明用于翻译应用程序的文本信息的方法的一个具体实 施方式。
    图5示出了本发明用于如何获知所述应用程序的文本信息的文本位置标识符的一个具体实施方式。
    图6示出了文本信息与DOM Tree之间的对应关系实例。
    图7示出了获得文字信息的文本键的具体实施方式。
    图8示出了本发明建立所述文本位置标识符-目标语言内容映射表的具体实施方式。
    图9示出了通过输入设备获取所述应用程序中的文本信息的文本位置标识符的具体实施方式。
    图10、11示出了如何获取应用程序的文本信息的文本位置标识符的另一个具体实施方式。
    图12示出了本发明显示翻译结果的具体实施方式。
    图13示出了本发明用于翻译应用程序的文本信息的系统框架图
    具体实施方式
    下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
    所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以 是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
    可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
    计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
    计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
    可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言-诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言-诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、 部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
    下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
    也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品(manufacture)。
    也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
    图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
    如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处 理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
    总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
    计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
    系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
    具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
    计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
    在当前软件多国语言支持实现中,使用最广泛的方法是基于语言资源文件的标识符映射法,软件界面需要显示的文本信息被抽取到独立的语言资源文件中。每种语言都会有自己的资源文件。软件代码中,原本需要显示文本信息的地方,会被该文本信息对应的全局唯一的文本键(key)所取代。语言资源文件中保存了文本键和文本信息的映射关系。同一文本键在不同的语言资源文件中会对应不同的文本内容。这些资源文件通过包含语言代码信息的文件名,或者通过存放至包含语言代码信息的不同目录来区分。程序启动时,会根据用户当前的语言设置(可以称之为源语言)来确定应该加载哪一个语言资源文件。语言资源文件被加载到应用程序中后,往往以映射表(Map)的形式存在。程序界面渲染时,会读取此Map中文本键对应的文本内容,然后显示到界面上。比如图3a、3b、3c中分别示出了中的各种语言资源文件的实例。申请人在长期的软件测试实践中发现,这些语言资源文件中对同一文本信息的表达在各种语言中是比较准确的,而且这些内容都已经存在于程序开发者或者测试者手中,如果能够充分利用这些资源,来解决测试者在其不熟悉的语言环境中测试软件遇到的翻译问题,就能做到事半功倍的效果。由此,申请人以完全不同于现有技术的解决方案,另辟蹊径地构思出下面基于已有 的语言资源文件来解决现有技术中至少一个技术缺陷的本发明的各个具体实施方式。
    图4示出了本发明用于翻译应用程序的文本信息的方法的第一具体实施方式。在步骤401中,基于源语言运行所述应用程序。在应用程序测试环境中,有时应用程序测试人员需要在其不熟悉的语言环境中测试该软件,这种最初应用程序测试人员不熟悉或不熟练的语言可以作为源语言,应用程序测试人员有这个需求的原因在于软件测试人员希望在最为真实的环境下再现软件可能出现的相关问题。虽然本发明以应用程序测试作为详细介绍本发明的各个实施方式,但本发明的应用场景并不只限于应用程序测试环境,比如,一个应用程序的普通用户有时也会需要在其不熟悉的语言环境中使用该应用程序(尤其是对于一些全球性的公司的员工),即使该用户非常熟悉该应用程序,其也可能存在需要将不熟悉的源语言信息翻译成其更为熟悉的语言的需求。一般而言,应用程序用户可以在应用程序运行之前选择应用程序运行的源语言,或者在应用程序运行后,重新选择其运行的源语言。在步骤403中,接收将所述文本信息从源语言翻译成目标语言的请求。同样,应用程序用户可以在应用程序运行之前选择需要将应用程序运行的源语言翻译成目标语言,也就是应用程序用户更为熟练的语言或者是母语,或者在应用程序运行后,再选择要求翻译成的目标语言。当然,应用程序用户也可以选择性地对单个或者部分的应用程序的文本信息要求翻译成目标语言。在步骤405中,响应于所述请求,获取所述应用程序的文本信息的文本位置标识符(ID),并且根据文本位置标识符-目标语言内容映射表,将所述文本信息从源语言翻译成目标语言。在获得了文本信息的文本位置标识符后,用所述文本位置标识符在文本位置标识符-目标语言内容映射表检索到对应的目标语言内容;以及以该目标语言内容确定为所述文本信息的翻译结果。其中文本位置标识符是指用于确定该文本信息在应用程序的对象结构中的位置的标识符。对于一个文本信息,其存在全局唯一的文本位置标识符。优选地,可以基于所述应用程序的文本信息的文本位置标识符、该文本信息对应的文本键、以及该文本键在目标语言资源文件中对应的目标语言内容,生成所述文本位置标识符- 目标语言内容映射表。本具体实施方式正是巧妙地利用在语言资源文件中的文本键的唯一性和应用程序中的文本位置标识符的唯一性,从而可以找到文本信息对应的在目标语言资源文件中的目标语言内容,并基于此而生成所述文本位置标识符-目标语言内容映射表。至于具体如何生成所述文本位置标识符-目标语言内容映射表,本申请将通过下文具体实施方式来进行说明。
    生成所述文本位置标识符-目标语言内容映射表需要基于所述应用程序的文本信息的文本位置标识符、该文本信息对应的文本键、以及该文本键在目标语言资源文件中对应的目标语言内容。图5示出了本发明用于如何获知所述应用程序的文本信息的文本位置标识符的一个具体实施方式。在步骤501中,监听所述应用程序的加载。本领域技术人员理解,有各种现有技术手段来监听应用程序的加载,例如,对于网络web应用程序浏览器在DOM Tree的节点发生变化时会发布相应的事件,可以使用JavaScript脚本编程来订阅这些事件,并实现相应的处理逻辑,对于其他的界面程序,比如Java Swing实现的界面,同样可以在界面组件添加、更新和移除时发布相应的更新事件,因此也可以使用编程方式来订阅和处理这些事件,对于Windows操作系统,系统提供了动态链接库dll来渲染程序界面,实现中可以对这些dll暴露出的接口做封装,以添加需要的监听逻辑。在步骤503中,响应于文本节点添加到所述应用程序的对象结构描述文件,记录该文本节点在该对象结构描述文件中的路径信息。其中所谓路径信息是指某个文本信息在当前应用程序界面中的唯一标识,通过这个标识,应用程序可快速方便的定位文本在应用程序中的位置。在Web应用中,路径信息的实现形式可以是XPath(XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言)。其中对象结构描述文件是用来描述程序界面布局,各个组件位置和样式信息的数据结构。在Web应用中,对象结构描述文件实现形式是DOM Tree。在Android程序中,对象结构描述文件的实现形式是位于res\layout目录下的一系列XML文件。以Web应用程序为例,每一个页面的加载,其都对应生成一个对象结构描述文件,即文档对象化模型树DOM Tree(Document Object Model Tree)。由于本领域技术人员熟悉DOM Tree,在此对其不再赘述。图6示出了文本 节点“Anmelden”(“Anmelden”是该节点用德文表述的文本信息(内容))与其对应的DOM Tree的关联关系。在该DOM Tree,该文本节点“Anmelden”的路径信息为//*[@id=″pageTitle″],该路径信息在该DOM Tree是唯一的,同时也是全局唯一的。在步骤505中,将该路径信息确定为该文本节点的文本信息的所述文本位置标识符。由于该路径信息是全局唯一的,因此可以用其来表征该文本节点的文本信息的所述文本位置标识符,其表明了该文本信息在应用程序的结构中的位置。如此就获得了文本信息的文本位置标识符。
    优选地,可以进一步地确定该文本信息在语言资源文件中对应的全局唯一的文本键。图7示出了获得文字信息的文本键的具体实施方式。在步骤701中,基于该文本节点的文本信息,在源语言资源文件中查询该文本信息对应的文本键。正如在前面指出的,具体的语言资源文件中采用文本键与采用该语言表达的文本信息一一对应的映射方式构成。如果已经知道采用源语言表达的文本信息,就可以用该文本信息到该语言资源文件中寻找对应的文本键。一般而言,源语言资源文件和目标语言资源文件都可以从本地加载,或者从远端服务器获取并在本地加载,对于语言资源文件的部署本发明并没有特别的要求。在步骤703中,响应于查询到该文本键,记录该文本键。这样就获得该文本信息对应的文本键。
    优选地,图8示出了本发明建立所述文本位置标识符-目标语言内容映射表的具体实施方式。在步骤801中,基于所述文本信息对应的文本键,在目标语言资源文件中查询该文本键对应的目标语言内容。由于文本信息对应着全局唯一的文本键,而目标语言资源文件同样是采用文本键与用目标语言表达的该文本信息的方式构造的,因此可以采用文本键作为索引在语言资源文件中进行查询。在步骤803中,响应于查询到该目标语言内容,基于所述文本位置标识符和该目标语言内容建立所述文本位置标识符-目标语言内容映射表。在确定了文本位置标识符与目标语言内容的一一对应关系,就可以基于该一一对应关系,建立所述文本位置标识符-目标语言内容映射表的各个条目,从而形成所述文本位置标识符-目标语言内容映射表。优选地可以只对应用程序界面上的部分或者全部文本信息建立该映射表,也可以对应用程序的所有文本信息建立映射表。生成的映射表如表 1所示:
    表1

    一般而言,随着用户的相关操作,应用程序的对象描述结构文件会不停地发生变化。这时就需要对监听所述对象结构描述文件的变化,并且响应于所述对象结构描述文件中的文本节点发生变化,修改所述文本位置标识符-目标语言内容映射表。从而保证该映射表总是同步反应当前界面内容。其中所述修改所述文本位置标识符-目标语言内容映射表包括更新、添加和删除所述文本位置标识符-目标语言内容映射表中的条目。下面以Web应用程序为例,对如何修改所述条目进行说明:
    1.添加条目:
    在Web应用程序被浏览器加载时,随着DOM Tree的初始化,程序初始界面中使用的文本节点会被逐一创建。节点创建时,浏览器发布文本节点添加事件。通过订阅所有的文本节点添加事件,每当有节点创建时,就能够从浏览器发布的事件中,获取到此文本节点文本位置标识符。同时,还会在Javascript程序调用栈中读取到执行添加文本节点的程序上下文。从该上下文中,可以获取文本键,然后通过文本键,可以去查询目标语言资源文件,从而获取到该文本键对应的文本内容。有了文本位置标识符和目标语言文本内容后,就可以构造一条新的映射表条目。
    2.更新条目:
    在Web程序运行中,有些文本节点的内容是会不断变化的。比如,某个文本节点用来显示用户操作提示信息,那么每当用户有新的操作时都会更新 此文本节点的内容。节点内容更新时,浏览器同样会发布文本节点更新事件。通过订阅这些事件,每当有节点更新时,从浏览器发布的事件中,获取到此文本节点文本位置标识符。同时,还会在Javascript程序调用栈中读取到执行添加文本节点的程序上下文。从该上下文中,可以获取新的文本键,然后通过新文本键,去查询目标语言资源文件,从而获取到该新文本键对应的文本内容。有了文本位置标识符和新的目标语言文本内容后,就可以对此文本位置标识符对应的映射表条目进行更新。
    3.删除条目:
    在Web程序运行中,有DOM节点会被删除。比如,用户关闭了Web界面上的一个对话框,那么此对话框对应的DOM节点就需要从DOM树中移除,相应的映射表条目也需要移除。文本节点删除时,浏览器同样会发布文本节点删除事件。通过订阅这些事件,每当有文本节点删除时,从浏览器发布的事件中,获取到此文本节点文本位置标识符。有了文本位置标识符,就可以对此文本位置标识符对应的映射表条目进行删除。
    本领域技术人员基于本申请,也可以构思出对其它类型应用程序的所述映射表进行修改。
    图9示出了通过输入设备获取所述应用程序中的文本信息的文本位置标识符的具体实施方式。在步骤901中,监听预定的输入设备事件。以web应用程序为例,监听整个页面中所有DOM节点的onMouseOver,onMouseDown和onMouseUp等鼠标事件。本领域技术人员了解,对于其它输入设备也有对应的相关事件,在此不再赘述。在步骤903中,响应于用户选择所述文本信息,确定该文本信息的文本位置标识符。当用户用输入设备选择相关文本信息(用户的选择可以是鼠标悬停在该文本信息处、或者用鼠标点击或者双击该处等),则会有对应的输入设备事件产生,每当有对应事件发生时,浏览器会封装一个事件对象Event给事件处理程序。以鼠标点击为例,此事件对象中包含了鼠标点击的位置(clientX和clientY),点击位置所在的DOM节点对象(target)等信息。每个DOM节点对象可以获取其父节点(parentNode),直至顶级的文档对象。这样,通过事件对象封装的DOM节点对象,我们就可以获取用户选择的文本信息的文本位置标识符。另外对于其它非Web应用程序,在用户交互界面上也 往往采用类似于Web的事件驱动模型,比如Java Swing。同样有类似于事件对象,事件监听者,事件源的数据结构,因此这种方法是通用的。
    在上文中结合图5主要以web应用程序为例示出了如何获取应用程序的文本信息的文本位置标识符。图10、11则示出了如何获取应用程序的文本信息的文本位置标识符的另一个具体实施方式。在步骤1001中,基于所述应用程序的应用程序接口(API),获取应用程序的文本节点与应用程序的其它控件之间的继承关系。在步骤1003中,将所述继承关系确定为所述文本节点的文本信息的所述文本位置标识符。前面描述的是通过DOM Tree的文本路径来描述文本位置ID的方法,不仅仅适用于普通的Web应用开发,而且适用于所有用HTML技术来绘制用户交互界面的其它应用程序,典型的包括使用Web View控件实现的Android和iOS应用,以及一些支持HTML渲染的传统Java GUI(图形用户接口)控件。而对于早期不支持HTML的GUI控件,可以通过控件之间的继承关系来描述文本位置ID。如图11所示:在窗口1Window1中,每一个控件都有自己的标识ID。Window1控件内部包含一个标签导航Tab Navigation控件,此控件由3个标签面板tab panel构成,分别为项目1item1,项目1item2,项目1item3。Item1的内部又包含两个标签label,分别是标签1Label1,标签2Label2。那么,Label1的文本位置ID就可以采用:Window1ID+item1ID+Label1ID来唯一标识。同样可以按照上面介绍的方法建立起对应于Window1的文本位置标识符-目标语言内容映射表。当用户选择Label1的内容之后,鼠标事件被捕获。从鼠标事件对象中知道选择的文本信息当前位于Label1。通过GUI控件提供的API,可以得到控件之间的依赖关系为:Label1的容器是Item1,Item1的容器是Window1,这样就获得了Label1的文本位置标识符ID。通过文本位置ID以及所述文本位置标识符-目标语言内容映射表即可得到文本信息的目标语言的翻译。值得注意的是,当然对于Window1,也可以在其加载时,生成一个对象结构描述文件,而且同样也可以通过封装系统接口或者直接调用系统API来监听和响应于Window1内对象的改变,并对该对象结构描述文件以及所述文本位置标识符-目标语言内容映射表进行修改。
    图12示出了运用本发明的一个具体输出界面。所述文本信息是位于 应用程序的用户界面上的文本信息,通过将已翻译成目标语言的所述文本信息显示在所述用户界面上,从而可以帮助用户更好地使用或者测试该应用程序。图12采用的是在临近文本信息处,将对应翻译的目标语言内容以浮动标签显示。当然也可以采用在同一窗口中横向或者纵向分割显示,或者另起一个窗口显示,本领域技术人员基于本申请可以构思出各种适合的显示翻译内容的方式。
    图13示出了本发明用于翻译应用程序的文本信息的系统框架图。该用于翻译应用程序的文本信息的系统1300包括:运行装置1301,其被配置用于基于源语言运行所述应用程序;接收装置1303,其被配置用于接收将所述文本信息从源语言翻译成目标语言的请求;以及翻译装置1305,被配置用于响应于所述请求,获取所述应用程序的文本信息的文本位置标识符,并且根据文本位置标识符-目标语言内容映射表,将所述文本信息从源语言翻译成目标语言。上述装置的实现已经在上面通过多个具体实施方式进行了说明,在此不再赘述。
    优选地,系统1300还包括映射表生成装置,其被配置用于基于所述应用程序的文本言息的文本位置标识符、该文本信息对应的文本键、以及该文本键在目标语言资源文件中对应的目标语言内容,生成所述文本位置标识符-目标语言内容映射表。
    优选地,系统1300还包括:监听装置,被配置用于监听所述应用程序的加载;路径信息记录装置,被配置用于响应于文本节点添加到所述应用程序的对象结构描述文件,记录该文本节点在该对象结构描述文件中的路径信息;以及文本位置标识符确定装置,被配置用于将该路径信息确定为该文本节点的文本信息的所述文本位置标识符。
    优选地,系统1300还包括:继承关系获取装置,被配置用于基于所述应用程序的应用程序接口,获取应用程序的文本节点与应用程序的其它控件之间的继承关系;以及第二文本位置标识符确定装置,将所述继承关系确定为所述文本节点的文本信息的所述文本位置标识符。
    优选地,系统1300还包括:查询装置,被配置用于基于该文本节点的文本信息,在源语言的语言资源文件中查询该文本信息对应的文本键;以及文本键记录装置,被配置用于响应于查询到该文本键,记录该文本键。
    优选地,系统1300还包括:目标语言内容查询装置,被配置用于基于所述文本信息对应的文本键,在目标语言的语言资源文件中查询该文本键对应的目标语言内容;以及建立装置,被配置用于响应于查询到该目标语言内容,基于所述文本位置标识符和该目标语言内容建立所述文本位置标识符-目标语言内容映射表。
    优选地,系统1300还包括:变化监听装置,被配置用于监听所述对象结构描述文件的变化;修改装置,被配置用于响应于所述对象结构描述文件中的文本节点发生变化,修改所述文本位置标识符-目标语言内容映射表。
    优选地,其中所述应用程序为网络应用,所述对象结构描述文件为文档对象化模型树。
    优选地,其中所述获取所述应用程序中的文本信息的文本位置标识符还包括:事件监听装置,被配置用于监听预定的输入设备事件;以及文本位置标识符获得装置,被配置用于响应于用户选择所述文本信息,获得该文本信息的文本位置标识符。
    优选地,其中所述文本信息是位于应用程序的用户界面上的文本信息,所述系统1300还包括:显示装置,被配置用于将已翻译成目标语言的所述文本信息显示在所述用户界面上。
    优选地,所述翻译装置包括:检索装置,被配置用于用所述文本位置标识符在文本位置标识符-目标语言内容映射表检索对应的目标语言内容;以及翻译确定装置,被配置为响应于检索到所述目标语言内容,以该目标语言内容确定为所述文本信息的翻译结果。
    附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及 的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
    以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

    关 键  词:
    用于 翻译 应用程序 文本 信息 方法 系统
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:用于翻译应用程序的文本信息的方法和系统.pdf
    链接地址:https://www.zhuanlichaxun.net/p-4698332.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1