The purpose of this package is to precompile messages as optimised functions for translation with full messageformat support.
The CLI messageformat
(usable via npm scripts) takes a hash of messages in json as input and generates a js file that exports a factory of compiled messages as an UMD module.
And helpers CLI utils (usable via npm scripts), based on CLDR data:
- plural: geneates a factory of plural and ordinal functions of common locales as an UMD module
- currency: exports a factory of currency mapping of common locales as an UMD module
- list: exports a factory of list formats of common locales as an UMD module
Takes a hash of messages in json as input and generates a js file that exports a factory of compiled messages as an UMD module.
Usage:
messageformat [options] < messages.json
or
cat messages.json | messageformat [options]
ex:
messageformat --locale en-US --currency --debug < test/messages.json | npx uglifyjs --beautify > i18n.js
messageformat --locale en-US --currency < test/messages.json | npx uglifyjs > i18n.min.js
Options:
--locale=<locale code>
Set locale
Optional settings:
--name=<function name>
Default is "i18n"
--debug
Debug messages on error at runtime
Enable currency support:
--currency
Guess currency from locale, see currencies.js
--currency=<currency code>
Set currency
Custom date, number & time formats:
--date=<intl date formats json>
Default formats are provided (short, medium,long, full)
--number=<intl number formats json>
Default formats are provided (decimal, integer, percent, currency)
--time=<intl time formats json>
Default formats are provided (short, medium,long, full)
Custom plural & ordinal rules:
--plural=<plural js file>
Default is resolved from locale, see plurals.js
--ordinal=<ordinal js file>
Default is resolved from locale, see ordinals.js
Geneates a factory of plural or ordinal functions of common locales as an UMD module.
The plural
generated js files are exported in dist/plurals.js and dist/ordinals.js.
Usage:
plural | npx uglifyjs --beautify > dist/plurals.js
plural | npx uglifyjs > dist/plurals.min.js
plural --ordinal | npx uglifyjs --beautify > dist/ordinals.js
plural --ordinal | npx uglifyjs > dist/ordinals.min.js
Options:
--ordinal
Generates ordinals functions (instead of purals)
Exports a factory of currency mapping of common locales as an UMD module.
The currency
generated js file is exported in dist/currencies.js.
Usage:
currency | npx uglifyjs --beautify > dist/currencies.js
currency | npx uglifyjs > dist/currencies.min.js
Exports a factory of list formats of common locales as an UMD module.
The list
generated js file is exported in dist/lists.js.
Usage:
list | npx uglifyjs --beautify > dist/lists.js
list | npx uglifyjs > dist/lists.min.js