動態加載多國語言 ---- cookie + 瀏覽器

1、多國語言縮寫列表javascript

由於涉及到瀏覽器的可接收語言,因此須要知道各個國家的語言縮寫。java

這個百度一下便可。瀏覽器

en 英文 
en_US 英文 (美國) 
ar 阿拉伯文 
ar_AE 阿拉伯文 (阿拉伯聯合酋長國) 
ar_BH 阿拉伯文 (巴林) 
ar_DZ 阿拉伯文 (阿爾及利亞) 
ar_EG 阿拉伯文 (埃及) 
ar_IQ 阿拉伯文 (伊拉克) 
ar_JO 阿拉伯文 (約旦) 
ar_KW 阿拉伯文 (科威特) 
ar_LB 阿拉伯文 (黎巴嫩) 
ar_LY 阿拉伯文 (利比亞) 
ar_MA 阿拉伯文 (摩洛哥) 
ar_OM 阿拉伯文 (阿曼) 
ar_QA 阿拉伯文 (卡塔爾) 
ar_SA 阿拉伯文 (沙特阿拉伯) 
ar_SD 阿拉伯文 (蘇丹) 
ar_SY 阿拉伯文 (敘利亞) 
ar_TN 阿拉伯文 (突尼斯) 
ar_YE 阿拉伯文 (也門) 
be 白俄羅斯文 
be_BY 白俄羅斯文 (白俄羅斯) 
bg 保加利亞文 
bg_BG 保加利亞文 (保加利亞) 
ca 加泰羅尼亞文 
ca_ES 加泰羅尼亞文 (西班牙) 
ca_ES_EURO 加泰羅尼亞文 (西班牙,Euro) 
cs 捷克文 
cs_CZ 捷克文 (捷克共和國) 
da 丹麥文 
da_DK 丹麥文 (丹麥) 
de 德文 
de_AT 德文 (奧地利) 
de_AT_EURO 德文 (奧地利,Euro) 
de_CH 德文 (瑞士) 
de_DE 德文 (德國) 
de_DE_EURO 德文 (德國,Euro) 
de_LU 德文 (盧森堡) 
de_LU_EURO 德文 (盧森堡,Euro) 
el 希臘文 
el_GR 希臘文 (希臘) 
en_AU 英文 (澳大利亞) 
en_CA 英文 (加拿大) 
en_GB 英文 (英國) 
en_IE 英文 (愛爾蘭) 
en_IE_EURO 英文 (愛爾蘭,Euro) 
en_NZ 英文 (新西蘭) 
en_ZA 英文 (南非) 
es 西班牙文 
es_BO 西班牙文 (玻利維亞) 
es_AR 西班牙文 (阿根廷) 
es_CL 西班牙文 (智利) 
es_CO 西班牙文 (哥倫比亞) 
es_CR 西班牙文 (哥斯達黎加) 
es_DO 西班牙文 (多米尼加共和國) 
es_EC 西班牙文 (厄瓜多爾) 
es_ES 西班牙文 (西班牙) 
es_ES_EURO 西班牙文 (西班牙,Euro) 
es_GT 西班牙文 (危地馬拉) 
es_HN 西班牙文 (洪都拉斯) 
es_MX 西班牙文 (墨西哥) 
es_NI 西班牙文 (尼加拉瓜) 
et 愛沙尼亞文 
es_PA 西班牙文 (巴拿馬) 
es_PE 西班牙文 (祕魯) 
es_PR 西班牙文 (波多黎哥) 
es_PY 西班牙文 (巴拉圭) 
es_SV 西班牙文 (薩爾瓦多) 
es_UY 西班牙文 (烏拉圭) 
es_VE 西班牙文 (委內瑞拉) 
et_EE 愛沙尼亞文 (愛沙尼亞) 
fi 芬蘭文 
fi_FI 芬蘭文 (芬蘭) 
fi_FI_EURO 芬蘭文 (芬蘭,Euro) 
fr 法文 
fr_BE 法文 (比利時) 
fr_BE_EURO 法文 (比利時,Euro) 
fr_CA 法文 (加拿大) 
fr_CH 法文 (瑞士) 
fr_FR 法文 (法國) 
fr_FR_EURO 法文 (法國,Euro) 
fr_LU 法文 (盧森堡) 
fr_LU_EURO 法文 (盧森堡,Euro) 
hr 克羅地亞文 
hr_HR 克羅地亞文 (克羅地亞) 
hu 匈牙利文 
hu_HU 匈牙利文 (匈牙利) 
is 冰島文 
is_IS 冰島文 (冰島) 
it 意大利文 
it_CH 意大利文 (瑞士) 
it_IT 意大利文 (意大利) 
it_IT_EURO 意大利文 (意大利,Euro) 
iw 希伯來文 
iw_IL 希伯來文 (以色列) 
ja 日文 
ja_JP 日文 (日本) 
ko 朝鮮文 
ko_KR 朝鮮文 (南朝鮮) 
lt 立陶宛文 
lt_LT 立陶宛文 (立陶宛) 
lv 拉托維亞文(列託) 
lv_LV 拉托維亞文(列託) (拉脫維亞) 
mk 馬其頓文 
mk_MK 馬其頓文 (馬其頓王國) 
nl 荷蘭文 
nl_BE 荷蘭文 (比利時) 
nl_BE_EURO 荷蘭文 (比利時,Euro) 
nl_NL 荷蘭文 (荷蘭) 
nl_NL_EURO 荷蘭文 (荷蘭,Euro) 
no 挪威文 
no_NO 挪威文 (挪威) 
no_NO_NY 挪威文 (挪威,Nynorsk) 
pl 波蘭文 
pl_PL 波蘭文 (波蘭) 
pt 葡萄牙文 
pt_BR 葡萄牙文 (巴西) 
pt_PT 葡萄牙文 (葡萄牙) 
pt_PT_EURO 葡萄牙文 (葡萄牙,Euro) 
ro 羅馬尼亞文 
ro_RO 羅馬尼亞文 (羅馬尼亞) 
ru 俄文 
ru_RU 俄文 (俄羅斯) 
sh 塞波尼斯-克羅地亞文 
sh_YU 塞波尼斯-克羅地亞文 (南斯拉夫) 
sk 斯洛伐克文 
sk_SK 斯洛伐克文 (斯洛伐克) 
sl 斯洛文尼亞文 
sl_SI 斯洛文尼亞文 (斯洛文尼亞) 
sq 阿爾巴尼亞文 
sq_AL 阿爾巴尼亞文 (阿爾巴尼亞) 
sr 塞爾維亞文 
sr_YU 塞爾維亞文 (南斯拉夫) 
sv 瑞典文 
sv_SE 瑞典文 (瑞典) 
th 泰文 
th_TH 泰文 (泰國) 
tr 土耳其文 
tr_TR 土耳其文 (土耳其) 
uk 烏克蘭文 
uk_UA 烏克蘭文 (烏克蘭) 
zh 中文 
zh_CN 中文 (中國) 
zh_HK 中文 (香港) 
zh_TW 中文 (臺灣) 

