Bundle language resource files for i18next.
Switch branches/tags
Nothing to show
Clone or download

README.md

grunt-i18next Build Status npm version devDependency Status

Bundle language resource files for i18next.

Getting Started

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-i18next --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-i18next');

i18next task

Run this task with the grunt i18next command.

This multi task supports all the file mapping format Grunt supports. Please read Globbing patterns and Building the files object dynamically for additional details.Note the following task configuration properties:

src

This required property specifies the folders (not files!) the plugin should look for translation json files.

include

This optional custom property specifies which files to include and in which order. If it is omitted, all json files will be included in the specified src folders. Any grunt globbing pattern can be used (array or string).

dest

The destination folder.

rename

See grunt documentation. Used to rewrite destination URLs. Amongst other things it allows one task to create multiple output files.

cwd

See grunt documentation.

For more general information on specifying targets, files and options see the grunt Configuring Tasks guide.

Simple Usage Example

This task finds any files in locales folders and merges the ones that have the same file name. The resulting merged files are placed in application/languages.

i18next: {
  locales:{
    src: ['application/**/locales'],
    dest: 'application/languages'
  }
}

Complex Usage Example

This task finds .json files in folders that are direct descendants of src/languages, excluding files called "ignore-this.json". The task merges all the files in each src folder separately. The resulting files have file names "translation-combined.json", and are placed under application/languages in their own subfolders that match the src subfolders.

i18next: {
  complex: {
    cwd: 'src/languages',
    expand: true,
    src: ['*/'],
    include: ['**/*.json', '!**/ignore-this.json'],
    rename: function(dest, src) {
      return dest + '/' + src + 'translation-combined.json';
    },
    dest: 'application/languages'
  }
}

Release History

  • 2017-09-14 v0.2.0 Added support for processing files in a specific order
  • 2016-07-21 v0.1.0 Added support for include and rename
  • 2015-03-04 v0.0.2 Renamed to grunt-i18next
  • 2013-09-28 v0.0.1 First version