【问题标题】:How to internationalize a handlebars + backbone view?如何国际化车把 + 主干视图?
【发布时间】:2012-08-06 18:43:21
【问题描述】:

我希望能够将骨干网 + Handlebars 应用程序国际化,但我不清楚最好的方法是什么。是否有任何将主干 + Handlebar 视图国际化的特定最佳实践?

在服务器端,我使用 SpringMVC 并且可以访问标准的 java 国际化工具。

【问题讨论】:

    标签: spring-mvc backbone.js localization internationalization handlebars.js


    【解决方案1】:

    这里有一些非常好的关于客户端国际化的资源。

    http://2012.jsconf.eu/speaker/2012/08/28/client-side-internationalization.html 非常值得一看,它很好地解释了国际化问题,并且专注于 java 脚本。

    http://alexsexton.com/blog/2012/03/the-ux-of-language/关于国际化的好文章

    用于国际化的 JavaScript 库:

    标准:

    【讨论】:

      【解决方案2】:

      目前我正在使用具有(非常有限的)国际化的应用程序,我将一个对象与模型混合,然后将其发送到 Backbone.Marionette.Renderer.render 函数中的模板。如果你有一个类似的中心函数来呈现你的模板(我假设你有),你可以在那里执行这个逻辑。例如,您可以在命名空间中混合国际化内容(预先选择的语言),例如

      data = _.extend(model, {t: translations(:dutch))

      留下如何从后端到前端的翻译,但我对 SpringMVC 的了解还不够,无法就此提供建议。

      【讨论】:

      • 如何处理大量散布变量和可能标记的文本?
      【解决方案3】:

      我们在 Require/Backbone/Handlebars 应用程序中使用 i18next (http://i18next.com),效果非常好。它支持复数和上下文形式,并且有从 PO 到 JSON 的转换器,反之亦然。 (PO 在这里被广泛用于翻译。)文档很干净并且有很多有用的例子。

      可以在 Handlebars 中使用静态键(字符串)或动态变量。您必须设置自己的 Handlebars 助手,但 i18next 的文档为此提供了示例代码。

      在这篇文章中,我添加了更多实现细节: https://stackoverflow.com/a/17728920/621690

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-05-24
        • 2013-01-15
        • 1970-01-01
        • 2014-01-29
        • 2013-03-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多