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

西部世界
西部世界
管理员
352
文章
0
粉丝
PHP日常评论阅读模式

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

 

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

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

文章末尾固定信息

 
西部世界
  • 本文由 西部世界 发表于2023年10月14日 12:04:30
  • 转载请务必保留本文链接:https://www.cnhawkit.com/1785.html
匿名

发表评论

匿名网友

拖动滑块以完成验证