添加到Deep Mehta提供的信息中,我对i18next.js,使用AMD版本在这里(因为我在我的cordova应用程序中使用JQuery/Backbone),以及cordova全球化插件您可以通过CLI添加:
cordova插件添加cordova-plugin-globalization
需要记住的一点是,i18next的初始化和cordova全球化的初始化是异步的——在DeviceReady事件触发之前不要调用全球化API,在i18nex库初始化之前不要尝试获取本地化字符串。以下是适用的代码:
//应用程序初始化代码。在这里,我们将使用当前区域设置初始化本地化initialize:函数(选项){//用于初始化/加载本地化信息的回调函数var initialize_i18n=函数(语言环境){i18n.初始化({液化天然气:现场,调试:true,fallbackLng:“en”},函数(){//现在可以使用i18next});};//获取用户的区域设置-手机或网络//假设DeviceReady()已触发if(typeof navigator.globalization!==“未定义”){导航器.globalization.getLocaleName(功能(loc){locale=loc.value.split(“-”)[0];initialize_i18n(语言环境);},function(){console.log('获取区域设置时出错\n');});}其他{//在web浏览器中lang=(navigator.languages)?navigator.languages[0]:(navigactor.language ||navigator.userLanguage);语言环境=lang.split(“-”)[0];initialize_i18n(语言环境);}},//等。