INACTIVE - http://mzl.la/ghe-archive - Extract gettext calls from JavaScript, EJS, and other template formats.
Перейти к файлу
Vlad Filippov dfc415c0b4
Merge pull request #2 from vladikoff/0.9.0-msgctxt-support
convert comments to msgctxt context
2018-10-02 09:24:45 -04:00
lib Merge pull request #2 from vladikoff/0.9.0-msgctxt-support 2018-10-02 09:24:45 -04:00
test chore(pug): Rename all jade references to pug 2018-09-25 10:57:25 +01:00
.gitignore Ignore IntelliJ based IDE files 2013-09-19 14:10:10 +03:00
.jshintignore Use stricter JSHint rules and fix errors related to those 2014-01-17 14:00:56 +02:00
.jshintrc Fix JSHint and existing lint errors 2014-09-02 18:18:23 +03:00
.npmignore Add .npmignore file 2017-03-28 16:06:37 +03:00
.travis.yml Fix NPM auth token 2017-03-28 16:25:36 +03:00
LICENSE Add missing LICENSE text 2013-04-13 08:55:24 +12:00
README.md chore(pug): Rename all jade references to pug 2018-09-25 10:57:25 +01:00
package.json 0.11.0 2018-09-25 10:07:46 -04:00

README.md

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.

Install

npm install jsxgettext

Or from source:

git clone https://github.com/zaach/jsxgettext.git
cd jsxgettext
npm link

Use

$ jsxgettext -h


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

Options:

  -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.