我正在使用Google Closure Template来使用JavaScript编写应用程序的UI。 Look at this question了解我为何使用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 SoyToJsSrcCompiler执行时生成的JS文件 on simple.soy和features.soy(locales是'en'和'x-zz',带有来自共享示例目录'examples'的翻译后的XLIFF文件以及上面的编译时全局变量 文件)。我们需要simple.soy和features.soy,因为features.soy中的一些模板在simple.soy中调用模板。 注意:对于示例Ant目标(和命令行args) 生成这些文件,请在顶级'build.xml'中查看目标'js-features-example'。
我所期望的是它只生成一个JavaScript代码库,它将根据在调用模板函数之前在运行时提供的选项,使用相应语言环境文件中的所需字符串。封闭模板可以实现吗?
答案 0 :(得分:1)
据我所见,您可以使用词典对象作为模板的参数。
/**
* @param dict
*/
{template .example}
<h1>{$dict.title}</h1>
<div>{$dict.content}</div>
{/template}
此对象可以在服务器端从您的语言环境文件生成,并通过脚本标记转移到javascript。
否则,您可以根据区域设置将不同的已编译模板文件加载到客户端。
还有i18n possibility,但它对你的问题有点无用,imo。