i18n与Marionette.js

时间:2015-12-03 10:44:01

标签: backbone.js marionette

我已经下载了require.js i18n插件来对视图进行一些翻译,他们使用了把手模板,但是html标签之间的字符串没有用花括号括起来。 模板是使用hbs的loades!

我是一个初学者,经过多次思考,我的任何尝试都取得了丰硕的成果。 我的视图如何呈现翻译的字符串? 非常感谢真实。

    // my View
    View = Marionette.ItemView.extend({

        template: theTmpl,

     //some events and logic

        initialize: function() {

        }

    });

1 个答案:

答案 0 :(得分:0)

要获得翻译后的字符串,您可以使用custom Handlebar helpers之类的

   Handlebars.registerHelper('$', function() {
    var args = Array.prototype.slice.apply(arguments),
      options = args.pop();

    // If multiple params are present then use sprintf
    if (args.length > 1) {
      return i18next.translate.apply(null, args);
    }

    // Otherwise pass in any hash params
    return i18next.translate(args[0], options.hash);
  });

在hbs模板中你可以像

一样写
{{$ 'Hello world'}}

如果您已将Hello World映射到Bonjour le monde,那么您会在浏览器中看到Bonjour le monde