2016-10-19 4 views
2

私はJavaScriptアプリケーションを開発しており、これまでにすべての文字列をプレーンテキストとして入力しています。翻訳するGALPのタスクJS

これは私がgettextに慣れているので、{{translatable_string}}のようなものにそれらをすべてラップし、ビルド中にすべてを検索/置換するようにしたいと思うようになっていますステップ。

私の質問は次のとおりです。 gettext replacerがそこにあるジェネリック(フレームワーク特有のangle-gettextやそれに類するものなど)はありませんか?

明らかにJavaScriptに接続する必要はなく、ファイルタイプであればファイルタイプで実行でき、{{translatable_string}}を翻訳する必要があります。

+0

はコメントを拒否し、これらのダウン有権者を生きるために手に入れました。質問に間違いがありますか? – powerbuoy

答えて

0

gulp-replaceを調べることができます。 this answerで説明したように、ストリーム内の任意の文字列を検索して置き換えることができます。

+0

おかげさまで、私は実際に他の仕事に使っていますが、正直なところ、私はそれを使って自分の翻訳全体をやり遂げるのに少しハッキリしています...もし誰かが少し頑強なものを提案したら、私は実際に '.po'と' .mo'ファイルを実際に使用するものが好きです。おかげさまで – powerbuoy

0

あなたのアプリケーションでページコンテンツの動的生成が可能な場合は、翻訳用の文字列のデータベースをお勧めします。英語から始めるか、どちらか正常なのですが、コンテンツをローカライズする必要は堅牢なシステムがなければ難しい問題です。単純なMongoDBテーブルを使用してコンテンツを格納することができ、アプリケーションにインターフェイスが必要な場合は、適切なローカライズされた文字列をロードできます。

if(err) alert("Please turn off caps lock"); 

なる可能性がある:例えばのように

if(err) alert(Please_turn_off_caps_lock.English); 

あなたは一口で静的なページを構築するために必要されている場合は、リプレースゴクゴクと一緒にデータベースが面白そう。 gulp-dataを使用して文字列を呼び出してパッケージ化すると、その文字列をgulp-replaceに渡してファイルを置き換えて変更できます。データベースやドキュメントストアの拡張性により、常に個々のファイルやツリーをハッキングせずにローカリゼーションを拡張することができます。

+0

ありがとうございます。私は実際にテキストを保存する方法の解決策を探していません、私は普通のように 'po' /' mo'ファイルを使用すると思っていました。私が必要とするのは、gulp/npmモジュールです。これは、ビルドステップ中にすべての翻訳文字列を検索/置換します。結局のところ 'gulp-replace'を使ってしまうかもしれません。gettextに関連するものが適切に存在するようには見えません。 – powerbuoy

0

お試しgulp-gettext-parser

var gettext = require("gulp-gettext-parser"); 
var rename = require("gulp-rename"); 

gulp.task("gettext", function() { 
    return gulp.src("src/**/*.js") 
     .pipe(gettext()) 
     .pipe(rename("bundle.po")) 
     .pipe(gulp.dest("dist/")); 
}); 
0

はおそらく、あなたが必要なものを見て、mustache.jsです:https://github.com/janl/mustache.js/

私は口ひげで動作するように使用されていないんだけど、私はそれで行わプロジェクトにいくつかの更新をしなければなりませんでした私はその能力に驚きました。

jade(現在はpugに改名されています)に精通していれば、似たようなものですが、最終的には、htmlファイルのみを生成する必要はなく、あらゆる種類のテキストファイルを生成できます。

このブログはNodejs以上の他のいくつかのテンプレート言語の違いを理解するのに役立つことができますhttps://strongloop.com/strongblog/compare-javascript-templates-jade-mustache-dust/

+0

ありがとうございます。私は実際にテンプレート言語を変更するつもりはありません。だから私は具体的にファイルの種類に関係なく動作するジェネリックモジュール(私はjs、CSS、html、さらにはsvgから何でもこの事を実行できるはずです) – powerbuoy

関連する問題