Countries and Regions國家或地區國際域名縮寫 
Angola安哥拉AO 
Afghanistan阿富汗AF 
Albania阿爾巴尼亞AL 
Algeria阿爾及利亞DZ 
Andorra安道爾共和國AD 
Anguilla安圭拉島AI 
Antigua and Barbuda安提瓜和巴布達AG 
Argentina阿根廷AR 
Armenia亞美尼亞AM 
Ascension阿森鬆 
Australia澳大利亞AU 
Austria奧地利AT 
Azerbaijan阿塞拜疆AZ 
Bahamas巴哈馬BS 
Bahrain巴林BH 
Bangladesh孟加拉國BD 
Barbados巴巴多斯BB 
Belarus白俄羅斯BY 
Belgium比利時BE 
Belize伯利茲BZ 
Benin貝寧BJ 
Bermuda Is.百慕大羣島BM 
Bolivia玻利維亞BO 
Botswana博茨瓦納BW 
Brazil巴西BR 
Brunei文萊BN 
Bulgaria保加利亞BG 
Burkina-faso布基納法索BF 
Burma緬甸MM 
Burundi布隆迪BI 
Cameroon喀麥隆CM 
Canada加拿大CA 
Cayman Is.開曼羣島 
Central African Republic中非共和國CF 
Chad乍得TD 
Chile智利CL 
China中國CN 
Colombia哥倫比亞CO 
Congo剛果CG 
Cook Is.庫克羣島CK 
Costa Rica哥斯達黎加CR 
Cuba古巴CU 
Cyprus塞浦路斯CY 
Czech Republic捷克CZ 
Denmark丹麥DK 
Djibouti吉布提DJ 
Dominica Rep.多米尼加共和國DO 
Ecuador厄瓜多爾EC 
Egypt埃及EG 
EI Salvador薩爾瓦多SV 
Estonia愛沙尼亞EE 
Ethiopia埃塞俄比亞ET 
Fiji斐濟FJ 
Finland芬蘭FI 
France法國FR 
French Guiana法屬圭亞那GF 
Gabon加蓬GA 
Gambia岡比亞GM 
Georgia格魯吉亞GE 
Germany德國DE 
Ghana加納GH 
Gibraltar直布羅陀GI 
Greece希臘GR 
Grenada格林納達GD 
Guam關島GU 
Guatemala危地馬拉GT 
Guinea幾內亞GN 
Guyana圭亞那GY 
Haiti海地HT 
Honduras洪都拉斯HN 
Hongkong香港HK 
Hungary匈牙利HU 
Iceland冰島IS 
India印度IN 
Indonesia印度尼西亞ID 
Iran伊朗IR 
Iraq伊拉克IQ 
Ireland愛爾蘭IE 
Israel以色列IL 
Italy意大利IT 
Ivory Coast科特迪瓦 
Jamaica牙買加JM 
Japan日本JP 
Jordan約旦JO 
Kampuchea (Cambodia )柬埔寨KH 
Kazakstan哈薩克斯坦KZ 
Kenya肯尼亞KE 
Korea韓國KR 
Kuwait科威特KW 
Kyrgyzstan吉爾吉斯坦KG 
Laos老撾LA 
Latvia拉脫維亞LV 
Lebanon黎巴嫩LB 
Lesotho萊索托LS 
Liberia利比里亞LR 
Libya利比亞LY 
Liechtenstein列支敦士登LI 
Lithuania立陶宛LT 
Luxembourg盧森堡LU 
Macao澳門MO 
Madagascar馬達加斯加MG 
Malawi馬拉維MW 
Malaysia馬來西亞MY 
Maldives馬爾代夫MV 
Mali馬裏ML 
Malta馬耳他MT 
Mariana Is馬里亞那羣島 
Martinique馬提尼克 
Mauritius毛里求斯MU 
Mexico墨西哥MX 
Moldova, Republic of摩爾多瓦MD en 英文 
en_US 英文 (美國) 
ar 阿拉伯文 
ar_AE 阿拉伯文 (阿拉伯聯合酋長國) 
ar_BH 阿拉伯文 (巴林) 
ar_DZ 阿拉伯文 (阿爾及利亞) 
ar_EG 阿拉伯文 (埃及) 
ar_IQ 阿拉伯文 (伊拉克) 
ar_JO 阿拉伯文 (約旦) 
ar_KW 阿拉伯文 (科威特) 
ar_LB 阿拉伯文 (黎巴嫩) 
ar_LY 阿拉伯文 (利比亞) 
ar_MA 阿拉伯文 (摩洛哥) 
ar_OM 阿拉伯文 (阿曼) 
ar_QA 阿拉伯文 (卡塔爾) 
ar_SA 阿拉伯文 (沙特阿拉伯) 
ar_SD 阿拉伯文 (蘇丹) 
ar_SY 阿拉伯文 (敘利亞) 
ar_TN 阿拉伯文 (突尼斯) 
ar_YE 阿拉伯文 (也門) 
be 白俄羅斯文 
be_BY 白俄羅斯文 (白俄羅斯) 
bg 保加利亞文 
bg_BG 保加利亞文 (保加利亞) 
ca 加泰羅尼亞文 
ca_ES 加泰羅尼亞文 (西班牙) 
ca_ES_EURO 加泰羅尼亞文 (西班牙,Euro) 
cs 捷克文 
cs_CZ 捷克文 (捷克共和國) 
da 丹麥文 
da_DK 丹麥文 (丹麥) 
de 德文 
de_AT 德文 (奧地利) 
de_AT_EURO 德文 (奧地利,Euro) 
de_CH 德文 (瑞士) 
de_DE 德文 (德國) 
de_DE_EURO 德文 (德國,Euro) 
de_LU 德文 (盧森堡) 
de_LU_EURO 德文 (盧森堡,Euro) 
el 希臘文 
el_GR 希臘文 (希臘) 
en_AU 英文 (澳大利亞) 
en_CA 英文 (加拿大) 
en_GB 英文 (英國) 
en_IE 英文 (愛爾蘭) 
en_IE_EURO 英文 (愛爾蘭,Euro) 
en_NZ 英文 (新西蘭) 
en_ZA 英文 (南非) 
es 西班牙文 
es_BO 西班牙文 (玻利維亞) 
es_AR 西班牙文 (阿根廷) 
es_CL 西班牙文 (智利) 
es_CO 西班牙文 (哥倫比亞) 
es_CR 西班牙文 (哥斯達黎加) 
es_DO 西班牙文 (多米尼加共和國) 
es_EC 西班牙文 (厄瓜多爾) 
es_ES 西班牙文 (西班牙) 
es_ES_EURO 西班牙文 (西班牙,Euro) 
es_GT 西班牙文 (危地馬拉) 
es_HN 西班牙文 (洪都拉斯) 
es_MX 西班牙文 (墨西哥) 
es_NI 西班牙文 (尼加拉瓜) 
et 愛沙尼亞文 
es_PA 西班牙文 (巴拿馬) 
es_PE 西班牙文 (祕魯) 
es_PR 西班牙文 (波多黎哥) 
es_PY 西班牙文 (巴拉圭) 
es_SV 西班牙文 (薩爾瓦多) 
es_UY 西班牙文 (烏拉圭) 
es_VE 西班牙文 (委內瑞拉) 
et_EE 愛沙尼亞文 (愛沙尼亞) 
fi 芬蘭文 
fi_FI 芬蘭文 (芬蘭) 
fi_FI_EURO 芬蘭文 (芬蘭,Euro) 
fr 法文 
fr_BE 法文 (比利時) 
fr_BE_EURO 法文 (比利時,Euro) 
fr_CA 法文 (加拿大) 
fr_CH 法文 (瑞士) 
fr_FR 法文 (法國) 
fr_FR_EURO 法文 (法國,Euro) 
fr_LU 法文 (盧森堡) 
fr_LU_EURO 法文 (盧森堡,Euro) 
hr 克羅地亞文 
hr_HR 克羅地亞文 (克羅地亞) 
hu 匈牙利文 
hu_HU 匈牙利文 (匈牙利) 
is 冰島文 
is_IS 冰島文 (冰島) 
it 意大利文 
it_CH 意大利文 (瑞士) 
it_IT 意大利文 (意大利) 
it_IT_EURO 意大利文 (意大利,Euro) 
iw 希伯來文 
iw_IL 希伯來文 (以色列) 
ja 日文 
ja_JP 日文 (日本) 
ko 朝鮮文 
ko_KR 朝鮮文 (南朝鮮) 
lt 立陶宛文 
lt_LT 立陶宛文 (立陶宛) 
lv 拉托維亞文(列託) 
lv_LV 拉托維亞文(列託) (拉脫維亞) 
mk 馬其頓文 
mk_MK 馬其頓文 (馬其頓王國) 
nl 荷蘭文 
nl_BE 荷蘭文 (比利時) 
nl_BE_EURO 荷蘭文 (比利時,Euro) 
nl_NL 荷蘭文 (荷蘭) 
nl_NL_EURO 荷蘭文 (荷蘭,Euro) 
no 挪威文 
no_NO 挪威文 (挪威) 
no_NO_NY 挪威文 (挪威,Nynorsk) 
pl 波蘭文 
pl_PL 波蘭文 (波蘭) 
pt 葡萄牙文 
pt_BR 葡萄牙文 (巴西) 
pt_PT 葡萄牙文 (葡萄牙) 
pt_PT_EURO 葡萄牙文 (葡萄牙,Euro) 
ro 羅馬尼亞文 
ro_RO 羅馬尼亞文 (羅馬尼亞) 
ru 俄文 
ru_RU 俄文 (俄羅斯) 
sh 塞波尼斯-克羅地亞文 
sh_YU 塞波尼斯-克羅地亞文 (南斯拉夫) 
sk 斯洛伐克文 
sk_SK 斯洛伐克文 (斯洛伐克) 
sl 斯洛文尼亞文 
sl_SI 斯洛文尼亞文 (斯洛文尼亞) 
sq 阿爾巴尼亞文 
sq_AL 阿爾巴尼亞文 (阿爾巴尼亞) 
sr 塞爾維亞文 
sr_YU 塞爾維亞文 (南斯拉夫) 
sv 瑞典文 
sv_SE 瑞典文 (瑞典) 
th 泰文 
th_TH 泰文 (泰國) 
tr 土耳其文 
tr_TR 土耳其文 (土耳其) 
uk 烏克蘭文 
uk_UA 烏克蘭文 (烏克蘭) 
zh 中文 
zh_CN 中文 (中國) 
zh_HK 中文 (香港) 
zh_TW 中文 (臺灣) 
View Code

 

