多語言網(wǎng)站開發(fā)技術(shù)分析

2024-04-11    分類: 網(wǎng)站建設(shè)

多語言網(wǎng)站實現(xiàn)方案 1,靜態(tài):就是為每種語言分別準(zhǔn)備一套頁面文件,要么通過文件后綴名來區(qū)分不同語言,要么通過子目錄來區(qū)分不同語言。

例如對于首頁文件index_en.htm提供英語界面,index_gb.htm提供簡體中文界面,index_big.htm提供繁體中文界面,或者是 en/index.htm提供英語界面,gb/index.htm提供簡體中文界面,big/index.htm提供繁體中文界面,一旦用戶選擇了需要的語言后,自動跳轉(zhuǎn)到相應(yīng)的頁面,首頁以下其他鏈接也是按照同樣方式處理。從維護(hù)的角度來看,通過子目錄比通過文件后綴名來區(qū)分不同語言版本顯得要簡單明了。

2,動態(tài):站點內(nèi)所有頁面文件都是動態(tài)頁面文件(PHP,ASP等)而不是靜態(tài)頁面文件,在需要輸出語言文字的地方統(tǒng)一采用語言變量來表示,這些語言變量可以根據(jù)用戶選擇不同的語言賦予不同的值,從而能夠?qū)崿F(xiàn)在不同的語言環(huán)境下輸出不同的文字。

例如:語言變量ln_name,當(dāng)用戶選擇的語言是英語時賦值為“Name”,當(dāng)用戶選擇的語言是簡體中文時賦值為“姓名”,這樣就可以適應(yīng)不同語言時的輸出。

采用靜態(tài)方式的優(yōu)點是頁面直接輸出到客戶端,不需要在服務(wù)器上運行,占用服務(wù)器的資源比較少,系統(tǒng)能夠支持的并發(fā)連接數(shù)較多,缺點是要為每種語言制作一套頁面文件,很多內(nèi)容即使是和語言無關(guān)的也要分不同語言來存儲,因此占用的存儲空間較多。

采用動態(tài)方式和靜態(tài)方式的優(yōu)缺點正好相反,它的優(yōu)點是動態(tài)頁面文件只有一套,不同語言的文字使用語言變量來存儲,和語言無關(guān)的內(nèi)容只存儲一份,占用的存儲空間較少,并且擴展新語言比較容易,缺點需要在服務(wù)器上運行,然后把結(jié)果輸入到客戶端,占用服務(wù)器的資源比較多,系統(tǒng)能夠支持的并發(fā)連接數(shù)較少。

動態(tài)數(shù)據(jù)存貯涉及的一些技術(shù)問題

由于現(xiàn)在網(wǎng)站上動態(tài)應(yīng)用日益增多,相當(dāng)多的網(wǎng)站還會使用文件或者數(shù)據(jù)庫來存儲應(yīng)用信息,因此如果文件或者數(shù)據(jù)庫中存儲的內(nèi)容與語言相關(guān)時,還需要特別注意。對于存儲在數(shù)據(jù)庫中信息,可以采取以下幾種方式支持多語言:

1,在數(shù)據(jù)庫級別支持多語言:為每種語言建立獨立的數(shù)據(jù)庫,不同語言的用戶操作不同的數(shù)據(jù)庫。

2,在表級別支持多語言:為每種語言建立獨立的表,不同語言的用戶操作不同的表,但是它們在同一個數(shù)據(jù)庫中。

3,在字段級別支持多語言:在同一個表中為每種語言建立獨立的字段,不同語言的用戶操作不同的字段,它們在同一個表中。

由于數(shù)據(jù)庫中有大量的信息(如標(biāo)志,編碼,數(shù)字等)是用于內(nèi)部處理使用的,與語言無關(guān)的,因此在數(shù)據(jù)庫級別支持多語言會導(dǎo)致空間的極大浪費,在字段級別支持多語言大的問題是一旦需要支持新的語言,由于需要修改表結(jié)構(gòu),維護(hù)起來非常麻煩,可擴展性不好。

相比之下,在表級別支持多語言比較好,因為并不是所有的表都需要支持多語言,對于與語言無關(guān)的表,不同語言的用戶共用一套,那些和語言相關(guān)的表根據(jù)支持語言的種類來建立,不同語言的用戶存取訪問不同的表格。這樣使得維護(hù)簡單,節(jié)省了存儲空間,即使是擴展起來也比較方便,只要把需要支持多語言的表,多建立一套即可。

還需要注意的問題是:有些表中某些字段是不同語言版本的表共享的(例如庫存量),由于各種語言的表之間的相對獨立性,使得數(shù)據(jù)共享有些困難。解決的方法有兩個:

1,不同語言的表的共享字段同步:也就是說,只要修改了其中一個表的共享字段,其他語言表中該字段也作相應(yīng)改變,實際上當(dāng)不同語言的用戶同時訪問時處理還是比較麻煩的,并且擴充新語言時修改工作比較大。

