0

一直在寻找这个,但看不到明确的答案。

--> 有没有办法从移动网络中检测 iphone/android 手机的手机语言。

我们希望尝试改进我们为英语以外的语言提供页面的方式。

4

1 回答 1

0

在 JavaScript 中window.navigator.language通常可以工作,但早期版本的 Android 将其硬编码为en.

对于较旧的 Android,我建议从 UserAgent 字符串中提取语言参数(是的嗅探!),例如

if (navigator && navigator.userAgent && (androidLang = navigator.userAgent.match(/android.*\W(\w\w)-(\w\w)\W/i))) {
   lang = androidLang[1];
}

在这里, lang 可能还包含国家代码(例如“en-IE”),因此您可能还必须删除它:

if (lang.indexOf('-') != -1) lang = lang.substring(0, lang.indexOf('-'));

这是我在最近的应用程序中使用的,它运行良好。

于 2013-02-06T10:37:55.917 回答