CN101311897A - 一种抓取应用程序的图形用户界面资源的方法及装置 - Google Patents

一种抓取应用程序的图形用户界面资源的方法及装置 Download PDF

Info

Publication number
CN101311897A
CN101311897A CNA2007101055020A CN200710105502A CN101311897A CN 101311897 A CN101311897 A CN 101311897A CN A2007101055020 A CNA2007101055020 A CN A2007101055020A CN 200710105502 A CN200710105502 A CN 200710105502A CN 101311897 A CN101311897 A CN 101311897A
Authority
CN
China
Prior art keywords
user interface
mentioned
panel
text data
application program
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
CNA2007101055020A
Other languages
English (en)
Other versions
CN101311897B (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.)
IBM China Co Ltd
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN2007101055020A priority Critical patent/CN101311897B/zh
Priority to US12/013,524 priority patent/US8170864B2/en
Publication of CN101311897A publication Critical patent/CN101311897A/zh
Application granted granted Critical
Publication of CN101311897B publication Critical patent/CN101311897B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/454Multi-language systems; Localisation; Internationalisation

Abstract

一种抓取应用程序的图形用户界面资源的方法和装置,该方法包括:装载保存有可视文本数据的资源文件;复制该资源文件;对资源文件中的每一个可视文本数据单元添加标识信息;根据该应用程序的图形用户界面,抓取图形用户界面的至少一个屏面;将所复制的资源文件和所抓取的至少一个屏面作为图形用户界面资源保存。本发明通过在可视文本数据单元上添加唯一的标识信息,可以在可视文本数据与资源插件之间建立链接关系,通过在执行应用程序时抓取该应用程序的图形用户界面屏面,获得可视文本数据的应用环境,为可视文本数据的准确翻译提供了基础。本发明还提供了编辑应用程序的图形用户界面的方法和装置。

Description

