2

我尝试设置一个 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>

可以使用这种方法,还是我必须考虑其他选项来处理我的多语言应用程序?

提前感谢您的帮助。

4

2 回答 2

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)内部,您可以进行重定向。

于 2012-12-05T23:27:16.183 回答
0

大多数浏览器使用语言属性,IE使用userLanguage

var lang = window.navigator.userLanguage || window.navigator.language;

这应该适用于 IE、SAFARI、CHROME 和 FF

编辑:

用于检测浏览器语言偏好的 JavaScript此链接对此主题有更详细的讨论

于 2012-11-07T08:55:24.333 回答