作为前端开发人员,我遇到了一个需要花费大量时间和资源的主要问题,那就是文档中的语言转换。
举个例子:我写了一封邮件,必须将其从英语转换为 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将其粘贴到标记位置,然后移动到另一个文件并对下一行执行相同的操作。
如果您能提供任何有助于我实现自动化的有用信息,我将不胜感激。
最佳答案
我想推荐类似GNU gettext的东西在 JavaScript 中。官方没有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 );
关于javascript - HTML 自动化脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47023179/