1

我正在使用 Google Closure Template 来使用 JavaScript 编写我的应用程序的 UI。查看这个问题,了解我使用 Google Closure Template 的详细原因。我希望它是多语言的。我看到有一个--locales开关,并且还查看了项目中提供的示例herehere。在 README_FOR_EXAMPLES 文件中写道

+ simple_generated_en.js, features_generated_en.js,
simple_generated_x-zz.js, features_generated_x-zz.js SoyToJsSrcCompiler 在 simple.soy 和 features.soy 上执行时生成的 JS 文件(语言环境是 'en' 和 'x-zz'使用共享示例目录“示例”中翻译的 XLIFF 文件和上述编译时全局文件)。我们需要 simple.soy 和 features.soy,因为 features.soy 中的一些模板调用 simple.soy 中的模板。注意:有关生成这些文件的示例 Ant 目标(和命令行参数),请参阅顶级“build.xml”中的目标“js-features-example”。

我所期望的是,它将仅生成一个 JavaScript 代码库,该代码库将根据在调用模板函数之前在运行时提供的选项使用来自适当语言环境文件的所需字符串。闭包模板有可能吗?

4

1 回答 1

1

据我所知,您可以使用字典对象作为模板的参数。

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

该对象可以在服务器端从您的语言环境文件生成并通过脚本标签传输到 javascript。

否则,您可以根据语言环境将不同的编译模板文件加载到客户端。

也有i18n 的可能性,但这对你的问题有点没用,imo。

于 2011-08-10T10:45:42.433 回答