此插件用于获取有关用户语言区域语言,日期和时区,货币等的信息。
打开命令提示符并通过键入以下代码安装插件。
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 | 根据客户端的设置返回数字模式。 |