項目中遇到多語言的支持問題,多語言主要要做到兩點:
- 根據用戶目前的瀏覽器配置語言進行顯示
- 提供語言切換按鈕,用戶自定義選擇不同的語言顯示
在這裏,首先展示一個獲取用戶當前瀏覽器配置語言進行顯示的小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
頁面顯示如下:
改爲中文瀏覽器: