欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

網(wǎng)站的翻譯方法和裝置與流程

文檔序號(hào):11950252閱讀:328來(lái)源:國(guó)知局
網(wǎng)站的翻譯方法和裝置與流程

本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,特別是涉及一種網(wǎng)站的翻譯方法和裝置。



背景技術(shù):

隨著計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,全球越來(lái)越多的用戶使用網(wǎng)絡(luò)從事社交活動(dòng)。為此,提供服務(wù)的網(wǎng)站需要有不同國(guó)家語(yǔ)言版本以滿足不同國(guó)家的用戶需求。傳統(tǒng)的網(wǎng)站提供者會(huì)針對(duì)每種語(yǔ)言開(kāi)發(fā)對(duì)應(yīng)的一套版本,需要投入大量的人力來(lái)整理和翻譯增量的文本、開(kāi)發(fā)或復(fù)制多套代碼及校驗(yàn)多版本功能的一致性等,造成極大的成本消耗。



技術(shù)實(shí)現(xiàn)要素:

基于此,有必要針對(duì)傳統(tǒng)的網(wǎng)站針對(duì)每種語(yǔ)言開(kāi)發(fā)一套版本,需要開(kāi)發(fā)人員對(duì)每套版本進(jìn)行單獨(dú)維護(hù),極大消耗成本的問(wèn)題,提供一種網(wǎng)站的翻譯方法和裝置,不需要開(kāi)發(fā)人員維護(hù)多套版本,降低了成本。

一種網(wǎng)站的翻譯方法,包括:

獲取網(wǎng)站的腳本源碼、超文本標(biāo)記語(yǔ)言結(jié)構(gòu)數(shù)據(jù)和數(shù)據(jù)獲取層接收的返回?cái)?shù)據(jù);

查找所述腳本源碼中包含指定語(yǔ)言字符串的源碼節(jié)點(diǎn),將所述源碼節(jié)點(diǎn)中的指定語(yǔ)言字符串進(jìn)行翻譯;

查找所述超文本標(biāo)記語(yǔ)言結(jié)構(gòu)數(shù)據(jù)中包含指定語(yǔ)言字符串的超文本結(jié)構(gòu)節(jié)點(diǎn),將所述超文本結(jié)構(gòu)節(jié)點(diǎn)中的指定語(yǔ)言字符串進(jìn)行翻譯;

查找所述返回?cái)?shù)據(jù)中包含指定語(yǔ)言字符串的返回?cái)?shù)據(jù),將所述返回?cái)?shù)據(jù)中的指定語(yǔ)言字符串進(jìn)行翻譯。

一種網(wǎng)站的翻譯裝置,包括:

數(shù)據(jù)獲取模塊,用于獲取網(wǎng)站的腳本源碼、超文本標(biāo)記語(yǔ)言結(jié)構(gòu)數(shù)據(jù)和數(shù)據(jù)獲取層接收的返回?cái)?shù)據(jù);

第一翻譯模塊,用于查找所述腳本源碼中包含指定語(yǔ)言字符串的源碼節(jié)點(diǎn),將所述源碼節(jié)點(diǎn)中的指定語(yǔ)言字符串進(jìn)行翻譯;

第二翻譯模塊,用于查找所述超文本標(biāo)記語(yǔ)言結(jié)構(gòu)數(shù)據(jù)中包含指定語(yǔ)言字符串的超文本結(jié)構(gòu)節(jié)點(diǎn),將所述超文本結(jié)構(gòu)節(jié)點(diǎn)中的指定語(yǔ)言字符串進(jìn)行翻譯;

第三翻譯模塊,用于查找所述返回?cái)?shù)據(jù)中包含指定語(yǔ)言字符串的返回?cái)?shù)據(jù),將所述返回?cái)?shù)據(jù)中的指定語(yǔ)言字符串進(jìn)行翻譯。

上述網(wǎng)站的翻譯方法和裝置,通過(guò)獲取網(wǎng)站的腳本源碼、超文本標(biāo)記語(yǔ)言結(jié)構(gòu)數(shù)據(jù)和數(shù)據(jù)獲取層接收的返回?cái)?shù)據(jù),查找其中的指定語(yǔ)言字符串進(jìn)行翻譯,開(kāi)發(fā)人員只需維護(hù)一個(gè)語(yǔ)言版本的網(wǎng)站即可,轉(zhuǎn)化成其他語(yǔ)言時(shí),將網(wǎng)站的腳本源碼、超文本標(biāo)記語(yǔ)言結(jié)構(gòu)數(shù)據(jù)和返回?cái)?shù)據(jù)中的指定語(yǔ)言字符串進(jìn)行翻譯,即可快速翻譯成其他語(yǔ)言的網(wǎng)站,降低了成本。

附圖說(shuō)明

圖1A為一個(gè)實(shí)施例中終端的內(nèi)部結(jié)構(gòu)示意圖;

圖1B為一個(gè)實(shí)施例中服務(wù)器的內(nèi)部結(jié)構(gòu)示意圖;

圖2為一個(gè)實(shí)施例中網(wǎng)站的翻譯方法的流程圖;

圖3為一個(gè)實(shí)施例中查找該腳本源碼中包含指定語(yǔ)言字符串的源碼節(jié)點(diǎn),將該源碼節(jié)點(diǎn)中的指定語(yǔ)言字符串進(jìn)行翻譯的步驟的流程圖;

圖4為一個(gè)實(shí)施例中網(wǎng)站的翻譯裝置的結(jié)構(gòu)框圖;

