使用未编译变量的把手助手

时间:2015-10-23 13:28:17

标签: javascript handlebars.js

我试图编写一个帮助程序(或其他可能有用的东西)来翻译包含未编译变量的字符串。我希望继续使用块表达式a[0],因为我有使用正则表达式设置的收割机。

所以问题是{{#i18n}}{{/i18n}}在被翻译之前被编译成{{#i18n}}Hi {{ name }}{{/i18n}},这会成为问题,而且不像您想象的那样可扩展。我希望它首先翻译Hi Bob然后编译它。我无法将变量移到外面,因为大多数其他句子更长,并且在我们的译员翻译时需要变量来获取上下文。

我现在的助手看起来像这样:

Hi {{ name }}

然后我编译并填充这样的数据:

hb.registerHelper('i18n', function(options) {
    return i18n.__({phrase: options.fn(this), locale: language});
});

我该如何解决这个问题,最好还是使用var compiled = hb.compile(layout.toString()); var html = compiled(templateData);

0 个答案:

没有答案