網站首頁實現自動選擇語言的方法分享
這篇文章提供給大家的是一個作者的小經驗分享,教你讓你的網站首頁實現自動選擇語言的方法,希望對大家有所幫助。
過去在一家軟件外企工作時寫過一個小的web實驗性項目,其中一部分需求是用戶界面的多種語言(簡體中文、繁體中文、英語、朝鮮語、日語)支持,當時使用了模板技術來實現了該需求,并用Cookies保存了用戶的設置,但是用戶第一次登陸時(或者是將Cookies刪除了以后)仍然需要選擇語言種類,那么能不能更方便用戶呢?能不能用程序來自動幫助選擇呢?
答案是肯定的,大家都在用google,你用中文系統打開google的首頁,打開的自然是中文首頁,而不會是其他語言。因為google會自動判斷用戶系統使用的首選語言是什么。
怎樣才能做到像google那樣呢,其實很簡單,
在瀏覽器發給web服務器的 HTTP Headers Information 中包含了這樣一個信息 Accept-Language,這個信息就是,瀏覽器中 工具->gt;Internet選項->gt;常規 下的 語言, 它就是用來設置瀏覽器可接受的語言首選項的, 它可以是多種可接受語言的優先排序列。
下面我以asp為例簡單介紹一下“如何來自動判斷用戶語言”:
<%
Function RegExpTest(patrn, strng)
Dim regEx,Match,Matches'建立變量。
Set regEx = New RegExp'建立正則表達式。
regEx.Pattern = patrn'設置模式。
regEx.IgnoreCase = True'設置是否區分字符大小寫。
regEx.Global = True'設置全局可用性。
Set Matches = regEx.Execute(strng)'執行搜索。
For Each Match in Matches'遍歷匹配集合。
RetStr = RetStr&Match.Value
Next
RegExpTest = RetStr
End Function
AL = Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")'獲取用戶瀏覽器可接受語言參數
LG = RegExpTest("^[a-z\-]+",AL)'獲取用戶瀏覽器可接受語言的首選項
select case LG
case "zh-cn"
response.write "中文(中國)"
case "zh-tw"
response.write "中文(臺灣)"
case "zh-mo"
response.write "中文(澳門特別行政區)"
case "zh-hk"
response.write "中文(香港特別行政區)"
case "zh-sg"
response.write "中文(新加坡)"
case "en-us"
response.write "英語(美國)"
case "ja"
response.write "日語"
case "ko"
response.write "朝鮮語"
end select
%>