代码之家  ›  专栏  ›  技术社区  ›  AlvaroAV

从HTML和JS文件中提取翻译

  •  1
  • AlvaroAV  · 技术社区  · 7 年前

    角度1.6 角度平移 使项目国际化。

    如果我添加一些文本,例如:

    {{'Test' | translate}}
    <span translate>Test</span>
    

    添加 钥匙 锿。json ,角度平移关键点没有问题。

    我一直在四处寻找,发现了这两个包:

    • 吞咽角平移提取器

    有一个名为“watch”的任务,该任务是监视JS&更改的HTML文件。我的想法是在watch任务中有另一个任务“translation”。

    以下是我尝试的小例子:

    吞咽角度平移提取

    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));
    });
    

    ,我的意思是翻译的键不会自动添加到 锿。json 恩。json

    • 我错过了什么?我错过了一些额外的大口配置吗?
    1 回复  |  直到 7 年前
        1
  •  0
  •   AlvaroAV    7 年前

    吞咽角平移提取器

    似乎存在的主要问题是相关路径:

    # Source paths
    ./src/app/**/*.html
    ./src/app/**/*.js
    
    # Dest paths
    ./src/app/locale
    

    var extractTranslate = require('gulp-angular-translate-extractor');
    
    gulp.task('translate', function () {
      var i18nsrc = [path.join(conf.paths.src, '/app/**/*.html'), path.join(conf.paths.src, '/app/**/*.js')];  // your source files  
      var i18ndest = path.join(conf.paths.src, '/app/locale/')
      return gulp.src(i18nsrc)
          .pipe(extractTranslate({
            defaultLang: 'en',         
              lang: ['en', 'es'],
              dest: i18ndest,
              prefix: '',
              suffix: '.json',
              safeMode: false,
              stringifyOptions: true,
          }))
          .pipe(gulp.dest(i18ndest));
    });
    

    我的问题代码的主要区别在于,我使用了以下路径:

    # Source paths
    path.join(conf.paths.src, '/app/**/*.html')
    path.join(conf.paths.src, '/app/**/*.js')
    
    # Dest paths
    path.join(conf.paths.src, './src/app/locale')
    

    是变量conf.paths。src-like:

    配置js

    exports.paths = {
      src: 'src',
      dist: 'release',
      devDist: 'dev-release',
      tmp: '.tmp',
      e2e: 'e2e'
    };