多言語ページを作成しようとしていますが、異なる言語に異なるjsonファイルを使用し、ファイル名に言語接尾辞付きファイルを出力することを望んでいました。Nunjucksは複数の言語でファイルを出力することができます
これまでデータファイルをロードしていて、そのファイルから1つのオブジェクトを出力することはできませんでした。すべてをnunjuks {for item in obj}
でしか実行できません。
私がしなければならないことは、各オブジェクトを別々に出力し、言語ごとに2つの異なるファイルを出力することです。
これは英語のファイルである、フランスの1が同じであるだけで、それはフランス語のテキストを持っています
{
"hello": "Hello",
"title": "Awesome Website"
}
これは一気作業です:
gulp.task('nunjucks', function() {
return gulp.src('source/pages/**/*.nunjucks')
.pipe(data(function() {
return require('./source/en.json');
}))
.pipe(nunjucksRender({
path: ['source/templates'],
manageEnv: manageEnvironment
}))
.on('error', onError)
// output files in app folder
.pipe(gulp.dest(''));
});
そして、これは私が考えていた方法です出力テンプレートファイルで「こんにちは」の値が、それは動作しません:
{{hello}}
あなたはNunjucksで変数をレンダリングするために、各側の2つの中括弧が必要になります。 '{{hello}} ' あなたのJSONファイルとNunjucksファイルでは、あなたが望んでいる結果がはっきりしません。言語ごとにJSONファイルとHTMLファイルを出力しますか? –
私はそれを理解しました。私は自分の質問に答えます。私がしなければならなかったのは、言語ごとに2つの別々のGulpタスクを作成することでした。 –