頁(yè)面文字翻譯方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種頁(yè)面文字翻譯方法及裝置,頁(yè)面文字翻譯方法包括:識(shí)別頁(yè)面源代碼的各個(gè)部分是html語(yǔ)言代碼還是javascript語(yǔ)言代碼;在javascript語(yǔ)言代碼中添加用于標(biāo)記文字的標(biāo)簽;識(shí)別頁(yè)面源代碼中的用于標(biāo)記文字的標(biāo)簽,將所標(biāo)記的文字依次提取至一第一文本文件中并輸出;一外部對(duì)象對(duì)該第一文本文件中的文字進(jìn)行翻譯以形成一第二文本文件;接收該第二文本文件,針對(duì)每個(gè)標(biāo)簽均用該第二文本文件中的與該標(biāo)簽相對(duì)應(yīng)的文字替換頁(yè)面源代碼中由該標(biāo)簽所標(biāo)記的文字;本發(fā)明還公開了一種頁(yè)面文字翻譯裝置,其包括一識(shí)別模塊、一標(biāo)記模塊、一提取模塊、一翻譯模塊和一替換模塊。本發(fā)明脫離源代碼,操作簡(jiǎn)單且翻譯準(zhǔn)確。
【專利說(shuō)明】頁(yè)面文字翻譯方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種翻譯方法及裝置,特別是涉及一種頁(yè)面文字翻譯方法及裝置。
【背景技術(shù)】
[0002]隨著嵌入式軟件產(chǎn)品市場(chǎng)的不斷擴(kuò)大,嵌入式軟件產(chǎn)品面臨著支持多種國(guó)家語(yǔ)言的現(xiàn)實(shí)問(wèn)題,怎樣在普通版軟件發(fā)行之后,在最快最短的時(shí)間內(nèi)給出多種語(yǔ)言版軟件,成了當(dāng)前要急于解決的問(wèn)題。由于多國(guó)語(yǔ)言版面對(duì)的是全球性客戶,怎樣保證其準(zhǔn)確性和高效性以提升軟件產(chǎn)品的品質(zhì)、打響軟件產(chǎn)品的品牌也是需要非常關(guān)注的問(wèn)題。
[0003]現(xiàn)在比較常用的解決方法:在html語(yǔ)言代碼中需要標(biāo)記的文字處逐個(gè)添加“ID”標(biāo)簽,在編譯時(shí)根據(jù)標(biāo)記的標(biāo)簽使用“innerHTML”方法替換對(duì)應(yīng)翻譯的文字;在javascript語(yǔ)言代碼中添加多種可能應(yīng)用到的國(guó)家語(yǔ)言的代碼,并還添加選擇代碼來(lái)選取所需的語(yǔ)言。這兩種方法均需要依賴源代碼,且整個(gè)翻譯過(guò)程還需要語(yǔ)言包參與編譯,操作起來(lái)十分復(fù)雜。另外,有時(shí)會(huì)因?yàn)闉g覽器的兼容性等原因,而導(dǎo)致翻譯句柄失效,頁(yè)面文字翻譯不完全。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術(shù)問(wèn)題是為了克服現(xiàn)有技術(shù)中的翻譯過(guò)程依賴源代碼、需要語(yǔ)言包參與編譯、操作復(fù)雜以及翻譯不完全等缺陷,提供一種脫離源代碼且語(yǔ)言包不參與編譯的頁(yè)面文字翻譯方法及裝置。
[0005]本發(fā)明是通過(guò)下述技術(shù)方案來(lái)解決上述技術(shù)問(wèn)題的:
[0006]一種頁(yè)面文字翻譯方法,其特點(diǎn)在于,該頁(yè)面文字翻譯方法包括:
[0007]S:、識(shí)別頁(yè)面源代碼的各個(gè)部分是html語(yǔ)言代碼還是javascript語(yǔ)言代碼;
[0008]S2、在javascript語(yǔ)言代碼中的文字處添加用于標(biāo)記文字的標(biāo)簽;
[0009]S3、識(shí)別頁(yè)面源代碼中的所有用于標(biāo)記文字的標(biāo)簽,將由各個(gè)標(biāo)簽所標(biāo)記的文字依次提取至一第一文本文件中,并輸出該第一文本文件;
[0010]S4、一外部對(duì)象對(duì)該第一文本文件中的文字進(jìn)行翻譯以形成一第二文本文件,該第二文本文件中還保存有由每個(gè)標(biāo)簽所標(biāo)記的文字翻譯而得的文字與該標(biāo)簽之間的對(duì)應(yīng)關(guān)系;
[0011]S5、接收該第二文本文件,針對(duì)每個(gè)標(biāo)簽均用該第二文本文件中的與該標(biāo)簽相對(duì)應(yīng)的文字替換頁(yè)面源代碼中由該標(biāo)簽所標(biāo)記的文字。
[0012]當(dāng)識(shí)別出頁(yè)面源代碼的某個(gè)部分是html語(yǔ)言代碼時(shí),不需要對(duì)html語(yǔ)言代碼進(jìn)行額外操作,即不需要對(duì)html語(yǔ)言代碼額外添加任何代碼,只需通過(guò)html腳本語(yǔ)言的特性來(lái)提取文字,識(shí)別html語(yǔ)言代碼中原有的用于標(biāo)記文字的標(biāo)簽便可以將由標(biāo)簽所標(biāo)記的文字依次提取出來(lái),與現(xiàn)有的在html語(yǔ)言代碼中需要標(biāo)記的文字處逐個(gè)添加“ ID”標(biāo)簽這種方法相比,操作更加方便;當(dāng)識(shí)別出頁(yè)面源代碼的某個(gè)部分是javascript語(yǔ)言代碼時(shí),雖然需要對(duì)javascript語(yǔ)言代碼中的文字處進(jìn)行額外操作,即需要對(duì)在javascript語(yǔ)言代碼中的文字處添加用于標(biāo)記文字的標(biāo)簽,該標(biāo)簽用來(lái)識(shí)別需要提取的文字,但是與現(xiàn)有的在javascript語(yǔ)言代碼中添加多種可能應(yīng)用到的國(guó)家語(yǔ)言的代碼,并還添加選擇代碼來(lái)選取所需的語(yǔ)言這種方法相比,操作更加方便,減少大量代碼并減少代碼運(yùn)行時(shí)間。
[0013]較佳地,該第一文本文件和該第二文本文件均與頁(yè)面源代碼的命名方式相同。
[0014]較佳地,該頁(yè)面文字翻譯方法應(yīng)用于嵌入式系統(tǒng)中。該頁(yè)面文字翻譯方法也可以應(yīng)用于除嵌入式系統(tǒng)外的其它系統(tǒng)中。
[0015]該頁(yè)面文字翻譯方法中的文字是人們用來(lái)記錄語(yǔ)言的符號(hào)系統(tǒng),例如漢字、日文假名以及拉丁字母等。如頁(yè)面源代碼中的文字處為漢字,需要把該處文字翻譯成英文,則首先識(shí)別該處漢字,然后提取該處漢字對(duì)其進(jìn)行翻譯,最終用翻譯成的英文替換頁(yè)面源代碼中的漢字,這樣頁(yè)面顯示出來(lái)的文字就是英文。即,頁(yè)面源代碼中的文字不同于頁(yè)面源代碼中的編程符號(hào)編寫的程序語(yǔ)言。
[0016]本發(fā)明的目的還在于提供一種頁(yè)面文字翻譯裝置,該頁(yè)面文字翻譯裝置包括一識(shí)別模塊、一標(biāo)記模塊、一提取模塊、一翻譯模塊和一替換模塊;
[0017]該識(shí)別模塊用于識(shí)別頁(yè)面源代碼的各個(gè)部分是html語(yǔ)言代碼還是javascript語(yǔ)言代碼;
[0018]該標(biāo)記模塊用于在javascript語(yǔ)言代碼中的文字處添加用于標(biāo)記文字的標(biāo)簽;
[0019]該提取模塊用于識(shí)別頁(yè)面源代碼中的所有用于標(biāo)記文字的標(biāo)簽,將由各個(gè)標(biāo)簽所標(biāo)記的文字依次提取至一第一文本文件中,并輸出該第一文本文件;
[0020]該翻譯模塊用于通過(guò)一外部對(duì)象對(duì)該第一文本文件中的文字進(jìn)行翻譯以形成一第二文本文件,該第二文本文件中還保存有由每個(gè)標(biāo)簽所標(biāo)記的文字翻譯而得的文字與該標(biāo)簽之間的對(duì)應(yīng)關(guān)系;
[0021]該替換模塊用于接收該第二文本文件,針對(duì)每個(gè)標(biāo)簽均用該第二文本文件中的與該標(biāo)簽相對(duì)應(yīng)的文字替換頁(yè)面源代碼中由該標(biāo)簽所標(biāo)記的文字。
[0022]較佳地,該頁(yè)面文字翻譯裝置應(yīng)用于嵌入式系統(tǒng)中。該頁(yè)面文字翻譯裝置也可以應(yīng)用于除嵌入式系統(tǒng)外的其它系統(tǒng)中。
[0023]本發(fā)明的積極進(jìn)步效果在于:本發(fā)明不需要語(yǔ)言包參與編譯并且避免瀏覽器兼容性問(wèn)題,使得本發(fā)明脫離源代碼,對(duì)源碼的干擾小,操作簡(jiǎn)單,翻譯準(zhǔn)確以及批量提取、批量替換速度快。
【專利附圖】
【附圖說(shuō)明】
[0024]圖1為本發(fā)明的一較佳實(shí)施例的頁(yè)面文字翻譯方法的流程圖。
[0025]圖2為本發(fā)明的一較佳實(shí)施例的頁(yè)面文字翻譯裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0026]下面結(jié)合附圖給出本發(fā)明較佳實(shí)施例,以詳細(xì)說(shuō)明本發(fā)明的技術(shù)方案。
[0027]參考圖1所示,一種頁(yè)面文字翻譯方法包括以下步驟:
[0028]步驟100,識(shí)別頁(yè)面源代碼的各個(gè)部分是html語(yǔ)言代碼還是javascript語(yǔ)言代碼;
[0029]步驟101,在javascript語(yǔ)言代碼中的文字處添加用于標(biāo)記文字的標(biāo)簽“trs”,該“trs”標(biāo)簽用來(lái)識(shí)別需要提取的文字;
[0030]步驟102,分別識(shí)別html語(yǔ)言代碼和javascript語(yǔ)言代碼中的用于標(biāo)記文字的標(biāo)簽“ > ”、“ < ”(這一對(duì)標(biāo)簽中的文字就是要提取的文字)和“ trs ”,將由一對(duì)標(biāo)簽“ > ”、“ < ”和標(biāo)簽“trs”所標(biāo)記的文字依次提取至一第一文本文件中,并輸出該第一文本文件;其中,針對(duì)html語(yǔ)言代碼,通過(guò)html腳本語(yǔ)言的特性來(lái)提取文字,此處僅以慣用的標(biāo)簽,即一對(duì)“ > ”、“ < ”為例進(jìn)行了說(shuō)明,但是本實(shí)施例中的標(biāo)簽不僅限于一對(duì)“ > ”、“ < ”的情況。
[0031]步驟103,一外部對(duì)象對(duì)該第一文本文件中的文字進(jìn)行翻譯以形成一第二文本文件,該第二文本文件中還保存有由每個(gè)標(biāo)簽所標(biāo)記的文字翻譯而得的文字與該標(biāo)簽之間的對(duì)應(yīng)關(guān)系;
[0032]步驟104,接收該第二文本文件,針對(duì)每個(gè)標(biāo)簽均用該第二文本文件中的與該標(biāo)簽相對(duì)應(yīng)的文字替換頁(yè)面源代碼中由該標(biāo)簽所標(biāo)記的文字。
[0033]而在本實(shí)施例的具體實(shí)施過(guò)程中,該第一文本文件和該第二文本文件均與頁(yè)面源代碼的命名方式相同。這里的命名方式相同可以是該第一文本文件和該第二文本文件的文件名均與頁(yè)面源代碼的文件名相同,也可以是該第一文本文件和該第二文本文件的后綴名均與頁(yè)面源代碼的后綴名相同,還可以是該第一文本文件和該第二文本文件的部分文件名均與頁(yè)面源代碼的部分文件名相同。在javascript語(yǔ)言代碼中的文字處添加用于標(biāo)記文字的標(biāo)簽,該標(biāo)簽用來(lái)識(shí)別需要提取的文字,除了可以用標(biāo)簽“trs”外,還可以用其它具有識(shí)別作用的標(biāo)簽來(lái)標(biāo)記。
[0034]另外,該頁(yè)面文字翻譯方法應(yīng)用于嵌入式系統(tǒng)中,當(dāng)然,該頁(yè)面文字翻譯方法也可以應(yīng)用于除嵌入式系統(tǒng)外的其它系統(tǒng)中。
[0035]參考圖2所示,本發(fā)明的頁(yè)面文字翻譯裝置包括一識(shí)別模塊1、一標(biāo)記模塊2、一提取模塊3、一翻譯模塊4和一替換模塊5 ;
[0036]該識(shí)別模塊I用于識(shí)別頁(yè)面源代碼的各個(gè)部分是html語(yǔ)言代碼還是javascript語(yǔ)言代碼;
[0037]該標(biāo)記模塊2用于在javascript語(yǔ)言代碼中的文字處添加用于標(biāo)記文字的標(biāo)簽“trs”;
[0038]該提取模塊3用于分別識(shí)別html語(yǔ)言代碼和javascript語(yǔ)言代碼中的用于標(biāo)記文字的一對(duì)標(biāo)簽“ > ”、“ < ”和標(biāo)簽“ trs ”,將由標(biāo)簽“ > ”、“ < ”和“ trs ”所標(biāo)記的文字依次提取至一第一文本文件中,并輸出該第一文本文件;
[0039]該翻譯模塊4用于通過(guò)一外部對(duì)象對(duì)該第一文本文件中的文字進(jìn)行翻譯以形成一第二文本文件,該第二文本文件中還保存有由每個(gè)標(biāo)簽所標(biāo)記的文字翻譯而得的文字與該標(biāo)簽之間的對(duì)應(yīng)關(guān)系;
[0040]該替換模塊5用于接收該第二文本文件,針對(duì)每個(gè)標(biāo)簽均用該第二文本文件中的與該標(biāo)簽相對(duì)應(yīng)的文字替換頁(yè)面源代碼中由該標(biāo)簽所標(biāo)記的文字。
[0041]另外,該頁(yè)面文字翻譯裝置應(yīng)用于嵌入式系統(tǒng)中,當(dāng)然,該頁(yè)面文字翻譯裝置也可以應(yīng)用于除嵌入式系統(tǒng)外的其它系統(tǒng)中。
[0042]本發(fā)明中的各個(gè)功能模塊均能夠在現(xiàn)有的硬件條件下結(jié)合現(xiàn)有的軟件編程手段加以實(shí)現(xiàn),故在此對(duì)其具體實(shí)現(xiàn)方法均不做贅述。
[0043]雖然以上描述了本發(fā)明的【具體實(shí)施方式】,但是本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,這些僅是舉例說(shuō)明,本發(fā)明的保護(hù)范圍是由所附權(quán)利要求書限定的。本領(lǐng)域的技術(shù)人員在不背離本發(fā)明的原理和實(shí)質(zhì)的前提下,可以對(duì)這些實(shí)施方式做出多種變更或修改,但這些變更和修改均落入本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種頁(yè)面文字翻譯方法,其特征在于,該頁(yè)面文字翻譯方法包括: 51、識(shí)別頁(yè)面源代碼的各個(gè)部分是html語(yǔ)言代碼還是javascript語(yǔ)言代碼; 52、在javascript語(yǔ)言代碼中的文字處添加用于標(biāo)記文字的標(biāo)簽; 53、識(shí)別頁(yè)面源代碼中的所有用于標(biāo)記文字的標(biāo)簽,將由各個(gè)標(biāo)簽所標(biāo)記的文字依次提取至一第一文本文件中,并輸出該第一文本文件; 54、一外部對(duì)象對(duì)該第一文本文件中的文字進(jìn)行翻譯以形成一第二文本文件,該第二文本文件中還保存有由每個(gè)標(biāo)簽所標(biāo)記的文字翻譯而得的文字與該標(biāo)簽之間的對(duì)應(yīng)關(guān)系; 55、接收該第二文本文件,針對(duì)每個(gè)標(biāo)簽均用該第二文本文件中的與該標(biāo)簽相對(duì)應(yīng)的文字替換頁(yè)面源代碼中由該標(biāo)簽所標(biāo)記的文字。
2.如權(quán)利要求1所述的頁(yè)面文字翻譯方法,其特征在于,該第一文本文件和該第二文本文件均與頁(yè)面源代碼的命名方式相同。
3.如權(quán)利要求1所述的頁(yè)面文字翻譯方法,其特征在于,該頁(yè)面文字翻譯方法應(yīng)用于嵌入式系統(tǒng)中。
4.一頁(yè)面文字翻譯裝置,其特征在于,該頁(yè)面文字翻譯裝置包括一識(shí)別模塊、一標(biāo)記模塊、一提取模塊、一翻譯模塊和一替換模塊; 該識(shí)別模塊用于識(shí)別頁(yè)面源代碼的各個(gè)部分是html語(yǔ)言代碼還是javascript語(yǔ)言代碼; 該標(biāo)記模塊用于在javascript語(yǔ)言代碼中的文字處添加用于標(biāo)記文字的標(biāo)簽; 該提取模塊用于識(shí)別頁(yè)面源代碼中的所有用于標(biāo)記文字的標(biāo)簽,將由各個(gè)標(biāo)簽所標(biāo)記的文字依次提取至一第一文本文件中,并輸出該第一文本文件; 該翻譯模塊用于通過(guò)一外部對(duì)象對(duì)該第一文本文件中的文字進(jìn)行翻譯以形成一第二文本文件,該第二文本文件中還保存有由每個(gè)標(biāo)簽所標(biāo)記的文字翻譯而得的文字與該標(biāo)簽之間的對(duì)應(yīng)關(guān)系; 該替換模塊用于接收該第二文本文件,針對(duì)每個(gè)標(biāo)簽均用該第二文本文件中的與該標(biāo)簽相對(duì)應(yīng)的文字替換頁(yè)面源代碼中由該標(biāo)簽所標(biāo)記的文字。
5.如權(quán)利要求4所述的頁(yè)面文字翻譯裝置,其特征在于,該頁(yè)面文字翻譯裝置應(yīng)用于嵌入式系統(tǒng)中。
【文檔編號(hào)】G06F9/44GK103678284SQ201210320202
【公開日】2014年3月26日 申請(qǐng)日期:2012年8月31日 優(yōu)先權(quán)日:2012年8月31日
【發(fā)明者】朱虹, 陳德峰 申請(qǐng)人:上海斐訊數(shù)據(jù)通信技術(shù)有限公司