2,增加一個新的表:把所有語言共享的字段(例如貨物編號,產(chǎn)地編碼等)全部放在這個表,支持多語言的表只存放與各種語言相關(guān)的字段。不同語言的用戶在使用數(shù)據(jù)庫時,需要操作兩個數(shù)據(jù)表。

比較而言,第二種方法比較簡單,并且效率比較高,維護(hù)也比較方便。

應(yīng)用字符集的選擇

一個定位于不同語言國家的企業(yè)網(wǎng)站勢必需要提供多種語言版本的產(chǎn)品和銷售信息來滿足其世界各地使用不同語言的客戶和合作伙伴,其中包括法語、德語、意大利語、葡萄牙語、西班牙語、阿拉伯語等等。但有一個問題卻極易被網(wǎng)站設(shè)計者們所忽略。這就是網(wǎng)站的字符集設(shè)置問題。

一般我們使用的是簡體中文(GB2312)字符集,而對多語言網(wǎng)站來說,中文字符集卻可能會使你辛辛苦苦的努力功虧一簣。原因很簡單:就是這個毫不起眼的小小字符集在作怪。

計算機應(yīng)用領(lǐng)域中存在著幾十種互不相同的字符集,而不同語言客戶在瀏覽不同語言網(wǎng)頁時,往往會因為相互間所使用字符集無法兼容而出現(xiàn)亂碼情況。我們在瀏覽國外一些網(wǎng)站時,往往也會出現(xiàn)為了能正常地看到網(wǎng)站上的信息而不得不在各種字符集之間來回切換的情況。

試想一下:如果一個網(wǎng)站提供了中,英,法,德等多種語言版本的內(nèi)容,內(nèi)容全之又全,設(shè)計美侖美奐。我們在中文編碼環(huán)境下瀏覽這些非中文版本的頁面覺得非常完美,現(xiàn)在一個法國客戶對你的產(chǎn)品發(fā)生了興趣,當(dāng)他進(jìn)到法語版面一看—亂碼多多,甚至可能整個版面都一塌里糊涂。你的網(wǎng)站再下大工夫又有什么意義呢?

所以對提供了多語言版本的網(wǎng)站來說,Unicode字符集應(yīng)該是最理想的選擇。它是一種雙字節(jié)編碼機制的字符集,不管是東方文字還是西方文字,在 Unicode中一律用兩個字節(jié)來表示,因而至少可以定義65536個不同的字符,幾乎可以涵蓋世界上目前所有通用的語言的每一種字符。所以在設(shè)計和開發(fā)多語言網(wǎng)站時,一定要注意先把非中文頁面的字符集定義為“utf-8”格式。

這一步非常重要,原因在于若等頁面做好之后再更改字符集設(shè)置,可說是一件非常非常吃力不討好的工作,有時候甚至可能需要從頭再來,重新輸入網(wǎng)站的文字內(nèi)容。

HTML中的META標(biāo)簽:

<META HTTP-EQUIV=“Content-Type” CONTENT=“text/html; CHARSET=字符集">

不寫,根據(jù)瀏覽器默認(rèn)字符集顯示

charset=gb2312 簡體中文

charset=big5 繁體中文

charset=EUC_KR 韓語

charset=Shift_JIS 或 EUC_JP 日語

charset= KOI8-R / Windows-1251 俄語

charset=iso-8859-1 西歐語系(荷蘭語,英語,法語,德語,意大利語,挪威語,葡萄牙語,瑞士語.等十八種語言)charset=iso-8859-2 中歐語系

charset=iso-8859-5 斯拉夫語系(保加利亞語,Byelorussian語,馬其頓語,俄語,塞爾維亞語,烏克蘭語等)

charset=uft-8 unicode多語言

PHP與腳本引擎頁碼的概念

由于我們傳統(tǒng)使用的內(nèi)碼像Big5,GB2312與unicode并不是一一對應(yīng),故兩者之間的轉(zhuǎn)換要靠codepage(頁碼)來實現(xiàn) 不寫,根據(jù)服務(wù)器端解析引擎默認(rèn)代碼頁自動解析并返回瀏覽器。

如果制作的網(wǎng)頁腳本與WEB服務(wù)端的默認(rèn)代碼頁不同,則必須指明代碼頁:

codepage=936 簡體中文GBK

codepage=950 繁體中文BIG5

codepage=437 美國/加拿大英語

codepage=932 日文

codepage=949 韓文

codepage=866 俄文

codepage=65001 unicode UFT-8

本文來源于成都網(wǎng)站建設(shè)公司與成都網(wǎng)站設(shè)計制作公司-創(chuàng)新互聯(lián)成都公司!

網(wǎng)頁名稱:多語言網(wǎng)站開發(fā)技術(shù)分析
分享網(wǎng)址:http://www.muchs.cn/news30/323230.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、搜索引擎優(yōu)化網(wǎng)站導(dǎo)航、軟件開發(fā)品牌網(wǎng)站制作、做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)