vi18n
v4.0.0
Published
Simple number, currency and date formatters based on the Internationalization API
Downloads
731
Readme
VI18N
Simple number, currency, type and date formatters based on the Internationalization API.
Requirements
- Intl object (ECMAScript Internationalization API) see the support.
- You can include the polyfill when supporting older environments.
- Or use the Financial Times polyfill service at cdn.polyfill.io.
Installation
npm install --save vi18nExamples
Creating a locale
import VI18N from 'vi18n';
// const locale = new VI18N(culture, options);
const nl = new VI18N(); // Default locale is 'nl-NL' (Dutch)
const uk = new VI18N('en-GB');
// overriding default settings with options
const ch = new VI18N('de-ch', { number: { maximumFractionDigits: 2 } });
const nl = new VI18N('nl-NL', { percent: { minimumFractionDigits: 2 } });
const jp = new VI18N('ja', { currency: { currency: 'JPY' } });
const uk = new VI18N('en-GB', {
time: { timeZone: 'etc/UTC' },
currency: { currency: 'GBP' },
});
const us = new VI18N('en-US', {
time: { hour: 'numeric' },
currency: { currency: 'USD' } ,
});The options parameter can contain the following configuration objects:
numberpercentcurrencytime
See MDN: NumberFormat for possible values for the number, percent and currency configuration objects.
See MDN: DateTimeFormat for possible values for the time configuration object.
Number formatting
nl.formatNumber(12.50); // '12,50'
uk.formatNumber(12.50); // '12.50'Currency formatting
nl.formatCurrency(12.50); // '€ 12,50'
uk.formatCurrency(12.50); // '£12.50'Percent formatting
nl.formatPercent(0.75); // '75%'
uk.formatPercent(0.75); // '75%'Date and time formatting
var date = new Date();
nl.formatDate(date); // '2-9-2015'
uk.formatDate(date); // '02/09/2015'
nl.formatTime(date); // '12:38:09'
uk.formatTime(date); // '12:38:09'Decimal and thousand separator
nl.getDecimalSeparator(); // ','
nl.getThousandSeparator(); // '.'Months and days
// Possible representations are 'narrow', 'short' or 'long' (default).
uk.getMonths() // [ 'January', 'February', 'March', etc. ]
uk.getMonths('short') // [ 'Jan', 'Feb', 'Mar', etc. ]
uk.getMonths('narrow') // [ 'J', 'F', 'M', etc. ]
uk.getDays() // [ 'Sunday', 'Monday', 'Tuesday', etc. ]
uk.getDays('short') // [ 'Sun', 'Mon', 'Tue', etc. ]
uk.getDays('narrow') // [ 'S', 'M', 'T', etc. ]Static methods
// Check for native browser support or the presence of a polyfill.
VI18N.isSupported();License
MIT © VI Company
