Extracts gettext strings from JavaScript, EJS, Pug, Jinja and Handlebars files.

Downloads in past


0.11.06 years ago12 years agoMinified + gzip package size for jsxgettext in KB


jsxgettext Build Status NPM version
A node module with a CLI that extracts gettext strings from JavaScript, EJS, Jade, Jinja, Swig and Handlebars files. Uses a real parser, acorn, for JavaScript files and recognizes the following uses:
gettext("Hello world!");
gettext("Hello " + 'world!');
myModule.gettext("Hello " + 'world!');
gettext.call(myObj, "Hello " + 'world!');
ngettext("Here's an apple for you", "Here are %s apples for you", 3);
ngettext("Here's an apple" + ' for you', "Here are %s apples" + ' for you', 3);
myModule.ngettext("Here's an apple" + ' for you', "Here are %s apples" + ' for you', 3);
ngettext.call(myObj, "Here's an apple" + ' for you', "Here are %s apples" + ' for you', 3);

It also extracts comments that begin with "L10n:" when they appear above or next to a gettext call:
// L10n: Don't forget the exclamation mark
gettext("Hello world!");  // L10n: Salutation to the world

"L10n:" is a default value and you can change it with -c option.


npm install jsxgettext
Or from source:
git clone https://github.com/zaach/jsxgettext.git
cd jsxgettext
npm link


$ jsxgettext -h

Usage: cli [options] [file ...]


  -h, --help                         output usage information
  -V, --version                      output the version number
  -o, --output <file>                write output to specified <file>
  -p, --output-dir <path>            output files will be placed in directory <path>
  -k, --keyword [keywords]           additional keywords to be looked for
  -j, --join-existing                join messages with existing file
  -L, --language [lang]              use the specified language (javascript, ejs, jinja, handlebars, pug, swig) [javascript]
  -s, --sanity                       sanity check during the extraction
  --project-id-version [version]     This is the project name and version of the generated package/catalog.
  --report-bugs-to [bug address]     An email address or URL where you can report bugs in the untranslated strings.
  -c, --add-comments [tag]           place comment blocks starting with TAG and preceding keyword lines in output file (default: "L10n:").
  --parser-options [parser options]  A json to customize acorn parser.