圖5為一個(gè)實(shí)施例中第一翻譯模塊的內(nèi)部結(jié)構(gòu)框圖。

具體實(shí)施方式

為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

可以理解,本發(fā)明所使用的術(shù)語(yǔ)“第一”、“第二”等可在本文中用于描述各種元件,但這些元件不受這些術(shù)語(yǔ)限制。這些術(shù)語(yǔ)僅用于將第一個(gè)元件與另一個(gè)元件區(qū)分。舉例來(lái)說(shuō),在不脫離本發(fā)明的范圍的情況下,可以將第一客戶端稱為第二客戶端,且類似地,可將第二客戶端稱為第一客戶端。第一客戶端和第二客戶端兩者都是客戶端,但其不是同一客戶端。

圖1A為一個(gè)實(shí)施例中終端的內(nèi)部結(jié)構(gòu)示意圖。如圖1A所示,該終端包括通過(guò)系統(tǒng)總線連接的處理器、非易失性存儲(chǔ)介質(zhì)、內(nèi)存儲(chǔ)器、網(wǎng)絡(luò)接口、顯示屏和輸入裝置。其中,終端的非易失性存儲(chǔ)介質(zhì)存儲(chǔ)有操作系統(tǒng),還包括一種網(wǎng)站的翻譯裝置,該網(wǎng)站的翻譯裝置用于實(shí)現(xiàn)一種網(wǎng)站的翻譯方法。該處理器用于提供計(jì)算和控制能力,支撐整個(gè)終端的運(yùn)行。終端中的內(nèi)存儲(chǔ)器為非易失性存儲(chǔ)介質(zhì)中的網(wǎng)站的翻譯裝置的運(yùn)行提供環(huán)境,該內(nèi)存儲(chǔ)器中可儲(chǔ)存有計(jì)算機(jī)可讀指令,該計(jì)算機(jī)可讀指令被所述處理器執(zhí)行時(shí),可使得所述處理器執(zhí)行一種網(wǎng)站的翻譯方法。網(wǎng)絡(luò)接口用于與服務(wù)器進(jìn)行網(wǎng)絡(luò)通信。終端的顯示屏可以是液晶顯示屏或者電子墨水顯示屏等,輸入裝置可以是顯示屏上覆蓋的觸摸層,也可以是終端外殼上設(shè)置的按鍵、軌跡球或觸控板,也可以是外接的鍵盤、觸控板或鼠標(biāo)等。該終端可以是手機(jī)、平板電腦或者個(gè)人數(shù)字助理或穿戴式設(shè)備等。本領(lǐng)域技術(shù)人員可以理解,圖1A中示出的結(jié)構(gòu),僅僅是與本申請(qǐng)方案相關(guān)的部分結(jié)構(gòu)的框圖,并不構(gòu)成對(duì)本申請(qǐng)方案所應(yīng)用于其上的終端的限定,具體的終端可以包括比圖中所示更多或更少的部件,或者組合某些部件,或者具有不同的部件布置。

圖1B為一個(gè)實(shí)施例中服務(wù)器(或云端等)的內(nèi)部結(jié)構(gòu)示意圖。如圖1B所示,該服務(wù)器包括通過(guò)系統(tǒng)總線連接的處理器、非易失性存儲(chǔ)介質(zhì)、內(nèi)存儲(chǔ)器和網(wǎng)絡(luò)接口。其中,該服務(wù)器的非易失性存儲(chǔ)介質(zhì)存儲(chǔ)有操作系統(tǒng)、數(shù)據(jù)庫(kù)和網(wǎng)站的翻譯裝置,數(shù)據(jù)庫(kù)中存儲(chǔ)有各種語(yǔ)言之間的對(duì)應(yīng)關(guān)系的翻譯詞典,該網(wǎng)站的翻譯裝置用于實(shí)現(xiàn)適用于服務(wù)器的一種網(wǎng)站的翻譯方法。該服務(wù)器的處理器用于提供計(jì)算和控制能力,支撐整個(gè)服務(wù)器的運(yùn)行。該服務(wù)器的內(nèi)存儲(chǔ)器為非易失性存儲(chǔ)介質(zhì)中的網(wǎng)站的翻譯裝置的運(yùn)行提供環(huán)境,該內(nèi)存儲(chǔ)器中可儲(chǔ)存有計(jì)算機(jī)可讀指令,該計(jì)算機(jī)可讀指令被所述處理器執(zhí)行時(shí),可使得所述處理器執(zhí)行一種網(wǎng)站的翻譯方法。該服務(wù)器的網(wǎng)絡(luò)接口用于據(jù)以與外部的終端通過(guò)網(wǎng)絡(luò)連接通信等。服務(wù)器可以用獨(dú)立的服務(wù)器或者是多個(gè)服務(wù)器組成的服務(wù)器集群來(lái)實(shí)現(xiàn)。本領(lǐng)域技術(shù)人員可以理解,圖1B中示出的結(jié)構(gòu),僅僅是與本申請(qǐng)方案相關(guān)的部分結(jié)構(gòu)的框圖,并不構(gòu)成對(duì)本申請(qǐng)方案所應(yīng)用于其上的服務(wù)器的限定,具體的服務(wù)器可以包括比圖中所示更多或更少的部件,或者組合某些部件,或者具有不同的部件布置。

圖2為一個(gè)實(shí)施例中網(wǎng)站的翻譯方法的流程圖。如圖2所示,一種網(wǎng)站的翻譯方法,運(yùn)行于終端或服務(wù)器上,包括:

