Skip to content

runner/generator-gettext

Repository files navigation

Tasks generator for gettext

build status npm version dependencies status devDependencies status Gitter RunKit

Installation

npm install runner-generator-gettext

Usage

Add to the scope:

const generator = require('runner-generator-gettext');

Generate tasks according to the given config:

const tasks = generator({
    languages: ['fr', 'de'],
    source: 'src/lang',
    target: 'build/develop/lang',
    jsData: ['build/develop/main.js']    
});

Add generated tasks to the runner instance:

const runner = require('runner');

Object.assign(runner.tasks, tasks);

The following tasks will become available:

Task name Description
gettext:config prints the current configuration used for generated tasks
gettext:exec performs .po and .pot files generation
gettext:json performs .json files generation
gettext:build executes gettext:exec and gettext:json tasks
gettext:clear removes compiled file

Generator accepts two arguments: base configuration and additional options.

Base configuration

It's an object with the following properties:

Name Description
source directory with po and pot files
target directory with generated localization json files
jsData javascript source file to scan
languages list of language codes in ISO 639-1 format to generate localization files for
fromCode specifies the encoding of the input files (flag --from-code=name)
addComments place comment blocks starting with tag and preceding keyword lines in the output file (flag --add-comments[=tag])
indent write po files using indented style (flag --indent)
noLocation write "#: filename:line" lines (flag --no-location)
addLocation location type (flag --add-location)
noWrap do not break long message lines (flag --no-wrap)
sortOutput generate sorted output (flag --sort-output)
sortByFile sort output by file location (flag --sort-by-file)
verbose increase verbosity level (flag --verbose)

Additional options

It's an object with the following properties:

Name Description
prefix an affix placed before a task name (default is gettext:)
suffix a string added at the end of a task name (empty by default)

So it's possible to change generated tasks names:

Object.assign(runner.tasks,
    generator(config, {
        prefix: 'lang:',
        suffix: ':develop'
    })
);

It will add the following tasks:

  • lang:config:develop
  • lang:exec:develop
  • lang:json:develop
  • lang:build:develop
  • lang:clear:develop

Contribution

If you have any problems or suggestions please open an issue according to the contribution rules.

License

runner-generator-gettext is released under the GPL-3.0 License.

About

Tasks generator for gettext internationalization and localization system.

Resources

Stars

Watchers

Forks

Packages

No packages published