我正在创建一个在所有 3 个移动平台(Android、iOS 和 Windows Mobile 8)上运行的 HTML5 移动应用程序。我正在使用 javascript 进行本地化(https://github.com/eligrey/l10n.js/#readme).
该应用程序在浏览器上运行良好。但是当我将其部署在移动模拟器上时,本地化不起作用。
我认为问题在于 javascript 从浏览器获取语言信息,但在移动设备中我们使用 PhoneGap 运行 HTML5。
有什么方法可以在 PhoeGap 中使用 javascript 启用本地化吗?
您可以编写自己的 JavaScript 来获取本地化语言。这与我在此处其他地方写的回复完全相同。
一般来说,JavaScriptwindow.navigator.language
通常适用于 iOS 和较新的 Android 系统,但早期版本的 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('-'));
这是我在最近的应用程序中使用的,使用 HTML5 和 PhoneGap,并且运行良好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)