3

Javascript ファイルをローカライズしようとしています。たとえば、次のようになります。

var count = 0;
$('#choices .choice').each(function(i) {
    $('input', this).each(function() {
        count++
        $(this).attr('placeholder', '@Message("placeholder.choice") ' + count)
    })
})

Javascript ファイルが Scala HTML テンプレート内にある場合、これは明らかに機能しますが、専用のファイルに含めることをお勧めします。

まず、それが良い考えであるかどうか疑問に思っています.コンテンツが変更される可能性がある場合、ファイルをキャッシュするのはどうですか? この場合、パラメーターは 1 つだけです。URL にパラメーターを含めると、この問題は解決しますか? 例: /assets/javascripts/:lang/my-file.js.

本当の問題は、Play! を使ってそれができるかどうかです。フレームワーク?Javascript テンプレートがサポートされていないようです (または何か見逃していました)。正しく行う方法はありますか?

4

2 に答える 2

1

Play テンプレートと同じメカニズムを使用して JavaScript の国際化を可能にするモジュールがあり ます。

これは間違いなくあなたのニーズに合っています。私はしばらくそれを使用して成功を知っています。JavaScript ファイルを介して翻訳を公開し、適切なフィンガープリンティング構成でブラウザー キャッシュを使用できます。

于 2015-03-10T05:49:34.977 に答える
1

実際には、JavaScript を動的に翻訳する必要はありません。リソースの冗長な浪費です。代わりにmessages.en.jsmessages.de.jsなどの静的 JS ファイルを準備し、ユーザーの言語に基づいて必要なファイルをビューに直接含めます。

ここでは、簡単にする方法について説明します(JavaScriptアプローチ)

于 2013-04-02T12:30:14.590 に答える