gulp-translate-variables v0.0.11
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