js 实现 前端国际化

在之前的文章里, 我贴过 小程序的国际化方法, 这里的 方法和小程序的 基本相似,

但是还是有细微不同, 所以单独贴出来.

 /** * * 使用方法 * * 先调用 init_L 方法初始化 * * 然后使用 _.XXX 或者 _['XXX'] 获取具体值 * */ // 获取浏览器 缓存中的 语言 var lang = localStorage.getItem('appLanguage') if(!lang){ //获取系统语言 lang = navigator.language; } if (lang == undefined) { lang = "zh-hk"; } else { lang = lang.replace(/_/g, '-'); } //将语言转为小写 lang = lang.toLowerCase() var default_L = lang; // 两种 key : 'appTitle' 或者 'app title', 第一种 _.appTitle, 第二种: _['app title'] var default_ = { "en": { 'appTitle': 'H5' }, "zh_cn": { 'appTitle': '网页版' }, "zh_hk": { 'appTitle': '網頁版' } } // 设置 默认语言 var _ = default_.zh_hk; // 我这里是使用浏览器默认语言, 如果这里不调用, 则需要在引用页的js内申明. init_L(); // 设置语言, L 不传 则获取浏览器语言 function init_L(L) { if (L != null && L != "" && L != 'undefined' && L != undefined) { default_L = L; } if (default_L == "en") { _ = default_.en; } else if (default_L == "zh-cn") { _ = default_.zh_cn; } else { _ = default_.zh_hk; } }