步驟202,獲取網(wǎng)站的腳本源碼、超文本標(biāo)記語(yǔ)言結(jié)構(gòu)數(shù)據(jù)和數(shù)據(jù)獲取層接收的返回?cái)?shù)據(jù)。

本實(shí)施例中,網(wǎng)站是在因特網(wǎng)上根據(jù)一定的規(guī)則,使用HTML(Hyper TextMarkup Language,超文本標(biāo)記語(yǔ)言)等工具制作的用于展示特定內(nèi)容的網(wǎng)頁(yè)集合。網(wǎng)站數(shù)據(jù)包括腳本源碼、超文本標(biāo)記語(yǔ)言結(jié)構(gòu)數(shù)據(jù)和數(shù)據(jù)獲取層接收的后端(后端是指網(wǎng)站后臺(tái))返回?cái)?shù)據(jù)等。

通常網(wǎng)站有需要翻譯的內(nèi)容散落在JavaScript(腳本源碼)、HTML結(jié)構(gòu)數(shù)據(jù)和后端Ajax(數(shù)據(jù)獲取層)返回?cái)?shù)據(jù)中。

HTML結(jié)構(gòu)數(shù)據(jù)可包含圖片、鏈接、文本、音樂(lè)、程序等元素。超文本標(biāo)記語(yǔ)言結(jié)構(gòu)包括頭部分和主體部分,頭部分用于提供關(guān)于網(wǎng)頁(yè)的信息,主體部分用于提供網(wǎng)頁(yè)的具體內(nèi)容。

步驟204,查找該腳本源碼中包含指定語(yǔ)言字符串的源碼節(jié)點(diǎn),將該源碼節(jié)點(diǎn)中的指定語(yǔ)言字符串進(jìn)行翻譯。

具體地,源碼節(jié)點(diǎn)是指腳本源碼中的節(jié)點(diǎn)。腳本源碼中節(jié)點(diǎn)可包括第一節(jié)點(diǎn)類型的源碼節(jié)點(diǎn)和第二節(jié)點(diǎn)類型的源碼節(jié)點(diǎn)。第一節(jié)點(diǎn)類型可為BinaryExpression,表示包含“+”、“-”、“*”和“/”等連接運(yùn)算的節(jié)點(diǎn)。第二節(jié)點(diǎn)類型可為L(zhǎng)iteral,表示單文本節(jié)點(diǎn)。

通過(guò)遞歸遍歷查找腳本源碼中的節(jié)點(diǎn),查找到包含指定語(yǔ)言字符串的源碼節(jié)點(diǎn),再對(duì)該指定語(yǔ)言字符串按照詞典中記載的指定語(yǔ)言與目標(biāo)語(yǔ)言之間的對(duì)應(yīng)關(guān)系進(jìn)行翻譯,得到對(duì)應(yīng)的目標(biāo)語(yǔ)言。其中,指定語(yǔ)言為根據(jù)需要設(shè)定的人類語(yǔ)言。例如,腳本源碼由中國(guó)人開(kāi)發(fā)設(shè)計(jì),其中可能包含中文,該中文可作為指定語(yǔ)言。腳本源碼由美國(guó)人開(kāi)發(fā)設(shè)計(jì),其中可能包含英文,該英文可作為指定語(yǔ)言。目標(biāo)語(yǔ)言是指需要轉(zhuǎn)化得到的人類語(yǔ)言。例如,網(wǎng)站顯示的是中文版,需要顯示英文版,則需要將中文轉(zhuǎn)化為英文,則網(wǎng)站中的中文為指定語(yǔ)言,英文為目標(biāo)語(yǔ)言,則將網(wǎng)站中的指定語(yǔ)言字符串進(jìn)行翻譯,得到目標(biāo)語(yǔ)言字符串。

遞歸遍歷是指從根目錄逐級(jí)獲取節(jié)點(diǎn)。

根據(jù)不同的翻譯需求,采用不同的詞典進(jìn)行翻譯。詞典可記錄各種語(yǔ)言之間的對(duì)應(yīng)關(guān)系。

步驟206,查找該超文本標(biāo)記語(yǔ)言結(jié)構(gòu)數(shù)據(jù)中包含指定語(yǔ)言字符串的超文本結(jié)構(gòu)節(jié)點(diǎn),將該超文本結(jié)構(gòu)節(jié)點(diǎn)中的指定語(yǔ)言字符串進(jìn)行翻譯。

本實(shí)施例中,超文本結(jié)構(gòu)節(jié)點(diǎn)是指超文本語(yǔ)言結(jié)構(gòu)數(shù)據(jù)中的節(jié)點(diǎn)。超文本語(yǔ)言結(jié)構(gòu)數(shù)據(jù)中可包括元素節(jié)點(diǎn)、文本節(jié)點(diǎn)、屬性節(jié)點(diǎn)、注釋節(jié)點(diǎn)等。元素節(jié)點(diǎn)是指包含完整信息的節(jié)點(diǎn)。文本節(jié)點(diǎn)包含在元素節(jié)點(diǎn)內(nèi)。屬性節(jié)點(diǎn)是記錄元素屬性信息的節(jié)點(diǎn)。元素有一些屬性,屬性的作用是對(duì)元素進(jìn)行詳細(xì)描述,如元素名稱、元素標(biāo)識(shí)等。注釋節(jié)點(diǎn)是指注釋。

查找超文本標(biāo)記語(yǔ)言結(jié)構(gòu)數(shù)據(jù)中包含指定語(yǔ)言字符串的超文本結(jié)構(gòu)節(jié)點(diǎn),將該超文本結(jié)構(gòu)節(jié)點(diǎn)中的指定語(yǔ)言字符串按照詞典中的記載的指定語(yǔ)言與目標(biāo)語(yǔ)言之間的對(duì)應(yīng)關(guān)系進(jìn)行翻譯,得到對(duì)應(yīng)的目標(biāo)語(yǔ)言。