一种抓取应用程序的图形用户界面资源的方法及装置
技术领域
本发明涉及计算机技术领域,具体地说,涉及应用程序的国际化过程中应用程序的图形用户界面(GUI)的处理,更具体地,涉及抓取应用程序的图形用户界面资源的方法和装置以及编辑应用程序的图形用户界面的方法和装置。
背景技术
为了满足应用程序的国际化的要求,应用程序的图形用户界面中的可视文本数据需要翻译成多种语言。一般地,在应用程序中,可视文本数据与其二进制程序代码是分离的,可视文本数据被单独存储在多个资源文件中。当执行应用程序时,该应用程序逻辑根据用户所在地(locale)从这些资源文件中获取相应的可视文本数据,并在该应用程序的图形用户界面上显示。
通常,资源文件可以采用程序集成信息(Program IntegratedInformation,简称PII)文件。所谓程序集成信息是指软件程序中的用户可视文本,这些可视文本只能通过运行软件程序或者使用软件程序来获得。程序集成信息一般包括用户界面文本、消息、帮助信息、智能代理(intelligent agent)、教练(coach)等,用于指导用户完成复杂的任务。
另外,资源文件也可以采用Java属性文件的资源插件、XML形式的资源插件等形式。
在现有的应用程序的国际化过程中,首先,开发人员在开发一个应用程序时收集应用程序图形用户界面所需的可视文本数据,并放入资源文件中,然后将这些资源文件发送给翻译人员,由翻译人员将其翻译成不同的语言。
然而,这样的技术方案会带来如下的问题:
1.开发人员在收集可视文本数据的过程中,可能会由于疏忽等忘记将某些可视文本数据放入资源文件中,从而造成这些文本数据没有被翻译。而且这样的错误可能直到最后的测试周期才被发现。
2.当翻译人员翻译资源文件中的某个字符串时,由于翻译人员不知道该字符串所处的应用程序环境,即上下文(context),因此,会导致翻译人员不能准确地进行翻译,尤其是对于具有多个含义的字符串。而且,这样的错误可能直到翻译验证测试(Translation Verification Test,简称TVT)才被发现。
翻译验证测试(TVT)是为了减少与翻译有关的问题而进行的。通常,来自不同国家或地区的测试人员都会参与TVT过程,开发人员需要为来自不同国家或地区的测试人员建立不同的测试环境,并且编写TVT测试实例以确保所有可翻译的文本数据被正确地翻译。因此,开发人员需要花费大量的时间和精力与测试人员进行协作,并维护巨大的测试环境。
专利号为5,974,372的美国专利“Graphical User Interface(GUI)Language Translator(图形用户界面(GUI)语言翻译器)”公开了一种运行于Windows平台的对在GUI上显示的字符串进行翻译的方法,该方法利用Windows Hook技术截获在图形用户界面上的字符串,并将这些字符串放入一个临时表中,由用户对该临时表中的字符串进行翻译。然而,该方法只能用于Windows应用程序,并且只记录GUI上的字符串,而不记录字符串的来源,因此,对于在不同的应用环境下有多重含义的字符串,只能采用相同的翻译描述,从而造成翻译的不准确。
专利号为6,735,759的美国专利“Editing system for translatingdisplayed user language using a wrapper class(使用包装类翻译所显示的用户语言的编辑系统)”公开了一种使翻译人员直接在应用程序的运行界面上修改所显示的字符串的方法。然而,该方法需要程序开发人员专门开发一系列的Java类来支持在用户界面上直接对控件中的字符串的修改,并且对于传统的应用程序国际化的方法改动很大。
专利号为6,904,563的美国专利“Editing Platforms for Remote UserInterface Translation(用于远程用户界面翻译的编辑平台)”公开了一种翻译用户界面的方法,其在应用程序运行时抓取程序界面,并将被抓取的程序界面在异地重新显示,由用户对界面上的字符串进行编辑。然而,该方法需要使用后台进程以监视应用程序界面的变化,并且在一个界面控件被创建时通过后台进程记录该控件的相关信息。这需要程序开发人员编写大量的额外代码。
发明内容
本发明正是鉴于上述技术问题而提出的,其目的在于提供一种抓取应用程序的图形用户界面资源的方法和装置以及一种编辑应用程序的图形用户界面的方法和装置,其可以解决现有技术中出现的可视文本数据被漏翻、错翻的问题,并且不需要程序开发人员编写大量的额外代码。
根据本发明的第一个方面,提供一种抓取应用程序的图形用户界面资源的方法,包括:装载保存有上述应用程序的图形用户界面的可视文本数据的资源文件;复制上述资源文件;对上述资源文件中的每一个可视文本数据单元添加标识信息,所述标识信息用于唯一识别每个资源文件中的每个可视文本数据单元;根据上述应用程序的图形用户界面,抓取上述图形用户界面的至少一个屏面(panel);以及将上述所复制的资源文件和上述所抓取的至少一个屏面作为上述应用程序的图形用户界面资源保存为中间文件。
根据本发明的第二个方面,提供一种用于抓取应用程序的图形用户界面资源的装置,包括:装载器,用于装载保存有上述应用程序的图形用户界面的可视文本数据的资源文件;复制器,用于复制上述资源文件;标识信息添加器,用于对上述资源文件中的每一个可视文本数据单元添加标识信息,所述标识信息用于唯一识别每个资源文件中的每个可视文本数据单元;屏面抓取器,用于根据上述应用程序的图形用户界面抓取上述图形用户界面的至少一个屏面;以及保存单元,用于将上述所复制的资源文件和上述所抓取的至少一个屏面作为图形用户界面资源保存为中间文件。
根据本发明的第三个方面,提供一种编辑应用程序的图形用户界面的方法,包括:根据中间文件呈现上述应用程序的图形用户界面,其中,所述中间文件包括在上述应用程序的执行过程中生成的上述应用程序的图形用户界面数据以及保存有上述应用程序的图形用户界面的可视文本数据的资源文件;允许用户在所呈现的上述图形用户界面的每一个屏面上编辑可视文本数据;以及将编辑后的图形用户界面屏面保存在上述中间文件中。
根据本发明的第四个方面,提供一种用于编辑应用程序的图形用户界面的装置,包括:呈现单元,用于根据中间文件呈现上述应用程序的图形用户界面,其中,所述中间文件包括在上述应用程序的执行过程中生成的上述应用程序的图形用户界面数据以及保存有上述应用程序的图形用户界面的可视文本数据的资源文件;编辑单元,用于允许用户在所呈现的上述图形用户界面的每一个屏面上编辑可视文本数据;以及保存单元,用于将编辑后的图形用户界面屏面保存在上述中间文件中。
附图说明
图1是根据本发明的一个实施例的抓取应用程序的图形用户界面资源的方法的流程图;
图2是根据本发明的一个实施例的用于抓取应用程序的图形用户界面资源的装置的方框图;
图3是根据本发明的一个实施例的编辑应用程序的图形用户界面的方法的流程图;
图4是根据本发明的一个实施例的用于编辑应用程序的图形用户界面的装置的方框图。
具体实施方式
相信通过以下结合附图对本发明的具体实施方式的详细描述,本发明的上述和其它目的、特征和优点将变得更加明显。
图1是根据本发明的一个实施例的抓取应用程序的图形用户界面资源的方法的流程图,下面结合附图详细说明本实施例。
如图1所示,首先在步骤101中,装载保存有该应用程序的图形用户界面的可视文本数据的资源文件。如在背景技术部分中所述的,资源文件可以采用程序集成信息(PII)文件或者Java属性文件的资源插件或者XML形式的资源插件等。
在本实施例中,以Java属性文件的资源插件作为资源文件进行描述。例如,在一个资源插件中记录有:
......
hint={0}rules selected.
button.title=OK
......
则表明在一个图形用户界面屏面上,会显示一个提示“××rules selected.”和一个按钮“OK”,其中“hint”和“button.title”是资源关键词,“rulesselected”和“OK”是可视文本数据。
在步骤105,复制所装载的资源插件,获得原始的资源插件的副本。然后,在步骤110,对资源插件中的每一个可视文本数据单元添加标识信息,其中,标识信息用于唯一识别每个资源文件中的每个可视文本数据单元,其可以表明一个可视文本数据来自哪个资源插件中的哪个可视文本数据单元。在这里,可视文本数据单元包括资源关键词和可视文本数据。
为了不影响图形用户界面的呈现,在本实施例中,采用不可视的标识信息。下面给出一个实现标识信息的添加的实施例。
首先,确定至少一个字符用于标识信息中,在此,可确定三个不可视的字符,例如:
U+200B ZERO WIDTH SPACE;
U+200C ZERO WIDTH NON-JOINER;
U+200D ZERO WIDTH JOINER。
这三个字符可作为分隔符,用于分离可视文本数据和在后面说明的标识符,其中“U+200B ZERO WIDTH SPACE”被当作“=”,“U+200C ZEROWIDTH NON-JOINER”被当作“0”,“U+200D ZERO WIDTH JOINER”被当作“1”。
接着,对资源插件中的每一个可视文本数据单元生成一个唯一的标识符,然后,将该标识符添加在对应的可视文本数据单元的可视文本数据上,并且用所确定的分隔符将可视文本数据和标识符分开。
例如,在上面的实例中,添加了标识信息的可视文本数据为“{0}rulesselected.=1100010011000100”,则在资源插件中,该可视文本数据单元被相应地修改为:
hint={0}rules selected.=1100010011000100
通过对每一个可视文本数据单元添加唯一的标识信息,可以在可视文本数据与资源插件之间建立了链接关系,从而可以追踪每一个可视文本数据的来源,并使得对图形用户界面上可视文本数据的修改可以反映到资源插件中相应的可视文本数据的改变。
虽然在此给出了一种标识信息的形式和一个如何添加标识信息的实施例,但本领域的技术人员根据本实施例的思想可知,还可以采用其它形式的标识信息和其它添加标识信息的实现方式。
此外,标识信息也可以是可视的标识信息,这样,在图形用户界面上,可以看见标识信息。
然后,在步骤120,根据该应用程序的图形用户界面,抓取该图形用户界面的至少一个屏面。在本实施例中,标识信息在图形用户界面上是不可视的,因此,在图形用户界面上只显示可视文本数据。
具体地,监视当前所显示的屏面上是否有可视文本数据,如果有,则抓取当前所显示的屏面的结构,并记录该屏面上的所有控件和每一个控件内的具有标识信息的可视文本数据;如果没有可视文本数据,则跳过该屏面,继续监视随后显示的屏面上是否有可视文本数据。在抓取了当前所显示的屏面之后,根据所产生的图形用户界面的层级结构,抓取当前所抓取的屏面的后代屏面(descendent panels)的结构,并记录这些后代屏面上的所有控件和每一个控件内的具有标识信息的可视文本数据。
可选地,对图形用户界面的屏面的抓取也可以通过用户触发。具体地,在所生成的图形用户界面的每一个屏面上都设置有用于指示抓取该屏面的事件监听器,并检测事件监听器是否被用户触发。如果某个屏面上的事件监听器被触发,则表明用户希望抓取该屏面,则抓取该屏面的结构,并记录该屏面上的所有控件和每一个控件内的具有标识信息的可视文本数据。如果事件监听器没有被触发,则跳过该屏面,继续检测随后的屏面的事件监听器是否被触发。在抓取了上述的屏面后,根据所生成的图形用户界面的层级结构,抓取当前所抓取的屏面的后代屏面的结构,并记录这些后代屏面上的所有控件和每一个控件内的具有标识信息的可视文本数据。
重复执行步骤120,直到所生成的图形用户界面的所有屏面都进行了相应的处理。
最后,在步骤125,将所复制的资源插件和所抓取的至少一个屏面作为该应用程序的图形用户界面资源保存为中间文件,即图形用户界面资源包括原始的资源插件和应用程序的图形用户界面屏面,并且被保存在中间文件中。
通过以上描述可以看出,本实施例的抓取应用程序的图形用户界面资源的方法,通过在每一个可视文本数据单元上添加唯一的标识信息,可以在可视文本数据与资源插件之间建立链接关系,并且通过在执行应用程序时抓取该应用程序的图形用户界面屏面,可以获得可视文本数据的应用环境,从而为可视文本数据的准确翻译提供了基础。
此外,在具体的实现中,可以在应用程序中预先注入与涉及资源文件的操作和涉及事件监听器的操作有关的代码。然后,在执行应用程序的过程中,通过上述代码可以自动对应用程序的图形用户界面进行分析。这样,开发人员无需编写额外的代码。
在同一个发明构思下,图2是根据本发明的一个实施例的用于抓取应用程序的图形用户界面资源的装置的方框图。下面结合该图对本实施例进行详细描述。对于那些与前面实施例相同的部分,适当省略其说明。
如图2所示,本实施例的用于抓取应用程序的图形用户界面资源的装置200包括:装载器201,用于装载保存有应用程序的图形用户界面的可视文本数据的资源文件;复制器202,其复制所装载的资源文件;标识信息添加器203,其对资源文件中的每一个可视文本数据单元添加用于唯一识别每个资源文件中的每个可视文本数据单元的标识信息;屏面抓取器204,用于根据该应用程序的图形用户界面抓取图形用户界面的至少一个屏面;以及保存单元205,其将所复制的资源文件和所抓取的至少一个屏面作为图形用户界面资源保存为中间文件。
如前所述,资源文件可以采用程序集成信息(PII)文件或者Java属性文件的资源插件或者XML形式的资源插件等。在本实施例中,以Java属性文件的资源插件作为资源文件。
当装载器201装载了保存有可视文本数据的资源插件之后,复制器202对所装载的资源插件进行复制,获得原始的资源插件的副本。
然后,由标识信息添加器203对每一个可视文本数据单元添加标识信息。如前所述,标识信息用于唯一识别每个资源文件中的每个可视文本数据单元,其可以表明一个可视文本数据来自哪个资源插件中的哪个可视文本数据单元。
在本实施例中,在标识信息添加器203中,首先,通过确定单元2031确定至少一个字符作为分隔符,在本实施例中,确定三个不可视的字符,例如前面所述的“U+200B ZERO WIDTH SPACE”(当作“=”)、“U+200CZERO WIDTH NON-JOINER”(当作“0”)、“U+200D ZERO WIDTHJOINER”(当作“1”)。然后,在标识符生成单元2032中,对资源插件中的每一个可视文本数据单元生成一个唯一的标识符,并由添加单元2033将该标识符添加在对应的可视文本数据单元的可视文本数据上,并且用由确定单元确定的分隔符将可视文本数据和标识符分开。
当通过标识信息添加器203对每一个可视文本数据单元添加了唯一的标识信息后,资源插件中的可视文本数据就变成了具有标识信息的可视文本数据。通过标识信息可以在可视文本数据与资源插件之间建立了链接关系,从而可以追踪可视文本数据的来源,并使得对图形用户界面上可视文本数据的修改可以反映到资源插件中相应的可视文本数据的改变。
虽然以上给出了一种标识信息添加器的实现方式以及一种标识信息的形式,但是本领域的技术人员根据本实施例的思想可知,还可以采用其它形式的标识信息和其它实现标识信息添加器的方式。
然后,由屏面抓取器204根据应用程序的图形用户界面抓取图形用户界面的每一个屏面。在本实施例中,标识信息在图形用户界面上是不可视的,因此,在图形用户界面上只显示可视文本数据。
具体地,在屏面抓取器204中,监控单元2041监视在当前所显示的屏面上是否有可视文本数据。如果在当前所显示的屏面上有可视文本数据,则监控单元2041通过控制信号触发屏面结构抓取单元2042,以抓取当前所显示的屏面的结构以及该屏面的后代屏面的结构,并且由记录单元2043记录当前所显示的屏面以及该屏面的后代屏面上的所有控件和每一个控件内的具有标识信息的可视文本数据。
如果在当前所显示的屏面上没有可视文本数据,则监控单元2041继续监视随后显示的图形用户界面屏面。
可选地,通过屏面抓取器204抓取图形用户界面的屏面也可以通过用户触发。在这种情况下,本实施例的用于抓取应用程序的图形用户界面资源的装置200还包括:在图形用户界面的每一个屏面上设置的用于指示抓取该屏面的事件监听器。
具体地,当某个屏面的事件监听器被用户触发时,屏面抓取器204中的屏面结构抓取单元2042抓取相应的屏面的结构及该屏面的后代屏面的结构,并且通过记录单元2043记录该所抓取的屏面及该屏面的后代屏面上的所有控件和每一个控件内的具有标识信息的可视文本数据。
在对所生成的图形用户界面的每一个屏面进行处理后,通过保存单元205将所复制的资源插件和所抓取的每一个屏面作为图形用户界面资源保存为中间文件,即图形用户界面资源包括原始的资源插件和所生成的应用程序的图形用户界面屏面,并且被保存在中间文件中。
本实施例的用于抓取应用程序的图形用户界面资源的装置200及其组件可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合实现。并且,本实施例的抓取应用程序的图形用户界面资源的装置200在操作上可以实现图1所示的实施例的抓取应用程序的图形用户界面资源的方法。
通过以上描述可以看出,本实施例的用于抓取应用程序的图形用户界面资源的装置200,通过在每一个可视文本数据单元上添加唯一的标识信息,可以在可视文本数据与资源插件之间建立链接关系,并且通过在执行应用程序时抓取该应用程序的图形用户界面屏面,可以获得可视文本数据的应用环境,从而为可视文本数据的准确翻译提供了基础。
在同一个发明构思下,图3是根据本发明的一个实施例的编辑应用程序的图形用户界面的方法的流程图。下面结合附图对本实施例进行详细的描述。对于那些与前面实施例相同的部分,适当省略其说明。
如图3所示,在步骤301,根据中间文件呈现应用程序的图形用户界面。在本实施例中,中间文件包括在该应用程序的执行过程中生成的应用程序的图形用户界面数据以及保存有应用程序的图形用户界面的可视文本数据的资源文件,并且,中间文件可利用图1所示的抓取应用程序的图形用户界面资源的方法生成。
首先,中间文件被例如计算机读取,以获得应用程序的图形用户界面数据和资源文件。然后,再现该图形用户界面的每一个屏面,其中这些屏面上的可视文本数据具有标识信息,该标识信息用于唯一识别每个资源文件中的每个可视文本数据单元。
然后,在步骤310,允许用户在所呈现的图形用户界面的每一个屏面上编辑可视文本数据。例如,在上面的实例中,在被呈现的一个图形用户界面屏面上显示了一个提示“1,234rules selected.”和一个按钮“OK”,那么用户可以直接在屏面上将其翻译为“选择了1,234条规则”和“确定”。
然后,在步骤320,将编辑后的图形用户界面屏面保存在中间文件中。此时,在中间文件所保存的图形用户界面屏面上,提示变为“选择了1,234条规则。”,按钮变为“确定”。
此外,还可以在步骤330,用编辑后的可视文本数据替换资源插件中对应的可视文本数据。根据标识信息,可以容易地找到图形用户界面屏面中的可视文本数据的出处,因此,可以将编辑后的可视文本数据保存在资源插件中。在这种情况下,在上面的实例中,资源插件被修改为:
......
hint=选择了{0}条规则。
button.title=确定
......
通过以上描述可以看出,采用本实施例的编辑应用程序的图形用户界面的方法,由于翻译人员可以看见可视文本数据所处的应用环境,因此可以准确地翻译可视文本数据,并且不会出现可视文本数据漏翻的问题。另外,通过标识信息,可以使得对图形用户界面上可视文本数据的修改能够对应地反映到资源插件中。
在应用程序的国际化过程中,图1所示的抓取应用程序的图形用户界面资源的方法和图3所示的编辑应用程序的图形用户界面的方法可以单独使用,也可以结合在一起使用。
在应用程序的开发阶段,通过执行图1所示的抓取应用程序的图形用户界面资源的方法,将应用程序的图形用户界面资源保存在中间文件中。当需要翻译应用程序的可视文本数据时,该中间文件被传送给翻译人员,在翻译阶段执行图3所示的编辑应用程序的图形用户界面的方法。
在同一个发明构思下,图4是根据本发明的一个实施例的用于编辑应用程序的图形用户界面的装置的方框图。下面结合附图对本实施例进行详细的描述。对于那些与前面实施例相同的部分,适当省略其说明。
如图4所示,本实施例的用于编辑应用程序的图形用户界面的装置400包括:呈现单元401,用于根据中间文件呈现应用程序的图形用户界面,其中,该中间文件包括在该应用程序的执行过程中生成的应用程序的图形用户界面数据以及保存有应用程序的图形用户界面的可视文本数据的资源文件;编辑单元402,其允许用户在所呈现的图形用户界面的每一个屏面上编辑可视文本数据;以及保存单元403,其将编辑后的图形用户界面屏面保存在中间文件中。
在本实施例中,在呈现单元401中,通过读取单元4011读取中间文件,以获得应用程序的图形用户界面数据和资源文件,然后,图形用户界面的每一个屏面通过再现单元4012再现,其中,这些屏面上的可视文本数据具有标识信息,该标识信息用于唯一识别每个资源文件中的每个可视文本数据单元。
然后,利用编辑单元402对图形用户界面的每一个屏面上的可视文本数据进行编辑,编辑后的图形用户界面屏面通过保存单元403保存在中间文件中。
此外,本实施例的用于编辑应用程序的图形用户界面的装置400还可以包括替换单元404,其用编辑后的可视文本数据替换资源文件中对应的的可视文本数据。
本实施例的用于编辑应用程序的图形用户界面的装置400及其组件可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合实现。并且,本实施例的用于编辑应用程序的图形用户界面的装置400在操作上可以实现图3所示的实施例的编辑应用程序的图形用户界面的方法。
通过以上描述可以看出,采用本实施例的用于编辑应用程序的图形用户界面的装置400,由于翻译人员可以看见可视文本数据所处的应用环境,因此可以准确地翻译可视文本数据,并且不会出现可视文本数据漏翻的问题。另外,通过标识信息,还可以使得对图形用户界面上可视文本数据的修改能够对应地反映到资源插件中。
以上虽然通过一些示例性的实施例详细描述了本发明的抓取应用程序的图形用户界面资源的方法和装置以及编辑应用程序的图形用户界面的方法和装置,但是以上这些实施例并不是穷举的,本领域技术人员可以在本发明的精神和范围内实现各种变化和修改。因此,本发明并不限于这些实施例,本发明的范围仅由所附的权利要求限定。

