npm: possibly marvellous

    gettext-swig

    0.3.0 • Public • Published

    gettext-swig build status

    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.git
    npm i

    Test

    npm run lint
    npm test

    Install

    npm i gettext-swig

    DownloadsWeekly Downloads

    572

    Version

    0.3.0

    License

    MIT

    Last publish

    Collaborators

    • smhg