当我作为前端开发人员工作时,我遇到了一个主要问题,需要花费大量时间和资源才能在我的文档中进行语言转换。
一个例子:我写了一封邮件,必须从英文转换成其他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将其粘贴到标记位置,然后移动到另一个文件并对下一行执行相同的操作。
如果有任何有用的信息可以帮助我实现自动化,我将不胜感激。
答案 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 );