HTML自动化脚本

时间:2017-10-30 19:53:31

标签: javascript html localization gulp

当我作为前端开发人员工作时,我遇到了一个主要问题,需要花费大量时间和资源才能在我的文档中进行语言转换。

一个例子:我写了一封邮件,必须从英文转换成其他14种语言。你可以想象它很无聊又耗时。

我正在寻找一个解决方案,除了gulp-replace之外我什么都没找到,这可能很有用。这是一个简短的例子。

var replace = require('gulp-replace');

gulp.task('templates', function(){
  gulp.src(['file.txt'])
    .pipe(replace('foo', function(match) {
      // Replaces instances of "foo" with "oof" 
      return match.reverse();
    }))
    .pipe(gulp.dest('build/'));
});

我的想法是编写一个gulp任务,该文件包含HTML文件,一个包含所有翻译,另外13个文件包含以下标记:

<!-- REPLACE HEADER -->

在应该替换文本的位置,它采用行格式translations.html将其粘贴到标记位置,然后移动到另一个文件并对下一行执行相同的操作。

如果有任何有用的信息可以帮助我实现自动化,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

我想在javascript中推荐与GNU gettext类似的内容。没有正式的js gettext库,但您可以使用jquery i18n或推出自己的翻译机制:

将翻译放在JavaScript结构中:

var app = {}
var app.translations = {
  en:  { hello: "Hello!"
       , bye:   "Goodbye!"
       }
, de:  { hello: "Guten Tag!"
       , bye:   "Auf Wiedersehen!"
       }
};

然后您可以在JavaScript中阅读翻译字符串:

var curentLanguage = document.documentElement.lang || "en";
app.lang = app.translations[ currentLanguage ] || app.translations.en;

您可以使用以下代码:

alert( app.lang.hello );