demo:
鏈接:https://pan.baidu.com/s/1zhFHTv4P_epbBfpiggVDXg
提取碼:aqts
要想有效果,必須發布在服務器上,可以在IIS上測試。
我只用到了中文和英文,想多語言的,就自己添加語言包
把select選擇的語言也存在cookie中,刷新頁面,也會記住選擇
<select id="ddlSomoveLanguage" onchange="chgLang();"> <option value="zh">中文</option> <option value="en">ENGLISH</option> </select>
language_cookie.js
var name = "somoveLanguage"; /*server*/ var ctx = window.document.location.href.substring(0, window.document.location.href.indexOf(window.document.location.pathname)); function chgLang() { var value = $("#ddlSomoveLanguage").children('option:selected').val(); $('#ddlSomoveLanguage option:selected').text(); SetCookie(name, value); //location.reload(); } function SetCookie(name, value) { var Days = 30; //此 cookie 將被保存 30 天 var exp = new Date(); //new Date("December 31, 9998"); exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000); document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString() +";path=/"; } function getCookie(name)//取cookies函數 { var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)")); if (arr != null) { return unescape(arr[2]) } else { return null; } } var optionList = $("#ddlSomoveLanguage option"); var optionLength = optionList.length; // 畫面加載的時候,執行方法 window.onload = function () { // 獲得cookie,如果沒有,默認為 zh var value = getCookie(name); value = value == undefined ? "zh" : value; for (var i = 0; i < optionLength; i++) { // 匹配 value,如果相同 value 則 selected 選中 if (optionList[i].value == value) { optionList[i].selected = "selected"; } } } //console.log(getCookie(name)); $(function () { var uulanguage = (navigator.language || navigator.browserLanguage).toLowerCase(); if (uulanguage.indexOf("en") > -1) { $("[data-localize]").localize("text", { pathPrefix: ctx + "/Content/lang", language: "en" }); } else if (uulanguage.indexOf("zh") > -1) { $("[data-localize]").localize("text", { pathPrefix: ctx + "/Content/lang", language: "zh" }); } else { $("[data-localize]").localize("text", { pathPrefix: ctx + "/Content/lang", language: "zh" }); }; if (getCookie(name) != "") { if (getCookie(name) == "zh") { $("[data-localize]").localize("text", { pathPrefix: ctx + "/Content/lang", language: "zh" }); } if (getCookie(name) == "en") { $("[data-localize]").localize("text", { pathPrefix: ctx + "/Content/lang", language: "en" }); } } });
