0

我正在开发一个 html5/JqueryMobile/Phonegap 应用程序。我必须检测设备语言才能重定向到特定的 html。我正在尝试使用 Phonegap 的navigator.globalization.getPreferredLanguage. 在 iOS 设备上它工作正常。

下面的代码检测语言“onDeviceReady”并执行重定向。这段代码对于 iOS 和 Android 应该是通用的,但是当我在 Android 设备上尝试它时它不起作用。画面冻结。什么可能导致这种情况?

<!DOCTYPE HTML>
<html>
<head>
    <title>Language</title>
    <script type="text/javascript" charset="utf-8" src="cordova-2.5.0.js"></script>
    <script type="text/javascript" charset="utf-8">


        document.addEventListener("deviceready", onDeviceReady, false);

        function onDeviceReady() {

            navigator.globalization.getPreferredLanguage(
                                                         function (language)
                                                         {

                                                         if(language.value == "it")
                                                         {window.location.replace("index_it.html");}
                                                         else if (language.value == "ar")
                                                         {window.location.replace("index_ar.html");}
                                                         else 
                                                         {window.location.replace("index_en.html");}},
                                                         function ()
                                                         {
                                                         alert('Error getting language\n');
                                                         }
                                                         );
        }


        </script>
</head>
<body>
</body>
</html>
4

1 回答 1

0

这里的问题是,从 Android 接收到的语言将具有不同的格式,例如,使用代码 ru 而不是俄语,它将返回 русский

于 2013-09-16T08:21:09.013 回答