步驟208,查找該返回?cái)?shù)據(jù)中包含指定語(yǔ)言字符串的返回?cái)?shù)據(jù),將該返回?cái)?shù)據(jù)中的指定語(yǔ)言字符串進(jìn)行翻譯。

本實(shí)施例中,數(shù)據(jù)獲取層中接收返回?cái)?shù)據(jù),在返回?cái)?shù)據(jù)中可能包含指定語(yǔ)言字符串,通過(guò)遞歸遍歷可查找到返回?cái)?shù)據(jù)中的指定語(yǔ)言字符串,將指定語(yǔ)言字符串按照詞典中的記載的指定語(yǔ)言與目標(biāo)語(yǔ)言之間的對(duì)應(yīng)關(guān)系進(jìn)行翻譯,得到對(duì)應(yīng)的目標(biāo)語(yǔ)言。

上述網(wǎng)站的翻譯方法,通過(guò)獲取網(wǎng)站的腳本源碼、超文本標(biāo)記語(yǔ)言結(jié)構(gòu)數(shù)據(jù)和數(shù)據(jù)獲取層接收的返回?cái)?shù)據(jù),查找其中的指定語(yǔ)言字符串進(jìn)行翻譯,開(kāi)發(fā)人員只需維護(hù)一個(gè)語(yǔ)言版本的網(wǎng)站即可,轉(zhuǎn)化成其他語(yǔ)言時(shí),將網(wǎng)站的腳本源碼、超文本標(biāo)記語(yǔ)言結(jié)構(gòu)數(shù)據(jù)和返回?cái)?shù)據(jù)中的指定語(yǔ)言字符串進(jìn)行翻譯,即可快速翻譯成其他語(yǔ)言的網(wǎng)站,降低了成本。

在一個(gè)實(shí)施例中,如圖3所示,該查找該腳本源碼中包含指定語(yǔ)言字符串的源碼節(jié)點(diǎn),將該源碼節(jié)點(diǎn)中的指定語(yǔ)言字符串進(jìn)行翻譯的步驟包括:

步驟302,解析該腳本源碼,生成抽象語(yǔ)法樹(shù)。

具體地,抽象語(yǔ)法樹(shù)是腳本源碼抽象語(yǔ)法的樹(shù)狀表現(xiàn)形式。

步驟304,遞歸遍歷該抽象語(yǔ)法樹(shù),得到第一節(jié)點(diǎn)類型的源碼節(jié)點(diǎn)和第二節(jié)點(diǎn)類型的源碼節(jié)點(diǎn)。

具體地,源碼節(jié)點(diǎn)是指腳本源碼中的節(jié)點(diǎn)。腳本源碼中節(jié)點(diǎn)可包括第一節(jié)點(diǎn)類型的源碼節(jié)點(diǎn)和第二節(jié)點(diǎn)類型的源碼節(jié)點(diǎn)。第一節(jié)點(diǎn)類型可為BinaryExpression,表示包含“+”、“-”、“*”和“/”等連接運(yùn)算的節(jié)點(diǎn)。第二節(jié)點(diǎn)類型可為L(zhǎng)iteral,表示單文本節(jié)點(diǎn)。

步驟306,遞歸遍歷該第一節(jié)點(diǎn)類型的源碼節(jié)點(diǎn),從該第一節(jié)點(diǎn)類型的源碼節(jié)點(diǎn)中查找到屬于第二節(jié)點(diǎn)類型且節(jié)點(diǎn)屬性中包含指定語(yǔ)言字符串的源碼子節(jié)點(diǎn)時(shí),將該源碼子節(jié)點(diǎn)中的變量替換為占位符,將該源碼子節(jié)點(diǎn)中的指定語(yǔ)言字符串與占位符形成完整字符串,為該完整字符串分配索引標(biāo)識(shí),將該源碼子節(jié)點(diǎn)替換為函數(shù)類型節(jié)點(diǎn),將該函數(shù)類型節(jié)點(diǎn)中的完整字符串進(jìn)行翻譯,在翻譯之后,將該翻譯后的完整字符串中的占位符替換為變量,得到翻譯結(jié)果。

本實(shí)施例中,對(duì)第一節(jié)點(diǎn)類型BinaryExpression的源碼節(jié)點(diǎn)進(jìn)行遞歸遍歷,若查找到類型為第二節(jié)點(diǎn)類型Literal且Value(節(jié)點(diǎn)屬性)中包含指定語(yǔ)言字符串的源碼子節(jié)點(diǎn),則將源碼子節(jié)點(diǎn)中的變量替換為占位符,將源碼子節(jié)點(diǎn)中的指定語(yǔ)音字符與占位符形成完整字符串,為該完整字符串分配索引標(biāo)識(shí),在腳本源碼頭部為該源碼子節(jié)點(diǎn)建立索引標(biāo)識(shí)與完整字符串的映射關(guān)系。

將該源碼子節(jié)點(diǎn)替換為函數(shù)類型節(jié)點(diǎn),如callexpression類型,通過(guò)函數(shù)類型節(jié)點(diǎn)可以包含值為數(shù)組的arguments節(jié)點(diǎn)屬性,用于傳遞函數(shù)變量。Arguments數(shù)組中的值可包括索引標(biāo)識(shí)、占位符等。

