/** * cookie鎿嶄綔 */ var getCookie = function(name, value, options) { if (typeof value != 'undefined') { // name and value given, set cookie options = options || {}; if (value === null) { value = ''; options.expires = -1; } var expires = ''; if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) { var date; if (typeof options.expires == 'number') { date = new Date(); date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000)); } else { date = options.expires; } expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE } var path = options.path ? '; path=' + options.path : ''; var domain = options.domain ? '; domain=' + options.domain : ''; var s = [cookie, expires, path, domain, secure].join(''); var secure = options.secure ? '; secure' : ''; var c = [name, '=', encodeURIComponent(value)].join(''); var cookie = [c, expires, path, domain, secure].join('') document.cookie = cookie; } else { // only name given, get cookie var cookieValue = null; if (document.cookie && document.cookie != '') { var cookies = document.cookie.split(';'); for (var i = 0; i < cookies.length; i++) { var cookie = jQuery.trim(cookies[i]); // Does this cookie string begin with the name we want? if (cookie.substring(0, name.length + 1) == (name + '=')) { cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); break; } } } return cookieValue; } }; /** * 鑾峰彇娴忚鍣ㄨ瑷€绫诲瀷 * @return {string} 娴忚鍣ㄥ浗瀹惰瑷€ */ var getNavLanguage = function(){ if(navigator.appName == "Netscape"){ var navLanguage = navigator.language; return navLanguage; } return false; } /** * 璁剧疆璇█绫诲瀷锛 榛樿涓鸿嫳鏂 */ var i18nLanguage = "en"; /* 璁剧疆涓€涓嬬綉绔欐敮鎸佺殑璇█绉嶇被 */ // var webLanguage = ['en','france','spanish','japanese','german']; /** * 鎵ц椤甸潰i18n鏂规硶 * @return */ var execI18n = function(){ /* 鑾峰彇涓€涓嬭祫婧愭枃浠跺悕 */ var optionEle = $("#i18n_pagename"); if (optionEle.length < 1) { console.log("鏈壘鍒伴〉闈㈠悕绉板厓绱狅紝璇峰湪椤甸潰鍐欏叆\n "); return false; }; var sourceName = optionEle.attr('content'); sourceName = sourceName.split('-'); /* 棣栧厛鑾峰彇鐢ㄦ埛娴忚鍣ㄨ澶囦箣鍓嶉€夋嫨杩囩殑璇█绫诲瀷 */ if (getCookie("userLanguage")) { i18nLanguage = getCookie("userLanguage"); } else { // 鑾峰彇娴忚鍣ㄨ瑷€ var navLanguage = getNavLanguage(); if (navLanguage) { // 鍒ゆ柇鏄惁鍦ㄧ綉绔欐敮鎸佽瑷€鏁扮粍閲 // var charSize = $.inArray(navLanguage, webLanguage); // if (charSize > -1) { i18nLanguage = navLanguage; // 瀛樺埌缂撳瓨涓 getCookie("userLanguage",navLanguage); // }; } else{ console.log("not navigator"); return false; } } /* 闇€瑕佸紩鍏 i18n 鏂囦欢*/ if ($.i18n == undefined) { console.log("璇峰紩鍏18n js 鏂囦欢") return false; }; /* 杩欓噷闇€瑕佽繘琛宨18n鐨勭炕璇 */ jQuery.i18n.properties({ name : sourceName, //璧勬簮鏂囦欢鍚嶇О path : i18n_path + '/' + i18nLanguage +'/', //璧勬簮鏂囦欢璺緞 mode : 'map', //鐢∕ap鐨勬柟寮忎娇鐢ㄨ祫婧愭枃浠朵腑鐨勫€ language : i18nLanguage, callback : function() {//鍔犺浇鎴愬姛鍚庤缃樉绀哄唴瀹 var insertEle = $(".i18n"); // console.log(".i18n 鍐欏叆涓?.."); insertEle.each(function() { // 鏍规嵁i18n鍏冪礌鐨 name 鑾峰彇鍐呭鍐欏叆 $(this).html($.i18n.prop($(this).attr('name'))); }); // console.log("鍐欏叆瀹屾瘯"); // console.log(".i18n-input 鍐欏叆涓?.."); var insertInputEle = $(".i18n-input"); // console.log(insertInputEle); insertInputEle.each(function() { var selectAttr = $(this).attr('selectattr'); if (!selectAttr) { selectAttr = "value"; }; $(this).attr(selectAttr, $.i18n.prop($(this).attr('selectname'))); }); // console.log("鍐欏叆瀹屾瘯"); } }); } function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //鏋勯€犱竴涓惈鏈夌洰鏍囧弬鏁扮殑姝e垯琛ㄨ揪寮忓璞 var r = window.location.search.substr(1).match(reg); //鍖归厤鐩爣鍙傛暟 if (r != null) return unescape(r[2]); return null; //杩斿洖鍙傛暟鍊 } /*椤甸潰鎵ц鍔犺浇鎵ц*/ $(function(){ if (getUrlParam('lang')) { var language = getUrlParam('lang') getCookie("userLanguage",language,{ expires: 30 }); $("#lang-curId").addClass(language) } else { $("#lang-curId").addClass(getCookie("userLanguage")) } /*鎵цI18n缈昏瘧*/ execI18n(); });