js獲取瀏覽器默認語言設置

  • 2019 年 11 月 28 日
  • 筆記

項目用到多語言,之前也接觸過,不過沒有自測過,通過自測,寫出通用比較簡化的方法

// i18n  import i18n from './i18n'  let lang = navigator.language||navigator.userLanguage  i18n.locale = lang.substr(0, 2) || 'en'

網上別的常見方法

<script type="text/javascript">    var type = navigator.appName;    if (type == "Netscape"){        var lang = navigator.language;//獲取瀏覽器配置語言,支援非IE瀏覽器    }else{        var lang = navigator.userLanguage;//獲取瀏覽器配置語言,支援IE5+ == navigator.systemLanguage    };    var lang = lang.substr(0, 2);//獲取瀏覽器配置語言前兩位    if (lang == "zh"){        alert(lang);        //window.location.replace('url');//中文編碼時打開鏈接    }else if (lang == "en"){        window.location.replace('url');    }else{//其他語言編碼時打開以下鏈接        window.location.replace('url');    };  </script>

文中截取lang的前2位字元,是因為瀏覽器語言返回值可能是:

zh-CN Chinese(PRC)

zh-TW Chinese(Taiwan Region)

zh-HK Chinese(Hong Kong SAR, PRC)

zh-SC Chinese(Singapore)

en-US English(United States)

en English