2017-10-30 18 views
1

私はフロントエンドの開発者として働いていたので、私の文書の言語変換に多くの時間とリソースを要する大きな問題に遭遇しました。HTML自動化スクリプト

1つの例:私は英語から14の他の言語に変換する必要があるメールを書いた。あなたが想像することができるように、それは退屈で時間がかかります。

私は解決策を探していましたが、gulp-replace以外は何も見つかりませんでした。ここに短い例があります。

テキストを交換する必要があります代わりに
<!-- REPLACE HEADER --> 

、それが取る:

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ファイルに、すべての翻訳で1と13個の他のファイルを取るゴクゴクタスクを書くことですtranslations.htmlはタグの場所にペーストし、別のファイルに移動し、次の行で同じことを行います。

私は自動化に役立つ有益な情報に感謝します。

+2

あなたがテンプレート言語を探しているように思えますが、これは標準の1つです:https://mustache.github.io/ – jmcgriz

答えて

0

私は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); 
関連する問題