1.0.21 • Published 3 years ago
gulp-spfx-localization v1.0.21
gulp-spfx-localization
Auto generate localization file based on a csv file
Install
npm install gulp-spfx-localization --save-dev
Demo
Excel File
Example
| key | en-US | fr-FR |
|-------|-------|-------|
| Title | Title | Titre |
| Name | Name | Nom |
gulpfile.js
var gulp = require('gulp');
var i18n = require('.');
const beautify = require('gulp-jsbeautifier');
const prettier = require('gulp-prettier');
// Generate en-us.js and fr-fr.js translation
gulp.task('generate-translation', function () {
// Input Excel file
var files = gulp.src("./language.csv");
//Mapping of each language
var langMap = {
'en-us': "en-us",
'fr-fr': "fr-fr"
};
return files.pipe(i18n({
'keyColumnName': "key",
'langMap': langMap,
'fallback': 'en-us', // key of fallback language
'interfaceName': "IPwaReactWebPartStrings",
'moduleName': "PwaReactWebPartStrings",
'passColumns': ['Comment'],
'separator': ";"
}))
.pipe(beautify())
.pipe(gulp.dest('./language'));
})
//Beautify TS file
gulp.task('ts-beautify', ['generate-translation'], function () {
return gulp.src('./language/mystrings.d.ts')
.pipe(prettier({
singleQuote: true
}))
.pipe(gulp.dest('./language'));
});
gulp.task('spfx-localization', ['ts-beautify']);
Run gulp spfx-localization
output
// ./language/en-us.js
define([], function() {
return {
/*************** sheet 1 ***************/
"Title": "Title",
/*************** sheet 2 ***************/
"Name": "Name"
}
});
// ./language/fr-fr.js
define([], function() {
return {
/*************** sheet 1 ***************/
"Title": "Titre",
/*************** sheet 2 ***************/
"Name": "Nom"
}
});
// ./language/mystrings.d.ts
declare interface IPwaReactWebPartStrings {
Title: 'Titre';
Name: 'Nom';
}
declare module 'PwaReactWebPartStrings' {
const strings: IPwaReactWebPartStrings;
export = strings;
}
1.0.21
3 years ago
1.0.20
3 years ago
1.0.19
3 years ago
1.0.18
3 years ago
1.0.17
3 years ago
1.0.16
3 years ago
1.0.15
3 years ago
1.0.14
3 years ago
1.0.13
4 years ago
1.0.12
4 years ago
1.0.11
4 years ago
1.0.10
5 years ago
1.0.9
5 years ago
1.0.8
5 years ago
1.0.7
5 years ago
1.0.6
5 years ago
1.0.5
5 years ago
1.0.4
5 years ago
1.0.3
5 years ago
1.0.2
5 years ago
1.0.1
5 years ago
1.0.0
5 years ago