專利名稱::用戶界面的多語言切換方法和裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及圖形顯示領(lǐng)域,尤其涉及一種用戶界面的多語言切換方法和裝置。
背景技術(shù):
:國際化是現(xiàn)代企業(yè)的大趨勢,也是一個企業(yè)成長與成熟的標(biāo)志之一。在企業(yè)的國際化過程中,企業(yè)研發(fā)出來的產(chǎn)品,例如計算機(jī)應(yīng)用程序或系統(tǒng),應(yīng)該能夠支持多種語言,以提供給不同國家的用戶使用;并且,應(yīng)用系統(tǒng)能夠支持多種語言,也方便了工程人員去現(xiàn)場對產(chǎn)品進(jìn)行維護(hù)時將系統(tǒng)的界面切換到自己熟悉的語言后再開展工作。為了用戶界面支持或切換多種語言,現(xiàn)有技術(shù)一提供的一種方法是,根據(jù)產(chǎn)品可能應(yīng)用的地域,為該地域的語言開發(fā)出一種對應(yīng)版本的應(yīng)用系統(tǒng),這意味著要求支持多少種語言就必須開發(fā)出多少種版本的應(yīng)用系統(tǒng)?,F(xiàn)有技術(shù)二提供的另一種方法是,在開發(fā)平臺上,事先將需要的語言資源添加到系統(tǒng)資源中,然后經(jīng)過編譯系統(tǒng)的編譯,最終顯示出需要顯示的語言。這種方法意味著需要專業(yè)的軟件開發(fā)人員事先做好若干工作,然后,什么時候需要哪種語言,必須編譯一次。上述現(xiàn)有技術(shù)一提供的方法,由于需要為每一種語言對應(yīng)開發(fā)一種版本的應(yīng)用系統(tǒng),這種重復(fù)開發(fā)、維護(hù)多個版本的方式成本太高,并且極容易出錯。而對于現(xiàn)有技術(shù)二提供的方法與現(xiàn)有技術(shù)一提供的方法類似,相當(dāng)于也有一個重復(fù)開發(fā)的過程。
發(fā)明內(nèi)容本發(fā)明實(shí)施例提供一種用戶界面的多語言切換方法和裝置,以減少應(yīng)用系統(tǒng)用戶界面的重復(fù)開發(fā),支持多種語言的顯示,方便用戶對界面的切換。本發(fā)明實(shí)施例提供一種用戶界面的多語言切換方法,包括基于應(yīng)用程序的系統(tǒng)資源,將各種語言的資源文件保存為可擴(kuò)展標(biāo)記語言XML格式;根據(jù)用戶的切換指令,讀取所述保存為XML格式的目標(biāo)語言的資源文件到內(nèi)存;以所述目標(biāo)語言顯示用戶界面。進(jìn)一步地,所述基于應(yīng)用程序的系統(tǒng)資源,將各種語言的資源文件保存為可擴(kuò)展標(biāo)記語言XML格式包括導(dǎo)入與所述應(yīng)用程序相關(guān)的可執(zhí)行文件.exe或動態(tài)鏈接庫文件.dll;通過解析所述.exe文件或.dll文件,提取所述各種語言的資源字符串和資源屬性;將所述資源字符串和所述資源屬性存儲為可擴(kuò)展標(biāo)記語言XML文件格式。進(jìn)一步地,所述將所述資源字符串和所述資源屬性存儲為可擴(kuò)展標(biāo)記語言XML格式后還包括生成與所述各種語言對應(yīng)的資源文件。進(jìn)一步地,所述讀取所述保存為XML格式的目標(biāo)語言的資源文件包括讀取配置文件中所述目標(biāo)語言的語言文件名;根據(jù)所述目標(biāo)語言的語言文件名讀取與所述目標(biāo)語言對應(yīng)的XML資源文件;將所述目標(biāo)語言的所有資源文件加載至內(nèi)存中的雙向鏈表。進(jìn)一步地,所述將所述目標(biāo)語言的所有資源文件加載至內(nèi)存中的雙向鏈表之后還包括查詢所述目標(biāo)語言對應(yīng)的XML文件的編碼方式,若所述編碼方式不是Unicode編碼,則將所述目標(biāo)語言對應(yīng)的XML文件的編碼轉(zhuǎn)換成Unicode編碼。進(jìn)一步地,所述以所述目標(biāo)語言顯示用戶界面包括讀取資源文件,所述資源文件包括所述內(nèi)存中存儲的目標(biāo)語言的資源文件;根據(jù)所述資源文件創(chuàng)建資源顯示模板;發(fā)送消息至用戶界面UI進(jìn)程,由所述UI進(jìn)程顯示切換至目標(biāo)語言后的用戶界面。進(jìn)一步地,所述根據(jù)所述資源文件創(chuàng)建資源顯示模板包括獲取目標(biāo)用戶界面的顯示信息,所述目標(biāo)用戶界面是切換至所述目標(biāo)語言后顯示的用戶界面;提取所述目標(biāo)用戶界面的各個顯示模塊的身份標(biāo)識ID;根據(jù)所述各個顯示模塊的身份標(biāo)識ID查詢與所述身份標(biāo)識ID對應(yīng)的資源段;根據(jù)所述資源段創(chuàng)建資源顯示模板。進(jìn)一步地,由所述UI進(jìn)程顯示切換至目標(biāo)語言后的用戶界面包括所述UI進(jìn)程查詢消息隊(duì)列;若所述消息隊(duì)列具有更新的消息,則獲取所述資源顯示模板;根據(jù)所述資源顯示模板,將當(dāng)前用戶界面切換至所述目標(biāo)用戶界面。本發(fā)明實(shí)施例提供一種用戶界面的多語言切換裝置,包括保存模塊,用于基于應(yīng)用程序的系統(tǒng)資源,將各種語言的資源文件保存為可擴(kuò)展標(biāo)記語言XML格式;讀取模塊,用于根據(jù)用戶的切換指令,將所述保存模塊的保存的XML格式的目標(biāo)語言的資源文件讀取到內(nèi)存;顯示模塊,根據(jù)所述讀取模塊讀取到內(nèi)存的所述目標(biāo)語言的資源文件,以所述目標(biāo)語言顯示用戶界面。進(jìn)一步地,所述保存模塊包括導(dǎo)入單元、提取單元、存儲單元和資源生成單元,所述讀取模塊包括第一讀取單元、第二讀取單元和加載單元,所述顯示模塊包括資源文件讀取單元和模板創(chuàng)建單元;所述導(dǎo)入單元,用于導(dǎo)入與所述應(yīng)用程序相關(guān)的可執(zhí)行文件.exe或動態(tài)鏈接庫文件.dll;所述提取單元,用于通過解析所述導(dǎo)入單元導(dǎo)入的.exe文件或.dll文件,提取所述各種語言的資源字符串和資源屬性;所述存儲單元,用于將所述提取單元提取的資源字符串和所述資源屬性存儲為可擴(kuò)展標(biāo)記語言XML格式;所述資源生成單元,用于生成與所述各種語言對應(yīng)的資源文件;所述第一讀取單元,用于讀取配置文件中所述目標(biāo)語言的語言文件名;所述第二讀取單元,用于根據(jù)所述第一讀取單元讀取的目標(biāo)語言的語言文件名讀取與所述目標(biāo)語言對應(yīng)的XML資源文件,所述與所述目標(biāo)語言對應(yīng)的XML文包括所述目標(biāo)語言的資源文件;所述加載單元,用于將所述第二讀取單元讀取的目標(biāo)語言的所有資源文件加載至內(nèi)存中的雙向鏈表;所述資源文件讀取單元,用于讀取資源文件,所述資源文件包括所述內(nèi)存中存儲的目標(biāo)語言的資源文件;所述模板創(chuàng)建單元,用于根據(jù)所述資源文件讀取單元讀取的資源文件創(chuàng)建資源顯示模板。進(jìn)一步地,所述裝置包括轉(zhuǎn)換模塊,用于查詢所述目標(biāo)語言對應(yīng)的XML文件的編碼方式,若所述編碼方式不是Unicode編碼,則將所述目標(biāo)語言對應(yīng)的XML文件的編碼轉(zhuǎn)換成Unicode編碼。從上述本發(fā)明實(shí)施例可知,本發(fā)明是基于應(yīng)用程序的系統(tǒng)資源,將各種語言的資源文件保存為可擴(kuò)展標(biāo)記語言XML格式,在收到用戶的切換指令,讀取保存為XML格式的目標(biāo)語言的資源文件到內(nèi)存,最后才以目標(biāo)語言顯示用戶界面。與現(xiàn)有技術(shù)相比,本發(fā)明在需要支持一種新語言的場合下,不需要重新開發(fā)一個新版本的應(yīng)用程序,因此,降低了開發(fā)成本;此外,由于直接將各種語言的資源文件保存為可擴(kuò)展標(biāo)記語言XML格式,可以在任意一個windows系統(tǒng)中運(yùn)行一個應(yīng)用程序不同語言的版本,也不需要專業(yè)的開發(fā)人員,任何用戶都可以將用戶界面切換至其熟悉的語言顯示的界面,給用戶使用應(yīng)用程序帶來極大方便。為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對現(xiàn)有技術(shù)或?qū)嵤├枋鲋兴枰褂玫母綀D作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以如這些附圖獲得其他的附圖。圖1是本發(fā)明實(shí)施例提供的一種用戶界面的多語言切換方法流程示意圖;圖2是本發(fā)明另一實(shí)施例提供的一種用戶界面的多語言切換方法流程示意圖;圖3是本發(fā)明實(shí)施例提供的一種用戶界面的多語言切換裝置邏輯結(jié)構(gòu)示意圖;圖4是本發(fā)明另一實(shí)施例提供的一種用戶界面的多語言切換裝置邏輯結(jié)構(gòu)示意圖;圖5是本發(fā)明另一實(shí)施例提供的一種用戶界面的多語言切換裝置邏輯結(jié)構(gòu)示意圖;圖6是本發(fā)明另一實(shí)施例提供的一種用戶界面的多語言切換裝置邏輯結(jié)構(gòu)示意圖;圖7是本發(fā)明另一實(shí)施例提供的一種用戶界面的多語言切換裝置邏輯結(jié)構(gòu)示意圖。具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。請參閱附圖1,是本發(fā)明實(shí)施例提供的一種用戶界面的多語言切換方法流程示意圖,主要包括步驟S101,基于應(yīng)用程序的系統(tǒng)資源,將各種語言的資源文件保存為可擴(kuò)展標(biāo)記語言XML格式。應(yīng)用程序的系統(tǒng)資源,是在開發(fā)應(yīng)用程序過程中生成的。當(dāng)應(yīng)用程序安裝在終端后,這些系統(tǒng)資源和應(yīng)用程序本身一起駐留于終端。在本發(fā)明實(shí)施例中,應(yīng)用程序的系統(tǒng)資源包括該應(yīng)用程序的可執(zhí)行(EXE,executable)文件和動態(tài)鏈接庫(DLL,DynamicLinkLibrary)文件,這些文件都以.exe和.dll為擴(kuò)展名存在。由于一種數(shù)據(jù)格式的文件需要解析出來才可使用,因此,當(dāng)將與應(yīng)用程序相關(guān)的可執(zhí)行文件.exe或動態(tài)鏈接庫文件.dll導(dǎo)入后,通過一些解析器解析這些.exe文件或.dll文件,提取各種語言的資源字符串和資源屬性,例如,字體顏色、位置和大小等,再將各種語言的資源字符串和資源屬性存儲為可擴(kuò)展標(biāo)記語言(XML,extensibleMarkupLanguage)文件格式。XML是一套定義語義標(biāo)記的規(guī)則,這些標(biāo)記將文件分成許多部件并對這些部件加以標(biāo)識,并且可使用XML自由決定的語言,這就是語言的可擴(kuò)展性。遵守XML結(jié)構(gòu)和語義的文件,稱為XML文件。當(dāng)將各種語言的資源文件保存為可擴(kuò)展標(biāo)記語言XML格式后,可以進(jìn)一步生成與各種語言對應(yīng)的資源文件。作為本發(fā)明一個實(shí)施例,可以是開發(fā)人員使用XML文件編輯器編輯各種語言對應(yīng)的資源文件,也可以是終端用戶使用XML文件編輯器編輯各種語言對應(yīng)的資源文件,本發(fā)明對此不加限制。在本發(fā)明實(shí)施例中,可以建立一個根目錄下,例如,根目錄Languages。將用戶界面支持的各種語言的XML資源文件(即XML格式的各種語言的資源字符串及其的資源屬性文件)統(tǒng)一存放于該根目錄下。然后根據(jù)用戶界面支持的語言種類,創(chuàng)建根目錄下各語言的相應(yīng)目錄,例如,中文cn目錄、英文en目錄、法文fr目錄和俄文ru目錄等等。如此,應(yīng)用程序的用戶界面對應(yīng)的XML資源文件都存放于相應(yīng)目錄下,例如,中文XML資源文件都存放于Languages\cn目錄下,英文XML資源文件都存放于Languages\en目錄下,法文XML資源文件都存放于LanguageiAfr目錄下以及俄文XML資源文件都存放于LanguagesXru目錄下寸寸。S102,根據(jù)用戶的切換指令,讀取保存為XML格式的目標(biāo)語言的資源文件到內(nèi)存。具體地,可以先讀取配置文件中目標(biāo)語言的語言文件名。配置文件,例如,可以是以.ini為擴(kuò)展名的文件,語言文件名是在安裝應(yīng)用程序時選擇該語言后自動配置的。例如,目標(biāo)語言是英文,則可以讀取自動配置的英文文件名。然后,根據(jù)目標(biāo)語言的語言文件名讀取與該目標(biāo)語言對應(yīng)的XML資源文件。例如,可以根據(jù)目標(biāo)語言為英文的英文文件名讀取LanguagesXen目錄下的英文XML資源文件。最后,將目標(biāo)語言的所有資源文件加載至內(nèi)存中的雙向鏈表。雙向鏈表是鏈表的一種,它的每個數(shù)據(jù)結(jié)點(diǎn)中都有兩個指針,分別指向直接后繼和直接前驅(qū)。所以,從雙向鏈表中的任意一個結(jié)點(diǎn)開始,都可以很方便地訪問它的前驅(qū)結(jié)點(diǎn)和后繼結(jié)點(diǎn)。在雙向鏈表中,結(jié)點(diǎn)除含有數(shù)據(jù)域外,還有兩個鏈域,一個存儲直接后繼結(jié)點(diǎn)地址,一般稱之為右鏈域;一個存儲直接前驅(qū)結(jié)點(diǎn)地址,一般稱之為左鏈域。在本實(shí)施例中,結(jié)點(diǎn)數(shù)據(jù)域可以包含ID數(shù)據(jù)項(xiàng)和string數(shù)據(jù)項(xiàng),其中,ID數(shù)據(jù)項(xiàng)是語言字符串的ID號,在一個XML文件中,唯一標(biāo)識一個語言字符串;而string數(shù)據(jù)項(xiàng)則用于保存語言字符串本身,例如,字母、數(shù)字和標(biāo)點(diǎn)符號等字符的優(yōu)先序列。需要說明的是,為了防止語言切換后的亂碼,可以在完成將目標(biāo)語言的所有資源文件加載至內(nèi)存中的雙向鏈表后,進(jìn)一步查詢目標(biāo)語言對應(yīng)的XML文件的編碼方式,若編碼方式不是Unicode編碼,則將目標(biāo)語言對應(yīng)的XML文件的編碼轉(zhuǎn)換成Unicode編碼。S103,以目標(biāo)語言顯示用戶界面。首先,讀取資源文件,該資源文件包括內(nèi)存中存儲的目標(biāo)語言的資源文件;其次,根據(jù)資源文件創(chuàng)建資源顯示模板;發(fā)送消息至用戶界面(UI,UserInterface)進(jìn)程,由UI進(jìn)程顯示切換至目標(biāo)語言后的用戶界面。需要說明的是,根據(jù)資源文件創(chuàng)建資源顯示模板可以由下述步驟完成S1031,獲取目標(biāo)用戶界面的顯示信息,該目標(biāo)用戶界面是切換至目標(biāo)語言后顯示的用戶界面;目標(biāo)用戶界面的顯示信息可以是,例如,目標(biāo)用戶界面的視圖頁句柄。S1032,提取目標(biāo)用戶界面的各個顯示模塊的身份標(biāo)識ID;顯示模塊,具體而言,可以是用于顯示目標(biāo)用戶界面的菜單、工具欄、狀態(tài)欄和文檔等功能模塊。S1033,根據(jù)各個模塊的身份標(biāo)識ID查詢與該身份標(biāo)識ID對應(yīng)的資源段;在本發(fā)明實(shí)施例中,如果沒有與身份標(biāo)識ID對應(yīng)的資源段,則賦予一默認(rèn)值。S1034,根據(jù)資源段創(chuàng)建資源顯示模板。在UI進(jìn)程運(yùn)行期間,不斷查詢屬于該進(jìn)程的消息隊(duì)列,若其消息隊(duì)列具有更新的消息,則獲取資源顯示模板,根據(jù)資源顯示模板,將當(dāng)前用戶界面切換至目標(biāo)用戶界面。從上述本發(fā)明實(shí)施例可知,本發(fā)明是基于應(yīng)用程序的系統(tǒng)資源,將各種語言的資源文件保存為可擴(kuò)展標(biāo)記語言XML格式,在收到用戶的切換指令,讀取保存為XML格式的目標(biāo)語言的資源文件到內(nèi)存,最后才以目標(biāo)語言顯示用戶界面。與現(xiàn)有技術(shù)相比,本發(fā)明在需要支持一種新語言的場合下,不需要重新開發(fā)一個新版本的應(yīng)用程序,因此,降低了開發(fā)成本;此外,由于直接將各種語言的資源文件保存為可擴(kuò)展標(biāo)記語言XML格式,可以在任意一個windows系統(tǒng)中運(yùn)行一個應(yīng)用程序不同語言的版本,也不需要專業(yè)的開發(fā)人員,任何用戶都可以將用戶界面切換至其熟悉的語言顯示的界面,給用戶使用應(yīng)用程序帶來極大方便。請參閱圖2,本發(fā)明另一實(shí)施例提供的用戶界面的多語言切換方法流程示意圖,包括步驟S201,安裝應(yīng)用系統(tǒng);S202,運(yùn)行應(yīng)用系統(tǒng);S203,判斷是否首次運(yùn)行該應(yīng)用系統(tǒng);若是,流程轉(zhuǎn)入S204,否則,轉(zhuǎn)入S207。S204,系統(tǒng)自動導(dǎo)出.exe文件和.dll文件等系統(tǒng)資源文件,生成默認(rèn)的.xml資源文件。S205,判斷是否以默認(rèn)的.xml資源文件為基礎(chǔ)編輯其他語言的.xml資源文件,若是,流程轉(zhuǎn)入S206,否則,循環(huán)。S206,使用xml編輯器編輯其他語言資源文件并保存至本應(yīng)用系統(tǒng)的語言文件目錄。S207,讀取應(yīng)用系統(tǒng)的.ini文件,獲取目標(biāo)語言的ID。S208,根據(jù)目標(biāo)語言的ID,加載相應(yīng)的語言的.xml資源文件到內(nèi)存中。例如,可以加載到內(nèi)存的雙向鏈表中。S209,判斷.xml資源文件的編碼格式是否是Unicode編碼,若是,則流程轉(zhuǎn)入S210,否則,流程轉(zhuǎn)入S211。S210,更新所有資源為加載到內(nèi)存中的數(shù)據(jù)。S211,將.xml資源文件的編碼格式轉(zhuǎn)換為Unicode編碼。S212,刷新當(dāng)前顯示界面,顯示由目標(biāo)語言顯示的用戶界面。S213,顯示人機(jī)界面。8S214,判斷是否點(diǎn)擊了切換語言菜單,若是,流程轉(zhuǎn)入S208,否則,轉(zhuǎn)入S213。請參閱圖3,本發(fā)明實(shí)施例提供的一種用戶界面的多語言切換裝置邏輯結(jié)構(gòu)示意圖。為了便于說明,僅僅示出了與本發(fā)明實(shí)施例相關(guān)的部分。該裝置中的功能模塊\單元可以是軟件模塊\單元、硬件模塊\單元或軟硬件模塊\單元相結(jié)合單元。圖3所示裝置包括保存模塊301、讀取模塊302和顯示模塊303,其中保存模塊301,用于基于應(yīng)用程序的系統(tǒng)資源,將各種語言的資源文件保存為可擴(kuò)展標(biāo)記語言XML格式;讀取模塊302,用于根據(jù)用戶的切換指令,將保存模塊301保存的XML格式的目標(biāo)語言的資源文件讀取到內(nèi)存;顯示模塊303,根據(jù)讀取模塊302讀取到內(nèi)存的目標(biāo)語言的資源文件,以該目標(biāo)語言顯示用戶界面。進(jìn)一步地,附圖3示例的用戶界面的多語言切換裝置還包括轉(zhuǎn)換模塊401,如附圖4所示本發(fā)明另一實(shí)施例提供的用戶界面的多語言切換裝置,其中轉(zhuǎn)換模塊401,用于查詢目標(biāo)語言對應(yīng)的XML文件的編碼方式,若編碼方式不是Unicode編碼,則將該目標(biāo)語言對應(yīng)的XML文件的編碼轉(zhuǎn)換成Unicode編碼。圖3或圖4示例的保存模塊301進(jìn)一步包括導(dǎo)入單元501、提取單元502、存儲單元503和資源生成單元504,如附圖5所示本發(fā)明另一實(shí)施例提供的用戶界面的多語言切換裝置,其中導(dǎo)入單元501,用于導(dǎo)入與應(yīng)用程序相關(guān)的可執(zhí)行文件.exe或動態(tài)鏈接庫文件.dll;提取單元502,用于通過解析導(dǎo)入單元501導(dǎo)入的.exe文件或.dll文件,提取各種語言的資源字符串和資源屬性;存儲單元503,用于將提取單元502提取的資源字符串和資源屬性存儲為可擴(kuò)展標(biāo)記語言XML格式;資源生成單元504,用于生成與各種語言對應(yīng)的資源文件。圖3或圖4示例的讀取模塊302進(jìn)一步包括第一讀取單元601、第二讀取單元602和加載單元603,如附圖6所示本發(fā)明另一實(shí)施例提供的用戶界面的多語言切換裝置,其中第一讀取單元601,用于讀取配置文件中目標(biāo)語言的語言文件名;第二讀取單元602,用于根據(jù)第一讀取單元601讀取的目標(biāo)語言的語言文件名讀取與該目標(biāo)語言對應(yīng)的XML資源文件,與該目標(biāo)語言對應(yīng)的XML文包括目標(biāo)語言的資源文件;加載單元603,用于將第二讀取單元602讀取的目標(biāo)語言的所有資源文件加載至內(nèi)存中的雙向鏈表。圖3或圖4示例的顯示模塊301進(jìn)一步包括資源文件讀取單元701和模板創(chuàng)建單元702,如附圖7所示本發(fā)明另一實(shí)施例提供的用戶界面的多語言切換裝置,其中資源文件讀取單元701,用于讀取資源文件,該資源文件包括內(nèi)存中存儲的目標(biāo)語言的資源文件;模板創(chuàng)建單元702,用于根據(jù)資源文件讀取單元701讀取的資源文件創(chuàng)建資源顯9示模板。需要說明的是,上述裝置各模塊/單元之間的信息交互、執(zhí)行過程等內(nèi)容,由于與本發(fā)明方法實(shí)施例基于同一構(gòu)思,其帶來的技術(shù)效果與本發(fā)明方法實(shí)施例相同,具體內(nèi)容可參見本發(fā)明方法實(shí)施例中的敘述,此處不再贅述。本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲于一計算機(jī)可讀存儲介質(zhì)中,存儲介質(zhì)可以包括ROM、RAM、磁盤或光盤等。以上對本發(fā)明實(shí)施例提供的一種用戶界面的多語言切換方法和裝置進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。10權(quán)利要求一種用戶界面的多語言切換方法,其特征在于,所述方法包括如下步驟基于應(yīng)用程序的系統(tǒng)資源,將各種語言的資源文件保存為可擴(kuò)展標(biāo)記語言XML格式;根據(jù)用戶的切換指令,讀取所述保存為XML格式的目標(biāo)語言的資源文件到內(nèi)存;以所述目標(biāo)語言顯示用戶界面。2.如權(quán)利要求1所述的方法,其特征在于,所述基于應(yīng)用程序的系統(tǒng)資源,將各種語言的資源文件保存為可擴(kuò)展標(biāo)記語言XML格式包括導(dǎo)入與所述應(yīng)用程序相關(guān)的可執(zhí)行文件.exe或動態(tài)鏈接庫文件.dll;通過解析所述.exe文件或.dll文件,提取所述各種語言的資源字符串和資源屬性;將所述資源字符串和所述資源屬性存儲為可擴(kuò)展標(biāo)記語言XML文件格式。3.如權(quán)利要求2所述的方法,其特征在于,所述將所述資源字符串和所述資源屬性存儲為可擴(kuò)展標(biāo)記語言XML格式后還包括生成與所述各種語言對應(yīng)的資源文件。4.如權(quán)利要求3所述的方法,其特征在于,所述讀取所述保存為XML格式的目標(biāo)語言的資源文件包括讀取配置文件中所述目標(biāo)語言的語言文件名;根據(jù)所述目標(biāo)語言的語言文件名讀取與所述目標(biāo)語言對應(yīng)的XML資源文件;將所述目標(biāo)語言的所有資源文件加載至內(nèi)存中的雙向鏈表。5.如權(quán)利要求4所述的方法,其特征在于,所述將所述目標(biāo)語言的所有資源文件加載至內(nèi)存中的雙向鏈表之后還包括查詢所述目標(biāo)語言對應(yīng)的XML文件的編碼方式,若所述編碼方式不是Unicode編碼,則將所述目標(biāo)語言對應(yīng)的XML文件的編碼轉(zhuǎn)換成Unicode編碼。6.如權(quán)利要求4所述的方法,其特征在于,所述以所述目標(biāo)語言顯示用戶界面包括讀取資源文件,所述資源文件包括所述內(nèi)存中存儲的目標(biāo)語言的資源文件;根據(jù)所述資源文件創(chuàng)建資源顯示模板;發(fā)送消息至用戶界面UI進(jìn)程,由所述UI進(jìn)程顯示切換至目標(biāo)語言后的用戶界面。7.如權(quán)利要求6所述的方法,其特征在于,所述根據(jù)所述資源文件創(chuàng)建資源顯示模板包括獲取目標(biāo)用戶界面的顯示信息,所述目標(biāo)用戶界面是切換至所述目標(biāo)語言后顯示的用戶界面;提取所述目標(biāo)用戶界面的各個顯示模塊的身份標(biāo)識ID;根據(jù)所述各個顯示模塊的身份標(biāo)識ID查詢與所述身份標(biāo)識ID對應(yīng)的資源段;根據(jù)所述資源段創(chuàng)建資源顯示模板。8.如權(quán)利要求7所述的方法,其特征在于,所述由所述UI進(jìn)程顯示切換至目標(biāo)語言后的用戶界面包括所述UI進(jìn)程查詢消息隊(duì)列;若所述消息隊(duì)列具有更新的消息,則獲取所述資源顯示模板;根據(jù)所述資源顯示模板,將當(dāng)前用戶界面切換至所述目標(biāo)用戶界面。9.一種用戶界面的多語言切換裝置,其特征在于,所述裝置包括保存模塊,用于基于應(yīng)用程序的系統(tǒng)資源,將各種語言的資源文件保存為可擴(kuò)展標(biāo)記語言XML格式;讀取模塊,用于根據(jù)用戶的切換指令,將所述保存模塊保存的XML格式的目標(biāo)語言的資源文件讀取到內(nèi)存;顯示模塊,根據(jù)所述讀取模塊讀取到內(nèi)存的所述目標(biāo)語言的資源文件,以所述目標(biāo)語言顯示用戶界面。10.如權(quán)利要求9所述的裝置,其特征在于,所述保存模塊進(jìn)一步包括導(dǎo)入單元、提取單元、存儲單元和資源生成單元,所述讀取模塊包括第一讀取單元、第二讀取單元和加載單元,所述顯示模塊包括資源文件讀取單元和模板創(chuàng)建單元;所述導(dǎo)入單元,用于導(dǎo)入與所述應(yīng)用程序相關(guān)的可執(zhí)行文件.exe或動態(tài)鏈接庫文件.dll;所述提取單元,用于通過解析所述導(dǎo)入單元導(dǎo)入的.exe文件或.dll文件,提取所述各種語言的資源字符串和資源屬性;所述存儲單元,用于將所述提取單元提取的資源字符串和資源屬性存儲為可擴(kuò)展標(biāo)記語言XML格式;所述資源生成單元,用于生成與所述各種語言對應(yīng)的資源文件;所述第一讀取單元,用于讀取配置文件中所述目標(biāo)語言的語言文件名;所述第二讀取單元,用于根據(jù)所述第一讀取單元讀取的目標(biāo)語言的語言文件名讀取與所述目標(biāo)語言對應(yīng)的XML資源文件,所述與所述目標(biāo)語言對應(yīng)的XML文包括所述目標(biāo)語言的資源文件;所述加載單元,用于將所述第二讀取單元讀取的目標(biāo)語言的所有資源文件加載至內(nèi)存中的雙向鏈表;所述資源文件讀取單元,用于讀取資源文件,所述資源文件包括所述內(nèi)存中存儲的目標(biāo)語言的資源文件;所述模板創(chuàng)建單元,用于根據(jù)所述資源文件讀取單元讀取的資源文件創(chuàng)建資源顯示模板。11.如權(quán)利要求10所述的裝置,其特征在于,所述裝置進(jìn)一步包括轉(zhuǎn)換模塊,用于查詢所述目標(biāo)語言對應(yīng)的XML文件的編碼方式,若所述編碼方式不是Unicode編碼,則將所述目標(biāo)語言對應(yīng)的XML文件的編碼轉(zhuǎn)換成Unicode編碼。全文摘要本發(fā)明提供一種用戶界面的多語言切換方法和裝置,以減少應(yīng)用系統(tǒng)用戶界面的重復(fù)開發(fā),支持多種語言的顯示,方便用戶對界面的切換。所述方法包括基于應(yīng)用程序的系統(tǒng)資源,將各種語言的資源文件保存為可擴(kuò)展標(biāo)記語言XML格式;根據(jù)用戶的切換指令,讀取所述保存為XML格式的目標(biāo)語言的資源文件到內(nèi)存;以所述目標(biāo)語言顯示用戶界面。與現(xiàn)有技術(shù)相比,本發(fā)明降低了開發(fā)成本;此外,可以在任意一個windows系統(tǒng)中運(yùn)行一個應(yīng)用程序不同語言的版本,也不需要專業(yè)的開發(fā)人員,任何用戶都可以將用戶界面切換至其熟悉的語言顯示的界面,給用戶使用應(yīng)用程序帶來極大方便。文檔編號G06F9/44GK101916192SQ201010283800公開日2010年12月15日申請日期2010年9月14日優(yōu)先權(quán)日2010年9月14日發(fā)明者勒長華,張應(yīng)榜,楊禮軍,王波濤,胡波申請人:深圳市華力特電氣股份有限公司