当我作为前端开发人员工作时,我遇到了一个需要花费大量时间和资源的主要问题,那就是我的文档中的语言转换。
一个例子:我写了一封邮件,它必须从英语转换成14种其他语言。正如你可以想象的那样,它既无聊又耗时。
我正在寻找一个解决方案,但除了吞噬替换之外什么也找不到,这可能是有用的。下面是一个简短的示例。
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/'));
});我的想法是编写一个接受HTML文件的吞咽任务,其中一个文件包含所有翻译内容,另外13个文件包含以下标记:
<!-- REPLACE HEADER -->在应该替换文本的地方,它采用行的形式,translations.html将其粘贴到标记位置,然后移动到另一个文件,并对下一行执行相同的操作。
如果任何有用的信息能帮助我实现自动化,我将不胜感激。
发布于 2017-10-31 20:00:12
我想推荐一些与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 );https://stackoverflow.com/questions/47023179
复制相似问题