更改資源文件中的資源的方法和系統的製作方法
2023-08-07 03:41:26 2
更改資源文件中的資源的方法和系統的製作方法
【專利摘要】一種在用戶界面中呈現要更改的資源的上下文的方法和系統,該方法包括:獲得資源文件中的至少一個資源與所述至少一個資源在用戶界面中呈現的對象的對應關係;以及響應於要更改所述至少一個資源之一,根據所述對應關係在用戶界面中呈現包括與要更改的所述資源對應的對象的區域。通過本發明的各個實施例,能夠通過呈現用戶界面中的對應對象來改善更改資源的準確性。
【專利說明】更改資源文件中的資源的方法和系統
【技術領域】
[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環境下的「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-),使得對象的屬性包含該第二標識符,如下還將參考圖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的那一行代碼變成「〈Textvalue="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分析引擎分析得到的該對象所在的那行代碼是hello)}}} 2,這表示在⑶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日
【發明者】盛延敏, 古楊, 高春風, 康濤, 鄭超 申請人:國際商業機器公司