gettext-nunjucks

0.0.2 • Public • Published

gettext-nunjucks build status

Extract translatable strings from Nunjucks template strings.

It can be used stand-alone or through xgettext-template.

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
  },
  npgettext: {
    msgctxt: 0,
    msgid: 1,
    msgid_plural: 2
  },
  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 Nunjucks expression looks like {{ gettext("string") }}.

.parse(template)

Parses the template string for Nunjucks 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:ministryofprogramming/gettext-nunjucks.git
npm i

Test

npm run lint
npm test

Package Sidebar

Install

npm i gettext-nunjucks

Weekly Downloads

380

Version

0.0.2

License

MIT

Last publish

Collaborators

  • eldarc