javascript | 原生JS多语言切换简单实现

#编程技术 2022-08-11 10:42:00 | 全文 430 字,阅读约需 1 分钟 | 加载中... 次浏览

👋 相关阅读


由于项目需要实现一个前端的多语言切换,不想因为一个简单的功能就引入 jQuery,所以经过 google 编程大法摸索出一个原生 JS 就可以实现的多语言前端切换的小例子,仅供参考。

图片alt

<body>
<select id="langControl">
  <option value="zh">中文</option>
  <option value="en">English</option>
</select>

<div lang="title">H5编辑器</div>
<div lang="userLogin">用户登录</div>
</body>
<script>
// 语言字典
const lang = {
  zh: {
        'title': 'H5编辑器',
        'userLogin': '用户登录',
    },
  en: {
        'title': 'H5 editor',
        'userLogin': 'The user logs on',
    },
}
// 语言设置参数
var lang_key = '';
// 语言切换函数
function chenge_lang(){
	var a = document.querySelectorAll('[lang]');
	a.forEach(function (item) {
		var key = item.getAttribute("lang");
		item.innerHTML = lang[lang_key][key];
	});
}
// 监控语言选择框
let oCon = document.getElementById("langControl");
oCon.onchange = function(e){
    lang_key = oCon.value;
	chenge_lang();
}
// 获取浏览器默认语言
let lan = navigator.systemLanguage || navigator.language;
if(lan.toLowerCase().indexOf('zh')!==-1){
	console.log('当前浏览器默认语言为中文')
	lang_key = 'zh';
}else if(lan.toLowerCase().indexOf('en')!==-1){
	console.log('当前浏览器默认语言为英文');
	lang_key = 'en';
	chenge_lang();
	document.getElementById("langControl").value = 'en';
}
</script>
Edit | Last updated on 2024-02-29 10:57:58




×