1

JavaScript を使用してアプリケーションの UI を作成するために、Google Closure Template を使用しています。Google Closure Template を使用している理由の詳細については、この質問を参照してください。多言語化してほしい。--localesスイッチがあることがわかり、プロジェクトで提供されているサンプルhereおよびhereも見ました。README_FOR_EXAMPLES ファイルには、次のように書かれています。

+ simple_generated_en.js、features_generated_en.js、
simple_generated_x-zz.js、features_generated_x-zz.js simple.soy および features.soy で SoyToJsSrcCompiler を実行したときに生成される JS ファイル (ロケールは「en」および「x-zz」)共有サンプル ディレクトリ 'examples' の翻訳済み XLIFF ファイルと、上記のコンパイル時のグローバル ファイル)。features.soy の一部のテンプレートは simple.soy のテンプレートを呼び出すため、simple.soy と features.soy の両方が必要です。注: これらのファイルを生成する Ant ターゲット (およびコマンド ライン引数) の例については、最上位の「build.xml」内のターゲット「js-features-example」を参照してください。

私が期待していたのは、テンプレート関数が呼び出される前に実行時に提供されるオプションに基づいて、適切なロケール ファイルから必要な文字列を使用する JavaScript コード ベースを 1 つだけ生成することでした。閉鎖テンプレートでそれは可能ですか?

4

1 に答える 1

1

私が見る限り、辞書オブジェクトをテンプレートのパラメーターとして使用できます。

/**
 * @param dict
 */
{template .example}
    <h1>{$dict.title}</h1>
    <div>{$dict.content}</div>
{/template}

このオブジェクトは、ロケール ファイルからサーバー側で生成し、スクリプト タグを介して JavaScript に転送できます。

それ以外の場合は、ロケールに応じて、コンパイルされた別のテンプレート ファイルをクライアント側にロードできます。

i18nの可能性もありますが、あなたの問題にはちょっと役に立ちません。

于 2011-08-10T10:45:42.433 に答える