原生js获取浏览器语言配置,设置文本多语言(小demo)

项目中遇到多语言的支持问题,多语言主要要做到两点:

  • 根据用户目前的浏览器配置语言进行显示
  • 提供语言切换按钮,用户自定义选择不同的语言显示

在这里,首先展示一个获取用户当前浏览器配置语言进行显示的小demo。
代码主要分为两部分,index.html文件和language.js

// language.js

var love = ['我爱你.', 'I love you!'];

通过设置所取的love数组中元素的index值,来设定不同的语言。例如love[0] 为’我爱你’,love[1]为‘I love you’。
index.html文件

<!DOCTYPE html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
    <script type="text/javascript" src="language.js"></script>
</head>
<body>
    <div id="text"></div>
    <script>
        var lang_flag;
        var lang = navigator.language || navigator.userLanguage; //常规浏览器语言和IE浏览器
        lang = lang.substr(0, 2); //截取lang前2位字符
        if (lang == 'zh') {
            lang_flag = 0;
        } else {
            lang_flag = 1;
        }
        $('#text').text(love[lang_flag])
    </script>
</body>
</html>

笔者使用的Chrome 浏览器,语言设置为English,Settings->Advanced->Language
这里写图片描述
页面显示如下:
这里写图片描述

改为中文浏览器:
这里写图片描述

注意:index.html中需要有meta标签<meta charset="UTF-8">,如果没有,中文会显示乱码。

这里写图片描述

发布了49 篇原创文章 · 获赞 58 · 访问量 20万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章