我希望能够将骨干+ Handlebars应用程序国际化,但我不清楚最好的方法是什么。是否有任何特定的国际化骨干+车把视图的最佳实践?
在服务器端,我正在使用SpringMVC并可以访问标准的java国际化设施。
答案 0 :(得分:3)
以下是客户方国际化的一些非常好的资源。
http://2012.jsconf.eu/speaker/2012/08/28/client-side-internationalization.html真的值得一看,它提供了对国际化问题的一个很好的解释,并且是以java脚本为重点的。
http://alexsexton.com/blog/2012/03/the-ux-of-language/关于国际化的好文章
用于国际化的JavaScript库:
标准:
答案 1 :(得分:1)
目前我正在使用具有(非常有限的)国际化的应用程序,并且在将对象与模型混合之前将其发送到Backbone.Marionette.Renderer.render
函数中的模板。如果你有一个类似的中心函数来渲染你的模板(我假设你有)你可以在那里做这个逻辑。例如,您可以在命名空间中混合国际化内容(预先选择的语言),例如
data = _.extend(model,{t:translations(:dutch))
留下如何从后端到前端的翻译,但我不太了解SpringMVC给你的建议。
答案 2 :(得分:1)
我们在Require / Backbone / Handlebars应用程序中使用i18next(http://i18next.com),效果非常好。它支持复数形式和上下文形式,并且存在从PO到JSON的转换器,反之亦然。 (PO在这里被广泛用于翻译。)文档很干净,并且有很多有用的例子。
可以在Handlebars中使用静态键(字符串)或动态变量。您必须设置自己的Handlebars助手,但i18next的文档提供了示例代码。
在这篇文章中,我添加了更多实现细节: https://stackoverflow.com/a/17728920/621690