更改资源文件中的资源的方法和系统的制作方法

文档序号:6513572阅读:192来源:国知局
更改资源文件中的资源的方法和系统的制作方法
【专利摘要】一种在用户界面中呈现要更改的资源的上下文的方法和系统,该方法包括:获得资源文件中的至少一个资源与所述至少一个资源在用户界面中呈现的对象的对应关系;以及响应于要更改所述至少一个资源之一,根据所述对应关系在用户界面中呈现包括与要更改的所述资源对应的对象的区域。通过本发明的各个实施例,能够通过呈现用户界面中的对应对象来改善更改资源的准确性。
【专利说明】更改资源文件中的资源的方法和系统

【技术领域】
[0001]本公开涉及更改资源文件中的诸如文本、图片、音频和视频等的资源的技术,且更具体地,涉及通过在用户界面中呈现对应对象来改善更改资源(例如翻译文本)的准确性的技术。

【背景技术】
[0002]目前,越来越多的应用程序(或代码段)提供用户界面(User Interface,UI)来支持用户与应用程序的交互操作。应用程序中通常包括资源文件(或称程序集成信息(Program Integrated Informat1n, PII)文件),其包括字符、图片、音频、视频、等等。这些字符、图片、音频、视频、等等可以在程序运行时在GUI界面中呈现。资源文件可以包括在Java环境下的特性(Property)文件或json文件以及在Microsoft.NET环境下的资源文件(例如,.resx)等等。本领域技术人员很清楚资源文件的含义,在此不赘述。
[0003]为了满足例如应用程序在不同国家(地区)之间的本地化需求、不同版本之间的升级需求等等,有时需要更改资源文件内的资源。例如在本地化的情况下可能需要将资源文件内的要显示的文本内容更改(例如翻译)为当地的语言文字、或将具有文字或语言的图片、音频或视频更改(例如翻译)为具有当地的文字或语言,来使得当地的人也能看懂、听懂该软件并很好地使用该软件。而在版本升级的情况下,可能需要更改资源文件内的要显示的文本内容,还可能需要更改图片内容、要播放的音频内容和视频内容等。也就是说,资源文件中包括的资源可能经常被更改。
[0004]在这些情况下,目前工作人员通常仅针对资源文件本身进行这种更改而并不能了解其所更改的资源在GUI界面中的上下文环境,因此很可能造成错误或不适当的更改。例如,在本地化的情况下,通常,开发团队向不同的翻译中心发送打包的资源文件,翻译人员通常需要翻译该资源文件来适应当地的语言。但是,在翻译的过程中,翻译人员一般通过使用翻译编辑器来进行翻译,而在翻译编辑器中仅显示了其所翻译的资源文件中的可翻译文本本身,因此翻译人员只能基于该可翻译文本本身的词和句子来进行翻译,而无法了解其所翻译的词和句子在GUI界面中的上下文环境,因此很可能造成错误或不准确的翻译。例如,英文单词“run”可能翻译成“跑步”,也可能翻译成“运行”,如果不了解该英文单词呈现在GUI的什么地方以及其周围的上下文环境情况,就很可能翻译错误。


【发明内容】

[0005]本公开提供了一种能够在要更改资源期间在用户界面中呈现要更改的资源的上下文来改善更改资源的准确性的技术。
[0006]根据本公开的一个方面,提供一种在用户界面中呈现要更改的资源的上下文的方法,包括:获得资源文件中的至少一个资源与所述至少一个资源在用户界面中呈现的对象的对应关系;以及响应于要更改所述至少一个资源之一,根据所述对应关系在用户界面中呈现包括与要更改的所述资源对应的对象的区域。
[0007]根据本公开的另一方面,提供一种在用户界面中呈现要更改的资源的上下文的系统,包括:获得装置,被配置为获得资源文件中的至少一个资源与所述至少一个资源在用户界面中呈现的对象的对应关系;以及显示装置,被配置为响应于要更改所述至少一个资源之一,根据所述对应关系在用户界面中呈现包括与要更改的所述资源对应的对象的区域。
[0008]通过本发明的各个实施例,能够通过呈现用户界面中的对应对象来改善更改资源的准确性。

【专利附图】

【附图说明】
[0009]通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
[0010]图1示意性地示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。
[0011]图2示意性地示出了根据本发明的一个实施例的在用户界面中呈现要更改的资源的上下文的方法200的示例流程图。
[0012]图3A示意性地示出图2所示的方法中的获得资源文件中的至少一个资源与所述至少一个资源在用户界面中呈现的对象的对应关系的步骤S201的一个示例的具体流程图。
[0013]图3B示出在图3A所示的步骤S201中的步骤S2013的分析所呈现的用户界面的层次的分析结果的一个示例。
[0014]图4是示意性地示出图2所示的方法中的步骤S202的一个例子的示意图。
[0015]图5A示意性地示出以要资源是可翻译文本为例、图3A所示的用第一标识符来唯一地标识资源之前和之后的一个例子的示意图。
[0016]图5B示意性地示出以资源是可翻译文本为例、向可翻译文本对象分配第二标识符之前和之后的一个例子的示意图。
[0017]图5C是示意性地示出以资源是图片为例、向图片对象分配第二标识符之前和之后的一个例子的示意图。
[0018]图6A-6E是示意性地示出以资源是可翻译文本为例、根据本发明的一个实施例的在用户界面中呈现要更改的资源的上下文的方法的一个例子的具体步骤以及在用户界面上的显示的示意图:其中,图6A示意性地示出了向各个文本资源直接添加第一标识符之前和之后的代码的例子;图6B是示意性地示出向各个文本资源直接添加第一标识符和向各个对象分配第二标识符的过程中在用户界面上的显示的一个示意例子;图6C示意性地示出了记录阶段以及更改资源的更改阶段之间的关系的示意框图;图60示意性地示出了资源标识符-对象库和对象标识符-区域索引库的示意图;图6E示意性地示出在该情况下在用户界面中呈现包括与要更改的所述资源对应的对象的区域的一个例子。
[0019]图7A-7C是示意性地示出以资源是可翻译文本为例、根据本发明的一个实施例的在用户界面中呈现要更改的资源的上下文的方法的另一例子的在用户界面上的显示的示意图。
[0020]图8是示意性地示出根据本发明的另一实施例的在用户界面中呈现要更改的资源的上下文的系统的方框图。

