0
在我們的AngularJS項目中,翻譯字符串使用angular-translate的<translate>
標記進行標記,並使用gulp-angular-translate-extract
進行提取。這由Weblate使用POST_UPDATE_SCRIPT
自動運行,因此開發人員不應手動提取字符串。Weblate:使用POST_UPDATE_SCRIPT更新基本語言文件
這是後更新腳本:
#!/bin/bash
gulp --gulpfile gulp-i18n-extract.js
以供參考,這是gulpfile:
#!/usr/bin/env gulp --gulpfile
'use strict';
var gulp = require('gulp'),
angularTranslate = require('gulp-angular-translate-extract');
gulp.task('default', function() {
return gulp.src('src/**/*.{html,js}')
.pipe(angularTranslate({
lang: ['en'],
defaultLang: 'en',
suffix: '.lang.json',
safeMode: false,
dest: './src/languages',
stringifyOptions: true, // Sort alphabetically.
verbose: false
}))
.pipe(gulp.dest('./src'));
});
運行腳本,將提取的字符串。因此,改變基本語言文件顯示在庫細節視圖粘貼如下:
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: src/languages/en.lang.json
no changes added to commit (use "git add" and/or "git commit -a")
我的問題是,這些變化不會被Weblate注意到,所以爲了得到更新串入Weblate,我必須手動運行:
django-admin loadpo --force --all
此外,當我提交更改時,基本語言文件將不會被提交。
我在這裏做錯了什麼?
感謝您的快速回答和文檔更新。更不用說Weblate本身:) –