第一節(jié)點(diǎn)類型的源碼節(jié)點(diǎn)中包含拼接字符串,即包括指定語(yǔ)言字符串和變量等。

例如,指定語(yǔ)言字符串為:var tips=‘你輸入的字符超出’+length+’個(gè)’。將指定語(yǔ)音字符串中的變量“+length+”替換為占位符“()”,將占位符與指定語(yǔ)言字符串形成完整字符串。為該完整字符串分配索引標(biāo)識(shí)10001。

索引標(biāo)識(shí):10001:你輸入的字符超出()個(gè)

源碼:var tips=_f8e02fb18b140036(10001,[length],‘()’);

對(duì)完整字符串進(jìn)行翻譯得到目標(biāo)語(yǔ)言(這里是英文)字符串The charactersyou entered are more than()。

則索引標(biāo)識(shí):10001:The characters you entered are more than()

源碼:var tips=_f8e02fb18b140036(10001,[length],‘()’);

再將翻譯后的完整字符串中占位符替換為對(duì)應(yīng)的變量,即The characters youentered are more than‘+length+’。再將替換為變量后的翻譯結(jié)果進(jìn)行修正處理,得到修正后的翻譯結(jié)果,如The characters you entered are more than length。

步驟308,獲取該第二節(jié)點(diǎn)類型的源碼節(jié)點(diǎn)中包含的指定語(yǔ)言字符串,將該指定語(yǔ)言字符串直接進(jìn)行翻譯。

本實(shí)施例中,第二節(jié)點(diǎn)類型Literal的源碼節(jié)點(diǎn)中指定語(yǔ)言字符串,按照詞典中的指定語(yǔ)言和目標(biāo)語(yǔ)言之間的對(duì)應(yīng)關(guān)系進(jìn)行翻譯,得到目標(biāo)語(yǔ)言字符串。

上述對(duì)腳本源碼進(jìn)行解析得到抽象語(yǔ)法樹(shù),通過(guò)遞歸遍歷抽象語(yǔ)法樹(shù)得到第一節(jié)點(diǎn)類型的源碼節(jié)點(diǎn)和第二節(jié)點(diǎn)類型的源碼節(jié)點(diǎn),針對(duì)包含指定語(yǔ)言字符串和變量的字符串的源碼節(jié)點(diǎn),通過(guò)對(duì)變量采用占位符替換,對(duì)該源碼節(jié)點(diǎn)采用函數(shù)類型節(jié)點(diǎn)進(jìn)行替換,在翻譯后,實(shí)現(xiàn)函數(shù)返回,確保翻譯后的語(yǔ)句通順、正確。

在一個(gè)實(shí)施例中,查找該超文本標(biāo)記語(yǔ)言結(jié)構(gòu)數(shù)據(jù)中包含指定語(yǔ)言字符串的超文本結(jié)構(gòu)節(jié)點(diǎn),將該超文本結(jié)構(gòu)節(jié)點(diǎn)中的指定語(yǔ)言字符串進(jìn)行翻譯,包括查找該超文本標(biāo)記語(yǔ)言結(jié)構(gòu)數(shù)據(jù)中包含指定語(yǔ)言字符串的超文本結(jié)構(gòu)節(jié)點(diǎn),將該超文本結(jié)構(gòu)節(jié)點(diǎn)中的指定語(yǔ)言字符串按照詞典中指定語(yǔ)言與目標(biāo)語(yǔ)言之間的對(duì)應(yīng)關(guān)系進(jìn)行翻譯,得到對(duì)應(yīng)的目標(biāo)語(yǔ)言字符串。

具體地,預(yù)先建立了各種詞典,詞典中記錄有各種語(yǔ)言相互之間的對(duì)應(yīng)關(guān)系。

在一個(gè)實(shí)施例中,該查找該返回?cái)?shù)據(jù)中包含指定語(yǔ)言字符串的返回?cái)?shù)據(jù),將該返回?cái)?shù)據(jù)中的指定語(yǔ)言字符串進(jìn)行翻譯,包括:查找該返回?cái)?shù)據(jù)中包含指定語(yǔ)言字符串的返回?cái)?shù)據(jù),將該返回?cái)?shù)據(jù)中的指定語(yǔ)言字符串按照詞典中指定語(yǔ)言與目標(biāo)語(yǔ)言之間的對(duì)應(yīng)關(guān)系進(jìn)行翻譯,得到對(duì)應(yīng)的目標(biāo)語(yǔ)言字符串。

在一個(gè)實(shí)施例中,該查找該返回?cái)?shù)據(jù)中包含指定語(yǔ)言字符串的返回?cái)?shù)據(jù),將該返回?cái)?shù)據(jù)中的指定語(yǔ)言字符串進(jìn)行翻譯,包括:通過(guò)該數(shù)據(jù)獲取層和數(shù)據(jù)處理層中插入的中間件,對(duì)該返回?cái)?shù)據(jù)進(jìn)行遞歸遍歷,對(duì)該返回?cái)?shù)據(jù)中的指定語(yǔ)言字符串進(jìn)行翻譯。

本實(shí)施例中,中間件是指設(shè)置在數(shù)據(jù)獲取層Ajax和數(shù)據(jù)處理層之間的過(guò)濾層。通過(guò)中間件對(duì)返回?cái)?shù)據(jù)進(jìn)行遞歸遍歷,查找到返回?cái)?shù)據(jù)中的指定語(yǔ)言字符串,按照詞典中指定語(yǔ)言與目標(biāo)語(yǔ)言之間的對(duì)應(yīng)關(guān)系進(jìn)行翻譯得到目標(biāo)語(yǔ)言字符串。

