欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

 

相关标签: js 国际化