當(dāng)前位置:首頁文章首頁 IT學(xué)院 IT技術(shù)

網(wǎng)站首頁實(shí)現(xiàn)自動(dòng)選擇語言的方法分享

作者:  來源:  發(fā)布時(shí)間:2011-6-16 11:39:39  點(diǎn)擊:

這篇文章提供給大家的是一個(gè)作者的小經(jīng)驗(yàn)分享,教你讓你的網(wǎng)站首頁實(shí)現(xiàn)自動(dòng)選擇語言的方法,希望對(duì)大家有所幫助。

過去在一家軟件外企工作時(shí)寫過一個(gè)小的web實(shí)驗(yàn)性項(xiàng)目,其中一部分需求是用戶界面的多種語言(簡(jiǎn)體中文、繁體中文、英語、朝鮮語、日語)支持,當(dāng)時(shí)使用了模板技術(shù)來實(shí)現(xiàn)了該需求,并用Cookies保存了用戶的設(shè)置,但是用戶第一次登陸時(shí)(或者是將Cookies刪除了以后)仍然需要選擇語言種類,那么能不能更方便用戶呢?能不能用程序來自動(dòng)幫助選擇呢?
    答案是肯定的,大家都在用google,你用中文系統(tǒng)打開google的首頁,打開的自然是中文首頁,而不會(huì)是其他語言。因?yàn)間oogle會(huì)自動(dòng)判斷用戶系統(tǒng)使用的首選語言是什么。
    怎樣才能做到像google那樣呢,其實(shí)很簡(jiǎn)單,
    在瀏覽器發(fā)給web服務(wù)器的 HTTP Headers Information 中包含了這樣一個(gè)信息 Accept-Language,這個(gè)信息就是,瀏覽器中 工具->gt;Internet選項(xiàng)->gt;常規(guī) 下的 語言, 它就是用來設(shè)置瀏覽器可接受的語言首選項(xiàng)的, 它可以是多種可接受語言的優(yōu)先排序列。
    下面我以asp為例簡(jiǎn)單介紹一下“如何來自動(dòng)判斷用戶語言”:

<%
Function RegExpTest(patrn, strng)
  Dim regEx,Match,Matches'建立變量。
  Set regEx = New RegExp'建立正則表達(dá)式。
  regEx.Pattern = patrn'設(shè)置模式。
  regEx.IgnoreCase = True'設(shè)置是否區(qū)分字符大小寫。
  regEx.Global = True'設(shè)置全局可用性。
  Set Matches = regEx.Execute(strng)'執(zhí)行搜索。
  For Each Match in Matches'遍歷匹配集合。
        RetStr = RetStr&Match.Value
  Next
  RegExpTest = RetStr
End Function
AL = Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")'獲取用戶瀏覽器可接受語言參數(shù)
LG = RegExpTest("^[a-z\-]+",AL)'獲取用戶瀏覽器可接受語言的首選項(xiàng)
select case LG
 case "zh-cn"
        response.write "中文(中國(guó))"
 case "zh-tw"
        response.write "中文(臺(tái)灣)"
 case "zh-mo"
        response.write "中文(澳門特別行政區(qū))"
 case "zh-hk"
        response.write "中文(香港特別行政區(qū))"
 case "zh-sg"
        response.write "中文(新加坡)"
 case "en-us"
        response.write "英語(美國(guó))"
 case "ja"
        response.write "日語"
 case "ko"
        response.write "朝鮮語"
end select
%>

相關(guān)軟件

相關(guān)文章

文章評(píng)論

軟件按字母排列: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z