Claims (16)

1.一种抓取应用程序的图形用户界面资源的方法,包括:
装载保存有上述应用程序的图形用户界面的可视文本数据的资源文件;
复制上述资源文件;
对上述资源文件中的每一个可视文本数据单元添加标识信息,所述标识信息用于唯一识别每个资源文件中的每个可视文本数据单元;
根据上述应用程序的图形用户界面,抓取上述图形用户界面的至少一个屏面;以及
将上述所复制的资源文件和上述所抓取的至少一个屏面作为上述应用程序的图形用户界面资源保存为中间文件。
2.根据权利要求1所述的抓取应用程序的图形用户界面资源的方法,其中,所述添加标识信息的步骤包括:
确定至少一个字符作为分隔符;
对上述资源文件中的每一个可视文本数据单元生成唯一的标识符;以及
将上述标识符添加在对应的可视文本数据单元的可视文本数据上并且用上述分隔符将上述可视文本数据和上述标识符分开。
3.根据权利要求2所述的抓取应用程序的图形用户界面资源的方法,其中,所述作为分隔符的字符在上述应用程序的图形用户界面中是不可视的。
4.根据权利要求1至3任意一项所述的抓取应用程序的图形用户界面资源的方法,其中,所述抓取步骤包括:
监视当前所显示的屏面上是否有可视文本数据;
如果有,则抓取当前所显示的屏面的结构,并记录所述屏面上的所有控件和每一个控件内的具有所述标识信息的可视文本数据;以及
根据上述图形用户界面的层级结构,抓取当前所抓取的屏面的后代屏面的结构,并记录所述后代屏面上的所有控件和每一个控件内的具有所述标识信息的可视文本数据。
5.根据权利要求1至3任意一项所述的抓取应用程序的图形用户界面资源的方法,还包括:
在上述图形用户界面的每一个屏面上设置用于指示抓取该屏面的事件监听器;
其中,所述抓取步骤包括:
检测上述事件监听器是否被用户触发;
如果被触发,则抓取相应的屏面的结构,并记录所述屏面上的所有控件和每一个控件内的具有所述标识信息的可视文本数据;以及
根据上述图形用户界面的层级结构,抓取当前所抓取的屏面的后代屏面的结构,并记录所述后代屏面上的所有控件和每一个控件内的具有所述标识信息的可视文本数据。
6.根据权利要求1至5任意一项所述的抓取应用程序的图形用户界面资源的方法,还包括:
在上述应用程序中预先注入与涉及所述资源文件的操作和涉及所述事件监听器的操作有关的代码。
7.一种编辑应用程序的图形用户界面的方法,包括:
根据中间文件,呈现上述应用程序的图形用户界面,其中,所述中间文件包括在上述应用程序的执行过程中生成的上述应用程序的图形用户界面数据以及保存有上述应用程序的图形用户界面的可视文本数据的资源文件;
允许用户在所呈现的上述图形用户界面的每一个屏面上编辑可视文本数据;以及
将编辑后的图形用户界面屏面保存在上述中间文件中。
8.根据权利要求7所述的编辑图形用户界面的方法,其中,所述呈现步骤包括:
读取上述中间文件以获得上述应用程序的图形用户界面数据和上述资源文件;以及
再现上述图形用户界面的每一个屏面。
9.根据权利要求7或8所述的编辑图形用户界面的方法,还包括:以编辑后的可视文本数据替换上述资源文件中对应的可视文本数据。
10.一种用于抓取应用程序的图形用户界面资源的装置,包括:
装载器,用于装载保存有上述应用程序的图形用户界面的可视文本数据的资源文件;
复制器,用于复制上述资源文件;
标识信息添加器,用于对上述资源文件中的每一个可视文本数据单元添加标识信息,所述标识信息用于唯一识别每个资源文件中的每个可视文本数据单元;
屏面抓取器,用于根据上述应用程序的图形用户界面抓取上述图形用户界面的至少一个屏面;以及
保存单元,用于将上述所复制的资源文件和上述所抓取的至少一个屏面作为图形用户界面资源保存为中间文件。
11.根据权利要求10所述的用于抓取应用程序的图形用户界面资源的装置,其中,所述标识信息添加器包括:
确定单元,用于确定至少一个字符作为分隔符;
标识符生成单元,用于对上述资源文件中的每一个可视文本数据单元生成唯一的标识符;以及
添加单元,用于将所述标识符添加在对应的可视文本数据单元的可视文本数据上并且用上述分隔符将上述可视文本数据和上述标识符分开。
12.根据权利要求10或11所述的用于抓取应用程序的图形用户界面资源的装置,其中,所述屏面抓取器包括:
监控单元,用于监视当前所显示的屏面上是否有可视文本数据;
屏面结构抓取单元,用于在上述监控单元监视到当前所显示的屏面上有可视文本数据时,抓取当前所显示的屏面的结构及该屏面的后代屏面的结构;以及
记录单元,用于记录当前所显示的屏面及该屏面的后代屏面上的所有控件和每一个控件内的具有所述标识信息的可视文本数据。
13.根据权利要求10或11所述的用于抓取应用程序的图形用户界面资源的装置,还包括:在上述图形用户界面的每一个屏面上设置的用于指示抓取该屏面的事件监听器;
其中,所述屏面抓取器包括:
屏面结构抓取单元,用于在上述事件监听器被用户触发后,抓取相应的屏面的结构及该屏面的后代屏面的结构;以及
记录单元,用于记录上述所抓取的屏面及该屏面的后代屏面上的所有控件和每一个控件内的具有所述标识信息的可视文本数据。
14.一种用于编辑应用程序的图形用户界面的装置,包括:
呈现单元,用于根据中间文件,呈现上述应用程序的图形用户界面,其中,所述中间文件包括在上述应用程序的执行过程中生成的上述应用程序的图形用户界面数据以及保存有上述应用程序的图形用户界面的可视文本数据的资源文件;
编辑单元,用于允许用户在所呈现的上述图形用户界面的每一个屏面上编辑可视文本数据;以及
保存单元,用于将编辑后的图形用户界面屏面保存在上述中间文件中。
15.根据权利要求14所述的用于编辑应用程序的图形用户界面的装置,其中,所述呈现单元包括:
读取单元,用于读取上述中间文件以获得上述应用程序的图形用户界面数据和上述资源文件;以及
再现单元,用于再现上述图形用户界面的每一个屏面。
16.根据权利要求14或15所述的用于编辑应用程序的图形用户界面的装置,还包括:替换单元,用于以编辑后的可视文本数据替换上述资源文件中对应的可视文本数据。
CN2007101055020A 2007-05-24 2007-05-24 一种抓取应用程序的图形用户界面资源的方法及装置 Expired - Fee Related CN101311897B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2007101055020A CN101311897B (zh) 2007-05-24 2007-05-24 一种抓取应用程序的图形用户界面资源的方法及装置
US12/013,524 US8170864B2 (en) 2007-05-24 2008-01-14 Method and apparatus for capturing graphic user interface resource of an application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101055020A CN101311897B (zh) 2007-05-24 2007-05-24 一种抓取应用程序的图形用户界面资源的方法及装置