2、利用js來作實現,如何判斷瀏覽器可接收的語言呢?緩存

這裏須要分狀況:cookie

var browser_language = navigator.browserLanguage;
if((typeof browser_language) !== "undefined" && browser_language !== null) //ie 存在返回 string
{
  var lang = navigator.systemLanguage.toLowerCase();
} else {//firefox chorme etc. 不存在,返回 "undefined"
  var lang = navigator.language.toLowerCase();
}

 

3、當用戶第一次進入頁面 --- 判斷是否有語言緩存在cookie中ide

function setCookie(name,value){// 設置cookie
    document.cookie = name + "="+ escape(value)+";path=/";
}

function getCookie(name) {// 獲取cookie
    var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
    if(arr=document.cookie.match(reg)){
        return (arr[2]);
    } else {
        return null;
    }
}
var clang = getCookie('mysite_language');//緩存的cookie語言標識

if(clang == '') {//若是爲空,設置默認語言,方便後面判斷。
    clang = 'en';
}
// console.log(clang);
if(clang !== null) {//不爲null, 表示cookie中已經設置了語言標誌
    if(clang !== 'en') {
        //coding...通常是要去到的語言頁面,
    }
} else {//爲null, 第一次進入時
    if ((typeof lgg) !== "undefined" && lgg !== null) {
        var lang = navigator.systemLanguage.toLowerCase();
    } else { 
        var lang = navigator.language.toLowerCase();
    }

    // coding...要去到的語言頁面
  
}

 

4、總結:ui

①javascript控制cookie。spa

②javascript分狀況討論判斷瀏覽器有限支持國家語言,並獲取 國家語言縮寫。firefox

③須要瞭解國家語言縮寫,使這個縮寫和咱們要到達的頁面有必定關係。code

④判斷cookie中是否含有設置的語言標誌,沒有就去找瀏覽器可接收的語言標誌,不然進入默認語言目錄。

相關文章
相關標籤/搜索