我想将Cordova PhoneGap应用程序的内容更改为其他语言。由于我的应用程序包含大量要加载的动态数据,我该如何应用语言更改?
答案 0 :(得分:0)
是的。在本地化的帮助下使用,您可以为文本设置不同的语言。以下是几个可以帮助你的链接
这里的关键是要知道用户所在的语言或区域,并设置语言。 希望这有帮助。!
答案 1 :(得分:0)
添加Deep Mehta提供的信息,我对i18next.js非常满意,使用他们的AMD版本here(因为我在我的cordova应用程序中使用JQuery / Backbone),您可以通过CLI添加cordova globalization plugin:
cordova plugin add cordova-plugin-globalization
你需要记住的一件事是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.