gulp-translate-variables

0.0.11 • Public • Published

gulp-translate-variables

This gulp plugin is usable if you are using e.g. angular-translate (https://angular-translate.github.io/) variables in your AngularJS application.

##My motivation for this plugin Typically I'm using translate filter for static text localization in HTML code: {{'#_MsgNoAccountFound_#' | translate}}.

All localization variables are usually placed in one (or more) configuration files, eg.:

{
    "_cs_": "česky",
    "_fr_": "français",
    "_en_": "english",
    "_Dashboard_": "Dashboard",
    "_Events_": "Events",
    "_Sessions_": "Sessions",
    "_Session_": "Session",
    "_Users_": "Users",
    "_Account_": "Account",
    "_MyProfile_": "My Profile"
}

After some time I have a lot of localization variables in my application HTMl code and I'm not sure if all used variables are placed in my configuration file(s). Therefore I created this gulp plugin.

How it works

Plugin requires one or more source files (typically HTML files) on input. Plugin works in these steps:

  1. Finds all used localization variables in source files via regex.
  2. Check if each used localization variable is defined and set in localization configuration JSON file.
  3. Produce new version of localization configuration JSON file containing all localization variables. Unused localization variables are not placed in new output file.

Installation

$ npm install gulp-translate-variables --save

##Usage

gulp-translate-variables({regex, localizationVariablesFile, outputFilename})

regex                       Regular expression for searching all localization variables in input files.
localizationVariablesFile   Configuration file containing all localization variables.
outputFilename              Output file name.

##Examples Typical usage with gulp pipes:

var gtv = require('gulp-translate-variables');

gulp.task('i18n-check', function () {
    return gulp
	    // get all source files as an input for gulp-translate-variables plugin
	    .src(paths.templates)
	    // call gulp-translate-variables plugin
        .pipe(gtv({
                regex: /#_(.*?)_#/gi,                                       // regex
                configfile: 'src/app/config/i18n-translations-cs-CZ.json',  // localizationVariablesFile
                output: 'i18n-translations-cs-CZ.new.json'                  // outputFilename
            }
        ))
        // save output file to target directory
        .pipe(gulp.dest('src/app/config'));
});

Run it.

$ gulp i18n-check

#Licence MIT

Copyright (c) 2019 Michal Morávek

Package Sidebar

Install

npm i gulp-translate-variables

Weekly Downloads

8

Version

0.0.11

License

MIT

Unpacked Size

6.01 kB

Total Files

3

Last publish

Collaborators

  • michal.moravek