grunt-i18next-yaml v0.9.6
grunt-i18next-yaml
Grunt Plugin for assembling language-separated i18next JSON output files from language-merged YAML input files.
Getting Started
This plugin requires Grunt ~0.4.0
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-yaml --save-devOnce the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks("grunt-i18next-yaml");Task Options
encoding: (defaultutf8) the character encoding to use for reading the YAML and writing the JSON files.language: (defaulten) the language to extract from the YAML source files and to write to the JSON destination file.replacer: (defaultnull) the 2nd argument toJSON.stringify()when serializing the JSON destination file content.space: (default\t) the 3nd argument toJSON.stringify()when serializing the JSON destination file content.
Usage Example
With the following input files...
src/foo/foo.i18n.yaml:
foo:
en:
title: The Foo Component
sub-title: The best Component ever
de:
title: Die Foo Komponente
sub-title: Die beste Komponente, die es je gabsrc/bar/bar.i18n.yaml:
bar:
en:
title: The Bar Component
sub-title: The worst Component ever
de:
title: Die Foo Komponente
sub-title: Die schlechteste Komponente, die es je gab...and this Grunt build configuration...
Gruntfile.js:
// [...]
grunt.initConfig({
// [...]
"i18next-yaml": {
"en": {
src: "src/**/*.i18n.yaml",
dest: "build/app.i18n-en.json",
options: { language: "en" }
},
"de": {
src: "src/**/*.i18n.yaml",
dest: "build/app.i18n-de.json",
options: { language: "de" }
}
}
// [...]
});
// [...]...you will get the following output files:
build/app.i18n-en.json:
{
"foo": {
"title": "The Foo Component",
"sub-title": "The best Component ever"
},
"bar": {
"title": "The Bar Component",
"sub-title": "The worst Component ever"
}
}build/app.i18n-de.json:
{
"foo": {
"title": "Die Foo Komponente",
"sub-title": "Die beste Komponente, die es je gab"
},
"bar": {
"title": "Die Foo Komponente",
"sub-title": "Die schlechteste Komponente, die es je gab"
}
}