项目中遇到多语言的支持问题,多语言主要要做到两点:
- 根据用户目前的浏览器配置语言进行显示
- 提供语言切换按钮,用户自定义选择不同的语言显示
在这里,首先展示一个获取用户当前浏览器配置语言进行显示的小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
页面显示如下:
改为中文浏览器: