Android 如何动态更改Cordova PhoneGap应用程序中的内容语言?

Android 如何动态更改Cordova PhoneGap应用程序中的内容语言?,android,cordova,localization,cordova-plugins,Android,Cordova,Localization,Cordova Plugins,我想将Cordova PhoneGap应用程序的内容更改为其他语言。由于我的应用程序包含大量要加载的动态数据,我如何应用语言更改?是的。使用借助本地化,您可以为文本设置不同的语言。下面是一些可以帮助您解决问题的链接 这里的关键是要知道用户使用哪种语言或在哪一地区,并设置语言。 希望这有帮助 除了Deep Mehta提供的信息之外,我最满意的是使用他们的AMD版本(因为我在cordova应用程序中使用了JQuery/Backbone),以及您可以通过CLI添加的: cord

我想将Cordova PhoneGap应用程序的内容更改为其他语言。由于我的应用程序包含大量要加载的动态数据,我如何应用语言更改?

是的。使用借助本地化,您可以为文本设置不同的语言。下面是一些可以帮助您解决问题的链接

  • 这里的关键是要知道用户使用哪种语言或在哪一地区,并设置语言。
    希望这有帮助

    除了Deep Mehta提供的信息之外,我最满意的是使用他们的AMD版本(因为我在cordova应用程序中使用了JQuery/Backbone),以及您可以通过CLI添加的:

    cordova插件添加cordova插件全球化

    需要记住的一点是,i18next的初始化和cordova全球化的初始化是异步的——在DeviceReady事件触发之前不要调用全球化API,在i18next库初始化之前不要尝试获取本地化字符串。以下是适用的代码:

            // app initialization code. Here we'll initialize localization with the current locale 
            initialize: function (options) {
    
                // callback function to initialize / load the localization info
                var initialize_i18n = function (locale) {
                    i18n.init({
                        lng: locale,
                        debug: true,
                        fallbackLng: 'en'
                    }, function () {
                        // NOW i18next can be used
                    });
                };
    
                // get the user's locale - mobile or web
                // ASSUMES DeviceReady() HAS ALREADY FIRED
                if (typeof navigator.globalization !== 'undefined') {
                    navigator.globalization.getLocaleName(
                        function (loc) {
                            locale = loc.value.split("-")[0];
                            initialize_i18n(locale);
                        },
                        function () {console.log('Error getting locale\n'); }
                    );
                } else {
                    // in web browser
                    lang = (navigator.languages) ? navigator.languages[0] : (navigator.language || navigator.userLanguage);
                    locale = lang.split("-")[0];
                    initialize_i18n(locale);
                }
        },
        // etc.
    

    我们如何将应用程序语言更改为印度语言(如印地语、马拉地语等)?