国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      帶有可重用得分和建議的可重據(jù)用數(shù)的資源創(chuàng)作的制作方法

      文檔序號:6556947閱讀:118來源:國知局
      專利名稱:帶有可重用得分和建議的可重據(jù)用數(shù)的資源創(chuàng)作的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及數(shù)據(jù)處理。
      背景技術(shù)
      本地化是修改產(chǎn)品或服務(wù)以解決不同市場中的差異的過程。本地化的一個非常常見的示例發(fā)生在應(yīng)用程序是以源語言創(chuàng)作且被引入到使用與原始的語言不同的目標(biāo)語言的市場的時候。例如,如果應(yīng)用程序是以英語創(chuàng)作的,然后被引入到中國,則它可以通過將應(yīng)用程序中的各種英語語言字符串和UI元素(菜單、圖標(biāo)等)、軟件組件和用戶協(xié)助翻譯成中文來本地化。UI布局和樣式(包括字體類型、大小、控件位置等)也可能被改變以適合目標(biāo)語言。當(dāng)然,本地化的概念比簡單地修改語言更寬泛。使用同一語言的市場可由于各種原因而不同。例如,軟件應(yīng)用程序可以對不同的年齡組來“本地化”。它可對成人具有一組語言和外觀,而對兒童或青少年具有另一組語言和外觀。由此,本地化說明性地容納不同市場中的各種各樣差異。
      盡管如上所述,本地化涉及比僅僅翻譯字符串更多的內(nèi)容。為便于閱讀本說明書,我們將集中于對該情形的描述。。以類似的方式,大多數(shù)示例是從軟件本地化領(lǐng)域中取出的,但是本發(fā)明不限于軟件本地化。類似地,盡管本發(fā)明的討論大部分集中于本地化產(chǎn)品,然而本發(fā)明不限于此,且對服務(wù)同樣適用,由此,為描述的目的,術(shù)語“產(chǎn)品”包括服務(wù)。過去,沒有系統(tǒng)級嘗試來提供本地化,而是相反,本地化是使用個別組件解決個別問題來執(zhí)行的。例如,本地化器可用某些機器翻譯技術(shù)來增強以提高本地化速度、準(zhǔn)確度和一致性。然而,不同的本地化器可使用翻譯存儲器,通過重用先前的翻譯來提高再循環(huán)率,由此以比沒有該工具時能夠達到的更高的速度提供了更一致的結(jié)果。
      同樣,這常規(guī)上都是以離線的方式來完成的。換言之,作者創(chuàng)作整個應(yīng)用程序或組件的很大一部分,且該組件或應(yīng)用程序被提供給本地化器用于本地化。通常的過程是使得本地化器與原始作者的交互最小或不存在。這使得難以將易于其本地化的改變引入到原始內(nèi)容中。實際上,在許多情況下,本地化在完全開發(fā)了整個產(chǎn)品且作出了戰(zhàn)略上的營銷決策來將該產(chǎn)品拓展到使用不同語言或以另一方式為不同的不同市場之前是不被本地化的。在所有這些情況下,在開發(fā)考慮到本地化或甚至為本地化而優(yōu)化的應(yīng)用程序時幾乎沒有完成任何預(yù)先的工作。類似地,在開發(fā)/創(chuàng)作階段,對于開發(fā)相對易于本地化的應(yīng)用程序或其它產(chǎn)品/服務(wù)幾乎沒有支持,即使創(chuàng)作易于本地化的產(chǎn)品或服務(wù)不會比創(chuàng)作不易于本地化的產(chǎn)品或服務(wù)更難。
      因此,產(chǎn)品、服務(wù)和應(yīng)用程序在傳統(tǒng)上通過復(fù)雜的、手動的且勞動密集的過程被翻譯成不同的語言或另外地本地化。對于軟件產(chǎn)品的這樣的本地化以及產(chǎn)品相關(guān)內(nèi)容的翻譯的成本代表了一種重大的障礙,必須克服該障礙以進入新市場。這對于小型到中等大小的獨立軟件廠商或內(nèi)容作者而言尤為真實。
      本地化的問題也取決于開發(fā)該軟件的地方而可大可小。對于在具有較大市場的位置創(chuàng)作軟件的開發(fā)者而言,將軟件本地化到不同(且可能較小的)市場毫無需求可談。然而,如果開發(fā)者在具有相對較小的市場的地方創(chuàng)作(并使用該市場的語言),則產(chǎn)品的整個生存能力可取決于將該產(chǎn)品本地化到較大市場中使用的語言的能力。這要求制造商對本地化花費相當(dāng)大量的資源。這通常減損可用于開發(fā)的資源。
      與現(xiàn)有的本地化工作相關(guān)聯(lián)的另一問題是沒有一種良好的方法來利用各種其它本地化源的工作。例如,各種各樣的廠商為各種市場而本地化其產(chǎn)品。由不同廠商開發(fā)的類似的應(yīng)用程序可能正在對同一市場本地化同樣或非常類似的字符串或軟件。然而,當(dāng)前沒有任何有利的方法來使兩者利用或共享對方的工作。因此,在本地化產(chǎn)品時存在極大的重復(fù)工作。
      此外,存在具有不同類型的資源管理器、資源格式和數(shù)據(jù)存儲的許多不同的編程模型(諸如Win32、CLR和WEB腳本)。它們需要不同的語法分析器和工具集來處理本地化,這導(dǎo)致復(fù)雜且成本高的過程,以及本地化質(zhì)量中的不一致性。

      發(fā)明內(nèi)容
      本發(fā)明提供了一種用于處理數(shù)據(jù)的系統(tǒng)。


      圖1是其中可使用本發(fā)明的環(huán)境的一個說明性實施例。
      圖2是采用本發(fā)明的各方面的運行時環(huán)境的更詳細框圖。
      圖3是示出圖2中所示的、其中翻譯是不可用的平臺(或系統(tǒng))的總體操作的流程圖。
      圖4是示出圖2中所示的匹配組件的操作的流程圖。
      圖5是圖2中所示的、如在開發(fā)應(yīng)用程序或其它內(nèi)容過程中所使用的本地化平臺(或系統(tǒng))的更詳細框圖。
      圖6是示出依照本發(fā)明的一個實施例,如何可開發(fā)實現(xiàn)有助于以后的本地化的技術(shù)的產(chǎn)品的流程圖。
      具體實施例方式
      本發(fā)明提供了一種操作系統(tǒng),它具有集成的本地化平臺,或其組件盡管未被完全集成,但卻與該操作系統(tǒng)密切操作的本地化平臺。本發(fā)明的本地化平臺也可作為操作系統(tǒng)所請求的服務(wù)來提供。本發(fā)明使用該本地化平臺來本地化內(nèi)容和軟件。本發(fā)明也可在產(chǎn)品或服務(wù)的開發(fā)期間使用,從而實現(xiàn)了允許對產(chǎn)品或服務(wù)的更快且更有效的本地化的實施。本發(fā)明的討論將主要參考本地化過程中的翻譯來進行,但本發(fā)明不限于此,且本地化還包括用于不同市場的各種各樣的其它調(diào)整。在更詳細描述本發(fā)明之前,將描述其中可使用本發(fā)明的環(huán)境的一個實施例。
      圖1示出了適合在其中實現(xiàn)本發(fā)明的計算系統(tǒng)環(huán)境100的一個示例。計算系統(tǒng)環(huán)境100僅為合適的計算環(huán)境的一個示例,并非對本發(fā)明的使用范圍或功能提出任何局限。也不應(yīng)將計算環(huán)境100解釋為對示例性操作環(huán)境100中示出的任一組件或其組合具有任何依賴或需求。
      本發(fā)明可以使用眾多其它通用或?qū)S糜嬎阆到y(tǒng)環(huán)境或配置來操作。適用于本發(fā)明的眾所周知的計算系統(tǒng)、環(huán)境和/或配置包括但不限于個人計算機、服務(wù)器計算機、手持式或膝上設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機頂盒、可編程消費者電子設(shè)備、網(wǎng)絡(luò)PC、小型機、大型機、電話系統(tǒng),包括任一上述系統(tǒng)或設(shè)備的分布式計算環(huán)境等等。
      本發(fā)明可以在諸如由計算機執(zhí)行的程序模塊等計算機可執(zhí)行指令的一般上下文環(huán)境中描述。一般而言,程序模塊包括例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等,它們執(zhí)行特定的任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型。本發(fā)明也可以在分布式計算環(huán)境中實踐,其中,任務(wù)由通過通信網(wǎng)絡(luò)連接的遠程處理設(shè)備來執(zhí)行。在分布式計算環(huán)境中,程序模塊可以位于包括存儲器存儲設(shè)備的本地和遠程計算機存儲介質(zhì)中。
      參考圖1,用于實現(xiàn)本發(fā)明的示例系統(tǒng)包括計算機110形式的通用計算設(shè)備。計算機110的組件包括但不限于,處理單元120、系統(tǒng)存儲器130以及將包括系統(tǒng)存儲器的各類系統(tǒng)組件耦合至處理單元120的系統(tǒng)總線121。系統(tǒng)總線121可以是若干種總線結(jié)構(gòu)類型的任一種,包括存儲器總線或存儲器控制器、外圍總線以及使用各類總線體系結(jié)構(gòu)的局部總線。作為示例而非局限,這類體系結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu)(MCA)總線、增強ISA(EISA)總線、視頻電子技術(shù)標(biāo)準(zhǔn)協(xié)會(VESA)局部總線以及外圍部件互連(PCI)總線,也稱為Mezzanine總線。
      計算機110通常包括各種計算機可讀介質(zhì)。計算機可讀介質(zhì)可以是可由計算機110訪問的任一可用介質(zhì),包括易失性和非易失性介質(zhì)、可移動和不可移動介質(zhì)。作為示例而非局限,計算機可讀介質(zhì)包括計算機存儲介質(zhì)和通信介質(zhì)。計算機存儲介質(zhì)包括以用于儲存諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的任一方法或技術(shù)實現(xiàn)的易失性和非易失性,可移動和不可移動介質(zhì)。計算機存儲介質(zhì)包括但不限于,RAM、ROM、EEPROM、閃存或其它存儲器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲、磁盒、磁帶、磁盤存儲或其它磁存儲設(shè)備、或可以用來儲存所期望的信息并可由計算機110訪問的任一其它介質(zhì)。通信介質(zhì)通常具體化為諸如載波或其它傳輸機制的已調(diào)制數(shù)據(jù)信號中的計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),并包括任一信息傳送介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號”指以對信號中的信息進行編碼的方式設(shè)置或改變其一個或多個特征的信號。作為示例而非局限,通信介質(zhì)包括有線介質(zhì),如有線網(wǎng)絡(luò)或直接連線連接,以及無線介質(zhì),如聲學(xué)、RF、紅外和其它無線介質(zhì)。上述任一的組合也應(yīng)當(dāng)包括在計算機可讀介質(zhì)的范圍之內(nèi)。
      系統(tǒng)存儲器130包括以易失性和/或非易失性存儲器形式的計算機存儲介質(zhì),如只讀存儲器(ROM)131和隨機存取存儲器(RAM)132。基本輸入/輸出系統(tǒng)133(BIOS)包括如在啟動時幫助在計算機110內(nèi)的元件之間傳輸信息的基本例程,通常儲存在ROM 131中。RAM 132通常包含處理單元120立即可訪問或者當(dāng)前正在操作的數(shù)據(jù)和/或程序模塊。作為示例而非局限,圖1示出了操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137。
      計算機110也可包括其它可移動/不可移動、易失性/非易失性計算機存儲介質(zhì)。僅作示例,圖1示出了對不可移動、非易失性磁介質(zhì)進行讀寫的硬盤驅(qū)動器141、對可移動、非易失性磁盤152進行讀寫的磁盤驅(qū)動器151以及對可移動、非易失性光盤156,如CD ROM或其它光介質(zhì)進行讀寫的光盤驅(qū)動器155??梢栽谑纠圆僮鳝h(huán)境中使用的其它可移動/不可移動、易失性/非易失性計算機存儲介質(zhì)包括但不限于,磁帶盒、閃存卡、數(shù)字多功能盤、數(shù)字錄像帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅(qū)動器141通常通過不可移動存儲器接口,如接口140連接到系統(tǒng)總線121,磁盤驅(qū)動器151和光盤驅(qū)動器155通常通過可移動存儲器接口,如接口150連接到系統(tǒng)總線121。
      上文討論并在圖1示出的驅(qū)動器及其關(guān)聯(lián)的計算機存儲介質(zhì)為計算機110提供了計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的存儲。例如,在圖1中,示出硬盤驅(qū)動器141儲存操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147。注意,這些組件可以與操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137相同,也可以與它們不同。這里對操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147給予不同的標(biāo)號來說明至少它們是不同的副本。
      用戶可以通過輸入設(shè)備,如鍵盤162、麥克風(fēng)163和定位設(shè)備161(通常指鼠標(biāo)、跟蹤球或觸摸板)向計算機110輸入命令和信息。其它輸入設(shè)備(未示出)可包括操縱桿、游戲墊、圓盤式衛(wèi)星天線、掃描儀等等。這些和其它輸入設(shè)備通常通過耦合至系統(tǒng)總線的用戶輸入接口160連接至處理單元120,但是也可以通過其它接口和總線結(jié)構(gòu)連接,如并行端口、游戲端口或通用串行總線(USB)。監(jiān)視器191或其它類型的顯示設(shè)備也通過接口,如視頻接口190連接至系統(tǒng)總線121。除監(jiān)視器之外,計算機也可包括其它外圍輸出設(shè)備,如揚聲器197和打印機196,它們通過輸出外圍接口195連接。
      計算機110可以使用到一個或多個遠程計算機,如遠程計算機180的邏輯連接在網(wǎng)絡(luò)化環(huán)境中操作。遠程計算機180可以是個人計算機、手持設(shè)備、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其它普通網(wǎng)絡(luò)節(jié)點,并通常包括許多或所有相對于計算機110所描述的元件。圖1描述的邏輯連接包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但也可以包括其他網(wǎng)絡(luò)。這類網(wǎng)絡(luò)環(huán)境常見于辦公室、企業(yè)范圍計算機網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)以及因特網(wǎng)。
      當(dāng)在LAN網(wǎng)絡(luò)環(huán)境中使用時,計算機110通過網(wǎng)絡(luò)接口或適配器170連接至LAN 171。當(dāng)在WAN網(wǎng)絡(luò)環(huán)境中使用時,計算機110通常包括調(diào)制解調(diào)器172,或用于通過WAN 173,如因特網(wǎng)建立通信的其它裝置。調(diào)制解調(diào)器172可以是內(nèi)置或外置的,通過用戶輸入接口160或其它適當(dāng)?shù)臋C制連接至系統(tǒng)總線121。在網(wǎng)絡(luò)化環(huán)境中,相對于計算機110所描述的程序模塊或其部分可儲存在遠程存儲器存儲設(shè)備中。作為示例,而非局限,圖1示出了遠程應(yīng)用程序185駐留在遠程計算機180上??梢岳斫?,示出的網(wǎng)絡(luò)連接是示例性的,也可以使用在計算機之間建立通信鏈路的其它手段。
      圖2示出了被集成到圖1所示的操作系統(tǒng)134中的本地化平臺(或系統(tǒng))。本地化平臺200被示出為具有許多不通的存儲器存儲,且可以理解,這些存儲器存儲可以用圖1中所示的各種存儲設(shè)備的任一種來實施,或以不同的存儲設(shè)備來實施。系統(tǒng)200被示出為與經(jīng)受本地化的應(yīng)用程序202和各種輸入源204交互式地安排,輸入源204通過數(shù)據(jù)收集組件205將各種翻譯輸入到系統(tǒng)200中的數(shù)據(jù)存儲。
      系統(tǒng)200本身包括資源管理器206、布局引擎208、翻譯存儲器(TM)匹配器210、下載管理器212、翻譯存儲器(TM)數(shù)據(jù)服務(wù)214、機器翻譯(MT)系統(tǒng)216、過濾器214、證書系統(tǒng)22以及多個不同的數(shù)據(jù)存儲。圖2所示的數(shù)據(jù)存儲包括應(yīng)用程序規(guī)則數(shù)據(jù)存儲222、本地和專用存儲224和226、術(shù)語庫數(shù)據(jù)存儲228以及術(shù)語庫翻譯數(shù)據(jù)存儲230、本體知識存儲232、翻譯存儲器234和公共UI元素數(shù)據(jù)存儲236。一般而言,應(yīng)用程序規(guī)則在資源中使用來指定應(yīng)用程序相關(guān)的豐富數(shù)據(jù),而過濾器用于確保對數(shù)據(jù)作出貢獻的實體(或輸入源204)只能修改它們所貢獻的數(shù)據(jù),且所添加的所有數(shù)據(jù)都基于某些規(guī)則來過濾。當(dāng)然,數(shù)據(jù)存儲可以按任何期望的方式被不同地分組、合并或拆分。系統(tǒng)200的詳細操作稍后在說明書中參考圖2-6來描述。然而,現(xiàn)在將開始對系統(tǒng)200的操作以及圖2所示的項目的簡要描述。
      在運行時,資源管理器206將與應(yīng)用程序202相關(guān)聯(lián)的資源加載到高速緩存207(對于內(nèi)容或其它類型的可本地化數(shù)據(jù)可發(fā)現(xiàn)類似的情況)。資源管理器206也從應(yīng)用程序202接收對資源的調(diào)用。資源管理器206作為響應(yīng),首先加載與當(dāng)前由平臺200選中的區(qū)域設(shè)置相關(guān)聯(lián)的語言的字符串。資源管理器206基于諸如可用性、置信度級別、用戶設(shè)置等來決定要加載資源的哪一版本。資源管理器206可決定調(diào)用TM匹配器210。為此,資源管理器206調(diào)用TM匹配器210以獲取指定資源的翻譯(或本地化)。TM匹配器210也可具有預(yù)先填充的資源數(shù)據(jù)以防止資源加載時的運行時延遲;預(yù)先填充的信息將用相關(guān)信息來標(biāo)記,這些相關(guān)信息諸如它是來自MT系統(tǒng)216還是TM匹配器210、其置信度得分等等。這在稍后將更詳細討論。如果TM匹配器210不返回對資源的匹配,則資源管理器206級聯(lián)地通過資源后援,使得可以用不同的、后援的語言來提供翻譯。這也可在下文中更詳細描述。同樣,在一個實施例中,資源管理器206和TM匹配器210可具有后援。它們可以彼此不同,且盡管TM匹配器210的結(jié)果可影響資源管理器206,但資源管理器206可決定使用后援而無需調(diào)用TM匹配器210。
      由本地化對字符串作出的改變迫使包含這些字符串的顯示項目上的改變并非是不常見的。常見的例子包括對更多空間(較長的字符串)、對對話流程(從左到右語言與從右到左語言相比)的改變等的需求。調(diào)整過程可在本地化、呈現(xiàn)時或兩者同時發(fā)生。最常見的情況是需要對話框中的項目的重新排列和調(diào)整大小,且該過程被稱為自動布局。在創(chuàng)作過程期間提供的信息的量和正確性將會影響運行時產(chǎn)生的結(jié)果。
      TM匹配器210位于各種翻譯源和資源管理器206之間,它請求匹配內(nèi)容(或?qū)?nèi)容翻譯成另一語言或另外地本地化)。TM匹配器210搜索可用源(以及應(yīng)用程序202所信任的源)來找出具有與其相關(guān)聯(lián)的最高置信度得分的翻譯。
      對TM匹配器210的操作的更詳細討論也在下文中參考圖4來陳述。然而,簡言之,TM匹配器210訪問應(yīng)用程序規(guī)則數(shù)據(jù)存儲222中與應(yīng)用程序或內(nèi)容202相關(guān)聯(lián)的規(guī)則,以確保提供回給資源管理器206的任何本地化都不會導(dǎo)致應(yīng)用程序202的故障。TM匹配器210首先搜索本地數(shù)據(jù)存儲224和專用數(shù)據(jù)存儲226,來查看本地化是否已經(jīng)存在。如果由資源管理器206作出的請求是先前所作出過的請求,本地數(shù)據(jù)存儲224持有已被本地化的資源的翻譯或其它本地化。
      TM匹配器210也調(diào)用TM數(shù)據(jù)服務(wù)214。TM數(shù)據(jù)服務(wù)214訪問包含各種各樣不同事物,諸如儲存在存儲236中的公共用戶界面(UI)元素以及儲存在術(shù)語庫228中的已定義術(shù)語的翻譯或其它本地化的翻譯存儲器234,且本體知識存儲232為應(yīng)用程序202和相關(guān)聯(lián)的域提供上下文信息。
      如果本地化已經(jīng)在存儲224或226上本地存在,或者遠程地在存儲234上存在,則TM匹配器210可訪問可任選地可用的機器翻譯(MT)系統(tǒng)216(或多個可用MT系統(tǒng)中的一個),以對要本地化的內(nèi)容執(zhí)行機器翻譯。TM匹配器210調(diào)用MT系統(tǒng)216的決策可基于用戶偏好、翻譯的可用性、可用翻譯的質(zhì)量以及MT提供的翻譯等。在一個實施例中,機器翻譯系統(tǒng)216是任何市場上可購買的MT系統(tǒng),且說明性地僅用于在其它存儲器源(諸如TM數(shù)據(jù)服務(wù)214和本地及專用數(shù)據(jù)存儲224和226)的任一個中沒有具有更高置信度級別的任何匹配的情況下的翻譯。MT系統(tǒng)216能夠?qū)嶋H上是任何MT系統(tǒng)或能夠使用不同存儲中的數(shù)據(jù)(例如,先前的翻譯)來產(chǎn)生翻譯的任何系統(tǒng)的這一事實很大程度上增強了系統(tǒng)的可擴展性,因為新的或不同的MT系統(tǒng)可被TM匹配器210容易地使用。
      當(dāng)然,MT系統(tǒng)可擴展性不是系統(tǒng)的唯一可擴展性,而僅是一個示例。系統(tǒng)可擴展性的某些其它示例包括內(nèi)容創(chuàng)作編輯器、語言語法分析器、第三方翻譯存儲器、團體編輯器、開發(fā)創(chuàng)作環(huán)境、到web服務(wù)的連接等。這些和其它領(lǐng)域中的可擴展性可由平臺200中的API支持。
      在任何情況下,由TM匹配器210訪問的每一翻譯資源將說明性地向TM匹配器210提供指示與所請求的本地化相關(guān)聯(lián)的置信度或重用率的置信度得分(或翻譯率、再循環(huán)率或其它類似的度量)。TM匹配器210然后可從可信源中選擇提供與最高得分相關(guān)聯(lián)的翻譯的本地化或翻譯。如果在本地存儲224中尚無翻譯,則翻譯然后由下載管理器212下載到本地存儲224。
      在一個說明性實施例中,各種各樣的輸入源204可向系統(tǒng)200中的各種存儲器提供翻譯輸入。例如,開發(fā)結(jié)合本地化平臺200的操作系統(tǒng)的廠商或軟件制造商可說明性地向各種存儲器提供可信術(shù)語。然而,在一個實施例中,輸入源204可包括自由團體以及開發(fā)團體。自由團體允許使用系統(tǒng)200來執(zhí)行本地化服務(wù)的任何人通過數(shù)據(jù)收集組件205向一個內(nèi)容提供建議的本地化。輸入源204也可包括開發(fā)團體,開發(fā)團體(與自由團體相比)儲存僅由官方地被如此承認的開發(fā)者提供的翻譯。由此,可以看到,平臺200允許本地化過程對非常大的規(guī)模上所涉及的團體開放,以及在某一粒度級別上調(diào)整(例如,用戶決定信任什么和不信任什么)來滿足用戶的需求和期望。
      此外,數(shù)據(jù)收集組件可動態(tài)地(在設(shè)置、運行時、配置等過程中)、間歇地從各種輸入源204收集新數(shù)據(jù)。新數(shù)據(jù)當(dāng)然可以是新資源數(shù)據(jù)以及預(yù)先本地化的數(shù)據(jù)或翻譯存儲器數(shù)據(jù),以支持新應(yīng)用程序、新領(lǐng)域,并執(zhí)行對運行的操作系統(tǒng)的自我轉(zhuǎn)變。這包含了系統(tǒng)的自適應(yīng)性和準(zhǔn)確性。
      然而,特定的應(yīng)用程序開發(fā)者、系統(tǒng)管理員或用戶可能期望僅信任某些本地化內(nèi)容。例如,開發(fā)者可能不希望信任來自自由團體或開發(fā)團體的本地化內(nèi)容,而僅信任來自廠商或OS制造商的內(nèi)容。這允許開發(fā)者或用戶設(shè)置平臺200向不同源開放本地化任務(wù)的程度。這甚至可以在逐字符串的基礎(chǔ)上設(shè)置。
      在一個這樣的實施例中,系統(tǒng)200包括將證書附加到由某些源提供的內(nèi)容的證書系統(tǒng)220。在該情況下,應(yīng)用程序202的開發(fā)者可能期望僅附加了證書的本地化內(nèi)容是可信的。例如,開發(fā)者和其它貢獻者可能能夠獲得簽署相對于他們所在的層、與其應(yīng)用程序有關(guān)的內(nèi)容的權(quán)限。這意味著應(yīng)用程序開發(fā)者的證書將該開發(fā)者置于用于該特定應(yīng)用程序的層中,而所有其它貢獻者在下一層,在“其它ISV”、團體或用戶層中。證書可以相對于貢獻者的層而言是可信的。例如,給定制造商可能總是具有最高層,但是從該層往下,用戶可確定可信層以及層內(nèi)的可信源。對任何給定應(yīng)用程序202或任何用戶要信任哪一本地化內(nèi)容的指示可被儲存在應(yīng)用程序規(guī)則數(shù)據(jù)存儲222中。證書有助于建立用于翻譯的信任系統(tǒng)。
      用戶或開發(fā)者也可選擇分層可信源。例如,基于本地化內(nèi)容的起源,用戶可確定是否僅信任OS制造商,且如果沒有一個是可用的,則信任獨立軟件廠商翻譯,且如果那些獨立軟件廠商翻譯也是不可用的,則然后僅信任開發(fā)團體,依此類推。在一個說明性實施例中,該分層結(jié)構(gòu)是默認地建立的,但是用戶可以簡單地接受或用個人設(shè)置來覆蓋它。這樣的設(shè)置可以在與每一應(yīng)用程序或運行該應(yīng)用程序的各個機器相關(guān)聯(lián)的應(yīng)用程序規(guī)則中實現(xiàn)。
      同樣,應(yīng)當(dāng)注意,專用存儲226類似于本地存儲224,這表現(xiàn)在它駐留在用戶的數(shù)據(jù)存儲上。然而,本地存儲224說明性地是系統(tǒng)級存儲,而專用存儲226是可用于指示對應(yīng)于個別用戶的可信本地化內(nèi)容,包括由用戶為其自己的私人使用而輸入的數(shù)據(jù)。因此,每一個別用戶可標(biāo)識不同的可信本地化內(nèi)容。該內(nèi)容在專用存儲226中向該特定用戶標(biāo)識。這允許個別用戶能夠比與個別應(yīng)用程序相關(guān)聯(lián)地更進一步地定制本地化過程。例如,如由應(yīng)用程序所需且允許的,用戶可對他或她自己的應(yīng)用程序作出改變。用戶也可反過來向團體共享本地或?qū)S么鎯Α?br> 另外,某些翻譯可被鎖定,使得它們不被修改。這對于避免潛在的惡意翻譯是極其重要的。例如,輸入源之一可能提供將術(shù)語“Click here to format your harddrive”(點擊這里來格式化您的硬盤驅(qū)動器)翻譯成“Click here to continue”(點擊這里來繼續(xù))的惡意翻譯。
      一旦TM匹配器210從資源管理器206獲得了對請求所期望的本地化,它應(yīng)用來自存儲222的過濾器218和應(yīng)用程序規(guī)則。過濾器218說明性地定義了不被置于任何給定語言的任何本地化內(nèi)容中的術(shù)語。例如,某些用戶可能期望過濾淫穢的術(shù)語或任何其它不能采用的內(nèi)容。因此,過濾器218在使用資源管理器206所請求的本地化內(nèi)容之前應(yīng)用。注意,應(yīng)用過濾器(以及任何其它類型的確認)是本地化中的一個步驟,且可以在過程中的許多步驟處應(yīng)用,諸如編輯、下載、使用等。
      例如,一般而言,只要兩個組件交換數(shù)據(jù)就發(fā)生確認,除非組件完全信任對方,且用于通信的信道也是可信的(諸如反對暗中的活動)。因此,例如,如果資源是從可信源下載的,且資源包含有效的簽名,則無需完成任何其它確認(除確認簽名之外)。如果源是可信的,但文件未被簽署,則評估用于傳輸信息的信道以確定它是否是可信的。例如,從互聯(lián)網(wǎng)下載的未簽署文件比用戶從同一計算機的另一文件夾中復(fù)制的未簽署文件更有可能被篡改。取決于若干因素,可決定進行快速功能確認,或可進行某些附加的內(nèi)容確認,諸如檢查冒犯性的詞或確保原始資源中的術(shù)語在目標(biāo)資源上存在(例如,因此,“menu”(菜單)不被翻譯為“folder”(文件夾))。
      應(yīng)用程序設(shè)置/配置組件240在設(shè)置和設(shè)置后配置期間使用。在設(shè)置期間,應(yīng)用程序202向本地資源存儲224注冊其資源。組件240說明性地公開了一用戶界面,它允許用戶在應(yīng)用程序尚未被本地化的情況下將應(yīng)用程序本地化成由平臺支持的目標(biāo)語言。用戶界面可允許用戶顯式地選擇目標(biāo)語言。按需本地化組件241將這些請求傳遞到資源管理器206并也可能傳遞到TM匹配器210。
      傳統(tǒng)應(yīng)用程序242表示所開發(fā)的且尚不知平臺200的應(yīng)用程序。兼容性層243支持由應(yīng)用程序242使用的現(xiàn)有資源接口,并將調(diào)用重定向到資源管理器206。
      圖3是更詳細示出依照本發(fā)明的一個實施例的平臺200的操作的流程圖。在運行時,用戶首先選擇或啟動應(yīng)用程序202。這是由圖3中的框300表示的。接著,在本實施例中,資源管理器206將與應(yīng)用程序202相關(guān)聯(lián)的所需資源加載到高速緩存207中(或另一存儲設(shè)備中,在本實施例中,所有這些此處都被稱為“高速緩存”)。這是由框302表示的。
      操作系統(tǒng)(尤其是本地化平臺200)在后臺開始將高速緩存207中的資源翻譯成期望的語言。為此,平臺200實現(xiàn)與應(yīng)用程序202相關(guān)聯(lián)的應(yīng)用程序規(guī)則222,以及與應(yīng)用程序202或用戶(視哪一個適用而定)相關(guān)聯(lián)的信任模型(即,可信本地化源)。資源管理器206為高速緩存207中儲存的資源調(diào)用TM匹配器210以獲得其本地化值。加載到高速緩存207中的資源在后臺的本地化由圖3中的框304來表示。
      應(yīng)當(dāng)注意,填充應(yīng)用程序的本地化資源無需等待到運行時。相反,它可以在設(shè)置時或另一時刻完成。另外,本地化的某些部分可以在運行時運行,而其它部分可以在設(shè)置時或另一時刻完成。例如,某些計算上更昂貴或更耗時的任務(wù)可以在設(shè)置時或另一時刻在后臺執(zhí)行,而較快的任務(wù)可以在運行時執(zhí)行。在又一實施例中,任務(wù)可(由用戶)分配以在特定的時刻執(zhí)行,且這些任務(wù)的狀態(tài)也可被顯示。
      當(dāng)資源在后臺被本地化時,不僅將本地化的值儲存在高速緩存207中,而且它們也被置于本地存儲224中。因此,下次當(dāng)啟動應(yīng)用程序202時,由于已被本地化的所有這些資源值已位于本地存儲224中,本地化過程將或更快。由此,TM匹配器210無需搜索TM數(shù)據(jù)服務(wù)214或使用機器翻譯系統(tǒng)216來翻譯值,因為本地化將會被系統(tǒng)記住。相反,只需從本地存儲224中檢索它們。在本地存儲224中儲存翻譯是由圖3中的框306表示的。同樣,在要求時,整個翻譯可使用下載管理器212被加載到本地存儲224中。
      當(dāng)然,也可檢查本發(fā)明的系統(tǒng)的更新。例如,由于不能定位到更好的翻譯,最初可能選擇非理想的翻譯。然而,稍后可能由源204之一將更好的翻譯加載到存儲器之一中。資源然后可被周期性地更新以容納這一變化。
      類似地,代碼更新可能使得先前本地化的資源無效。因此,在一個實施例中,代碼改變觸發(fā)對某些或所有資源的重新本地化。
      當(dāng)作出資源翻譯時,布局引擎208標(biāo)識需要對應(yīng)用程序的顯示布局的修改的某些翻譯。另外,應(yīng)用程序中源語言中使用的字體被映射到目標(biāo)語言中的字體。這可由布局引擎208其它組件在運行時或在早些時候完成。布局和字體映射由圖3中的框308表示。
      以此方式,操作系統(tǒng)中的本地化平臺200繼續(xù)本地化與應(yīng)用程序202相關(guān)聯(lián)且儲存在高速緩存207中的資源。然而,應(yīng)用程序可能碰巧對尚未在后臺本地化的資源作出了請求。這一請求由圖3中的框310表示。資源管理器206首先確定所請求的資源是否已被本地化且儲存在高速緩存207中。這由圖3中的框312表示。如果是,則只需將所請求的資源的本地化從高速緩存207返回到應(yīng)用程序202。這由框314表示。
      然而,如果資源尚未在后臺中本地化且儲存在高速緩存207中,則資源管理器206向TM匹配器210請求資源的本地化。TM匹配器210然后向它能夠訪問的各種源請求資源的本地化,并返回所請求的資源的本地化。調(diào)用TM匹配器210是由圖3中的框316表示的。TM匹配器210的操作將參考圖4更詳細地描述。
      通過在后臺本地化高速緩存207中的資源,本地化平臺200與現(xiàn)有系統(tǒng)有顯著的不同?,F(xiàn)有系統(tǒng)用資源來加載高速緩存。然而,這導(dǎo)致本地化時的重大缺陷。如果本地化平臺等待應(yīng)用程序通過調(diào)用MT即時請求資源來本地化它,則這可能導(dǎo)致應(yīng)用程序202的操作中的不合需要的延遲或者結(jié)果將被在這一受約束環(huán)境(性能要求可限制準(zhǔn)確度)中使用的該組算法限制。當(dāng)前的機器翻譯計數(shù)要求大約1.5秒來翻譯一個句子。盡管即時翻譯和其它本地化肯定是本發(fā)明所構(gòu)想的,但是使用機器翻譯系統(tǒng)216即時翻譯所有的資源可能導(dǎo)致應(yīng)用程序操作中不適當(dāng)?shù)难舆t。當(dāng)然,如果之前本地化了足夠數(shù)量的資源且儲存在本地存儲224或?qū)S么鎯?26中,或者它們被儲存在翻譯存儲器234中,且僅相對一小部分資源需要由MT系統(tǒng)216翻譯,則高速緩存207在后臺中的本地化不如避免危害應(yīng)用程序202的操作那樣重要。
      在任何情況下,TM匹配器210繼續(xù)在后臺和/或即時本地化高速緩存207中的值。TM匹配器210繼續(xù),直到所有的資源被本地化。
      一般而言,TM匹配器210可對照一個或多個數(shù)據(jù)存儲來工作。它可任選地與其它再循環(huán)引擎(諸如TM匹配器或MT系統(tǒng))集成。它可任選地利用術(shù)語及其翻譯和關(guān)系(本體知識)。它可使用元數(shù)據(jù)來決定存儲中的哪些數(shù)據(jù)片斷被假定為構(gòu)成搜索空間(諸如領(lǐng)域區(qū)、作者、批準(zhǔn)狀態(tài)或其它元數(shù)據(jù))。它可查看字符串本身上的限制(應(yīng)用程序規(guī)則/過濾器),并利用這些限制來產(chǎn)生更好的匹配或更容易被確認的匹配。當(dāng)然,這些特征都是可任選的,且可以在需要時添加更多特征或可以改變或從TM操作中刪除這些特征。
      圖4是僅為示例起見更詳細地示出TM匹配器210的操作的一個實施例的流程圖。資源管理器206首先向TM匹配器210提供對本地化的請求。這是由圖4中的框350表示的。TM匹配器210然后獲取當(dāng)前上下文的信任模型信息。在一個實施例中,信任模型信息與數(shù)據(jù)本身一起儲存,但是也可能被儲存在專用存儲226或標(biāo)識在給定當(dāng)前上下文時要在其上確定可信本地化源的任何其它上下文項目的任何其它源中。信任模型信息可包括對哪些源是可信的指示,或為使本地化項目有效和被考慮必須滿足的要求列表。這也有助于更新情形。對代碼的更新可改變資源必須滿足的約束集。這些改變可要求先前假定為有效的資源的重新確認。這是由圖4中的框352來表示的。
      TM匹配器210然后說明性地向所有可信本地化源請求資源的本地化,但是也可以按給定的順序來請求。順序和所檢查的源的數(shù)目說明性地取決于環(huán)境(諸如本地化是在運行時、設(shè)置時,還是批處理等中發(fā)生)而變化。這是由框354來表示的。換言之,在一個實施例中,TM匹配器210甚至不向非可信源請求翻譯。在這一情況下,假定用戶不希望在輸入源204中信任來自自由團體或來自開發(fā)團體的翻譯。TM匹配器210僅要求始發(fā)于可信源的本地化內(nèi)容,且因此排除由自由團體和開發(fā)團體提供的所有本地化內(nèi)容。當(dāng)然,TM匹配器210可基于給定當(dāng)前上下文時的可信源來修改向其請求本地化結(jié)果的源。
      響應(yīng)于來自TM匹配器210的請求,對本地化內(nèi)容所請求的各種源返回其相關(guān)聯(lián)的置信度得分。例如,翻譯結(jié)果常常具有指示給定源語言中的輸入翻譯有多少可能性是正確的相關(guān)聯(lián)的置信度。對于本發(fā)明的目的而言,使用什么特定的度量來指示與翻譯或其它本地化相關(guān)聯(lián)的置信度是不重要的。在說明性實施例中,來自所有源的得分使用同一度量或彼此相關(guān)的度量,使得TM匹配器210可確定得分的相對量值。返回與翻譯(或本地化內(nèi)容)相關(guān)聯(lián)的置信度得分是由圖4中的框356指示的。
      TM匹配器210然后從最高得分的可信源獲得本地化的內(nèi)容(例如,翻譯)。這是由框358指示的。同樣,TM匹配器210也可基于其它或附加的準(zhǔn)則來選擇本地化的內(nèi)容,諸如獲取本地化內(nèi)容所需的時間、本地化內(nèi)容與目標(biāo)市場有多接近、確認準(zhǔn)則或其它準(zhǔn)則、或準(zhǔn)則的組合。另外,TM匹配器可從多個源檢索本地化內(nèi)容并組合它們。
      一旦接收到翻譯,TM匹配器210應(yīng)用過濾器218和其它確認以確保本地化內(nèi)容(或翻譯)在給定應(yīng)用程序和上下文以及用戶期望的任何過濾器或確認準(zhǔn)則時是適當(dāng)?shù)?。?yīng)用過濾器和其它確認由圖4中的框360來表示。TM匹配器210也說明性地應(yīng)用應(yīng)用程序規(guī)則,使得對給定資源檢索的本地化內(nèi)容將不會阻止應(yīng)用程序的操作或?qū)е虏徽_的操作或使應(yīng)用程序崩潰。也可注意到,某些過濾和確認處理可被預(yù)先計算,而非等待以在過程中的這一點處執(zhí)行所有必要的步驟。
      一旦完成,TM匹配器210向資源管理器206返回結(jié)果。這由框362來表示??梢岳斫?,該過程將在TM匹配器210由資源管理器206調(diào)用的任何時刻執(zhí)行。由此,該過程將在高速緩存207中的資源在后臺本地化時執(zhí)行,且它將在應(yīng)用程序202作出對至今尚未本地化的資源的調(diào)用時執(zhí)行。
      在任何情況下,TM匹配器210可發(fā)現(xiàn)在期望的語言中沒有可用的翻譯,或者返回的置信度得分低于給定閾值,但是翻譯必須使用機器翻譯系統(tǒng)216來進行。此時,在一個實施例中,通知資源管理器206,且可請求TM匹配器210查找后援語言中的翻譯。例如,如果目標(biāo)語言是加泰羅尼亞語,應(yīng)用程序202可請求資源的翻譯,但是在加泰羅尼亞語中沒有這樣的翻譯可用。然而,資源管理器206可被配置成使得西班牙語是對加泰羅尼亞語的第一后援語言。在這一情況下,TM匹配器210返回到資源管理器206,指示在加泰羅尼亞語中沒有翻譯可用,且必須調(diào)用機器翻譯系統(tǒng)216以獲得這一翻譯(或者,MT系統(tǒng)216可在TM匹配器210的首次調(diào)用時調(diào)用)。資源管理器206只需請求TM匹配器210返回所請求的資源的西班牙語的翻譯,而非遭受與即時機器翻譯相關(guān)聯(lián)的性能損失。如果有這樣的翻譯可用,則它由TM匹配器210返回。
      當(dāng)然,如上所述,后援區(qū)域設(shè)置/語言可以被分層地級聯(lián)到任何期望的程度,使得各種區(qū)域設(shè)置是對各種其它區(qū)域設(shè)置的后援,其最終的后援可以是源語言。由此,如果到達最終的后援,則資源管理器206只需在平臺確保的最終后援中向應(yīng)用程序202返回所請求的資源,而不是提供所請求的資源的翻譯,因此應(yīng)用程序不會由于平臺而崩潰或丟失與用戶的交互點。
      用戶也可說明性地設(shè)置后援分層結(jié)構(gòu)如何工作。例如,用戶可指示將一組資源顯示在一起(例如,具有若干字符串的對話框)可以用一種語言(或本地化到一個市場)顯示該對話框的部分,而以另一種語言(例如,在后援中)顯示其它部分。其它用戶可指示所顯示的資源組都是一種語言(或本地化到同一市場)。
      可以注意到,用戶無需啟動應(yīng)用程序以使其由平臺200來翻譯。用戶只需選擇一個應(yīng)用程序或其它軟件組件用于本地化,而平臺200可在后臺對其本地化。例如,在一個實施例中,用戶可右鍵點擊應(yīng)用程序,并從菜單中選擇“Localize(本地化)”。平臺200然后開始在后臺本地化應(yīng)用程序,將本地化的內(nèi)容儲存在本地存儲中。內(nèi)容也可在后臺本地化。在一個實施例中,用戶在儲存在文件系統(tǒng)或服務(wù)器上的文檔上右鍵點擊,并選擇“Localize”。本地化平臺在后臺本地化該文檔。這也適用于從互聯(lián)網(wǎng)下載的文檔。
      另外,當(dāng)安裝應(yīng)用程序時(或在稍后的時刻),用戶可選擇多個不同的語言用于安裝。這些語言然后被加載到本地數(shù)據(jù)存儲224中。翻譯可被儲存在產(chǎn)品光盤或其它介質(zhì)上。
      圖5是示出開發(fā)上下文中的平臺200的組件的框圖。大多數(shù)項目類似于圖2所示的項目,且被類似地標(biāo)號。
      圖5示出了協(xié)助平臺380和開發(fā)組件382。開發(fā)組件382可以是諸如可從華盛頓州雷蒙德市微軟公司獲得的Visual Studio等任何期望的開發(fā)組件,或用于創(chuàng)作軟件的任何其它期望的開發(fā)組件。協(xié)助平臺380有助于通過與平臺200的一個或多個組件,諸如翻譯平臺381交互來創(chuàng)作內(nèi)容,以允許開發(fā)者開發(fā)具有高再循環(huán)率的產(chǎn)品,且由此很大程度上降低了用于本地化成不同語言的成本。開發(fā)組件382和協(xié)助平臺380都使用由平臺200提供的服務(wù)。為此,開發(fā)組件382和協(xié)助平臺380與某些實施中構(gòu)建到前端開發(fā)/創(chuàng)作過程中的其它組件結(jié)合,這些前端開發(fā)/創(chuàng)作過程可能很大程度上增強產(chǎn)品被本地化以進入各種不同的市場的能力,且因此很大程度上增加了開發(fā)投資的回報。
      構(gòu)建組件384使用由本地化平臺和/或協(xié)助平臺380或任何其它內(nèi)容創(chuàng)作工具提供的信息,這些內(nèi)容創(chuàng)作工具可通過數(shù)據(jù)存儲222中API和應(yīng)用程序規(guī)則來訪問本地化平臺,并構(gòu)建應(yīng)用程序202和內(nèi)容文檔。
      也可注意到,圖5對本發(fā)明的討論一般參考了開發(fā)應(yīng)用程序的開發(fā)者或創(chuàng)作內(nèi)容的作者。然而,系統(tǒng)可用于各種事務(wù),而無論開發(fā)者正在開發(fā)或作者正在創(chuàng)作的內(nèi)容或軟件的類型如何。
      依照本發(fā)明的一個實施例,開發(fā)者或作者分別有兩種方法使用開發(fā)組件382來開發(fā)軟件或協(xié)助平臺380開發(fā)內(nèi)容。第一種是使用其創(chuàng)作/開發(fā)環(huán)境中的特征,該特征通過平臺應(yīng)用程序編程接口(API)或其它類似的機制來確定是否已開發(fā)了任何類似的內(nèi)容或軟件且儲存在平臺200的任何存儲器中。第二種方法是開發(fā)者只需開發(fā)軟件或內(nèi)容(不論原始與否)。在后一情況下,平臺200只需向開發(fā)者提供關(guān)于內(nèi)容/軟件的再循環(huán)率(例如,可在給定先前的翻譯的情況下在平臺200中被翻譯成不同語言的內(nèi)容/軟件的數(shù)量)的反饋,并建議可能提高再循環(huán)率的實施,并還可建議將防止應(yīng)用程序在本地化之后發(fā)生故障的實施。
      依照第一實施例,內(nèi)容作者通過協(xié)助平臺380提供輸入,且協(xié)助平臺380調(diào)用API或其它類似的機制來創(chuàng)作資源。這是由圖6中的框500表示的。協(xié)助平臺380然后調(diào)用TM匹配器210以訪問本地存儲224,并返回已經(jīng)具有翻譯的所有類型的資源。這是由圖6中的框502表示的。例如,開發(fā)者平臺可調(diào)用指示內(nèi)容開發(fā)者希望創(chuàng)作資源的API。作為響應(yīng),平臺380返回包含在平臺200中且已被翻譯成各種不同語言的所有不同資源類別的指示。例如,假定來自平臺并由開發(fā)者平臺呈現(xiàn)給用戶的結(jié)果是類別“菜單”和“出錯消息”。
      通過API中公開的功能,開發(fā)者可選擇“出錯消息”類別,并且協(xié)助平臺380請求平臺200的這一信息(它可儲存在任何存儲器中),然后返回包含在平臺200中的所有不同的出錯消息類別。開發(fā)者然后選擇出錯消息類別中的一個,且平臺380返回與該類別相關(guān)聯(lián)的所有特定的出錯消息。用戶然后只需選擇出錯消息之一,該出錯消息已被創(chuàng)作,且對該出錯消息本地化已是高度有效的(例如,由于它已被翻譯成各種不同的語言或已被另外本地化)。開發(fā)者選擇類型、類別和特定資源(如果可用)是由圖6中的框504表示的。
      當(dāng)然,也可理解,開發(fā)者希望創(chuàng)作的特定的確切消息可能不是已經(jīng)可用的。在這一情況下,開發(fā)者可選擇非常接近的消息并修改它。所修改的消息在許多情況下可能能夠被相當(dāng)有效地本地化,因為其大部分已存在于本地化平臺200中。在任何情況下,選擇類似的但不相同的消息將導(dǎo)致置信度降低。修改選擇的資源是由圖6中的框506表示的。
      這一類型的再循環(huán)向作者提供了相對于現(xiàn)有技術(shù)的在開發(fā)之后發(fā)生的本地化器的高度靈活性。例如,作者可改變軟件串上可放位置的數(shù)目,而傳統(tǒng)的本地化器要遠遠受限得多。同樣,作者可完全替換源句子(假定保留關(guān)鍵術(shù)語),而傳統(tǒng)的本地化器可能無法這樣做??紤]出錯消息的句子“file{0}does not exist.”(文件{0}不存在)。作者可將其改為“file{0}on drive{1}could not be found.”(驅(qū)動器{1}上的文件{0}找不到),而常規(guī)的本地化器無法使用第一句句子的翻譯作為對第二句句子的翻譯,因為如果不能訪問代碼,常規(guī)本地化器無法改變代碼中關(guān)于可放位置數(shù)目的假設(shè)。再循環(huán)可能僅相對于消息中找到的文本完成,但是也可對于數(shù)據(jù)存儲236中的公共UI元素完成。重用現(xiàn)有的UI元素也增強了產(chǎn)品的再循環(huán)率和本地化。
      在開發(fā)期間,開發(fā)者也可能希望提供本體知識對本體知識的存儲232。本體知識是概念化的規(guī)范,且描述了術(shù)語之間的關(guān)系,這允許對內(nèi)容和字符串進行語義編碼。本體知識的一個實施例在美國專利第6,253,170和6,098,033中陳述。本體知識的另一描述在Gruber的A TRANSLATION APPROACH TO PORTABLEONTOLOGIES,Knowledge Acquisition,5(2)199-200(1993)中陳述。
      一般而言,單詞根據(jù)上下文來不同地翻譯。具體地,單詞或術(shù)語可以根據(jù)軟件本地化中的應(yīng)用程序上下文來不同地翻譯。本地化平臺200能夠訪問本體知識數(shù)據(jù)存儲282形式的語義數(shù)據(jù),該語義數(shù)據(jù)描述了術(shù)語之間的關(guān)系。本體知識可通過輸入語義信息以及單詞或術(shù)語來手動生成,或通過應(yīng)用能夠按照單詞或術(shù)語與其它單詞或術(shù)語的鄰近性來確定語義上下文的算法來自動生成。數(shù)據(jù)存儲282說明性地由從資源格式中導(dǎo)出的結(jié)構(gòu)和應(yīng)用程序上下文來填充。本體知識存儲282中編碼的語義類型允許平臺200對要翻譯的資源消除語義的歧義,同時也提供了強大的搜索能力,因為它也允許對查尋消除歧義。翻譯平臺381在圖6的框508確定是否需要消除歧義。如果是,則可訪問本體知識存儲232來獲取消除歧義的語義信息,或者協(xié)助平臺380可向作者請求消除歧義的語義信息,開發(fā)組件382可以按同樣的方式對開發(fā)者完成同樣的動作。這在圖6中由框510來表示。
      當(dāng)開發(fā)者繼續(xù)開發(fā)產(chǎn)品時,每個創(chuàng)作的資源經(jīng)受平臺200中的翻譯平臺381的本地化率估計。在估計創(chuàng)作的資源的本地化率時,翻譯平臺381標(biāo)識已經(jīng)被翻譯(或本地化)且駐留在平臺200的某處的資源的百分比。翻譯平臺381也解決使資源經(jīng)受系統(tǒng)216的機器翻譯的要求,并考慮了與駐留在平臺200上的每一翻譯相關(guān)聯(lián)的置信度得分。這些項目被組合以提供再循環(huán)率,它是對所創(chuàng)作的產(chǎn)品被本地化成以不同的語言運作的市場的容易程度的度量。提供連續(xù)的、總體再循環(huán)率在圖6中由框512表示。
      可以注意,再循環(huán)率可以按各種各樣不同的方式來使用。例如,如果開發(fā)者僅開發(fā)整個系統(tǒng)的一個組件,則可在允許該組件登記之前要求該組件滿足某一再循環(huán)率閾值。類似地,再循環(huán)率也可指示給定產(chǎn)品將被引入到其它市場的可能性時該產(chǎn)品的值。當(dāng)然,該再循環(huán)率也可以按各種各樣的其它方式來使用。
      應(yīng)當(dāng)注意,系統(tǒng)可為不在平臺上開發(fā)的代碼計算再循環(huán)率。代碼可以僅僅被提供給平臺200,且TM匹配器210可在需要時作為整體為代碼計算再循環(huán)率并返回它。這可用于決定是否將產(chǎn)品大量生產(chǎn)到新市場,或甚至是否購買產(chǎn)品中的權(quán)利。
      以下討論參考其中開發(fā)者沒有選擇已經(jīng)存在的資源的實施例來進行。假定開發(fā)者不希望從預(yù)先創(chuàng)作的資源中選擇,則開發(fā)者可創(chuàng)作原始的資源或內(nèi)容。這是由圖6中的框514來表示的。在這一情況下,開發(fā)者只需創(chuàng)作該內(nèi)容的一部分,且協(xié)助平臺380調(diào)用TM匹配器210來為所創(chuàng)作的內(nèi)容確定再循環(huán)率。這是由圖6中的框516來表示的。TM匹配器210然后訪問其本地化源,并返回新創(chuàng)作的資源或內(nèi)容的再循環(huán)率。這是由圖6中的框518表示的。
      此時,平臺200也可用于向作者通知可幫助作者改進所開發(fā)的產(chǎn)品的再循環(huán)率的實施,或者向作者警告一旦被本地化可導(dǎo)致應(yīng)用程序故障的某些實施。返回這些提示是由圖6中的框520指示的。在一個實施例中,即使產(chǎn)品的源被重用,也提供這些提示。當(dāng)然,它被重用的這一事實意味著已經(jīng)執(zhí)行了某些檢查。
      可能影響再循環(huán)率或應(yīng)用程序功能的某些實施示例包括,例如寫長字符串。長字符串不僅更難以理解,而且它們也更難以翻譯。另外,軟件還具有會使應(yīng)用程序崩潰的緩沖區(qū)超限的風(fēng)險。可能影響再循環(huán)率或應(yīng)用程序的功能的其它實施示例包括對特殊字符的使用或?qū)Σ徽_的或非正式語法的使用。使用正確的語法構(gòu)造會導(dǎo)致翻譯文本能力的很大上升。由此,TM匹配器210提供了關(guān)于代碼和實施技巧的再循環(huán)率的實時反饋。
      同樣,平臺200可采取某些行動來減輕這些問題區(qū)在所分析的內(nèi)容中的負面影響。這些行動將減輕應(yīng)用程序在經(jīng)受本地化之后崩潰的可能性。平臺200可向用戶警告將采取這些補救行動。
      對于本發(fā)明,應(yīng)當(dāng)注意多個其它事項。首先,它說明性地提供了熱鍵自動化。翻譯平臺381說明性地跟蹤在任何給定UI上顯示的熱鍵,以避免向給定UI上的同一熱鍵分配兩個功能。翻譯平臺381可被調(diào)用以自動選擇一個熱鍵,或者它可被簡單地調(diào)用以檢查來確保給定UI上沒有發(fā)生任何熱鍵重復(fù)。為了能夠選擇或向用戶建議熱鍵,平臺需要關(guān)于哪些項目同時對用戶可用的信息,因此它可避免重復(fù)。該信息與將信息呈現(xiàn)到用戶的計算機中所需的信息密切相關(guān)。
      本發(fā)明也可提供運行時環(huán)境的確認和模擬。一旦開發(fā)者創(chuàng)作了組件,開發(fā)者可調(diào)用開發(fā)平臺382上的API,且平臺200可模擬其中需要本地化的運行時環(huán)境。運行時模擬允許開發(fā)者在本地化之后實際上在顯示屏上看見顯示。這允許開發(fā)者在需要時掃描錯誤、評估顯示的美學(xué)外觀并作出改變。
      由此,本發(fā)明增強了開發(fā)者重用已開發(fā)的內(nèi)容的能力。這顯著地增強了產(chǎn)品的再循環(huán)率和本地化。
      此外,本發(fā)明提供了智能地組合來自操作系統(tǒng)、應(yīng)用程序、團體和第三方以及來自機器翻譯的本地化內(nèi)容。資源管理器通過依照來自各種源或數(shù)據(jù)存儲(也被稱為本地化內(nèi)容組件)的所需語言或其它文化或市場準(zhǔn)則返回所請求的資源來加載應(yīng)用程序的資源。
      另外,本地化平臺可用于向各種各樣的請求實體,諸如應(yīng)用程序、瀏覽器、搜索引擎、資源加載器、創(chuàng)作工具等提供本地化的數(shù)據(jù)。
      同樣,通過允許團體和自由團體建議本地化替換方案,本發(fā)明允許定義團體標(biāo)準(zhǔn)本地化,且有時允許本地化到某一非常小的市場。例如,本發(fā)明允許用戶對斯瓦希里人本地化英語應(yīng)用程序。用戶可將該本地化提供回平臺200作為應(yīng)用程序中各種資源的建議翻譯。其它南非用戶可選擇信任該本地化的內(nèi)容,并以斯瓦希里語下載它,或自己本地化它或修改本地化并反過來向平臺200提供其自己的本地化。以此方式,應(yīng)用程序可被本地化和修訂,并在它否則由于較小市場規(guī)模而不可用的市場中變得可用。
      在一個實施例中,當(dāng)輸入源204提供數(shù)據(jù)時,數(shù)據(jù)收集組件205也記錄諸如起源、用途、上下文信息(諸如資源版本化)、置信度級別、屬性、機器翻譯提示等的元數(shù)據(jù)。其它數(shù)據(jù)也可被收集和排序。同樣,在一個實施例中,只有提供數(shù)據(jù)的輸入源204可改變該數(shù)據(jù)。
      本發(fā)明不僅能夠從團體下載翻譯,也能夠上傳翻譯。另外,源字符串可以按類似的方式來上傳/下載。
      也可注意,第三方公司和團體可向平臺200添加新的源和翻譯存儲器。在一個說明性實施例中,平臺200提供了能夠添加新源術(shù)語及其元數(shù)據(jù)的網(wǎng)頁或web服務(wù)。說明性地認證用戶,使得平臺200可確定每一新添加的項目的源。
      另外,平臺200說明性地依照允許用戶一次上傳若干字符串的所發(fā)布的模式(諸如XML模式)來工作。再一次,每一字符串的源是已知的,因為每一操作可要求認證。這一源字符串可說明性地用一個或多個翻譯來添加。平臺200對于術(shù)語數(shù)據(jù)庫中的術(shù)語也類似地操作。
      同樣,依照一個實施例,團體能夠向平臺200中的源字符串提供翻譯。當(dāng)編輯翻譯時,源中存在的元數(shù)據(jù)說明性地對“翻譯器”可用,且在接受翻譯之前強制實施該元數(shù)據(jù)。這可通過簡單的web接口來完成。如果用戶選擇與團體共享其翻譯,則這些翻譯可由其它人使用。
      本發(fā)明也說明性地允許團體審閱已經(jīng)存在于平臺200上的翻譯。這允許翻譯源確定其翻譯被其它用戶選擇多少次。這使得團體中的輸入源能夠基于工作質(zhì)量為其自己構(gòu)建名稱,且這驅(qū)使輸入源完成更好的工作以在團體中變得更有價值。
      依照本發(fā)明的又一實施例,當(dāng)開發(fā)者上傳一個應(yīng)用程序用于翻譯時,向開發(fā)者提供允許最終用戶下載對產(chǎn)品的其自己的本地化版本的機會。如果啟用該選項,則用戶可登錄到平臺200并選取要選擇哪一語言、引擎和翻譯來生成產(chǎn)品的個人版本。
      例如,用戶可要求產(chǎn)品的“xyz”版本,同時僅使用團體(或特定用戶)認可的翻譯存儲器指定翻譯引擎的確切匹配。該過程可被周期性地重復(fù)以獲取資源翻譯的更高百分比。平臺200也可在新翻譯可用時通過郵件或其它警告服務(wù)向用戶提供通知。
      依照另一實施例,第三方可向平臺200添加新的源驗證(或翻譯)引擎。如上所述,開發(fā)者可向平臺200提交應(yīng)用程序以確定應(yīng)用程序是否是高度可本地化的。第三方可編寫新引擎以支持這一功能。當(dāng)?shù)谌介_發(fā)滿足執(zhí)行源驗證準(zhǔn)則的引擎時(例如,當(dāng)它實現(xiàn)期望的接口時),第三方可將其上傳到平臺200,并反過來向用戶收費以下載該引擎。對于參考本發(fā)明所描述的過程的其它部分,說明性地使用了簽署和認證來確保引擎的源是已知的,且用戶決定信任該源。
      翻譯引擎可以用類似的方式來添加,但是可說明性地運行在實現(xiàn)平臺200的服務(wù)器上,并采取步驟來確保翻譯引擎不破壞任何現(xiàn)有的翻譯數(shù)據(jù)。另外,本發(fā)明執(zhí)行全球化和語言檢查來協(xié)助作者。本發(fā)明也允許團體幫助作者。例如,可向團體要求某一領(lǐng)域中對話框上的源字符串,而該源字符串可被容易地本地化。這在最初創(chuàng)作高度可本地化的內(nèi)容時幫助了作者。
      也應(yīng)當(dāng)注意,盡管在所描述的實施例中某些功能被分配給某些組件,但是情況不必如此。功能可由不同的組件來執(zhí)行,且某些組件可被刪除、修改或添加,所有這些都落入本發(fā)明的范圍之內(nèi)。
      由此,可以看到,本發(fā)明整合了用于從各種各樣產(chǎn)品和各種各樣輸入源的過去的本地化進行本地化的數(shù)據(jù)。并非每一應(yīng)用程序或產(chǎn)品具有不能由其它產(chǎn)品訪問的自己的翻譯存儲器,而是翻譯平臺200使得該信息如由開發(fā)者或用戶所期望的那樣可用于不同產(chǎn)品的隨后的本地化。它也改變了本地化過程,使得最終用戶能夠訪問較寬廣程度的選項來定制(本地化)其計算機體驗。它也允許團體對過程的參與。作為結(jié)果,本地化任務(wù)本身變?yōu)楫a(chǎn)品不相關(guān)的,僅通過應(yīng)用程序上下文鏈接到產(chǎn)品。如果信任模型和應(yīng)用程序上下文允許,其它應(yīng)用程序可在任何時刻訪問本地化的字符串。
      盡管參考特定實施例描述了本發(fā)明,然而本領(lǐng)域的技術(shù)人員可以認識到,可以在形式和細節(jié)上作出改變而不脫離本發(fā)明的精神和范圍。
      權(quán)利要求
      1.一種本地化開發(fā)系統(tǒng),包括被配置成從創(chuàng)作組件接收要被本地化到目標(biāo)市場的信息、并為所接收的信息計算再循環(huán)率的平臺,所述目標(biāo)市場與為其創(chuàng)作信息的源市場不同,所述再循環(huán)率指示了已被本地化到所述目標(biāo)市場的信息的一部分。
      2.如權(quán)利要求1所述的本地化開發(fā)系統(tǒng),其特征在于,還包括被配置成提供被本地化到所述目標(biāo)市場的信息的多個本地化組件。
      3,如權(quán)利要求2所述的本地化開發(fā)系統(tǒng),其特征在于,所述平臺被配置成接收要被本地化的一種信息的指示,并訪問所述多個本地化組件以確定所述種類的信息是否已被本地化到所述目標(biāo)市場。
      4.如權(quán)利要求3所述的本地化開發(fā)系統(tǒng),其特征在于,如果所述種類的信息已被本地化到所述目標(biāo)市場,則所述平臺被配置成將已被本地化的信息提供給所述創(chuàng)作組件以供用戶選擇。
      5.如權(quán)利要求1所述的本地化開發(fā)系統(tǒng),其特征在于,所述平臺被配置成分析要被本地化的信息,并提供指示要被本地化的信息如何被修改以提高再循環(huán)率的信息。
      6.如權(quán)利要求1所述的本地化開發(fā)系統(tǒng),其特征在于,所述創(chuàng)作組件包括文本內(nèi)容創(chuàng)作組件。
      7.如權(quán)利要求1所述的本地化開發(fā)系統(tǒng),其特征在于,所述創(chuàng)作組件包括應(yīng)用程序代碼開發(fā)組件。
      8.如權(quán)利要求1所述的本地化開發(fā)系統(tǒng),其特征在于,所述平臺被集成在操作系統(tǒng)內(nèi)。
      9.一種操作系統(tǒng),包括本地化平臺,它包括被配置成從創(chuàng)作組件接收要被本地化的信息的匹配組件,所述匹配組件標(biāo)識要被本地化的信息是否已在所述本地化平臺上本地化,且其中,所述本地化平臺被配置成基于已在所述本地化平臺上本地化的要被本地化的信息的量來計算再循環(huán)率。
      10.如權(quán)利要求9所述的操作系統(tǒng),其特征在于,所述本地化平臺被配置成當(dāng)在所述創(chuàng)作組件處創(chuàng)作信息時為所述信息計算再循環(huán)率。
      11.如權(quán)利要求9所述的操作系統(tǒng),其特征在于,所述本地化平臺包括提供本地化信息的多個本地化組件,所述匹配組件被配置成訪問所述多個本地化組件來標(biāo)識要被本地化的信息是否已在所述平臺上本地化。
      12.如權(quán)利要求11所述的操作系統(tǒng),其特征在于,所述匹配組件被配置成向所述本地化組件請求要被本地化的信息,以標(biāo)識要被本地化的信息是否已在所述平臺上本地化。
      13.如權(quán)利要求11所述的操作系統(tǒng),其特征在于,所述本地化組件的每一個響應(yīng)于所述請求提供一置信度得分,且其中,所述平臺被配置成至少部分地基于所述置信度得分計算所述再循環(huán)率。
      14.如權(quán)利要求9所述的操作系統(tǒng),其特征在于,所述平臺被配置成向所述創(chuàng)作組件提供本地化信息的可選擇類別和實例以供用戶在創(chuàng)作期間選擇。
      15.一種用于本地化信息的計算機實現(xiàn)的方法,包括從創(chuàng)作組件接收要被本地化到目標(biāo)市場的信息,所述目標(biāo)市場與為其創(chuàng)作所述信息的源市場不同;為所接收的信息計算再循環(huán)率,所述再循環(huán)率指示已被本地化到所述目標(biāo)市場的信息的一部分;以及向所述創(chuàng)作組件提供所述再循環(huán)率以向用戶顯示。
      16.如權(quán)利要求15所述的方法,其特征在于,還包括接收要被本地化的信息的類別的指示,并訪問多個本地化組件以確定所述類別的信息是否已在所述本地化組件之一上本地化到所述目標(biāo)市場。
      17.如權(quán)利要求16所述的方法,其特征在于,如果所述種類的信息已被本地化到所述目標(biāo)市場,則向所述創(chuàng)作組件提供已本地化的信息以供用戶選擇。
      18.如權(quán)利要求15所述的方法,其特征在于,還包括分析要本地化的信息以向所述創(chuàng)作組件提供指示要本地化的信息如何可被修改來提高所述再循環(huán)率的信息。
      全文摘要
      本發(fā)明提供了一種用于處理數(shù)據(jù)的系統(tǒng)。
      文檔編號G06F9/44GK1855040SQ200610059640
      公開日2006年11月1日 申請日期2006年3月7日 優(yōu)先權(quán)日2005年3月8日
      發(fā)明者B·科爾梅爾, J·A·尼爾森, J·M·瑪?shù)? J·D·班尼特, L·A·布朗奈爾, M·埃爾-佳梅爾, S·葉, W·吳 申請人:微軟公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1