多語言網站設計需要注意的問題

閱讀 ?·? 發布日期 2020-06-29 17:05 ?·? admin

在設計和開發一個多語言版本的網站前,需要考慮下列因素: 西寧網站建設網站設計西寧網站制作★網頁設計-599元全包;企業網絡推廣☆西寧網站優化seo☆關鍵詞排名☆百度快照-2200元全年展示;做網站優化排名-西寧網站建設公司?13172194676(注:選好網站模板,請聯系客服,百度云盤下載提取網站模板)
1- 應用字符集的選擇

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

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

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

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

所以對提供了多語言版本的網站來說,Unicode字符集應該是最理想的選擇。它是一種雙字節編碼機制的字符集,不管是東方文字還是西方文字,在Unicode中一律用兩個字節來表示,因而至少可以定義65536個不同的字符,幾乎可以涵蓋世界上目前所有通用的語言的每一種字符。 所以在設計和開發多語言網站時,一定要注意先把非中文頁面的字符集定義為“utf-8”格式,即:這一步非常重要,原因在于若等頁面做好之后再更改字符集設置,可說是一件非常非常吃力不討好的工作,有時候甚至可能需要從頭再來,重新輸入網站的文字內容。 
2- 語言書寫習慣&導航結構 
有些國家的語言書寫習慣是從右到左,例如許多中東地區所使用的阿拉伯語,波斯語和希伯來語等等。如果你的市場目標是這些語言的國家,那么在網站設計中就需要考慮這些特殊的語言書寫習慣。而且如果你在網站導航結構設計中使用的是一個豎直導航欄,這時候就應該把它放在右邊,而不是象我們習慣的那樣放在左邊了。

3- 數據庫驅動型網站 
對一個數據庫驅動型的網站,尤其是當客戶可以留言并向數據庫添加信息時,則應當考慮如何從技術上實現對不同語言數據信息的收集和檢索。

4- 搜索引擎&市場推廣
對多語言網站來說,搜索引擎優化(SEO)確實是個大問題。而且還需要注意的是:并非所有的主流搜索引擎都會支持多語言網頁,這也就是為什么一個多語言的網站不一定被所有的主流搜索引擎收錄。當然Google不存在這樣的問題。

其次需要考慮,不同語言所面向的不同市場目標國家和客戶群體中習慣使用什么搜索引擎或門戶網站進行搜索? 就象我們習慣用土生土長的百度搜索一樣,在一些語言國家使用最為廣泛的可能仍然是其本國的搜索引擎或門戶網站。

最好的辦法是找一個專業的網站推廣公司來幫助進行市場調研。調研內容主要應包括:目標市場國家或地區對什么搜索引擎或門戶網站的使用率最高? 一些主要的門戶網站的用戶真實查詢率又是多少? 這一點尤為重要。就象我們常使用新浪、搜狐等大型國內門戶網站,但一般更多是為了使用其郵件服務。而查詢的話還是喜歡百度或Google一樣,你需要了解在這些人們青睞有加的門戶網站上,到底有多少人是奔查詢而來的。充分的市場考察才能做到有的放矢,從而保證最豐厚的投資回報

語言是信息傳播的重要障礙。

多語言網站,顧名思義就是能夠以多種語言(而不是單種語言)為用戶供給信息服務,讓應用不同語言的用戶都能夠從同個網站獲得內容雷同的信息。

多語言網站實現計劃 1,靜態:就是為每種語言分辨準備一套頁面文件,要么通過文件后綴名來區分不同語言,要么通過子目錄來區分不同語言。

例如對于首頁文件index_en.htm供給英語界面,index_gb.htm供給簡體中文界面,index_big.htm供給繁體中文界面,或者是en/index.htm供給英語界面,gb/index.htm供給簡體中文界面,big/index.htm供給繁體中文界面,一旦用戶選擇了需要的語言后,主動跳轉到相應的頁面,首頁以下其他鏈接也是按照同樣方法處理。從保護的角度來看,通過子目錄比通過文件后綴名來區分不同語言版本顯得要簡略明了。

2,動態:站點內所有頁面文件都是動態頁面文件(PHP,ASP等)而不是靜態頁面文件,在需要輸出語言文字的處所同一采用語言變量來表現,這些語言變量可以根據用戶選擇不同的語言賦予不同的值,從而能夠實現在不同的語言環境下輸出不同的文字。

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

采用靜態方法的長處是頁面直接輸出到客戶端,不需要在服務器上運行,占用服務器的資源比擬少,系統能夠支撐的并發連接數較多,毛病是要為每種語言制作一套頁面文件,很多內容即使是和語言無關的也要分不同語言來存儲,因此占用的存儲空間較多。

