我尝试设置一个JS函数来自动加载另一种语言的索引页面,并考虑我的读者的设置设备。
我尝试这个......但是不行:
<script src="cordova-2.2.0.js"></script>
<script type="text/javascript" charset="utf-8">
function checkLanguage() {
if (navigator.globalization.getPreferredLanguage()='en_EN')
{
window.location.replace("index_en.html");
}
else if (navigator.globalization.getPreferredLanguage()='fr_FR')
{
window.location.replace("index_fr.html");
}
else
{
window.location.replace("index_other.html");
}
}
</script>
这种方法可以使用,还是我必须考虑其他选项来处理我的多语言应用程序?
提前感谢您的帮助。
答案 0 :(得分:1)
您需要使用getPreferredLanguage的回调:
var handleDeviceReady = function (event)
{
navigator.globalization.getPreferredLanguage(
function (language)
{
console.log("language: " + language.value + '\n');
redirectToLocaleSpecificLogin(language.value);
},
function ()
{
console.log("Error getting language\n");
redirectToLocaleSpecificLogin("en");
}
);
};
document.addEventListener("deviceready", handleDeviceReady, false);
然后在你的回调中(在这种情况下为redirectToLocaleSpecificLogin),你可以进行重定向。
答案 1 :(得分:0)
大多数浏览器使用语言属性,IE使用 userLanguage
var lang = window.navigator.userLanguage || window.navigator.language;
这应该适用于IE,SAFARI,CHROME和FF
修改强>
JavaScript for detecting browser language preference此链接对此主题进行了更详细的讨论