Publications (2)

Publication Number Publication Date
CN101311897A true CN101311897A (zh) 2008-11-26
CN101311897B CN101311897B (zh) 2012-02-22

Family

ID=40073555

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101055020A Expired - Fee Related CN101311897B (zh) 2007-05-24 2007-05-24 一种抓取应用程序的图形用户界面资源的方法及装置

Country Status (2)

Country Link
US (1) US8170864B2 (zh)
CN (1) CN101311897B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103336768A (zh) * 2013-06-14 2013-10-02 深圳市比邻软件有限公司 一种翻译手持设备上的应用程序界面的方法、系统及装置
CN104516727A (zh) * 2013-09-27 2015-04-15 国际商业机器公司 更改资源文件中的资源的方法和系统
CN106155652A (zh) * 2015-04-02 2016-11-23 阿里巴巴集团控股有限公司 一种多语言数据文件的生成方法和系统
US10169648B2 (en) 2015-01-28 2019-01-01 Motorola Solutions, Inc. Method and device for inputting handwriting character
CN112068921A (zh) * 2020-09-23 2020-12-11 北京亿信华辰软件有限责任公司武汉分公司 一种软件国际化资源定位方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101669287B1 (ko) * 2009-09-01 2016-11-09 삼성전자주식회사 제 3의 원격 유저 인터페이스 장치를 통한 원격 유저 인터페이스 장치의 제어 방법 및 장치
US9195653B2 (en) * 2011-10-24 2015-11-24 Google Inc. Identification of in-context resources that are not fully localized
JP5911594B2 (ja) * 2011-11-25 2016-04-27 グーグル インコーポレイテッド アプリケーションのローカリゼイションにおける翻訳支援の提供
CN103942212B (zh) * 2013-01-21 2018-01-09 腾讯科技(深圳)有限公司 一种用户界面的文字检测方法及装置
US10691474B2 (en) * 2017-01-03 2020-06-23 International Business Machines Corporation Text resources processing in an application
US10235361B2 (en) * 2017-02-15 2019-03-19 International Business Machines Corporation Context-aware translation memory to facilitate more accurate translation
US11048885B2 (en) 2018-09-25 2021-06-29 International Business Machines Corporation Cognitive translation service integrated with context-sensitive derivations for determining program-integrated information relationships
US11327774B2 (en) * 2018-12-27 2022-05-10 Microsoft Technology Licensing, Llc Personalization of resource strings in a computing device

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5434776A (en) * 1992-11-13 1995-07-18 Microsoft Corporation Method and system for creating multi-lingual computer programs by dynamically loading messages
US6496793B1 (en) * 1993-04-21 2002-12-17 Borland Software Corporation System and methods for national language support with embedded locale-specific language driver identifiers
US5678039A (en) * 1994-09-30 1997-10-14 Borland International, Inc. System and methods for translating software into localized versions
US5903269A (en) * 1995-10-10 1999-05-11 Anysoft Ltd. Apparatus for and method of acquiring processing and routing data contained in a GUI window
US5974372A (en) 1996-02-12 1999-10-26 Dst Systems, Inc. Graphical user interface (GUI) language translator
US6466900B1 (en) * 1998-05-29 2002-10-15 Citicorp Development Center, Inc. Multi-language phrase editor and method thereof
US5974256A (en) * 1997-09-29 1999-10-26 International Business Machines Corporation Method for translating graphical user interface (GUI) resource data into native java code
US6735759B1 (en) 1999-07-28 2004-05-11 International Business Machines Corporation Editing system for translating displayed user language using a wrapper class
US6311151B1 (en) * 1999-07-28 2001-10-30 International Business Machines Corporation System, program, and method for performing contextual software translations
US6275790B1 (en) * 1999-07-28 2001-08-14 International Business Machines Corporation Introspective editor system, program, and method for software translation
GB0100676D0 (en) * 2001-01-11 2001-02-21 Ibm A method of testing a computer program translated into a national language
US6904563B2 (en) 2001-04-05 2005-06-07 International Business Machines Corporation Editing platforms for remote user interface translation
US7610297B2 (en) * 2005-01-25 2009-10-27 Honeywell International Inc. Method to automate resource management in computer applications
US20070179775A1 (en) * 2006-01-30 2007-08-02 Bauman Brian D Method and system for translating a software application into an alternative language

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103336768A (zh) * 2013-06-14 2013-10-02 深圳市比邻软件有限公司 一种翻译手持设备上的应用程序界面的方法、系统及装置
CN104516727A (zh) * 2013-09-27 2015-04-15 国际商业机器公司 更改资源文件中的资源的方法和系统
CN104516727B (zh) * 2013-09-27 2018-02-02 国际商业机器公司 更改资源文件中的资源的方法和系统
US10169648B2 (en) 2015-01-28 2019-01-01 Motorola Solutions, Inc. Method and device for inputting handwriting character
CN106155652A (zh) * 2015-04-02 2016-11-23 阿里巴巴集团控股有限公司 一种多语言数据文件的生成方法和系统
CN112068921A (zh) * 2020-09-23 2020-12-11 北京亿信华辰软件有限责任公司武汉分公司 一种软件国际化资源定位方法

