2.2.1 • Published 10 years ago
translations v2.2.1
translations

translations api for node.js, browsers and the command line.
Installation
npm install translationsUsage
var locale = require('locales/de-DE.json'); // node.js;
var locale = window.locale; // browser example
var t = translations(locale); // production mode: ignores most errors
var t = translations(locale, true); // development mode: throws more errors
t('How are you?');
// "Wie geht es dir?"
t('Hello {name}, how are you?', { name: 'Max' });
// "Hallo Max, wie geht es dir?"
t('Hello {name}, how is {thing}?', { name: 'Max', thing: t('the weather') });
// "Hallo Max, wie ist das Wetter?"
t('undefined key in locale');
// throws error in development mode for undefined keys
// returns empty string in production mode
t('Hello {name}, how is {thing}?', { name: 'Max' });
// throws error in development mode for undefined variables
// prints placeholders in production modede-DE.json
{
"How are you?": "Wie geht es dir?",
"Hello {name}, how are you?": "Hallo {name}, wie geht es dir?",
"Hello {name}, how is {thing}?": "Hallo {name}, wie ist {thing}?",
"the weather": "das Wetter"
}Command Line
Installation
npm install translations -g # if you want to use the cli globallysync
# sync locales
translations sync <master> <target>
# example
translations sync locales/en.json locales/de-DE.jsontranslations sync syncs the master translations file with the target one:
If target has values that are not strings, it throws an error.
If target does not exist yet, a copy of master will be created with the target’s name (de-DE.json).
If target does already exist, the command does the following:
- every key not found in
masteris removed - every key not found in
targetis added
export
# export locales for browser usage
translations export <inputDirectory> <outputDirectory> --assign <variable>translations export will create or overwrite the given output directory with js files for valid locales in the input directory. Each js
file assigns the locale’s translations to the given variable (or window.locale by default).
LICENSE
MIT (2015) Maximilian Hoffmann