Export Excel files (XLSX/XLS) to json files.
- Manage multiple or single json output file.
- Manage dynamic files path.
- Manage nested i18n keys.
Format of excel file :
Key | fr | de |
---|---|---|
a.b1 | value-fr-a.b1 | value-de-a.b1 |
a.b2 | value-fr-a.b2 | value-de-a.b2 |
b | value-fr-b | value-de-b |
c | value-fr-c | value-de-c |
d.z.y.a1 | value-fr-d.z.y.a1 | value-de-d.z.y.a1 |
d.z.y.a2 | value-fr-d.z.y.a2 | value-de-d.z.y.a2 |
fr.json :
{
"a": {
"b1": "value-fr-a.b1",
"b2": "value-fr-a.b2"
},
"b": "value-fr-b",
"c": "value-fr-c",
"d": {
"z": {
"y": {
"a1": "value-fr-d.z.y.a1",
"a2": "value-fr-d.z.y.a2"
}
}
}
}
de.json :
{
"a": {
"b1": "value-de-a.b1",
"b2": "value-de-a.b2"
},
"b": "value-de-b",
"c": "value-de-c",
"d": {
"z": {
"y": {
"a1": "value-de-d.z.y.a1",
"a2": "value-de-d.z.y.a2"
}
}
}
}
fr-a.json :
{
"a": {
"b1": "value-fr-a.b1",
"b2": "value-fr-a.b2"
}
}
...
First, install gulp-i18n-excel2json
as a development dependency:
> npm install --save-dev gulp-i18n-excel2json
Then, add it to your gulpfile.js
:
var i18nExcel2json = require('gulp-i18n-excel2json');
gulp.task('i18n', function() {
gulp.src('config/**.xlsx')
.pipe(i18nExcel2json({
destFile : '__lng__/translation.__ns__.json',
readable: true,
colKey: 'A',
colValArray: ['B', 'C'],
rowStart: 2,
rowHeader: 1
}))
.pipe(gulp.dest('build'))
});
Type: string
Default: locales/__lng__/__ns__.json
The filenames path of output.
__lng__
: replaced by current lang
__ns__
: replace by current namespace (each top level of i18n keys)
Type: boolean
Default: true
Output human-readable json files (multiple lines).
Type: string
Default: A
The column name from excel file representing i18n keys.
Type: array[string]
Default: ['B']
List of excel columns to output each as a language.
Type: number
Default: 2
Start to output json after the specified excel line.
Type: number
Default: 1
Excel line representing the header with the lang key for each translation.
MIT © Kirakishin (fork from Chris)