gettext-swig
Extract translatable strings from Swig template strings.
It can be used stand-alone or through gmarty/gettext.
API
new Parser(keywordSpec)
Creates a new parser.
The keywordSpec
parameter is optional, with the default being:
_: msgid: 0 gettext: msgid: 0 dgettext: msgid: 1 dcgettext: msgid: 1 ngettext: msgid: 0 msgid_plural: 1 dngettext: msgid: 1 msgid_plural: 2 pgettext: msgctxt: 0 msgid: 1 dpgettext: msgctxt: 1 msgid: 2
Each keyword (key) requires an object with argument positions. The msgid
position is required. msgid_plural
and msgctxt
are optional.
For example gettext: {msgid: 0}
indicates that the Swig expression looks like {{ "string"|gettext }}
.
.parse(template)
Parses the template
string for Handlebars expressions using the keywordspec.
It returns an object with this structure:
msgid1: line: 1 3 msgid2: line: 2 plural: 'msgid_plural' context\u0004msgid2: line: 4
Development
Install
git clone git@github.com:smhg/gettext-swig.gitnpm i
Test
npm run lintnpm test