專利名稱::一種圖文包裝編控軟件的國際化系統(tǒng)的制作方法
技術領域:
:本發(fā)明涉及軟件應用
技術領域:
,特別是涉及一種圖文包裝編控軟件的國際化系統(tǒng)。
背景技術:
:隨著軟件在世界各國的廣泛應用,軟件處理語言的單一性給軟件的普及和用戶的應用帶來了不便.如何使軟件能夠處理多種語言已成為人們關注的問題,軟件的國際化是解決這一問題的有效途徑。目前主要有兩種方式來實現軟件的國際化,分別為傳統(tǒng)方式和多語言動態(tài)鏈接庫方式軟件多語言化的傳統(tǒng)方式是直接按照語言的不同,開發(fā)不同版本的應用程序。這需要將開發(fā)人員按照語言分成若干個小組,每種語言的開發(fā)人員負責開發(fā)和維護相應語言的軟件源代碼,如圖1所示,這種做法不僅需要大量的人力資源,而且每次軟件的更新,都需要各個小組的人員去修改相應的源碼部分,很難保證多個語言版本的一致性。按照國際化方法開發(fā)的軟件,多語言化動態(tài)鏈接庫方式是在應用程序內核的基礎上為每種語言提供一組資源DLL。這需要每個程序員將自己開發(fā)的軟件部分的源代碼和資源文件分離,按照語言的不同,分成若干個資源文件,在軟件開發(fā)過程中每做一部分的修改,就要同時修改相應的多個資源文件,如圖2所示,這種做法的好處在于將軟件的源代碼部分與資源部分進行了分離,這樣多語言版本的維護工作只在于維護相應的資源文件,不需要修改源代碼,不需要重新編譯鏈接就可以得到一個新的語言版本。每種資源被單獨的編輯成純資源DLL,在程序運行期間可以實現動態(tài)加載。隨著市場的國際化,圖文包裝編控軟件以馬里亞納5D圖文包裝軟件為例進行介紹,該軟件的中文版本目前已經產品化,需要實現軟件的多語言化,以滿足開拓國際市場的需求。這就要求研發(fā)人員能夠在盡量短的時間內,在保證對源代碼干預最少的情況下,開發(fā)出自己的多語言版本。如果按照軟件多語言化的傳統(tǒng)方式來做,需要另外成立多個小組,重新開發(fā)其他語言版本的軟件,這種做法不僅需要大量的人力資源,重新開發(fā)也需要大量的時間,而且由于不同語言版本的軟件是由不同小組來開發(fā)的,版本間的一致性也很難保證。顯然不能滿足我們的需求。如果按照多語言動態(tài)鏈接庫的方式來做,需要程序員添加和維護多語言的資源文件,編譯生成相應的語言DLL。這種做法首先會產生大量的資源動態(tài)鏈接庫文件,使得軟件系統(tǒng)文件混亂,其次也需要對源代碼的資源加載部分進行改動,由于涉及面比較廣,因此該方法也不理想??傊?,目前需要本領域技術人員迫切解決的一個技術問題就是如何能夠創(chuàng)新地提出一種圖文包裝編控軟件的國際化系統(tǒng),以保證軟件應用中軟件的國際通用性,并有效降低資源消耗。
發(fā)明內容本發(fā)明所要解決的技術問題是提供一種圖文包裝編控軟件的國際化系統(tǒng),用以保證軟件應用中軟件的國際通用性,并有效降低成本。為了解決上述問題,本發(fā)明公開了一種圖文包裝編控軟件的國際化系統(tǒng),所述國際化系統(tǒng)包括圖文包裝系統(tǒng)、編控軟件語言國際化裝置和資源數據庫,其中,所述圖文包裝系統(tǒng)中編控軟件的PE文件中帶有固化在源代碼中的資源;所述資源數據庫存放有資源信息的譯文;所述編控軟件語言國際化裝置包括以下模塊資源提取模塊,用于分析編控軟件的PE文件的結構,從中提取所需翻譯的資源信息,保存生成預定格式的資源對照表;資源更改模塊,用于將在所述資源數據庫未查詢到的所述資源信息翻譯成目標語言,并將查詢得到的譯文和翻譯得到的譯文保存到資源對照表;資源回填模塊,用于將PE文件與帶有目標譯文的資源對照表進行比對,用相應譯文替換匹配的字符串,生成目標語言的PE文件。優(yōu)選的,所述資源提取模塊包括以下子模塊分析子模塊,用于分析編控軟件PE文件的結構;第一獲取子模塊,用于獲取資源信息段;解析子模塊,用于解析資源信息段中字段信息;提取子模塊,用于提取所需翻譯的資源信息;保存子模塊,對資源信息整理并保存生成預定格式的資源對照表。優(yōu)選的,所述資源更改模塊包括以下子模塊查詢子模塊,用于打開資源對照表,查詢資源數據庫;第二獲取子模塊,用于通過查詢獲取所需資源信息的譯文,并將所獲取的譯文保存到資源對照表;翻譯子模塊,用于對資源對照表中未查詢到的資源信息進行翻譯,將翻譯的譯文保存到資源對照表。優(yōu)選的,所述資源數據庫為學習型數據庫。優(yōu)選的,所述查詢子模塊包括打開單元,用于打開資源對照表;過濾單元,用于對資源對照表中字符串進行篩選過濾,刪除重復的字符串;查詢單元,用于查詢資源數據庫。優(yōu)選的,所述資源數據庫包括更新子模塊,用于將資源對照表中未查詢到的資源信息的譯文補充到資源數據庫;修改子模塊,用于對資源數據庫進行修改。優(yōu)選的,所述資源對照表中資源信息以信息字符串形式存在。優(yōu)選的,所述PE文件包括EXE、DLL、OCX、SYS和COM格式的文件。與現有技術相比,本發(fā)明具有以下優(yōu)點首先,本發(fā)明提供一種圖文包裝編控軟件的國際化系統(tǒng),通過圖文包裝編控軟件的國際化系統(tǒng)中軟件語言國際化裝置分析軟件PE文件的結構,從中提取所需翻譯的資源信息,保存生成預定格式的資源對照表,將所述資源信息翻譯成目標語言,并將譯文保存到資源對照表,將PE文件與帶有目標譯文的資源對照表進行比對,用相應譯文替換匹配的字符串,生成目標語言的PE文件,從而輕松實現了軟件的國際通用性。其次,本發(fā)明所提供一種圖文包裝編控軟件的國際化系統(tǒng),通過編控軟件語言國際化裝置中的資源更改子模塊在進行翻譯之前,先查詢資源數據庫,所述資源數據庫存儲了之前資源信息的譯文,如果已經有翻譯過的資源,直接將其保存到資源對照表中,翻譯人員不需要再重復翻譯這些內容,只需翻譯資源數據庫中沒有的資源信息,翻譯人員可以共享以前的或者別人的翻譯信息,降低了工作量,節(jié)省了大量的人力資源,提高了翻譯速度。圖1是現有技術中的傳統(tǒng)軟件多語言化方法的示意圖;圖2是現有技術中的多語言動態(tài)鏈接庫方法的示意圖;圖3是本發(fā)明實施例中所述的一種圖文包裝編控軟件的國際化系統(tǒng)的結構圖;圖4是本發(fā)明實施例中資源信息替換的示意圖。具體實施例方式為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結合附圖和具體實施方式對本發(fā)明作進一步詳細的說明。隨著全球經濟的一體化,軟件在世界各國廣泛應用,軟件國際化的需求日益迫切,如果能夠找到一種圖文包裝編控軟件的國際化系統(tǒng),那么編控軟件的普及將不再是問題,同時也會給用戶帶來極大的便利。因此,本專利發(fā)明人創(chuàng)造性地提出了本發(fā)明實施例的核心構思之一,即提供一種圖文包裝編控軟件的國際化系統(tǒng),通過圖文包裝編控軟件的國際化系統(tǒng)中編控軟件語言國際化裝置分析軟件PE文件的結構,從中提取所需翻譯的資源信息,保存生成預定格式的資源對照表,將所述資源信息翻譯成目標語言,并將譯文保存到資源對照表,將PE文件與帶有目標譯文的資源對照表進行比對,用相應譯文替換匹配的字符串,生成目標語言的PE文件。實施例參照圖3,示出了本發(fā)明的一種圖文包裝編控軟件的國際化系統(tǒng)的結構圖,所述系統(tǒng)具體包括圖文包裝系統(tǒng)A、編控軟件語言國際化裝置B和資源數據庫C,其中,所述圖文包裝系統(tǒng)A中編控軟件的PE文件中帶有固化在源代碼中的資源;所述編控軟件語言國際化裝置B包括以下模塊資源提取模塊Bi,用于分析編控軟件的PE文件的結構,從中提取所需翻譯的資源信息,保存生成預定格式的資源對照表;資源更改模塊B2,用于將在所述資源數據庫未查詢到的所述資源信息翻譯成目標語言,并將查詢得到的譯文和翻譯得到的譯文保存到資源對照表;資源回填模塊B3,用于將PE文件與帶有目標譯文的資源對照表進行比對,用相應譯文替換匹配的字符串,生成目標語言的PE文件;所述資源數據庫C存放有資源信息的譯文。優(yōu)選的,所述PE文件包括EXE、DLL、OCX、SYS和COM格式的文件。軟件(software)(中國大陸及香港用語,臺灣叫做軟體)是一系列按照特定順序組織的計算機數據和指令的集合,同時軟件并不只是包括可以在計算機上運行的電腦程序,與這些電腦程序相關的文檔一般也被認為是軟件的一部分。簡單的說,軟件就是程序加文檔的集合體。本發(fā)明中所述的編控軟件是軟件中的一種,具體是用于圖文包裝系統(tǒng)中的。PE文件被稱為可移植的執(zhí)行體是PortableExecute的全稱,包括可執(zhí)行文件,動態(tài)鏈接庫文件等,常見的EXE、DLL、OCX、SYS、COM都是PE文件,PE文件是微軟Windows操作系統(tǒng)上的程序文件(可能是間接被執(zhí)行,如DLL)。其中,PE文件中帶有固化在源代碼中的資源具體是指將固化在軟件源代碼中的硬編碼字符串數據分離出來(例如CStringstr=_T(“中文字符串”);這種形式的數據被稱為硬編碼字符串),把這些數據作為IDS資源寫入源代碼的資源文件(.rc文件)中,這樣,源代碼在經過編譯之后,生成PE文件,資源文件就編譯成了PE文件中的資源段部分,相應的分離出來的硬編碼字符串數據信息也就存儲進了PE文件的資源段,這樣的PE文件可以被稱為是帶有固化在源代碼中的資源。同時,為了在程序中使用這些寫入資源文件中的數據,通過相應的資源導入類來實現IDS資源到字符串的轉換工作,整個過程如下所示源代碼中的硬編碼字符串數據CStringstr=_T(“中文字符串”);-----------))轉化為資源文件中的IDS資源STRINGTABLEBEGINIDS_CHINESE_STRING“中文字符串”END--------------))源代碼中資源導入類CNxRedtring實現字符串導入CNxResStringstr(GetModuleHandle,IDS_CHINESE_STRING);--------------))源碼經過編譯之后,生成PE文件,之前源代碼中的硬編碼數據就被編譯入了PE文件的資源段中。分離之前,源代碼如下CStringstr=_T(“中文字符串”);AfxMessageBox(str);//彈出對話框顯示“中文字符串”分離之后,源代碼如下CNxResStringstr(GetModuleHandle,IDS_CHINESE_STRING);AfxMessageBox(str);//彈出對話框顯示“中文字符串”優(yōu)選的,所述資源提取模塊Bl可以包括以下子模塊分析子模塊B11,用于分析編控軟件PE文件的結構;所述PE文件的結構如D0SMZheaderDOSstubPEheader0082]0083]0084]0085]0086]0087]0088]0089]0090]0091]0092]0093]0094]0095]0096]0097]0098]0099]0100]0101]0102]0103]0104]0105]0106]0107]0108]0109]0110]SectiontableSection1Section2Sectionη第一獲取子模塊B12,用于獲取資源信息段;所述資源信息段存在于PE文件里文件頭之后的PE文件段中,所述文件段包括“.text'CODE".data/rDATA".rdata/r.idata/r.edata/rtls".reloc〃.rsrc〃其中,“.rsrc"即為該段信息的資源信息段。解析子模塊B13,用于解析資源信息段中字段信息;所述資源信息段中的字段信息如case0x00000004://RT_MENUcase0x00000005//RT_DIAL0Gcase0x00000006://RT_STRING提取子模塊B14,用于提取所需翻譯的資源信息;所述所需翻譯的資源信息如STRINGTABLEMENUDLALOG保存子模塊B15,對資源信息整理并保存生成預定格式的資源對照表。優(yōu)選的,所述資源對照表中資源信息以信息字符串形式存在,如中文資源外文資源0111][你好]=[]0112]通過資源提取模塊Bl完成了資源信息的提取,生成了預定格式的資源對照表,由資源更改模塊B2完成對資源信息的更改,具體是指完成對資源提取模塊Bl所生成的資源對照表的翻譯,將其翻譯為目標語言,所述目標語言是指當前軟件所要制作的軟件版本的^五通過一個友好的用戶界面,將需要翻譯的字符串直接呈現在翻譯人員面前,翻譯人員只需要輸入相應的翻譯后字符串,程序會完成字符串的匹配工作,最后將界面上的所有信息保存到資源對照表。優(yōu)選的,所述資源更改模塊B2包括以下子模塊查詢子模塊B21,用于打開資源對照表,查詢資源數據庫;7通過查詢子模塊B21打開資源對照表,查詢資源數據庫,在進行翻譯之前,先查詢資源數據庫,所述資源數據庫存儲了之前資源信息的譯文,如果已經有翻譯過的資源,直接將其保存到資源對照表中,翻譯人員不需要再重復翻譯這些內容,只需翻譯資源數據庫中沒有的資源信息,翻譯人員可以共享以前的或者別人的翻譯信息,極大的降低了工作量,節(jié)省了大量的人力資源,提高了翻譯速度。更為優(yōu)選的,所述查詢子模塊B21包括打開單元B211,用于打開資源對照表;過濾單元B212,用于對資源對照表中字符串進行篩選過濾,刪除重復的字符串;資源對照表中可能會存在很多重復的字符串信息,如刪除,可能是下拉菜單中的文本內容,也可能是一個按鈕的說明,因此,通過進行過濾,可以自動刪除重復的字符串,減少了翻譯人員的工作量。在翻譯過程中,每個資源文件都會產生很多的翻譯信息,不同的資源文件之間存在很多重復的翻譯信息,例如,designer,exe的資源列表中,存在“打開文件”字符串,M5DGui.dll中也有相同的字符串,又或者比如可能一個菜單資源叫“打開”,還有一個按鈕資源,也叫“打開”,事實上這樣只是同一個字符串罷了,這樣會造成翻譯人員在工作過程中會有很多重復勞動。通過過濾單元B212對資源對照表中字符串進行篩選過濾,將重復的字符串進行刪除,進一步降低了工作量,提高了工作效率。查詢單元B213,用于查詢資源數據庫。第二獲取子模塊B22,用于通過查詢獲取所需資源信息的譯文,并將所獲取的譯文保存到資源對照表;翻譯子模塊B23,用于對資源對照表中未查詢到的資源信息進行翻譯,將翻譯的譯文保存到資源對照表。優(yōu)選的,所述資源數據庫C為學習型數據庫。優(yōu)選的,所述資源數據庫C包括更新子模塊Cl,用于將資源對照表中未查詢到的資源信息的譯文補充到資源數據庫;修改子模塊C2,用于對資源數據庫進行修改。所述資源數據庫C為學習型數據庫,是指在翻譯完成之后通過更新子模塊Cl將資源對照表中未查詢到的資源信息的譯文補充到資源數據庫,同時,當發(fā)現資源數據庫C中資源信息存在錯誤或者其它問題時,由修改子模塊C2對資源數據庫進行修改。通過將翻譯人員新翻譯的資源信息的譯文保存到資源數據庫,這樣建立起日益完善的資源數據庫,為日后其他軟件的國際化提供了更多的便利。由資源更改模塊B2完成對資源提取模塊Bl所生成的資源對照表的翻譯后,通過資源回填模塊B3將PE文件與帶有目標譯文的資源對照表進行比對,用相應譯文替換匹配的字符串,生成目標語言的PE文件。參見圖4,示出了本實施例中資源信息替換的示意圖,在資源替換中,輸入為“原始PE文件”和“資源對照表”,輸出為“國際化之后的PE文件”,所述國際化之后的PE文件也就是目標語言的PE文件。通過將原始PE文件中需要進行替換的資源信息與資源對照表中的資源信息進行比對,用資源對照表中與PE文件相匹配的資源信息對其進行替換,最后將替換內容重新寫回到PE文件,生成目標語言的PE文件。本實施例中,通過圖文包裝編控軟件的國際化系統(tǒng)中編控軟件語言國際化裝置分析編控軟件PE文件的結構,從中提取所需翻譯的資源信息,保存生成預定格式的資源對照表,將所述資源信息翻譯成目標語言,并將譯文保存到資源對照表,將PE文件與帶有目標譯文的資源對照表進行比對,用相應譯文替換匹配的字符串,生成目標語言的PE文件,從而輕松實現了圖文包裝編控軟件的國際通用性。需要說明的是,本發(fā)明所述的圖文包裝編控軟件的國際化系統(tǒng)可以用于多種圖文包裝系統(tǒng)的多種編控軟件的國際化,本實施例多處借助5D圖文包裝軟件的語言國際化進行介紹,旨在具體說明本發(fā)明的思想。并且,本實施例中概括性的用目標語言來代表需要生成版本中的語言,所述的目標語言可以為任意語種的語言,如英語,印地語、西班牙語、俄羅斯語、法語、德語、孟加拉語、阿拉伯語、葡萄牙語、日語或者印度尼西亞語等。以上對本發(fā)明所提供的一種圖文包裝編控軟件的國際化系統(tǒng);同時,對于本領域的一般技術人員,依據本發(fā)明的思想,在具體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發(fā)明的限制。權利要求1.一種圖文包裝編控軟件的國際化系統(tǒng),其特征在于,所述國際化系統(tǒng)包括圖文包裝系統(tǒng)、編控軟件語言國際化裝置和資源數據庫,其中,所述圖文包裝系統(tǒng)中編控軟件的PE文件中帶有固化在源代碼中的資源;所述資源數據庫存放有資源信息的譯文;所述編控軟件語言國際化裝置包括以下模塊資源提取模塊,用于分析編控軟件的PE文件的結構,從中提取所需翻譯的資源信息,保存生成預定格式的資源對照表;資源更改模塊,用于將在所述資源數據庫未查詢到的所述資源信息翻譯成目標語言,并將查詢得到的譯文和翻譯得到的譯文保存到資源對照表;資源回填模塊,用于將PE文件與帶有目標譯文的資源對照表進行比對,用相應譯文替換匹配的字符串,生成目標語言的PE文件。2.根據權利要求1所述的方法,其特征在于,所述資源提取模塊包括以下子模塊分析子模塊,用于分析編控軟件PE文件的結構;第一獲取子模塊,用于獲取資源信息段;解析子模塊,用于解析資源信息段中字段信息;提取子模塊,用于提取所需翻譯的資源信息;保存子模塊,對資源信息整理并保存生成預定格式的資源對照表。3.根據權利要求1所述的方法,其特征在于,所述資源更改模塊包括以下子模塊查詢子模塊,用于打開資源對照表,查詢資源數據庫;第二獲取子模塊,用于通過查詢獲取所需資源信息的譯文,并將所獲取的譯文保存到資源對照表;翻譯子模塊,用于對資源對照表中未查詢到的資源信息進行翻譯,將翻譯的譯文保存到資源對照表。4.根據權利要求3所述的系統(tǒng),其特征在于所述資源數據庫為學習型數據庫。5.根據權利要求3所述的系統(tǒng),其特征在于,所述查詢子模塊包括打開單元,用于打開資源對照表;過濾單元,用于對資源對照表中字符串進行篩選過濾,刪除重復的字符串;查詢單元,用于查詢資源數據庫。6.根據權利要求4所述的系統(tǒng),其特征在于,所述資源數據庫包括更新子模塊,用于將資源對照表中未查詢到的資源信息的譯文補充到資源數據庫;修改子模塊,用于對資源數據庫進行修改。7.根據權利要求3所述的系統(tǒng),其特征在于所述資源對照表中資源信息以信息字符串形式存在。8.根據權利要求2所述的系統(tǒng),其特征在于所述PE文件包括EXE、DLL、OCX、SYS和COM格式的文件。全文摘要本發(fā)明提供了一種圖文包裝編控軟件的國際化系統(tǒng),通過圖文包裝編控軟件的國際化系統(tǒng)中軟件語言國際化裝置分析軟件PE文件的結構,從中提取所需翻譯的資源信息,保存生成預定格式的資源對照表,將所述資源信息翻譯成目標語言,并將譯文保存到資源對照表,將PE文件與帶有目標譯文的資源對照表進行比對,用相應譯文替換匹配的字符串,生成目標語言的PE文件,從而輕松實現了軟件的國際通用性。文檔編號G06F9/44GK102103495SQ20091024196公開日2011年6月22日申請日期2009年12月16日優(yōu)先權日2009年12月16日發(fā)明者王蓓蓓申請人:新奧特(北京)視頻技術有限公司