y18n¶ ↑
The bare-bones internationalization library used by yargs.
Inspired by i18n.
Examples¶ ↑
simple string translation:
var __ = require('y18n').__ console.log(__('my awesome string %s', 'foo'))
output:
my awesome string foo
using tagged template literals
var __ = require('y18n').__ var str = 'foo' console.log(__`my awesome string ${str}`)
output:
my awesome string foo
pluralization support:
var __n = require('y18n').__n console.log(__n('one fish %s', '%d fishes %s', 2, 'foo'))
output:
2 fishes foo
JSON Language Files¶ ↑
The JSON language files should be stored in a ./locales
folder. File names correspond to locales, e.g., en.json
, pirate.json
.
When strings are observed for the first time they will be added to the JSON file corresponding to the current locale.
Methods¶ ↑
require('y18n')(config)¶ ↑
Create an instance of y18n with the config provided, options include:
-
directory
: the locale directory, default./locales
. -
updateFiles
: should newly observed strings be updated in file, defaulttrue
. -
locale
: what locale should be used. -
fallbackToLanguage
: should fallback to a language-only file (e.g.en.json
) be allowed if a file matching the locale does not exist (e.g.en_US.json
), defaulttrue
.
y18n.__(str, arg, arg, arg)¶ ↑
Print a localized string, %s
will be replaced with arg
s.
This function can also be used as a tag for a template literal. You can use it like this: __`hello ${'world'}`
. This will be equivalent to __('hello %s', 'world')
.
y18n.__n(singularString, pluralString, count, arg, arg, arg)¶ ↑
Print a localized string with appropriate pluralization. If %d
is provided in the string, the count
will replace this placeholder.
y18n.setLocale(str)¶ ↑
Set the current locale being used.
y18n.getLocale()¶ ↑
What locale is currently being used?
y18n.updateLocale(obj)¶ ↑
Update the current locale with the key value pairs in obj
.
License¶ ↑
ISC