此外,可根據(jù)指定語(yǔ)言代碼自動(dòng)生成或手動(dòng)整理得到數(shù)據(jù)的對(duì)照表,對(duì)照表中記錄有指定語(yǔ)音字符串到指定語(yǔ)言字符串的映射。在翻譯過(guò)程中,將對(duì)照表中映射關(guān)系替換為指定語(yǔ)言字符串到目標(biāo)語(yǔ)言字符串的映射。

在一個(gè)實(shí)施例中,上述網(wǎng)站的翻譯方法還包括:獲取待翻譯的增量文件及待翻譯的增量文件對(duì)應(yīng)的翻譯文件,將增量文件與對(duì)應(yīng)的翻譯文件更新到詞典。

本實(shí)施例中,查找到網(wǎng)站的腳本源碼、超文件標(biāo)記語(yǔ)言結(jié)構(gòu)數(shù)據(jù)和返回?cái)?shù)據(jù)中的指定語(yǔ)言字符串,判斷指定語(yǔ)言字符串在詞典中是否存在對(duì)應(yīng)的目標(biāo)語(yǔ)言字符串,若不存在,則指定語(yǔ)言字符串為增量字符串,將增量字符串聚集在一起形成待翻譯的增量文件,將待翻譯的增量文件進(jìn)行翻譯得到對(duì)應(yīng)的翻譯文件,將增量文件和翻譯文件更新到詞典中。

翻譯人員可在翻譯項(xiàng)目下配置好輸入、輸出及詞典路徑,啟動(dòng)執(zhí)行程序,程序會(huì)根據(jù)詞典分析源碼進(jìn)行文本或變量轉(zhuǎn)換,輸出翻譯后的網(wǎng)站版本。其中,輸入為待翻譯的源碼文件存儲(chǔ)路徑,輸出為完成翻譯后的源碼文件存儲(chǔ)路徑。有增量文件時(shí),由翻譯人員對(duì)增量文件進(jìn)行翻譯得到翻譯文件。

翻譯人員在網(wǎng)站入口處根據(jù)語(yǔ)言環(huán)境或者參數(shù)來(lái)引入對(duì)應(yīng)版本的資源文件,完成網(wǎng)站的語(yǔ)言版本的切換。

圖4為一個(gè)實(shí)施例中網(wǎng)站的翻譯裝置的結(jié)構(gòu)框圖。如圖4所示,一種網(wǎng)站的翻譯裝置,包括數(shù)據(jù)獲取模塊402、第一翻譯模塊404、第二翻譯模塊406和第三翻譯模塊408。其中:

數(shù)據(jù)獲取模塊402用于獲取網(wǎng)站的腳本源碼、超文本標(biāo)記語(yǔ)言結(jié)構(gòu)數(shù)據(jù)和數(shù)據(jù)獲取層接收的返回?cái)?shù)據(jù)。

本實(shí)施例中,通常網(wǎng)站有需要翻譯的內(nèi)容散落在JavaScript、HTML結(jié)構(gòu)數(shù)據(jù)和后端Ajax返回?cái)?shù)據(jù)中。HTML結(jié)構(gòu)數(shù)據(jù)可包含圖片、鏈接、文本、音樂(lè)、程序等元素。超文本標(biāo)記語(yǔ)言結(jié)構(gòu)包括頭部分和主體部分,頭部分用于提供關(guān)于網(wǎng)頁(yè)的信息,主體部分用于提供網(wǎng)頁(yè)的具體內(nèi)容。

第一翻譯模塊404用于查找該腳本源碼中包含指定語(yǔ)言字符串的源碼節(jié)點(diǎn),將該源碼節(jié)點(diǎn)中的指定語(yǔ)言字符串進(jìn)行翻譯。

具體地,源碼節(jié)點(diǎn)是指腳本源碼中的節(jié)點(diǎn)。腳本源碼中節(jié)點(diǎn)可包括第一節(jié)點(diǎn)類型的源碼節(jié)點(diǎn)和第二節(jié)點(diǎn)類型的源碼節(jié)點(diǎn)。第一節(jié)點(diǎn)類型可為BinaryExpression,表示包含“+”、“-”、“*”和“/”等連接運(yùn)算的節(jié)點(diǎn)。第二節(jié)點(diǎn)類型可為L(zhǎng)iteral,表示單文本節(jié)點(diǎn)。

第二翻譯模塊406用于查找該超文本標(biāo)記語(yǔ)言結(jié)構(gòu)數(shù)據(jù)中包含指定語(yǔ)言字符串的超文本結(jié)構(gòu)節(jié)點(diǎn),將該超文本結(jié)構(gòu)節(jié)點(diǎn)中的指定語(yǔ)言字符串進(jìn)行翻譯。

本實(shí)施例中,超文本結(jié)構(gòu)節(jié)點(diǎn)是指超文本語(yǔ)言結(jié)構(gòu)數(shù)據(jù)中的節(jié)點(diǎn)。超文本語(yǔ)言結(jié)構(gòu)數(shù)據(jù)中可包括元素節(jié)點(diǎn)、文本節(jié)點(diǎn)、屬性節(jié)點(diǎn)、注釋節(jié)點(diǎn)等。元素節(jié)點(diǎn)是指包含完整信息的節(jié)點(diǎn)。文本節(jié)點(diǎn)包含在元素節(jié)點(diǎn)內(nèi)。屬性節(jié)點(diǎn)是記錄元素屬性信息的節(jié)點(diǎn)。元素有一些屬性,屬性的作用是對(duì)元素進(jìn)行詳細(xì)描述,如元素名稱、元素標(biāo)識(shí)等。注釋節(jié)點(diǎn)是指注釋。

