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