js 实现 前端国际化
程序员文章站
2022-05-16 10:31:08
...
在之前的文章里, 我贴过 小程序的国际化方法, 这里的 方法和小程序的 基本相似,
但是还是有细微不同, 所以单独贴出来.
/**
*
* 使用方法
*
* 先调用 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;
}
}