此插件用于获取有关用户语言区域语言,日期和时区,货币等的信息。
打开命令提示符并通过键入以下代码安装插件。
C:\Users\username\Desktop\CordovaProject>cordova plugin add cordova-plugin-globalization
我们将向 index.html 添加几个按钮,以便能够调用我们稍后将创建的不同方法。
<button id = "getLanguage">LANGUAGE</button> <button id = "getLocaleName">LOCALE NAME</button> <button id = "getDate">DATE</button> <button id = "getCurrency">CURRENCY</button>
事件监听器将被添加到 index.js 文件中的 getDeviceReady 函数中,以确保我们的应用程序和Cordova在我们开始使用它之前加载。
document.getElementById("getLanguage").addEventListener("click", getLanguage);
document.getElementById("getLocaleName").addEventListener("click", getLocaleName);
document.getElementById("getDate").addEventListener("click", getDate);
document.getElementById("getCurrency").addEventListener("click", getCurrency);
我们使用的第一个函数返回客户端设备的BCP 47语言标签。我们将使用 getPreferredLanguage 方法。该函数有两个参数 onSuccess 和 onError 。我们在 index.js 中添加此函数。
function getLanguage() {
   navigator.globalization.getPreferredLanguage(onSuccess, onError);
   function onSuccess(language) {
      alert('language: ' + language.value + '\n');
   }
   function onError(){
      alert('Error getting language');
   }
	
}
一旦按下 LANGUAGE 按钮,警报将显示在屏幕上。

此函数返回客户端区域设置的BCP 47标签。 此函数与我们之前创建的函数类似。 唯一的区别是,我们这次使用 getLocaleName 方法。
function getLocaleName() {
   navigator.globalization.getLocaleName(onSuccess, onError);
   function onSuccess(locale) {
      alert('locale: ' + locale.value);
   }
   function onError(){
      alert('Error getting locale');
   }
	
}
当我们点击 LOCALE 按钮时,提醒将显示我们的区域设置标签。

此功能用于根据客户端的区域设置和时区设置返回日期。date 参数是当前日期, options 参数是可选的。
function getDate() {
   var date = new Date();
   var options = {
      formatLength:'short',
      selector:'date and time'
   }
   navigator.globalization.dateToString(date, onSuccess, onError, options);
   function onSuccess(date) {
      alert('date: ' + date.value);
   }
   function onError(){
      alert('Error getting dateString');
   }
	
}
我们现在可以运行应用程序,然后按 DATE 按钮查看当前日期。

我们将显示的最后一个功能是根据客户端的设备设置和ISO 4217货币代码返回货币值。你可以看到这个概念是一样的。
function getCurrency() {
   var currencyCode = 'EUR';
   navigator.globalization.getCurrencyPattern(currencyCode, onSuccess, onError);
   function onSuccess(pattern) {
      alert('pattern: '  + pattern.pattern  + '\n' +
         'code: '     + pattern.code     + '\n' +
         'fraction: ' + pattern.fraction + '\n' +
         'rounding: ' + pattern.rounding + '\n' +
         'decimal: '  + pattern.decimal  + '\n' +
         'grouping: ' + pattern.grouping);
   }
   function onError(){
      alert('Error getting pattern');
   }
	
}
CURRENCY 按钮将触发警报,显示用户的货币模式。

此插件提供其他方法。你可以看到下面的表中所有的。
| 方法 | 参数 | 细节 | 
|---|---|---|
| getPreferredLanguage | onSuccess,onError | 返回客户端当前的语言。 | 
| getLocaleName | onSuccess,onError | 返回客户端的当前语言环境设置。 | 
| dateToString | 日期,onSuccess,onError,选项 | 根据客户的区域设置和时区返回日期。 | 
| stringToDate | dateString,onSuccess,onError,options | 根据客户端的设置解析日期。 | 
| getCurrencyPattern | currencyCode,onSuccess,onError | 返回客户的货币模式。 | 
| getDatePattern | onSuccess,onError,options | 返回客户端的日期模式。 | 
| getDateNames | onSuccess,onError,options | 根据客户端的设置返回月,周或天的名称数组。 | 
| isDayLightSavingsTime | date,successCallback,errorCallback | 用于根据客户端的时区和日历确定夏令时是否活动。 | 
| getFirstDayOfWeek | onSuccess,onError | 根据客户端设置返回一周的第一天。 | 
| numberToString | number,onSuccess,onError,options | 根据客户端的设置返回number。 | 
| stringToNumber | string,onSuccess,onError,options | 根据客户端的设置解析一个数字。 | 
| getNumberPattern | onSuccess,onError,options | 根据客户端的设置返回数字模式。 |