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;
	}
}

猜你喜欢

转载自blog.csdn.net/qq_37802298/article/details/90081222