第三翻譯模塊408用于查找該返回?cái)?shù)據(jù)中包含指定語(yǔ)言字符串的返回?cái)?shù)據(jù),將該返回?cái)?shù)據(jù)中的指定語(yǔ)言字符串進(jìn)行翻譯。

本實(shí)施例中,數(shù)據(jù)獲取層中接收返回?cái)?shù)據(jù),在返回?cái)?shù)據(jù)中可能包含指定語(yǔ)言字符串,通過(guò)遞歸遍歷可查找到返回?cái)?shù)據(jù)中的指定語(yǔ)言字符串,將指定語(yǔ)言字符串按照詞典中的記載的指定語(yǔ)言與目標(biāo)語(yǔ)言之間的對(duì)應(yīng)關(guān)系進(jìn)行翻譯,得到對(duì)應(yīng)的目標(biāo)語(yǔ)言。

上述網(wǎng)站的翻譯裝置,通過(guò)獲取網(wǎng)站的腳本源碼、超文本標(biāo)記語(yǔ)言結(jié)構(gòu)數(shù)據(jù)和數(shù)據(jù)獲取層接收的返回?cái)?shù)據(jù),查找其中的指定語(yǔ)言字符串進(jìn)行翻譯,開(kāi)發(fā)人員只需維護(hù)一個(gè)語(yǔ)言版本的網(wǎng)站即可,轉(zhuǎn)化成其他語(yǔ)言時(shí),將網(wǎng)站的腳本源碼、超文本標(biāo)記語(yǔ)言結(jié)構(gòu)數(shù)據(jù)和返回?cái)?shù)據(jù)中的指定語(yǔ)言字符串進(jìn)行翻譯,即可快速翻譯成其他語(yǔ)言的網(wǎng)站,降低了成本。

圖5為一個(gè)實(shí)施例中第一翻譯模塊的內(nèi)部結(jié)構(gòu)框圖。如圖5所示,第一翻譯模塊404包括解析單元4041、遞歸單元4042、第一翻譯單元4043和第二翻譯單元4044。其中:

解析單元4041用于解析該腳本源碼,生成抽象語(yǔ)法樹(shù)。

具體地,抽象語(yǔ)法樹(shù)是腳本源碼抽象語(yǔ)法的樹(shù)狀表現(xiàn)形式。

遞歸單元4042用于遞歸遍歷該抽象語(yǔ)法樹(shù),得到第一節(jié)點(diǎn)類型的源碼節(jié)點(diǎn)和第二節(jié)點(diǎn)類型的源碼節(jié)點(diǎn)。

具體地,源碼節(jié)點(diǎn)是指腳本源碼中的節(jié)點(diǎn)。腳本源碼中節(jié)點(diǎn)可包括第一節(jié)點(diǎn)類型的源碼節(jié)點(diǎn)和第二節(jié)點(diǎn)類型的源碼節(jié)點(diǎn)。第一節(jié)點(diǎn)類型可為BinaryExpression,表示包含“+”、“-”、“*”和“/”等連接運(yùn)算的節(jié)點(diǎn)。第二節(jié)點(diǎn)類型可為L(zhǎng)iteral,表示單文本節(jié)點(diǎn)。

第一類翻譯單元4043用于遞歸遍歷該第一節(jié)點(diǎn)類型的源碼節(jié)點(diǎn),從該第一節(jié)點(diǎn)類型的源碼節(jié)點(diǎn)中查找到屬于第二節(jié)點(diǎn)類型且節(jié)點(diǎn)屬性中包含指定語(yǔ)言字符串的源碼子節(jié)點(diǎn)時(shí),將該源碼子節(jié)點(diǎn)中的變量替換為占位符,將該源碼子節(jié)點(diǎn)中的指定語(yǔ)言字符串與占位符形成完整字符串,為該完整字符串分配索引標(biāo)識(shí),將該源碼子節(jié)點(diǎn)替換為函數(shù)類型節(jié)點(diǎn),將該函數(shù)類型節(jié)點(diǎn)中的完整字符串進(jìn)行翻譯,在翻譯之后,將該翻譯后的完整字符串中的占位符替換為變量,得到翻譯結(jié)果。

本實(shí)施例中,對(duì)第一節(jié)點(diǎn)類型BinaryExpression的源碼節(jié)點(diǎn)進(jìn)行遞歸遍歷,若查找到類型為第二節(jié)點(diǎn)類型Literal且Value(節(jié)點(diǎn)屬性)中包含指定語(yǔ)言字符串的源碼子節(jié)點(diǎn),則將源碼子節(jié)點(diǎn)中的變量替換為占位符,將源碼子節(jié)點(diǎn)中的指定語(yǔ)音字符與占位符形成完整字符串,為該完整字符串分配索引標(biāo)識(shí),在腳本源碼頭部為該源碼子節(jié)點(diǎn)建立索引標(biāo)識(shí)與完整字符串的映射關(guān)系。

將該源碼子節(jié)點(diǎn)替換為函數(shù)類型節(jié)點(diǎn),如callexpression類型,通過(guò)函數(shù)類型節(jié)點(diǎn)可以包含值為數(shù)組的arguments節(jié)點(diǎn)屬性,用于傳遞函數(shù)變量。Arguments數(shù)組中的值可包括索引標(biāo)識(shí)、占位符等。

