我目前正在使用 Handlebars.js(与 Backbone 和 jQuery 相关联)制作一个几乎完全由客户端呈现的 Web 应用程序,并且我遇到了这个应用程序的国际化问题。
我怎样才能让它工作?
有没有插件?
最佳答案
我知道这已得到解答,但我想分享我的简单解决方案。为了使用 I18n.js(我们在工作中的项目中使用它)构建 Gazler 的解决方案,我只使用了一个非常简单的 Handlebars 助手来促进动态本地化的过程:
处理程序
Handlebars.registerHelper('I18n',
function(str){
return (I18n != undefined ? I18n.t(str) : str);
}
);
模板
<script id="my_template" type="x-handlebars-template">
<div>{{I18n myVar}}</div>
</script>
这样做的主要优点是整个 json 对象没有昂贵的前/后处理。更不用说传入的 json 是否包含嵌套对象/数组,如果对象很大,查找和解析它们所花费的时间可能会很昂贵。
干杯!
关于javascript - 如何使用 Handlebars.js( mustache 模板)制作 i18n?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7760332/