2024-01-11 分類: 網站建設
有時候做網站的時候需要考慮多語言設計,比如外貿網站。即便是簡體中文和繁體中文網站設計也不是簡單的繁簡轉換就行的。
多語言網站面臨的設計問題:
1、多語言語法問題
簡體中文和繁體中文是現代漢語并存的兩種書面形式。它們在語音、詞匯、語法等方面都有明顯差異,給大陸和港澳臺地區的交流和溝通造成障礙。并不是簡單的繁簡對照替換就行的。如,繁體中文里的家庭計劃對應簡體中文中的家庭的計劃和計劃生育兩個意義;簡體中文中的檢討對應繁體中文的檢查和討論兩個意義。后一個例子中的詞語在理性意義和感情色彩都是不對應的。
即,繁簡字存在字形轉換模糊的不對稱,更何況英語、法語、韓語….語法總歸不是機器能解決的(至少目前不是)
2、數據庫多語言
主要是錄入信息的多語言化,涉及到數據庫優化和數據庫設計方面。對于不同架構、不同級別的網站系統設計也有不同之處。
3、頁面多語言
這個,不解釋,一般情況下都是用語言包解決此問題。不過,有些情況下,模板中div的寬度神馬的都要考慮到語言包中對應的語句的長度,以免發生錯位現象。
4、用戶訪問語言統一
用戶初次訪問時,判斷用戶語言環境,自動跳轉…也不解釋
解決方案:
1、簡單:每個語言一個網站,還要注意分離用戶系統
優點:簡單解決。后顧無憂~
缺點:維護復雜,制作周期長~
2、簡單的調用谷歌翻譯整個頁面
優點:簡單、方便。
缺點:偶爾被墻、機器翻譯總是有點語法用詞不通順
3、真正實現網站的多語言設計
優點:基本上解決以上所有問題
缺點:設計復雜,實現麻煩,有些情況下得不償失
1、多語言語法問題解決:
這個,找專業翻譯吧..不歸你管
2、數據庫多語言信息錄入
01、簡單實現:
1、比如,表中加lang字段,每條信息的lang字段不同的值,中文是zh-cn,英文是en
2、多一個語言版本表,用來存放語言版本,每個語言版本對應一個langid,添加信息的時候,信息表中的lang字段存放對應的langid,把lang字段設計成索引。其實跟上一種設計方法差不多。
3、每條信息對應一個分類(公告也可以分為多個分類嘛),比如:國內新聞(id=1)寶島新聞(id=2)每個分類的信息表中有個字段lang,對應不同的語言,添加新聞信息的時候,分不同語言的分類添加信息,這樣新聞信息表就不用lang字段區分不同語言的新聞了。用戶訪問的時候,不同語言的用戶訪問不同的分類,調用分類的時候區分開分類id就好了。嗯,分類有點多。不過這算是簡單實現中最好的一種了吧
總結,此種方案適合小型系統,沒什么鴨梨,網站全部靜態化。缺點不好擴展~
02、一般實現:
1、繼續優化設計(01、簡單實現 中的 3 方法)。把不同語言的新聞信息分表儲存,實現方法基本差不多。
總結:此方案適合中型應用。
03、復雜實現
總結,好處是有的。缺點也是有的。不同情況不同分析吧。
2、更進一步就是在域名上做文章了,跳轉就不用php做了。其他的么..再優化神馬的~ = =你是要做類似雅虎那樣的門戶網站乜?每個國家一個網站..擦~壓力山大!
3、頁面多語言
1、php語言包+自定義lang()函數
比如一個網站的博客模塊。
語言包存放位置:language/zh-cn/blog/tpl.lang.php
語言包中內容:return $lang = array(‘xxx’=>’{name}xxxxx,{age}xxxxxxxx’)
自定義函數lang($lang, $var=array()) $lang 語言key,$var 語言中的參數
調用的時候,lang(‘blog_tpl_xxx’,array(‘name’=>’t-chris’,age’=>’21′));
最后結果:t-chrisxxxxx,21xxxxxxxx
關于錯位情況,這個有時候可以把錯位的地方的div神馬的變寬點、變高點。不過可能會影響美觀。
所以,最好是每種語言一套模板。這樣保證了界面的統一性,用戶體驗也會爽點。
具體實現方法,此處省略1w字….
2、通過谷歌翻譯。
有些情況下,你不愿意設計那么復雜的數據庫,又是神馬分表儲存,又是神馬分字段,分欄目….
擦,分你妹啊分!還讓程序員活不活?就那么幾個程序員,整天改bug,改細節。累死人!程序不是你想改,想改就能改…..程序猿,你傷不起啊!!
當當當當~~偉大的谷歌,它繼承了為人民服務的光榮傳統…現在,有谷歌翻譯接口。
具體實現方法,請谷歌translate API神馬的..記得查找中文,假如你英文不好的話…
【補充】 youtube就是利用的 谷歌API翻譯內容.. 具體請翻墻
3、其他方法?
我沒想到…
4、用戶訪問語言統一
獲取瀏覽器的語言環境
js獲取用戶系統語言環境
document.write(navigator.language);
document.write(navigator.systemLanguage);
document.write(navigator.browserLanguage);
通過ip判斷等等
獲取之后,寫cookie,寫session.. 總之就是讓用戶訪問其他頁面的時候,網站語言能統一起來。
非常感謝您讀完創新互聯的這篇文章:"網站多語言設計的一些思路",僅為提供更多信息供用戶參考使用或為學習交流的方便。我們公司提供:網站建設、網站制作、官網建設、SEO優化、小程序制作等服務,歡迎聯系我們提供您的需求。
網站題目:網站多語言設計的一些思路
本文URL:http://m.newbst.com/news23/313073.html
成都網站建設公司_創新互聯,為您提供建站公司、關鍵詞優化、品牌網站制作、電子商務、面包屑導航、網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯
猜你還喜歡下面的內容