采用動態方法和靜態方法的優毛病正好相反,它的長處是動態頁面文件只有一套,不同語言的文字應用語言變量來存儲,和語言無關的內容只存儲一份,占用的存儲空間較少,并且擴大新語言比擬輕易,毛病需要在服務器上運行,然后把成果輸進到客戶端,占用服務器的資源比擬多,系統能夠支撐的并發連接數較少。

動態數據存貯涉及的一些技巧標題

由于現在網站上動態利用日益增多,相當多的網站還會應用文件或者數據庫來存儲利用信息,因此假如文件或者數據庫中存儲的內容與語言相干時,還需要特別留心。對于存儲在數據庫中信息,可以采用以下幾種方法支撐多語言:

1,在數據庫級別支撐多語言:為每種語言建立獨立的數據庫,不同語言的用戶把持不同的數據庫。

2,在表級別支撐多語言:為每種語言建立獨立的表,不同語言的用戶把持不同的表,但是它們在同一個數據庫中。

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

由于數據庫中有大批的信息(如標記,編碼,數字等)是用于內部處理應用的,與語言無關的,因此在數據庫級別支撐多語言會導致空間的極大浪費,在字段級別支撐多語言最大的標題是一旦需要支撐新的語言,由于需要修正表結構,保護起來非常麻煩,可擴大性不好。

相比之下,在表級別支撐多語言比擬好,由于并不是所有的表都需要支撐多語言,對于與語言無關的表,不同語言的用戶共用一套,那些和語言相干的表根據支撐語言的種類來建立,不同語言的用戶存取拜訪不同的表格。這樣使得保護簡略,節儉了存儲空間,即使是擴大起來也比擬方便,只要把需要支撐多語言的表,多建立一套即可。

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

1,不同語言的表的共享字段同步:也就是說,只要修正了其中一個表的共享字段,其他語言表中該字段也作相應轉變,實際上當不同語言的用戶同時拜訪時處理還是比擬麻煩的,并且擴充新語言時修正工作比擬大。

2,增加一個新的表:把所有語言共享的字段(例如貨物編號,產地編碼等)全部放在這個表,支撐多語言的表只存放與各種語言相干的字段。不同語言的用戶在應用數據庫時,需要把持兩個數據表。 比擬而言,第二種方法比擬簡略,并且效率比擬高,保護也比擬方便。
利用字符集的選擇

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

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

盤算機利用范疇中存在著幾十種互不雷同的字符集,而不同語言客戶在瀏覽不同語言網頁時,往往會由于相互間所應用字符集無法兼容而呈現亂碼情況。我們在瀏覽國外一些網站時,往往也會呈現為了能正常地看到網站上的信息而不得不在各種字符集之間往返切換的情況。

試想一下:假如一個網站供給了中,英,法,德等多種語言版本的內容,內容全之又全,設計美侖美奐。我們在中文編碼環境下瀏覽這些非中文版本的頁面感到非常完善,現在一個法國客戶對你的產品產生了愛好,當他進到法語版面一看—亂碼多多,甚至可能全部版面都一塌里糊涂。你的網站再下大工夫又有什么意義呢? 

所以對供給了多語言版本的網站來說,Unicode字符集應當是最幻想的選擇。它是一種雙字節編碼機制的字符集,不管是東方文字還是西方文字,在Unicode中一律用兩個字節來表現,因而至少可以定義65536個不同的字符,幾乎可以涵蓋世界上目前所有通用的語言的每一種字符。 所以在設計和開發多語言網站時,必定要留心先把非中文頁面的字符集定義為“utf-8”格局。

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

HTML中的META標簽:
<META HTTP-EQUIV=“Content-Type” CONTENT=“text/html; CHARSET=字符集"> 
不寫,根據瀏覽器默認字符集顯示

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與腳本引擎頁碼的概念 由于我們傳統應用的內碼像Big5,GB2312與unicode并不是逐一對應,故兩者之間的轉換要靠codepage(頁碼)來實現
<?php=Language=VBScript CodePage=xxx?> 

不寫,根據服務器端解析引擎默認代碼頁主動解析并返回瀏覽器。 假如制作的網頁腳本與WEB服務真個默認代碼頁不同,則必需指明代碼頁: 

codepage=936 簡體中文
GBK codepage=950 繁體中文
BIG5 codepage=437 美國/加拿大英語 
codepage=932 日文 codepage=949