19

Symfony2 を使用して、翻訳可能なアプリケーションを開発しています。*.jsこのアプリケーションでは、ファイルを縮小および結合するための Assetic が有効になってい*.cssます。しかし、私が書いた jQuery プラグインにはリテラル文字列が含まれています。たとえば、次のコードを考えてみましょう。

       $('<p>Are you sure you want to proceed?</p>').dialog({
            buttons: {
                "Yes" : function() {
                    // ...
                },
                "No" : function() {
                    // ...
                }
            }
        });

上記のスニペットでは、「よろしいですか...」、「はい」、「いいえ」は常に英語であり、.js ファイルで Twig テンプレートを使用して次のようなものを使用して翻訳することはできません。{{ "yes"|trans }}

私が知りたいのは、Twig を使用して組み込みの Symfony2 翻訳メカニズムを活用し、JS スクリプトのリテラル文字列を翻訳する最良の方法は何かということです。

たとえば、myscript.js.twigファイルを作成する方法はありますか?

4

3 に答える 3

34

たとえば、myscript.js.twig ファイルを作成する方法はありますか?

それは悪い考えのようです。


https://github.com/willdurand/BazingaExposeTranslationBundleを確認できます

または、自分で作成します。たとえば、これをテンプレートに含めます。

<script type="text/javascript">
    var translations = {
       // ... 
       'yes' : {{ 'yes' | trans }},
       // ...
    }
</script>

次に、変数を</body>使用する直前にJavaScriptファイルが含まれている場合。translations

于 2011-08-04T21:38:06.787 に答える