Skip to content

Tasks generator for gettext internationalization and localization system.

Notifications You must be signed in to change notification settings

runner/generator-gettext

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •