讓你的網站首頁自動選擇語言

來源:互聯網
上載者:User
    過去在一家軟體外企工作時寫過一個小的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。
  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
%>



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。