Also Published As

Publication number Publication date
CN101311897B (zh) 2012-02-22
US8170864B2 (en) 2012-05-01
US20080295009A1 (en) 2008-11-27

Similar Documents

Publication Publication Date Title
CN101311897B (zh) 一种抓取应用程序的图形用户界面资源的方法及装置
Friedman et al. Software assessment: reliability, safety, testability
CN100472434C (zh) 智能ui记录和重放结构
US8627296B1 (en) Unified unit and integration test with automatic mock creation
US6941546B2 (en) Method and apparatus for testing a software component using an abstraction matrix
KR100431169B1 (ko) 소프트웨어 프로그램의 텍스트 데이터 편집방법, 컴퓨터시스템 및 컴퓨터 프로그램 제품
US20050223360A1 (en) System and method for providing a generic user interface testing framework
AU2005203386A1 (en) Test automation stack layering
CN102541731B (zh) 平台不可知诊断数据收集与显示
WO2019209572A1 (en) Level-crossing memory trace inspection queries
US20050229161A1 (en) Generic user interface testing framework with load-time libraries
CN105308578A (zh) 状态转变的诊断
US20090132994A1 (en) Automation tool and method for generating test code
van der Merwe et al. Generation of library models for verification of android applications
US20050228644A1 (en) Generic user interface testing framework with rules-based wizard
Coppola et al. Translation from layout-based to visual android test scripts: An empirical evaluation
CN103365772B (zh) 软件测试自动评价装置以及方法
Barton et al. Dynamic and graphical web page breakpoints
CN102519514B (zh) 电子测试仪器一键式自动测试的实现方法
Wang et al. JSTrace: Fast reproducing web application errors
CN103164629B (zh) 一种Flash软件操作技能的自动评分方法
US7689905B1 (en) Containment of terminal application run-time data for viewing when disconnected from a host server
Nelson Third party cad tools for fpga design—a survey of the current landscape
CN105868092A (zh) 一种日志文件的处理方法及装置
KR20160011905A (ko) 온라인 학습 콘텐츠로의 변환을 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체 및 온라인 학습 콘텐츠로의 변환 방법

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
TR01 Transfer of patent right

Effective date of registration: 20180613

Address after: 7 floor, building 10, Zhang Jiang Innovation Park, 399 Keyuan Road, Zhang Jiang high tech park, Pudong New Area, Shanghai.

Patentee after: International Business Machines (China) Co., Ltd.

Address before: American New York

Patentee before: International Business Machines Corp.

Effective date of registration: 20180613

Address after: 7 floor, building 10, Zhang Jiang Innovation Park, 399 Keyuan Road, Zhang Jiang high tech park, Pudong New Area, Shanghai.

Patentee after: International Business Machines (China) Co., Ltd.

Address before: American New York

Patentee before: International Business Machines Corp.

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

Granted publication date: 20120222

Termination date: 20190524

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