Extract gettext string with babel support syntax JSX, ES6, ... It is based on
node-gettext. This is a fork of the npm module babel-gettext-plugin
which
adds support for references and runs on earlier versions of node.
Supports babel 6.
yarn add babel-gettext-extractor
or
npm install --save babel-gettext-extractor
var babel = require("babel");
babel.transform(code, { plugins:["babel-gettext-extractor"]});
babel --plugins babel-gettext-extractor code.js
"plugins": [
[ "babel-gettext-extractor", {
"headers": <Object>,
"functionNames": <Object>,
"fileName": <String>,
"baseDirectory": <String>,
"stripTemplateLiteralIndent": <Boolean>
}]
]
The headers to put in the po file.
headers: {
"content-type": "text/plain; charset=UTF-8",
"plural-forms": "nplurals=2; plural=(n!=1);"
}
A list of function names to extract. The list is the definition of the
parameters: "domain"
, "msgctxt"
, "msgid"
, "msgid_plural"
and
"count"
example:
functionNames: {
myfunction: ["msgid"]
}
The filename where the end result is placed.
If provided, then file names are chopped off in relation to this base path if filenames start with that path.
If true this will strip leading indents from multiline strings. Note: this requires gettext function implementations to do the same leading indent removal. Useful if you want to use Template literals for multiline strings to be passed into to gettext functions.