webview H5需要做多语言功能,首次加载该页面的手机用手机当前系统语言进行显示。
js Api:
-
- navigator.language
-
- navigator.languages
-
- navigator.browserLanguage
机型语言信息统计
| 手机机型 | navigator.language | navigator.languages | navigator.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 X7 | zh-CN | [] | undefined |
| 乐视 Letv X500 | zh-CN | ["zh-CN","en-US"] | undefined |
| iPhone 6S | zh-cn | ["zh-cn"] | undefined |
遇到的情况
-
- 就算是同个牌子的手机,eg: 华为,使用navigator.language获取的信息,也有可能是en-US或者en-CN,并不统一,需要自己手动处理统一语言的key。
-
- iOS跟Android环境,大小写不一致,eg: iOS为zh-cn,Andorid为zh-CN,需要自己手动处理统一语言的key。
-
- 如果是H5跟原生混合开发App,无论怎么切换手机语言环境,App里面获取回来的语言信息一直是同一个,那很可能就是原生开发那边设置了固定的语言。