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 に答える