【具体实施方式】
[0021]在附图中显示了本公开的一些优选实施方式,下面将参照附图更详细地描述这些优选实施方式。然而,可以以各种形式实现本公开,其不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0022]所属【技术领域】的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
[0023]可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0024]计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0025]计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限于一无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0026]可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言一诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0027]下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
[0028]也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)0
[0029]也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
[0030]图1示意性地示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0031]如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
[0032]总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
[0033]计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0034]系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示意性地示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如⑶-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0035]具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
[0036]计算机系统/服务器12也可以与一个或多个外部设备14 (例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口 22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示意性地示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
[0037]图2示意性地示出了根据本发明的一个实施例的在用户界面中呈现要更改的资源的上下文的方法200的示例流程图。
[0038]图2所示的在用户界面中呈现要更改的资源的上下文的方法200包括:步骤S201,获得资源文件中的至少一个资源与所述至少一个资源在用户界面中呈现的对象的对应关系;以及步骤S202,响应于要更改所述至少一个资源之一,根据所述对应关系在用户界面中呈现包括与要更改的所述资源对应的对象的区域。
[0039]在步骤S201中,可以获得资源文件中的至少一个资源与所述至少一个资源在用户界面中呈现的对象的对应关系。
[0040]首先,如上所述,在开发人员开发应用程序期间,通常会在所谓的“资源文件”(或称程序集成信息(Program Integrated Informat1n, PII)文件)中记录诸如文本(或字符)、图片、音频和视频等数据,以便日后在本地化或升级等等时可以直接更改要展示给用户的例如文本(或字符)、图片、音频和视频等。即,首先,资源文件中的资源可以包括文本、图片、音频和视频中的一种或多种。
[0041]资源文件在不同的编程环境下可能具有不同的名称或不同的格式。例如,Java环境下,资源文件体现为特性(Property)文件,其格式例如为“key=text characters”,其中Key表示特性文件中的一个“键”,而text characters则为该键的键值,在文本资源的情况下,则为文本资源的文本内容。在Windows环境下,资源文件通常体现为.resx文件。但是,无论在何种编程环境下,资源文件中的每个资源都可以被理解为对应于在应用程序运行时呈现在用户界面中的一个对象,例如在用户界面的某处展示的文本、图片、音频、视频等。实践中,这些文本、图片、音频、视频都可能在某种情况下(例如本地化或升级等)需要更改。
[0042]如上所述,资源文件中的每个资源可以被理解为对应于在应用程序运行时呈现在用户界面中的一个对象,因此可以通过各种方式获得资源文件中的各个资源与所述各个资源在用户界面中呈现的对象的对应关系。在一个例子中,可以获得已经记录的通过预定方式生成的所述对应关系。例如,在要更改所述至少一个资源之一时,可能事先已知这样的对应关系,例如在更改资源之前的开发阶段中可能已经保存了这样的对应关系,或者在仅一个资源和仅一个对象的情况下也很容易得知其两者是相互对应的,等等。在另一实施例中,如果没有先前已经记录的对应关系,则可以通过预定方式生成所述对应关系。
[0043]以下还将参考图3到图7讨论在本发明的一个实施例中的通过预定方式生成这种对应关系的几种示例方法。本领域技术人员可以理解,上述获得已经记录的通过预定方式生成的所述对应关系中的预定方式也可以采用下述具体的实现方式。
[0044]在步骤S202中,可以响应于要更改所述至少一个资源之一,根据所述对应关系在用户界面中呈现包括与要更改的所述资源对应的对象的区域。
[0045]在此,假设开发人员要更改一个资源,则可以在用户界面上看到包含与其要更改的资源对应的对象的区域,因此能够了解该对象周围的上下文环境。在一个例子中,该步骤S202还可以包括在该区域中突出地显示(例如,高亮、画框等等)与其要更改的资源对应的对象。在此注意,这种突出地显示与要更改的资源对应的对象可以在开发人员将鼠标放在要更改的资源上时、或者在开发人员用鼠标选中要更改的资源时、等等的表明开发人员想要更改该资源的情况。另外,注意,这种突出的显示也不是在时间上一定要与例如鼠标放在要更改的资源上的时刻完全同步,而是可以是异步的,本发明对此不予限制。
[0046]注意,本公开中的更改可以包括在本地化时用对文本、具有文字的图片、具有语言的音频和具有语言和文字的视频进行的翻译之后的资源来替换原始未翻译的资源,因此,本公开中的“更改”可以包括“翻译”的概念。因此,在本地化的情况下,该资源也可以包括如下中的一种或多种:可翻译文本;在画面上包含可翻译文本的图片;在语音中包含可翻译语言的音频;以及在语音中包含可翻译语言和/或在画面上包含可翻译文本的视频。由于通过翻译来进行本地化的情况比较普遍,因此本公开中大多以用于本地化的“翻译”来作为“更改”的一个例子,但是本发明不限于此,而是“更改”这些资源可以包括翻译这些资源,(除此之外的)用其他资源来替换原始资源,或在某种情况下删除这些资源,或添加一部分资源、等等。
[0047]如此,根据本发明的实施例,能够在要更改资源期间在GUI中呈现与要更改的资源相对应的对象,使得进行本地化或升级等的开发人员能够可视地看到与其要更改的资源相对应的在GUI中要实际显示的对象,进一步使得其能够了解该要更改的资源的上下文环境,从而改善更改资源的准确性。
[0048]如上所述,可以通过各种方式来获得资源和对象之间的对应关系。下面参考图3A和3B介绍一种简便且容易实施的方式来生成资源和对象之间的对应关系。但是,本发明不限于此,例如,对应关系可以事先已知,或者在不事先已知的情况下,本领域技术人员可以根据资源和对象之间的对应原理来构思其他方式来生成该对应关系。
[0049]图3A示意性地示出图2所示的方法中的获得资源文件中的至少一个资源与所述至少一个资源在用户界面中呈现的对象的对应关系的步骤S201的一个示例的具体流程图。图3B示出在图3A所示的步骤S201中的步骤S2013的分析所呈现的用户界面的层次的分析结果的一个示例。
[0050]如图3A所示,在该实施例中,获得资源与对象之间的对应关系的步骤S201可以包括:步骤S2011,用第一标识符来唯一地标识所述至少一个资源;步骤S2012,利用包含被标识后的至少一个资源的所述资源文件来在用户界面中呈现对象;步骤S2013,分析所呈现的用户界面的层次来找到与该第一标识符相关的对象,从而获得所述至少一个资源与对象的对应关系。
[0051]在步骤S2011中,可以用第一标识符来唯一地标识所述至少一个资源。在此,例如,在本地化的情况下,可以通过用例如翻译编辑器的包括资源查找能力的工具来遍历整个资源文件,来找到各个资源,然后由例如翻译编辑器来用第一标识符来唯一地标识这些资源。在此,翻译编辑器是现有技术中已知的用来进行本地化的工具,该工具可以方便地标出可翻译文本部分和不可翻译部分,并且能够对可翻译文本部分进行编辑,例如加入第一标识符、用翻译后的文本替换原有文本等。第一标识符可以由这种翻译编辑器产生和管理并在所述翻译编辑器中唯一地标识各个资源。当然,使用第一标识符来唯一地标识所述至少一个资源的工具也不限于翻译编辑器,实际上,可以采用其他例如txt文件、利用关键词搜索等机制来找到可翻译文本部分,并向其添加第一标识符等。
[0052]该第一标识符可以包括人为设定的标识符、资源的文件名(如果全局唯一的话)、资源的路径位置信息(例如URL或Xpath (XML路径语言),如果全局唯一的话)等等。该人为设定的第一标识符可以是各种形式。在一个实施例中,第一标识符可以包括特殊字符部分和标识部分。该特殊字符部分可以是例如“)}}}”等的区别于资源文件的正常文本内容和/或其他代码中可能出现的正常字符,这样可以在后续的查找过程中容易地找到属于第一标识符的字符。当然,该特殊字符部分也不限于“)}}} ”,本领域技术人员可以构思其他特殊字符。而标识部分可以是唯一地区别各个资源的字符串,例如用各自不同的数字、各自不同的字母、各自不同的字母数字组合、或者指示该资源的全局唯一的文件名或路径位置信息等等,只要能够用不同的标识部分来区分每个资源即可。在另一实施例中,第一标识符也可以包括仅标识部分。
[0053]当然,第一标识符也可以包括除了上述以外的形式,只要该第一标识符可以唯一地区分这些资源即可。例如,该第一标识符可以包括如下中的已知或多种:能够唯一地标识所述资源的其本身的文本内容;能够唯一地标识所述资源的其本身的文件名;以及能够唯一地标识所述资源的其本身的路径位置信息。而且,可以对于某些类型不同的资源,采用不同类型的第一标识符。例如,在所述至少一个资源包括文本的情况下,可以将所述第一标识符添加到所述资源的文本的内容中;在所述至少一个资源包括文本的情况下,可以设置所述资源本身的全局唯一的文本内容作为所述第一标识符;在所述至少一个资源包括文本、图片、音频和视频中的一种或多种的情况下,可以设置所述资源本身的全局唯一的文件名作为所述第一标识符;以及在所述至少一个资源包括文本、图片、音频和视频中的一种或多种的情况下,可以设置所述资源的本身的路径位置信息作为所述第一标识符,等等。注意,本发明不限制对同种资源必须采用相同类型的第一标识符,即可以对于某些资源采用特殊字符部分和标识部分的第一标识符,对于另外的资源采用全局唯一的文件名作为第一标识符、或对于再另外的资源采用全局唯一的路径位置信息作为第一标识符等等,只要这些所有第一标识符能够唯一地区分其所对应的资源即可。
[0054]在另一实施例中,所述第一标识符可以被设置为使得在利用资源文件来在用户界面中呈现这些对象的情况下,能够通过分析用户界面的层次来找到所述第一标识符。如此,在设置了第一标识符之后,可以通过在Π中呈现这些对象并找到第一标识符来得知哪个对象与该第一标识符有关,即哪个对象对应于该第一标识符所对应的资源。
[0055]另外,“标识所述至少一个资源”的方式也可以有很多种。在一个实施例中,在资源包括文本的情况下,可以将第一标识符添加到该文本资源的文本内容中。例如,对于资源是文本(例如,welcome)的情况,可以用例如“)}}} I”作为第一标识符,可以将第一标识符插入到文本的内容中,例如得到welcome)}}} I,来标识该文本(以下还将参考图5A进行详细描述),或者,如果文本的内容本身就是全局来说唯一的,例如文本内容本身就是互相不同的,也可以不用对该文本添加例如“)}}} I”的标识符,而将该文本内容本身作为该第一标识符;对于资源是图片的情况,图片通常具有文件名(例如baidu_jgylogo3.gif)或图片的路径位置信息(例如URL信息(统一资源定位符)、或Xpath (XML路径语言(XML Path Language))信息,同样,可以将如果全局唯一的文件名或路径位置信息直接作为第一标识符来唯一地标识图片资源,这样可以节省生成和加入第一标识符的时间和成本;当然也可以用另外生成的全局唯一的标识符来标识;同理,对于资源是音频或视频的情况,由于音频或视频通常具有文件名(例如I will always love you.mp3)或路径位置信息(例如URL信息(统一资源定位符)、或Xpath (XML路径语言(XML Path Language))信息),同样,可以将如果全局唯一的文件名或路径位置信息作为第一标识符来唯一地标识音频或视频资源,这样可以节省生成和加入第一标识符的时间和成本;当然也可以用另外生成的全局唯一的标识符来标识。另外,也可以通过在用户界面⑶I中不可见的字符、例如Unicode编码中的U+200B、U+200C或U+200D等字符来作为该第一标识符,使得用户在观看程序界面时不会看到这种添加的第一标识符。当然以上提到的包括特殊字符部分和标识部分的第一标识符、不可见标识符、利用文本内容、文件名或路径位置信息本身作为第一标识符的方式仅是示例,本领域技术人员也可以采用其他全局唯一的标识符来唯一地标识这些资源,在此不一一举例,只要使得在利用资源文件来在用户界面中呈现这些对象的情况下,能够通过分析用户界面的层次来找到这些第一标识符即可。
[0056]另外,在一个实施例中,在用第一标识符来唯一地标识所述至少一个资源之后,可以记录加入了这些第一标识符的资源文件,和/或另外记录这些第一标识符和对应的资源的对应关系,以便日后使用。这种记录不是本发明所必须的,不作为对本发明的限制。
[0057]在步骤S2012中,可以利用包含被标识后的至少一个资源的所述资源文件来在用户界面中呈现对象。现有技术中存在很多Π呈现引擎,来用资源文件在例如图形用户界面(Graphic User Interface,⑶I)中呈现这些对象,例如,在超文本标记语言(HypertextMarkup Language,HTML)程序的情况下,可以用一般的网页浏览器来呈现这些对象,在此不--赘述。
[0058]在步骤S2013中,可以分析所呈现的用户界面的层次来找到与该第一标识符相关的对象,从而获得所述至少一个资源与对象的对应关系。现有技术中存在很多GUI分析引擎来分析所呈现的用户界面的层次,例如但不限于,在HTML环境下,可以用文档对象化模型(Document Object Model,D0M)或文档对象化模型树(即,DOM Tree)(如图3B所不)来分析所呈现的HTML网页界面的源代码,可以得到体现了 HTML源代码的节点对象的树形结构。具体地,可以将网页的HTML结构通过浏览器进行解析,在内存中创建整个文档节点对象,然后从出现的第一个标记出发,按照HTML的层次结构一个一个拦截,在网页被装载到内存后,在内存中可以存在一个按照HTML结构形成的节点对象树状结构。当然,如何获得网页的HTML源代码以及DOM如何分析HTML网页和得到DOM Tree是本领域的公知技术,本领域技术人员也可以采用除了上述举例的方式以外的方式来得到反映这些对象及其层次的DOMTree (或未来可能出现的其他反映这些对象及其层次的数据结构)。在Java的环境下,也可以用已知的CTI分析引擎来获得对象的结构,在此不赘述。另外,全文中仅给出以Java和HTML为例的例子,但是本领域技术人员可以想象其他程序编程方式(或未来出现的编程方式),只要能够用用户界面来呈现这种程序(或代码段)即可,在此不一一举例。如图3B所示,可以看到通过⑶I分析引擎的分析结果是例如图3B所示的DOM Tree,其中包括根元素(Root element)、各个元素(Element)、元素的属性(Attribute)、和元素的文本(Text)。当然,该图3B所示的DOM Tree仅是示例,例如,DOM Tree也可以不通过树形结构,而是其他结构、例如平层结构、代码结构等等来示出用户界面上呈现的各个对象的结构关系,在此不一一举例。于是,很容易地可以通过⑶I分析引擎来找到在用户界面上呈现的各个对象,例如兀素〈Title〉、兀素〈a>等等。
[0059]然后,在得知了用户界面的层次以及这些对象之后,可以知道这些对象对应了哪个资源。
[0060]例如在资源是文本的情况下,如果向文本的内容本身加入了第一标识符,则在用户界面呈现了对象并进行了用户界面的层次分析之后,可以在用户界面上找到与该第一标识符相关的对象,即可以得知通过具有该第一标识符的该文本对应于哪个对象。例如由于对文本的内容添加了诸如上述的全局唯一的第一标识符“)}}} I”得到“welcome)}}} 1”,而在用户界面呈现了对象并进行了用户界面的层次分析之后,可以找到与该第一标识符“)}}} I”相关的对象的代码(例如HTML环境下的“<button>welcome)}}} I〈/button〉”或Java环境下的“ JButton:welcome)}}} I”),从而得到该Button对象是对应于被加入标识符“)}}} I”的该文本welcome的对象。另外,由于第一标识符中采用特殊字符“)}}}”作为前缀,还使得能够与其他代码进行区分,从而更准确地在用户界面的层次结构中找到该标识符。
[0061]再例如,在资源是图片的情况下,可以通过图片本身的全局唯一的文件名或路径位置信息或者对图片分配的全局唯一的标识符来在用户界面的层次结构中找到具有文件名或路径位置信息或者或该标识符的对象,从而可以得知该对象是对应于该图片的对象。具体地,在将图片的文件名作为第一标识符的情况下,在例如UI中呈现该图片时,用例如UI分析引擎分析该UI的层次可以得到包含该图片的文件名的代码,从而通过查找文件名的方式来找到对应于该图片的对象,这与向文本内容插入第一标识符的原理类似。而在将图片的路径位置信息作为第一标识符的情况下,在Π中呈现该图片时,用Π分析引擎分析该Π的层次可以通过该路径位置信息(因为路径位置信息在资源文件中和在GUI中相似)来定位一个对象作为与该图片资源对应的对象。这对于音频和视频的情况可以类似于图片的情况,在此不赘述。
[0062]如此,由于向至少一个资源添加了全局唯一的标识符,从而通过在呈现的⑶I的层次分析中找到该全局唯一的标识符,则可以容易地找到所述至少一个资源与对象的对应关系。
[0063]如此,根据图3A所示的各个步骤,可以容易地获得资源和对象之间的对应关系。
[0064]在此,在得知了资源与对象的对应关系之后,可以给对象分配第二标识符,该第二标识符可以与第一标识符相关联。例如,在一个实施例中,如上所述,该第一标识符可以包括特殊字符部分和标识部分,例如“)}}} 1”,则该第二标识符可以仅包括该标识部分,例如“ 1”,因为仅包括该标识部分已经可以起到唯一地区分的作用了,但是在其他实施例中该第二标识符也可以包括所有部分例如“)}}} I”。
[0065]而向对象分配第二标识符的方式也有多种,例如在一个实施例中使得对象的属性中嵌入该第二标识符(例如,在Java环境下JButton:welcomel (embedded_identity)和在HTML 环境下,〈button embedded_identity-< I ”〉welcome〈/button>),使得对象的属性包含该第二标识符,如下还将参考图4B的例子详细描述。当然,除了嵌入的方式,还可以采用例如已知的Xpath (XML路径语言(XML Path Language))对应于该第二标识符的方式来制定该界面对象,例如将位于路径、例如Xpath (Root/Panel-l/label-2)的该Button对象对应于第二标识符“I”。同理,对于文本、图片、音频或视频的对象都可以采用上述嵌入或Xpath的方式来被分配第二标识符。甚至,可以用该路径、例如Xpath (Root/Panel-l/label-2)直接作为第二标识符,因为其也是全局唯一的。除此之外,本领域技术人员也可以构思其他第二标识符,只要该第二标识符能够全局唯一地标识这些对象,且与第一标识符相关联。在此,该第二标识符与第一标识符相关联也可以存在多种方式,例如该第二标识符可以是第一标识符的标识部分,例如是第一标识符“)}}} I”中的“ 1”,或者该第二标识符可以与第一标识符完全相同,例如“)}}} 1”,或者,该第二标识符可以与第一标识符不同,但是第二标识符与第一标识符的对应关系被记录了,等等。本领域技术人员也可以构思其他方式使得第一标识符和第二标识符相关联。
[0066]图4是示意性地示出图2所示的方法中的步骤S202的一个例子的示意图。
[0067]参考图4,图2所示的方法中的步骤S202可以包括:步骤S2021,获得与所述要更改的资源的第一标识符相关的对象将呈现在用户界面中的哪一区域;以及步骤S2022,在用户界面中呈现所述区域。
[0068]由于在先前的步骤S201中向各个资源分配了唯一地标识其的第一标识符,因此可以响应于要更改所述至少一个资源之一,容易地获得所述要更改的资源的第一标识符。在此,“响应于要更改所述至少一个资源之一”可以包括响应于用户将鼠标放在要更改的资源上时、或者在用户用鼠标选中要更改的资源时、等等的表明用户想要更改该资源的情况。
[0069]在步骤S2021中,可以获得与所述第一标识符相关的对象将呈现在用户界面中的哪一区域。在此,该区域可以包括但不限于页面、界面、页面或界面中的一部分等等。由此,可以在用户界面中呈现包含了与要更改的资源所对应的对象的区域,可以使得操作人员看到要更改的资源所对应的对象的上下文,从而进行更准确的更改。
[0070]在一个实施例中,在步骤S202之前,在步骤S201中在用户界面中呈现了对象从而获得资源和对象的对应关系之后,可以将第一标识符和分配了第一标识符的资源以及与所述第一标识符相关的对象将呈现在用户界面中的哪一区域相关联地记录。如此,可以在上述步骤S202的该例子中、在获得所述要更改的资源的第一标识符和获得与所述第一标识符相关的对象将呈现在用户界面中的哪一区域期间使用该相关联的记录,从而能够更容易地获得要更改的资源的第一标识符、以及能够更容易地获得与要更改的资源对应的对象将呈现在用户界面中的哪一区域,以便仅需要在用户界面中呈现该区域,而不一定要呈现整个页面或界面或甚至所有页面或界面,从而可以节省呈现整个页面或所有页面的时间和成本。
[0071]然后,在步骤S2022中,可以在所述用户界面上呈现所述区域。如前所述,同样,在所述用户界面上呈现所述区域也可以包括在该区域中突出地显示与其要更改的资源对应的对象。在此,“突出地显示”可以包括高亮显示、划线显示、画框显示、颜色、字体、大小改变等等使得用户能够明显地看到的方式,如此可以使得用户更清楚地看到其要更改的资源对应的对象的位置。注意,这种突出的显示也不是在时间上一定要与例如鼠标放在要更改的资源上的时刻完全同步,而是可以是异步的,本发明对此不予限制。
[0072]如此,根据本发明的实施例,能够在要更改资源期间在Π中呈现与要更改的资源相对应的对象的上下文,使得进行本地化或升级等的开发人员能够可视地看到与其要更改的资源相对应的在Π中要实际显示的对象,进一步使得其能够了解该要更改的资源的上下文环境,从而改善更改资源的准确性。
[0073]以上描述了对各个资源分配第一标识符来唯一地标识这些资源的情况,有时,为了某种需要,还可以向各个对象分配第二标识符。具体地,在另一个实施例中,在步骤S201中得到对应关系之后,还可以移除所述第一标识符,并根据所述对应关系,向所述对象分配与对应的资源的第一标识符相关联的第二标识符。在其他实施例中,在步骤S201中,也可以不移除所述第一标识符,而仅根据所述对应关系,向所述对象分配与对应的资源的第一标识符相关联的第二标识符。本领域技术人员可以理解,移除第一标识符与分配第二标识符的操作之间没有特定的执行顺序,可以先后执行,也可以同时执行,先后执行时并不限制哪个操作在先执行。
[0074]所述第一标识符和第二标识符可以满足下述关系之一:所述第一标识符包括特殊字符部分和标识部分,而所述第二标识符包括所述第一标识符中的标识部分;所述第一标识符和所述第二标识符相同;以及所述第一标识符和所述第二标识符不同且相关联。当然,该第一标识符和第二标识符的关系不限于此。
[0075]在一个实施例中,所述第一标识符和所述第二标识符之一可以包括如下中的一种或多种:包含标识部分的字符串;包含特殊字符部分和标识部分的字符串;能够唯一地标识所述资源的其本身的文本内容;能够唯一地标识所述资源的其本身的文件名。
[0076]在一个实施例中,所述根据所述对应关系,向所述对象分配与对应的资源的第一标识符相关联的第二标识符的步骤可以包括如下中的至少一种:使得所述用户界面中的与所述至少一个资源对应的对象的属性包含所述第二标识符;以及使得所述用户界面中的与所述至少一个资源对应的对象的路径位置信息对应于所述第二标识符。
[0077]如此,向对象分配第二标识符可以带来一些好处,例如能够更精准地找到与资源所对应的对象的位置从而呈现包含该对象的区域或突出地显示该对象本身、能够替代第一标识符来消除有时由于在用户界面上呈现出第一标识符而带来的视觉干扰、能够更好地记录资源和对象的对应关系等等(稍后还将结合附图来详细描述该第二标识符的相关内容)。
[0078]例如,在给对象分配了第二标识符的情况下,在一个实施例中,上述在该区域中突出地显示与其要更改的资源对应的对象的步骤可以包括:分析所述区域的层次以找到与所述要更改所述至少一个资源之一的第一标识符相关的对象;以及在所述区域中突出地显示与所述要更改所述至少一个资源之一的第一标识符相关的对象。例如,在用户界面中呈现了包括与所述要更改的资源对应的对象的区域之后,还可以利用例如UI分析引擎(例如Dom Tree等)来找到该与要更改的资源对应的对象的具体位置,从而突出地显示(例如、高亮、画框等等)该对象,这样可以使得操作人员能够更清楚地看到其正在更改的那个资源所对应的对象是哪个、位于哪里,从而更清楚地看到该对象周围的上下文,以便进行更准确的更改。
[0079]下面参考图5A-5C来用具体例子来描述图3A中的用第一标识符来唯一地标识所述至少一个资源的步骤S2011的可视的示意图。
[0080]图5A示意性地示出以资源是可翻译文本为例、图3A所示的步骤S2011中用第一标识符来唯一地标识资源之前和之后的一个例子的示意图。
[0081]如前所述,在要更改的资源是可翻译文本的情况下,例如要进行本地化时需要对可翻译文本进行翻译时,可以在图3A所示的步骤S2011中,将第一标识符插入到该文本的内容中。注意,在此情况下,可以使用翻译编辑器来进行例如步骤S2011。
[0082]如图5A所示,在向可翻译文本插入第一标识符之前,在翻译编辑器中看到的包括该资源的值 value 的那一行代码是“〈Text locale=〃Not translated〃value=〃Translated"/>”。而在向可翻译文本插入第一标识符之后,包括该资源的值value的那一行代码变成“〈Text locale="Not translated"value="Translated)}}} 2"/>”,即插入了 “)}}} 2” 这个包括特殊字符部分“)}}} ”和标识部分“2”的第一标识符。本领域技术人员可以想象,在这样的插入第一标识符之后,在用包含该可翻译文本的该资源文件在GUI中呈现该文本时,将不再显示原来的“Translated”,而是显示“Translated)}}} 2”。因此,可以在⑶I中呈现该文本之后,可以通过分析⑶I的层次来找到该显示的文本内容“Translated)}}} 2”,从而得知该文本对象是与资源文件中的该文本资源“Translated”相对应的。
[0083]当然,上述仅是结合图5A示意性地示出了在资源是文本的情况下的用第一标识符来标识资源的一种方式。如上所述,还可以使用其他方式来标识资源,例如用全局唯一的文本内容本身来标识文本资源,利用图片资源的全局唯一的文件名或路径位置信息或另外设置的全局唯一的标识符来标识图片、音频或视频资源等等,在此不赘述。
[0084]图5B示意性地示出以资源是可翻译文本为例、向可翻译文本对象分配第二标识符之前和之后的一个例子的示意图。
[0085]如上所述,在用分配了第一标识符的资源文件来在⑶I中呈现这些对象以找到对象与资源的对应关系之后,可以根据所述对应关系,向所述这些对象分配与对应的资源的第一标识符相关联的第二标识符。通常,在一个实施例中,可以使得所述用户界面中的与所述至少一个资源对应的对象的属性包含所述第二标识符。参考图5B来示出使得对象的属性包含第二标识符的例子。
[0086]如图5B所示,在例如是Java环境且资源是文本的情况下,在分配第二标识符之前,Gn分析引擎(例如DOM Tree)分析得到的该CTI呈现的对象所在的那行代码是JButton:hello)}}} 2,这表示在⑶I中该对象将呈现“hello)}}} 2”,而在通过向该对象的属性插入第二标识符来分配第二标识符之后,该GUI呈现的对象所在的那行代码是:
[0087]JButton:hello
[0088]2(embedded_identity)
[0089]S卩,在该例子中,可以移除文本资源中添加的第一标识符(即该文本资源的将显示的内容仍然是“hello”),而仅将第一标识符中的标识部分“2”保留为第二标识符,且将第二标识符“2”嵌入到该button对象的属性中,即如上所述地第二标识符仅包括第一标识符的标识部分。这样做可以使得在GUI中显示该对象时不会显示带有任何标识符的对象导致视觉的干扰,而是正常地显示该对象,但是实际上该第二标识符已经嵌入到对象的属性中了,在后续的对诸如文本的资源进行更改(例如翻译)的情况下可以利用该嵌入了第二标识符的对象的属性进行在GUI中的该对象的呈现。
[0090]如图5B所示,在例如HTML环境且资源是文本的情况下,在分配第二标识符之前,⑶I分析引擎分析得到的该对象所在的那行代码是<button>hello)}}} 2</button>,这表示在⑶I中该对象将呈现“hello)}}}2”,而在通过向该对象的属性插入第二标识符来分配第二标识符之后,该⑶I呈现的对象所在的那行代码是:〈button embedded.1dentity=“2”>hello〈/button>。S卩,在该例子中,可以移除文本资源中添加的第一标识符(即该文本资源的内容仍然是“hello”),而仅将第一标识符中的标识部分“2”保留为第二标识符,即如上所述地第二标识符仅包括第一标识符的标识部分,且将第二标识符“2”嵌入到该button对象的属性中。
[0091]这样做可以使得在⑶I中显示该对象时不会显示带有任何标识符的对象,而是正常地显示该对象(例如,该button对象将被显示为“hello”),但是实际上该第二标识符已经嵌入到对象的属性中了,在后续的对诸如文本的资源进行更改(例如翻译)的情况下可以利用该嵌入了第二标识符的对象的属性进行在GUI中的该对象的呈现。
[0092]图5C是示意性地示出以资源是图片为例、向图片对象分配第二标识符之前和之后的一个例子的示意图。
[0093]在该例子中,在例如HTML环境且资源是图片的情况下,在分配第二标识符之前,⑶I分析引擎分析得到的该⑶I呈现的对象所在的那行代码是例如〈src Img=-1og0.gif〃/>,这表示在⑶I中该对象将呈现文件名是logo, gif这个图片,而在分配第二标识符之后,该GUI呈现的对象所在的那行代码是:<src identity=’ 10,img=〃log0.gif"/〉。即,将第二标识符“10”嵌入到该图片对象的属性中。这样做可以使得在GUI中显示该对象时不会显示带有任何标识符的对象,而是正常地显示该对象,但是实际上该第二标识符已经嵌入到对象的属性中了,在后续的对诸如文本的资源进行更改(例如翻译)的情况下可以利用该嵌入了第二标识符的对象的属性进行在GUI中的该对象的呈现。
[0094]除了图5B和5C所示的向对象的属性嵌入第二标识符的例子以外,对于图片、音频或视频对象,也可以通过利用对象的路径位置信息、例如Xpath (div-central/p-lg/src)来与第二标识符“ 10”进行对应以达到对该对象分配第二标识符的目的(在此可以将该路径位置信息与第二标识符的对应关系记录起来,以便日后查找,但这不是本发明必须的,不构成对本发明的限制),或者直接利用该路径位置信息作为第二标识符等等,只要通过该第二标识符能够唯一地找到该对象即可。当然,除了利用对象的属性和路径位置信息(例如,Xpath)以外,本领域技术人员还可以构思其他方式来达到向对象分配第二标识符的目的,只要能够通过该第二标识符来唯一地定位该对象即可。
[0095]这样,通过示例的方式以Java和HTML以及资源是文本和图片为例,进行了用第一标识符标识资源以及向与资源对应的对象分配第二标识符的示意描述。但是,本发明不限于此,如上所述,本领域技术人员可以构思针对其他程序编程方式、和/或针对其他资源类型来进行用第一标识符标识资源以及向与资源对应的对象分配第二标识符的步骤,在此不赘述。
[0096]这样,可以容易地获得各个资源与要在⑶I上呈现的这些对象之间的对应关系,以便于日后要更改资源时进行对应对象在⑶I上的突出显示。
[0097]下面结合图6A-6E来描述以资源是可翻译文本为例、根据本发明的一个实施例的在用户界面中呈现要更改的资源的上下文的方法的一个例子的具体步骤以及在用户界面上的显示的示意图。
[0098]图6A示意性地示出了向各个文本资源直接添加第一标识符之前和之后的代码的例子。
[0099]在该例子中,资源是可翻译文本,例如“Chinese”、“Danish”、“French”、“Title”等等。顺带提及,翻译编辑器能够自动标出可翻译文本和不可翻译文本(例如图6A中的“LoCale”、“/Label”等等),因此在此可以不需要另外的区分可翻译文本和不可翻译文本的步骤,而如果使用另外的编辑器例如txt等,则可以使用一定的策略来区分可翻译文本和不可翻译文本,例如,通过排除编程语法规则的文本来区分出可翻译文本。但这不是限制,本领域技术人员可以构思其他方式来区分出可翻译文本。这些可翻译文本可能要在本地化时被翻译。
[0100]在步骤S2011中,例如由于资源是文本,因此在一个实施例中,可以采用向文本资源的内容直接添加第一标识符(例如,“ {{{{51”)的方式唯一地标识了这些文本资源。可参考图6A,可见,文本资源“Chinese”的文本内容在插入第一标识符之前为“Chinese”,而在插入第一标识符之后变为“Chinese {{{{51",文本资源“Danish”的文本内容在插入第一标识符之前为“Danish”,而在插入第一标识符之后变为“Danish {{{{52”,等等。
[0101]图6B是示意性地示出向各个文本资源直接添加第一标识符和向各个对象分配第二标识符的过程中在用户界面上的显示的一个示意例子。
[0102]接下来,在步骤S2012中,可以利用包含被标识后的至少一个资源的所述资源文件来在用户界面中呈现对象,从而获得图6B左侧所示的用户界面,可见,这些对象、例如“ChineSe”、“DaniSh”、“French”、“Title”等所显示的内容是添加了第一标识符的文本内容,例如 “Chinese {{{{51 ”、“Danish {{{{52,,、“French {{{{53,,、“Title {{{{15,,等。
[0103]因此,在步骤S2013中,可以分析所呈现的用户界面的层次来找到与所述第一标识符相关的对象,从而获得所述至少一个资源与对象的对应关系。具体地,在一个实施例中,可以通过CTI分析引擎分析所呈现的图6B左侧的用户界面的层次,可以得到例如“ JLabel {text: Chinese {{{{51}"的元素,从而很容易找到该带有特殊字符部分“ {{{{”的第一标识符“{{{{51”,从而得知该带有第一标识符“{{{{51”的Text对象是与文本资源“Chinese”所对应的对象。
[0104]如前所述,在另一实施例中,还可以根据所述对应关系,向所述对象分配与对应的资源的第一标识符相关联的第二标识符。在该例子中,可以移除所述第一标识符,并根据所述对应关系,向所述对象分配与对应的资源的第一标识符相关联的第二标识符。具体地,如上所述,可以通过移除文本资源“Chinese”中添加的第一标识符“ {{{{51”,而仅将第一标识符“ {{{{51”中的标识部分“51”保留为第二标识符,且将第二标识符“51”嵌入到该text对象的属性中,例如如图 6B右侧所不JLabel {text:Chinese; segment_identity:51} ”(即该文本资源的内容仍然是“Chinese”,如图6B右侧所示)。
[0105]这样做可以使得在⑶I中显示该文本对象时不会显示带有任何标识符的对象而导致视觉干扰,而是正常地显示该文本对象(例如,该Chinese对象被显示为“Chinese”),其中,该第二标识符已经嵌入到文本对象的属性中了,在后续的该文本资源进行更改(例如翻译)的情况下可以利用该嵌入了第二标识符的对象的属性进行在GUI中的该对象的呈现。
[0106]另外,如上所述,在一个实施例中,在呈现对象之后还可以进行记录阶段。由于在呈现对象时也得知了资源所对应的对象在用户界面中的呈现情况和位置,因此该记录阶段可以将第一标识符和分配了第一标识符的资源以及与所述第一标识符相关的对象将呈现在用户界面中的哪一区域相关联地记录。
[0107]另外,在向对象分配的第二标识符的情况下,该记录阶段也可以包括将第二标识符和指示分配了第二标识符的对象将呈现在用户界面中的哪一区域相关联地记录,以便日后在更改阶段中响应于更改资源,可以很容易地得知该资源所对应的对象将被呈现在用户界面中的哪一区域(例如,在HTML下的哪一页面或哪一页面的哪个部分),从而仅呈现该区域(例如该HTML页面或该页面的一部分)来减少呈现的面积,节省时间和成本。
[0108]在另一实施例中,如果在分配第二标识符期间,从资源中移除了第一标识符(例如,先前所述的移除了第一标识符“ {{{{51”,仅在对象的属性中添加第二标识符“51”),在记录阶段中,还可以将第一标识符和分配了第一标识符的资源相关联地记录,以便日后在更改阶段中响应于更改资源而进行GUI中的对象的呈现时通过要更改的资源来得到该资源所对应的第一标识符。
[0109]另外,由于第二标识符与第一标识符是相关联的,因此上述这些记录还可以彼此相关联地被一起记录。
[0110]图6C示意性地示出了上述记录阶段以及更改资源的更改阶段之间的关系的示意框图。
[0111]如图6C所示,在左侧的记录阶段中,在将目标应用程序进行代码捕获和用GUI分析引擎进行用户界面分析之后,可以将第一标识符、分配了第一标识符的资源和对应的对象相关联地记录在资源标识符-对象库好,还可以(在分配了第二标识符的情况下)将第二标识符和指示分配了第二标识符的对象将呈现在用户界面中的哪一区域相关联地记录在对象标识符-区域索引库中,且可以将第一标识符和分配了第一标识符的资源相关联地记录在资源标识符库中。这些库还可以被相互关联地(与其他元数据一起)记录在一个元数据库中。而在右侧的更改阶段中,响应于要更改某一资源,例如要翻译某一可翻译文本,则可以参考该资源标识符-对象库、或资源标识符库和对象标识符-区域索引库(以下还将参考图6E来描述如何参考这些库来进行更改阶段)。
[0112]注意,由于如上所述对象的第二标识符和资源的第一标识符之间具有相关联的关系,因此通过任一第一标识符,可以利用例如资源搜索引擎在资源标识符库中找到相应资源,也可以在对象标识符-区域索引库中,找到与第一标识符相关联的第二标识符所对应的对象,以及该对象所处的GUI中的区域等等相关信息。另外,该记录阶段中记录的这些库可以在分配完第二标识符之后统一建立,也可以在获得要记录的信息时立即建立,在本公开不对此进行限制。
[0113]图6D示意性地示出了资源标识符-对象库、资源标识符库和对象标识符-区域索引库的不意图。
[0114]作为一个例子而非限制,在图6D所示的资源标识符-对象库中,左侧一列是资源的第一标识符,而第二列是各个资源,第三列是各个对象,右侧一列是对应的对象区域。如此,可以容易地通过要更改的某一资源来直接查找到并呈现包括与该要更改的资源对应的对象的区域。在没有向对象分配第二标识符的情况下,单独的该资源标识符-对象库已经可以有助于呈现包括要更改的资源对应的对象的区域了。
[0115]作为一个例子而非限制,在图6D所示的资源标识符库中,左侧一列是资源的第一标识符,而右侧一列是各个资源。如此,可以容易地通过要更改的某一资源来查找到第一标识符,或反之亦然。该资源标识符库通常与如下对象标识符-区域索引库结合使用。
[0116]作为一个例子而非限制,在图6D所示的对象标识符-区域索引库中,最左侧一列是⑶I区域号,即将在⑶I中呈现的区域1、区域2、区域3等等,而第二列是⑶I区域名称,即区域I对应于Welcome区域,区域2对应于Welcome#l (这是welcome区域的delta改变,以下还将描述)等等,第三侧是在该区域上的各个对象,最右侧一列是在该区域上的这些对象的第二标识符列表(如果分配了第二标识符的情况下),即在区域I (即,Welcome界面)上,存在四个对象,其第二标识符分别为1、2、5、6,在区域2 (即WelCOme#l界面)上,存在两个对象,其第二标识符分别为3、5。如此,可以容易地通过第二标识符查找到对象所处的区域号,或反之亦然。
[0117]通过记录资源标识符-对象库、或资源标识符库和对象标识符-区域索引库,能够在后续的更改阶段中加快查找资源所对应的对象并呈现对象所在界面的速度。
[0118]另外,上述“Delta改变”指的是,对于存在⑶I的某一区域动态改变的情况,还可以用⑶I改变监听器(⑶I change event listener)来捕获该区域的这些改变,并将其记录为Delta改变,并在对象标识符-区域索引库中记录这种Delta改变区域以及该区域上的这些对象的第二标识符。当然,该“Delta改变”不是必须的,不对本发明构成限制。
[0119]另外,在之后的更改阶段中,可以对上述资源标识符-对象库、或资源标识符库和对象标识符-区域索引库进行更新。例如,响应于更改了至少一个资源之一,可以用另外的第一标识符来唯一地标识更改后的资源,和/或可以根据所述更改后的资源与对象的对应关系,向所述更改后的资源所对应的对象分配与所述另外的第一标识符相关联的另外的第二标识符。这样做可以为每次更改的对象也分配第二标识符来使得日后也可以容易地通过第二标识符找到更改了的对象。注意,也可以在先前的任何阶段生成上述库以节省时间,且生成这些库还可以使得在开发者之间方便地共享和管理这些库。
[0120]图6E示意性地示出在该情况下在用户界面中呈现包括与要更改的所述资源对应的对象的区域的一个例子。
[0121]如图6E所示,在图4所示的步骤S2021中,可以响应于要更改所述至少一个资源之一,获得所述要更改的资源的第一标识符。在本实施例的情况下,例如,当进行本地化的翻译人员想要对资源文件中的一个文本(例如“Chinese”)进行翻译时,他/她可能将鼠标插入到该文本上,在该情况下,在步骤S2021中,能够通过各种方式(例如,在从资源中移除了第一标识符例如“ {{{{51”的情况下,通过查找图6D所示的资源标识符-对象库或资源标识符库)获得该文本资源所对应的第一标识符(例如如前所述的“{{{{51”)。在另一实施例中,如果该文本中仍然添加了该第一标识符“ {{{{51”(即,在向对象分配第二标识符时没有移除原来添加的该第一标识符),可以通过直接查找该文本中的特殊字符部分“)}}} ”或“{{{{”,来得知该文本中哪些是第一标识符,而不需要查找图6D所示的资源标识符-对象库或资源标识符库。
[0122]在步骤S2022中,可以获得与所述第一标识符相关的对象将呈现在用户界面中的哪一区域。
[0123]该区域可以是以页面为单位的,在该情况下,在该步骤的一个实施例中,在程序(或代码段)仅包括一个页面的情况下,可以直接在⑶I中呈现包括例如文本资源“Chinese”的该页面而不需要知道该对象处于该页面中的哪个部分。在另一实施例中,在程序(或代码段)包括多个页面的情况下,也可以通过如上所述记录的资源标识符-对象库来得知该对象处于哪个页面,从而以页面为单位呈现该页面。
[0124]该区域可以是以比页面更小的部分为单位的。在该情况下,可以将各个页面划分为若干区域,并对其编号且记录。如此,在一个实施例中,可以通过如上所述的资源标识符-对象库来找到与要更改的资源的第一标识符“{{{{51”相关联的对象的区域号,或通过资源标识符库和对象标识符-区域索引库,来通过文本资源“Chinese”的第一标识符“ {{{{51”来根据资源标识符找到相关联的第二标识符“51”,并根据对象标识符-区域索引库找到该第二标识符所对应的对象“Chinese”将呈现在哪一个区域,在此,假设将呈现在区域1,则在⑶I中呈现该区域1,如图6E的右侧所示。
[0125]在步骤S2023中,可以在用户界面中呈现所述区域。如此,可以使得操作人员看到该包含要更改的资源所对应的对象“Chinese”的区域(如图6E的右侧所示)。另外,如上所述,可以在该区域中突出地显示该对象“Chinese”以便操作人员更清楚地看到。在本实施例的情况下,如图6B的右侧所示,在找到第二标识符“51”与第一标识符“ {{{{51”相关联之后,可以在界面上突出显示(在该例子中,用红框圈出)分配了该第二标识符“51”的对象,即对象Chinese。
[0126]如上所述,在一个实施例中,在得知了资源与对象的对应关系之后,可以给对象分配第二标识符,该第二标识符可以与第一标识符相关联。在该情况下,在该骤S2023中在呈现的区域中突出地显示对象期间,可以分析所呈现的区域的层次以找到与所述第一标识符相关联的第二标识符。在本实施例的情况下,例如,如图6E的右侧所示,通过分析所呈现的区域的层次,可以得到序列化后的Jframe和元数据,即可以得到这些对象和其属性列表(例如图6 B所示的segment_identity_list)等信息。从对象的属性信息列表中可以找到第二标识符“51”与第一标识符“ {{{{51”相关联,从而找到分配了该第二标识符“51”的对象“Chinese”的具体位置,并进行突出显示。
[0127]接下来,进行本地化的翻译人员或者进行升级的开发人员等等可以在更改资源期间看到其要更改的资源将在GUI中显示的对象所处的上下文环境、甚至可以明显地看到其所要更改的资源所对应的对象本身,从而可以更准确地进行翻译或升级。例如,在该例子中,翻译人员可以看到突出显示的文本“Chinese”是与其他语言类型“DaniSh”、“FrenCh”等以及旁边的指示文章属性的“Title”、“Auth0r”等,可以推测该文本“Chinese”指的是语言类型,即“中文”,而非“中国人”,因此翻译人员可以更准确地将该文本资源“Chinese”更改(或翻译)为文本“中文”。
[0128]如此,进行本地化的翻译人员或者进行升级的开发人员等等操作员可以在更改资源期间看到其要更改的资源将在GUI中显示的对象所处的上下文环境,从而可以更准确地进行翻译或升级。
[0129]图7A-7C是示意性地示出以资源是可翻译文本为例、根据本发明的一个实施例的在用户界面中呈现要更改的资源的上下文的方法的另一例子的在用户界面上的显示的示意图。
[0130]如图7A所示,在用不同第一标识符来表示这些可翻译文本资源(例如,“Adddeliverables to D0U”等)之前,在翻译编辑器中看到的包括该资源的值的那一行代码是“dou.dig.addtodou.title=Add deliverables to D0U”。而在向可翻译文本插入第一标识符之后,包括该资源的值的那一行代码变成“dou.dig.addtodou.title=Add deliverablesto DOU {{{001 ”,即插入了“ {{{001”这个包括特殊字符部分“{{{,,和标识部分“001”的第一标识符。
[0131]如图7B左侧所示,在这样的插入第一标识符之后,在用包含该可翻译文本的该资源文件在⑶I中呈现该文本时,将不再显示原来的“Add deliverablesto DOU”,而是显示“Add deliverables to D0U{{{001,,。因此,可以在GUI中呈现该文本之后,可以通过分析⑶I的层次来找到该显示的文本内容“Adddeliverables to DOU {{{001”,从而得知该文本对象是与资源文件中的该文本资源“Add deliverables to D0U”相对应的。
[0132]然后,从可翻译文本“Add deliverables to DOU {{{001”中移除添加的第一标识符“ {{1001”,而仅将第一标识符“ {{{001”中的标识部分“001”保留为第二标识符,且将第二标识符“2”嵌入到该可翻译文本对象的属性中,如图7B右侧所示。
[0133]接下来,可以如上所述将第二标识符和指示分配了第二标识符的对象将呈现在用户界面中的哪一区域相关联地记录在对象标识符-区域索引库中,且可以将第一标识符和分配了第一标识符的资源相关联地记录在资源标识符库中。
[0134]接下来,如图7C所示,响应于翻译人员要翻译可翻译文本“Adddeliverables toD0U”,可以通过如上所述的资源标识符库和对象标识符-区域索引库,来根据文本资源“Add deliverables to D0U”的第一标识符“ {001”找到相关联的第二标识符“001”,并通过对象标识符-区域索引库找到该第二标识符所对应的对象“Add deliverables to DOU”将呈现在哪一个区域,在此,假设将呈现在区域I,则在⑶I中呈现该区域1,如图7C的右侧所示。
[0135]接下来,可以分析所述界面的层次以找到该第二标识符“001”。
[0136]在找到第二标识符“001”之后,可以在界面上突出显示(在该例子中,用红框圈出)分配了该第二标识符“001”的对象,即对象“Add deliverables to DOU”。
[0137]如此,进行本地化的翻译人员或者进行升级的开发人员等等操作员可以在更改资源期间看到其要更改的资源将在GUI中显示的对象所处的上下文环境,从而可以更准确地进行翻译或升级。
[0138]注意,在此,翻译人员用于更改资源文件的工具不限于现有的翻译编辑器工具、资源文件编辑工具、可扩展标记语言文档(Extensible Markup Language, XML)、TXT等等,在此不将其作为对本发明的限制。另外,以上仅以Java和HTML程序为例对本公开中的各个步骤进行了描述,但是本领域技术人员可以理解,对于其他能够呈现用户界面的程序(或代码段)或可以形成用户界面其他任何形式的字符集都可以适用于本发明。
[0139]注意,上述说明的各个步骤有时不一定按时间顺序执行,而是它们可以在时间上改变执行的顺序,除非后面的步骤必须使用前面的步骤得到的结果时才按先后顺序执行。
[0140]图8是示意性地示出根据本发明的另一实施例的在用户界面中呈现要更改的资源的上下文的系统800的方框图。
[0141]如图8所示,该系统800包括:获得装置801,被配置为获得资源文件中的至少一个资源与所述至少一个资源在用户界面中呈现的对象的对应关系;以及显示装置802,被配置为响应于要更改所述至少一个资源之一,根据所述对应关系在用户界面中呈现包括与要更改的所述资源对应的对象的区域。
[0142]在一个实施例中,在该系统800中,所述获得装置801可以包括:如下中的一种:对应关系获得模块8011(图中未示出),被配置为获得已经记录的通过预定方式生成的所述对应关系;以及对应关系生成模块8012 (图中未示出),被配置通过预定方式生成所述对应关系。
[0143]在一个实施例中,该预定方式包括:用第一标识符来唯一地标识所述至少一个资源;利用包含被标识后的至少一个资源的所述资源文件来在用户界面中呈现对象;分析所呈现的用户界面的层次来找到与所述第一标识符相关的对象,从而获得所述至少一个资源与各个对象的对应关系。
[0144]在一个实施例中,该系统800还可以包括:记录装置803 (图中未示出),被配置为将第一标识符和分配了第一标识符的资源以及与所述第一标识符相关的对象将呈现在用户界面中的哪一区域相关联地记录。在该实施例中,所述呈现装置802可以被配置为:获得与所述要更改的资源的第一标识符相关的对象将呈现在用户界面中的哪一区域;在用户界面中呈现所述区域。
[0145]在一个实施例中,该系统800还可以包括移除装置(图中未示出),该移除装置可以被配置为:移除所述第一标识符,并根据所述对应关系,向所述对象分配与对应的资源的第一标识符相关联的第二标识符。
[0146]在一个实施例中,在该系统800中,所述用第一标识符来唯一地标识所述至少一个资源的装置8011可以设置所述第一标识符为使得在利用资源文件来在用户界面中呈现对象的情况下,能够通过分析用户界面的层次来找到所述第一标识符的装置。
[0147]在一个实施例中,所述第一标识符和第二标识符可以满足下述关系之一:所述第一标识符包括特殊字符部分和标识部分,而所述第二标识符包括所述第一标识符中的标识部分;所述第一标识符和所述第二标识符相同;以及所述第一标识符和所述第二标识符不同且相关联。
[0148]在一个实施例中,在该系统800中,所述第一标识符可以包括如下中的一种或多种:包含标识部分的字符串;包含特殊字符部分和标识部分的字符串;能够唯一地标识所述资源的其本身的文本内容;能够唯一地标识所述资源的其本身的文件名;以及能够唯一地标识所述资源的其本身的路径位置信息。
[0149]所述移除装置(未示出)还可以被配置为在根据所述对应关系,向所述对象分配与对应的资源的第一标识符相关联的第二标识符期间进行如下中的至少一种:使得所述用户界面中的与所述至少一个资源对应的对象的属性包含所述第二标识符;以及使得所述用户界面中的与所述至少一个资源对应的对象的路径位置信息对应于所述第二标识符。
[0150]在一个实施例中,在该系统800中,在用第一标识符来唯一地标识所述至少一个资源期间,可以进行如下中的一种或多种:在所述至少一个资源包括文本的情况下,将所述第一标识符添加到所述至少一个资源的文本的内容中;在所述至少一个资源包括文本的情况下,设置所述资源本身的全局唯一的文本内容作为所述第一标识符;在所述至少一个资源包括文本、图片、音频和视频中的一种或多种的情况下,设置所述资源本身的全局唯一的文件名作为所述第一标识符;以及在所述至少一个资源包括文本、图片、音频和视频中的一种或多种的情况下,设置所述资源的本身的路径位置信息作为所述第一标识符。
[0151]在一个实施例中,在该系统800中,所述第一标识符可以包括特殊字符部分和标识部分,而所述第二标识符可以包括所述第一标识符中的标识部分。在一个实施例中,在该系统800中,所述第一标识符和所述第二标识符可以相同。
[0152]在个实施例中,在该系统800中,所述资源可以包括文本、图片、首频和视频中的一种或多种。
[0153]在一个实施例中,在该系统800中,所述资源可以包括如下中的一种或多种:可翻译文本;在画面上包含可翻译文本的图片;在语音中包含可翻译语言的音频;以及在语音中包含可翻译语言和/或在画面上包含可翻译文本的视频。
[0154]在一个实施例中,在该系统800中,所述用第一标识符来唯一地标识所述至少一个资源的装置8011可以包括翻译编辑器。其中,所述第一标识符由所述翻译编辑器产生和管理并在所述翻译编辑器中唯一地标识各个资源。
[0155]在一个实施例中,在该系统800中,利用包含被标识后的至少一个资源的所述资源文件来在用户界面中呈现对象的装置8012、在用户界面中呈现包括所述要更改的资源的界面的装置8022以及在所述界面上突出显示被分配了所述第二标识符的对象的装置8025之一可以包括⑶I呈现引擎。
[0156]在一个实施例中,在该系统800中,所述分析所呈现的用户界面的层次来找到与所述第一标识符相关的对象,从而获得所述至少一个资源与对象的对应关系的装置8013和分析所述界面的层次以找到与所述第一标识符相关联的第二标识符的装置8023之一可以包括⑶I分析引擎。
[0157]在一个实施例中,在该系统800中,响应于要更改所述至少一个资源之一,获得所述要更改的资源的第一标识符的装置8021可以包括资源搜索引擎。
[0158]在一个实施例中,所述呈现装置802还可以被配置为:分析所述区域的层次以找到被分配了与所述要更改的资源的第一标识符相关联的第二标识符的对象;以及在所述区域中突出地显示所述被分配了与所述要更改的资源的第一标识符相关联的第二标识符的对象。
[0159]在一个实施例中,在该系统800中,还可以包括更新装置804 (图中未示出),其响应于更改了所述至少一个资源之一,用另外的第一标识符来唯一地标识更改后的资源,并根据所述更改后的资源与对象的对应关系,向所述更改后的资源所对应的对象分配与所述另外的第一标识符相关联的另外的第二标识符。
[0160]如此,根据上述各个实施例,能够在要更改资源期间在GUI中呈现与要更改的资源相对应的对象,使得进行本地化或升级等的开发人员能够可视地看到与其要更改的资源相对应的在GUI中要实际显示的对象,进一步使得其能够了解该要更改的资源的上下文环境,从而改善更改资源的准确性。
[0161]附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0162]以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本【技术领域】的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本【技术领域】的其它普通技术人员能理解本文披露的各实施例。
【权利要求】
1.一种在用户界面中呈现要更改的资源的上下文的方法,包括: 获得资源文件中的至少一个资源与所述至少一个资源在用户界面中呈现的对象的对应关系;以及 响应于要更改所述至少一个资源之一,根据所述对应关系在用户界面中呈现包括与要更改的所述资源对应的对象的区域。
2.根据权利要求1所述的方法,其中,所述获得资源文件中的至少一个资源与所述至少一个资源在用户界面中呈现的对象的对应关系的步骤包括如下中的一种: 获得已经记录的通过预定方式生成的所述对应关系;以及 通过预定方式生成所述对应关系, 其中, 所述预定方式包括: 用第一标识符来唯一地标识所述至少一个资源; 利用包含被标识后的至少一个资源的所述资源文件来在用户界面中呈现对象; 分析所呈现的用户界面的层次来找到与所述第一标识符相关的对象,从而获得所述至少一个资源与各个对象的对应关系。
3.根据权利要求2所述的方法,其中, 所述方法还包括:将第一标识符和分配了第一标识符的资源以及与所述第一标识符相关的对象将呈现在用户界面中的哪一区域相关联地记录; 所述响应于要更改所述至少一个资源之一,根据所述对应关系在用户界面中呈现包括与要更改的所述资源对应的对象的区域的步骤包括:获得与所述要更改的资源的第一标识符相关的对象将呈现在用户界面中的哪一区域;在用户界面中呈现所述区域。
4.根据权利要求2或3所述的方法,其中,所述用第一标识符来唯一地标识所述至少一个资源的步骤包括如下中的一种或多种: 在所述至少一个资源包括文本的情况下,将所述第一标识符添加到所述资源的文本的内容中; 在所述至少一个资源包括文本的情况下,设置所述资源本身的全局唯一的文本内容作为所述第一标识符; 在所述至少一个资源包括文本、图片、音频和视频中的一种或多种的情况下,设置所述资源本身的全局唯一的文件名作为所述第一标识符;以及 在所述至少一个资源包括文本、图片、音频和视频中的一种或多种的情况下,设置所述资源的本身的路径位置信息作为所述第一标识符。
5.根据权利要求2或3所述的方法,其中, 所述方法还包括:移除所述第一标识符,并根据所述对应关系,向所述对象分配与对应的资源的第一标识符相关联的第二标识符; 所述响应于要更改所述至少一个资源之一,根据所述对应关系在用户界面中呈现包括与要更改的所述资源对应的对象的区域的步骤还包括:分析所述区域的层次以找到被分配了与所述要更改的资源的第一标识符相关的第二标识符的对象;以及在所述区域中突出地显示被分配了与所述要更改的资源的第一标识符相关的第二标识符的对象。
6.根据权利要求5所述的方法,其中,所述第一标识符和第二标识符满足下述关系之 所述第一标识符包括特殊字符部分和标识部分,而所述第二标识符包括所述第一标识符中的标识部分; 所述第一标识符和所述第二标识符相同;以及 所述第一标识符和所述第二标识符不同且相关联。
7.根据权利要求5所述的方法,其中,所述第一标识符和所述第二标识符之一包括如下中的一种或多种: 包含标识部分的字符串; 包含特殊字符部分和标识部分的字符串; 能够唯一地标识所述资源的其本身的文本内容; 能够唯一地标识所述资源的其本身的文件名;以及 能够唯一地标识所述资源的其本身的路径位置信息。
8.根据权利要求5所述的方法,其中,所述根据所述对应关系,向所述对象分配与对应的资源的第一标识符相关联的第二标识符的步骤包括如下中的至少一种: 使得所述用户界面中的与所述至少一个资源对应的对象的属性包含所述第二标识符;以及 使得所述用户界面中的与所述至少一个资源对应的对象的路径位置信息对应于所述第二标识符。
9.根据权利要求5所述的方法,还包括: 响应于更改了所述至少一个资源之一,用另外的第一标识符来唯一地标识更改后的资源,并根据所述更改后的资源与对象的对应关系,向所述更改后的资源所对应的对象分配与所述另外的第一标识符相关联的另外的第二标识符。
10.一种在用户界面中呈现要更改的资源的上下文的系统,包括: 获得装置,被配置为获得资源文件中的至少一个资源与所述至少一个资源在用户界面中呈现的对象的对应关系;以及 显示装置,被配置为响应于要更改所述至少一个资源之一,根据所述对应关系在用户界面中呈现包括与要更改的所述资源对应的对象的区域。
11.根据权利要求10所述的系统,其中,所述获得装置包括如下中的一种: 对应关系获得模块,被配置为获得已经记录的通过预定方式生成的所述对应关系;以及 对应关系生成模块,被配置通过预定方式生成所述对应关系, 其中, 所述预定方式包括: 用第一标识符来唯一地标识所述至少一个资源; 利用包含被标识后的至少一个资源的所述资源文件来在用户界面中呈现对象; 分析所呈现的用户界面的层次来找到与所述第一标识符相关的对象,从而获得所述至少一个资源与各个对象的对应关系。
12.根据权利要求11所述的系统,其中, 所述系统还包括:记录装置,被配置为将第一标识符和分配了第一标识符的资源以及与所述第一标识符相关的对象将呈现在用户界面中的哪一区域相关联地记录; 所述呈现装置被配置为:获得与所述要更改的资源的第一标识符相关的对象将呈现在用户界面中的哪一区域;在用户界面中呈现所述区域。
13.根据权利要求11或12所述的系统,其中, 所述系统还包括:移除装置,被配置为移除所述第一标识符,并根据所述对应关系,向所述对象分配与对应的资源的第一标识符相关联的第二标识符, 所述呈现装置还被配置为:分析所述区域的层次以找到被分配了与所述要更改的资源的第一标识符相关的第二标识符的对象;以及在所述区域中突出地显示被分配了与所述要更改的资源的第一标识符相关的第二标识符的对象。
14.根据权利要求13所述的系统,其中,所述第一标识符和第二标识符满足下述关系之一: 所述第一标识符包括特殊字符部分和标识部分,而所述第二标识符包括所述第一标识符中的标识部分; 所述第一标识符和所述第二标识符相同;以及 所述第一标识符和所述第二标识符不同且相关联。
15.根据权利要求13所述的系统,其中,所述移除装置还被配置为在根据所述对应关系,向所述对象分配与对应的资源的第一标识符相关联的第二标识符期间进行如下中的至少一种: 使得所述用户界面中的与所述至少一个资源对应的对象的属性包含所述第二标识符;以及 使得所述用户界面中的与所述至少一个资源对应的对象的路径位置信息对应于所述第二标识符。
16.根据权利要求13所述的系统,还包括: 更新装置,被配置为响应于更改了所述至少一个资源之一,用另外的第一标识符来唯一地标识更改后的资源,并根据所述更改后的资源与对象的对应关系,向所述更改后的资源所对应的对象分配与所述另外的第一标识符相关联的另外的第二标识符。
【文档编号】G06F9/44GK104516727SQ201310450122
【公开日】2015年4月15日 申请日期:2013年9月27日 优先权日:2013年9月27日
【发明者】盛延敏, 古杨, 高春风, 康涛, 郑超 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1