js获取手机系统语言

4,024 阅读1分钟

webview H5需要做多语言功能,首次加载该页面的手机用手机当前系统语言进行显示。

js Api:

    1. navigator.language
    1. navigator.languages
    1. navigator.browserLanguage

机型语言信息统计

手机机型navigator.languagenavigator.languagesnavigator.browserLanguage
HUAWEI nova 3e (ANE-AL00)en-US["zh-CN","zh-CN","en-US","ko-KR"]undefined
Honor 9 Lite (LLD-L21)en-CN["en-CN","zh-CN","ja-UM","en-US"]undefined
vivo X7zh-CN[]undefined
乐视 Letv X500zh-CN["zh-CN","en-US"]undefined
iPhone 6Szh-cn["zh-cn"]undefined

遇到的情况

    1. 就算是同个牌子的手机,eg: 华为,使用navigator.language获取的信息,也有可能是en-US或者en-CN,并不统一,需要自己手动处理统一语言的key。
    1. iOS跟Android环境,大小写不一致,eg: iOS为zh-cn,Andorid为zh-CN,需要自己手动处理统一语言的key。
    1. 如果是H5跟原生混合开发App,无论怎么切换手机语言环境,App里面获取回来的语言信息一直是同一个,那很可能就是原生开发那边设置了固定的语言。