我有一個項目,我正在使用Angular 1.6並且我正在使用angular-translate將項目國際化。從HTML和JS文件中提取翻譯
角轉換安裝,配置和工作,如果我添加一些文字,如:
{{'Test' | translate}}
<span translate>Test</span>
和手動添加關鍵「測試」到文件es.json和en.json,Angular翻譯密鑰沒有問題。
現在我試圖自動從HTML和JS文件中提取所有翻譯的鍵的過程。
我已經挖了一圈,發現這2包:
- 一飲而盡,角翻譯提取物
- 一飲而盡 - 角轉換,提取
我gulpfile.js有一個叫做「watch」的任務,這個任務正在觀看JS & HTML文件的更改。我的想法是在監視任務中調用另一個任務「翻譯」。
我試圖用上面提到的2個庫創建任務「翻譯」。我嘗試了這些庫的幾種配置,但沒有一個庫提取這些翻譯並將它們添加到es.json 012. esp.json中。
這是我的嘗試小例子:
一飲而盡,角翻譯提取物
var angularTranslate = require('gulp-angular-translate-extract');
gulp.task('translate', function() {
return gulp.src(['./src/app/**/*.html', './src/app/**/*.js'])
.pipe(angularTranslate({
lang: ['en', 'es'],
dest: 'src/app/locale/',
suffix: '.json',
prefix: '',
}))
});
一飲而盡 - 角轉換,提取
var extractTranslate = require('gulp-angular-translate-extractor');
gulp.task('taskName', function() {
var i18nsrc = ['./src/app/**/*.html', './src/app/**/*.js']; // your source files
var i18ndest = './src/app/locale'; //destination directory
return gulp.src(i18nsrc)
.pipe(extractTranslate({
defaultLang: 'en',
lang: ['en', 'es'],
dest: i18ndest,
prefix: '',
suffix: '.json',
safeMode: false,
stringifyOptions: true,
}))
.pipe(gulp.dest(i18ndest));
});
隨着上面的配置翻譯任務在每次修改HTML或JS fil時調用E,但翻譯鍵不被提取,我的意思是翻譯的鑰匙沒有被自動添加到es.json和en.json
- 我缺少的是在這裏嗎?我是否缺少一些額外的吞嚥配置?