We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
ECMA-402 JavaScript Internationalization API "shim"
There was an error while loading. Please reload this page.
This project provides an implementation of the ECMA-402 JavaScript Internationalization APIs standard for number formatting ( Intl.NumberFormat ) and date and time formatting ( Intl.DateTimeFormat ). Collation ( Intl.Collator ) is not currently supported.
Current release is version 1.0, published 2015-07-08.
This project is distributed by the Dojo Foundation and licensed under the "New" BSD License. All contributions require a Dojo Foundation CLA.
This project requires the following other projects to run:
Bower release installation:
$ bower install ecma402
Manual master installation:
$ cd ecma402 $ bower install
Once installed, you should first include RequireJS AMD loader in your appication:
<script src="bower_components/requirejs/require.js"></script>
Then you can load Intl through the ecma402/IntlShim module and use it:
Intl
ecma402/IntlShim
<script> / configuring RequireJS require.config({ / where to find ecma402 package baseUrl: "bower_components", / which locales do I want to be available in addition to default browser locale config: { "ecma402/locales": /^(en|de|fr)$/ } }); </script> <script> require(["ecma402/IntlShim"], function(Intl) { var nf = Intl.NumberFormat("fr", { style: "percent" }); console.log(nf.format(24.02); }); </script>
Note that by default IntlShim will use native implementation if available in the browser, if not available it will load its own JavaScript CLDR-based implementation. In order to force the JavaScript implementation you can force the intl-api flag to false in the RequireJS config as follows:
IntlShim
intl-api
<script> / configuring RequireJS require.config({ / where to find ecma402 package baseUrl: "bower_components", config: { "requirejs-dplugins/has": { "intl-api": false } } }); </script>
Alternatively, if you always want to use the Intl as provided through this package, and not attempt to leverage the native support in the browser, you can load the ecma402/Intl module directly, as follows:
ecma402/Intl
<script> / configuring RequireJS require.config({ / where to find ecma402 package baseUrl: "bower_components", / which locales do I want to be available in addition to default browser locale config: { "ecma402/locales": /^(en|de|fr)$/ } }); </script> <script> require(["ecma402/Intl"], function(Intl) { var nf = Intl.NumberFormat("fr", { style: "percent" }); console.log(nf.format(24.02); }); </script>
For further documentation on the ECMA-402 standard Intl API and how to use it you can check out the information available at MDN
This package contains locale data for a large number of locales as defined by Unicode CLDR For many run time environments, it is not necessary to load the data for all possible locales, but instead, only for the default locale as defined by the settings in the browser. In order to keep the data load time to a minimum, by default only data associated with the default locale is loaded at run time unless additional locales are specified using the config option "ecma402/locales" as in the above example. The argument can be either a regular expression, a string (for a single locale), or an array of strings.