第一節(jié)點(diǎn)類型的源碼節(jié)點(diǎn)中包含拼接字符串,即包括指定語(yǔ)言字符串和變量等。

第二類翻譯單元4044用于獲取該第二節(jié)點(diǎn)類型的源碼節(jié)點(diǎn)中包含的指定語(yǔ)言字符串,將該指定語(yǔ)言字符串直接進(jìn)行翻譯。

本實(shí)施例中,第二節(jié)點(diǎn)類型Literal的源碼節(jié)點(diǎn)中指定語(yǔ)言字符串,按照詞典中的指定語(yǔ)言和目標(biāo)語(yǔ)言之間的對(duì)應(yīng)關(guān)系進(jìn)行翻譯,得到目標(biāo)語(yǔ)言字符串。

上述對(duì)腳本源碼進(jìn)行解析得到抽象語(yǔ)法樹(shù),通過(guò)遞歸遍歷抽象語(yǔ)法樹(shù)得到第一節(jié)點(diǎn)類型的源碼節(jié)點(diǎn)和第二節(jié)點(diǎn)類型的源碼節(jié)點(diǎn),針對(duì)包含指定語(yǔ)言字符串和變量的字符串的源碼節(jié)點(diǎn),通過(guò)對(duì)變量采用占位符替換,對(duì)該源碼節(jié)點(diǎn)采用函數(shù)類型節(jié)點(diǎn)進(jìn)行替換,在翻譯后,實(shí)現(xiàn)函數(shù)返回,確保翻譯后的語(yǔ)句通順、正確。

在一個(gè)實(shí)施例中,該第二翻譯模塊406還用于查找該超文本標(biāo)記語(yǔ)言結(jié)構(gòu)數(shù)據(jù)中包含指定語(yǔ)言字符串的超文本結(jié)構(gòu)節(jié)點(diǎn),將該超文本結(jié)構(gòu)節(jié)點(diǎn)中的指定語(yǔ)言字符串按照詞典中指定語(yǔ)言與目標(biāo)語(yǔ)言之間的對(duì)應(yīng)關(guān)系進(jìn)行翻譯,得到對(duì)應(yīng)的目標(biāo)語(yǔ)言字符串。

具體地,預(yù)先建立了各種詞典,詞典中記錄有各種語(yǔ)言相互之間的對(duì)應(yīng)關(guān)系。

在一個(gè)實(shí)施例中,第三翻譯模塊408還用于查找該返回?cái)?shù)據(jù)中包含指定語(yǔ)言字符串的返回?cái)?shù)據(jù),將該返回?cái)?shù)據(jù)中的指定語(yǔ)言字符串按照詞典中指定語(yǔ)言與目標(biāo)語(yǔ)言之間的對(duì)應(yīng)關(guān)系進(jìn)行翻譯,得到對(duì)應(yīng)的目標(biāo)語(yǔ)言字符串。

在一個(gè)實(shí)施例中,該第三翻譯模塊408還用于通過(guò)該數(shù)據(jù)獲取層和數(shù)據(jù)處理層中插入的中間件,根據(jù)對(duì)照表,對(duì)該返回?cái)?shù)據(jù)進(jìn)行遞歸遍歷,對(duì)該返回?cái)?shù)據(jù)中的指定語(yǔ)言字符串進(jìn)行翻譯。

本實(shí)施例中,中間件是指設(shè)置在數(shù)據(jù)獲取層Ajax和數(shù)據(jù)處理層之間的過(guò)濾層。通過(guò)中間件對(duì)返回?cái)?shù)據(jù)進(jìn)行遞歸遍歷,查找到返回?cái)?shù)據(jù)中的指定語(yǔ)言字符串,按照詞典中指定語(yǔ)言與目標(biāo)語(yǔ)言之間的對(duì)應(yīng)關(guān)系進(jìn)行翻譯得到目標(biāo)語(yǔ)言字符串。

在一個(gè)實(shí)施例中,上述網(wǎng)站的翻譯裝置還包括:更新模塊,用于獲取待翻譯的增量文件及待翻譯的增量文件對(duì)應(yīng)的翻譯文件,將增量文件與對(duì)應(yīng)的翻譯文件更新到詞典。

本實(shí)施例中,查找到網(wǎng)站的腳本源碼、超文件標(biāo)記語(yǔ)言結(jié)構(gòu)數(shù)據(jù)和返回?cái)?shù)據(jù)中的指定語(yǔ)言字符串,判斷指定語(yǔ)言字符串在詞典中是否存在對(duì)應(yīng)的目標(biāo)語(yǔ)言字符串,若不存在,則指定語(yǔ)言字符串為增量字符串,將增量字符串聚集在一起形成待翻譯的增量文件,將待翻譯的增量文件進(jìn)行翻譯得到對(duì)應(yīng)的翻譯文件,將增量文件和翻譯文件更新到詞典中。

本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過(guò)計(jì)算機(jī)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可存儲(chǔ)于一非易失性計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory,ROM)等。

以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
阳西县| 资源县| 黔江区| 巴彦县| 长汀县| 临漳县| 玛多县| 隆昌县| 常宁市| 鹿泉市| 湖北省| 阿拉善左旗| 尼勒克县| 玉田县| 城市| 红桥区| 石城县| 内丘县| 达州市| 衡南县| 石景山区| 克什克腾旗| 固阳县| 洛隆县| 获嘉县| 故城县| 奉化市| 汝阳县| 江达县| 尉犁县| 凤山市| 镇宁| 武隆县| 东山县| 合山市| 澜沧| 贵德县| 新邵县| 竹山县| 志丹县| 交城县|