使用来自把手模板的动态密钥来加载i18next密钥

时间:2014-05-27 18:01:40

标签: handlebars.js i18next

我尝试使用把手在i18next中通过变量查找键:

通常我会做{{ t "key.name" }}但对我而言,name是对象的属性,其值可以是任何值。我尝试过做{{ t "key[name]" }}但是没有用。

有办法做到这一点吗?

app.json:

foo: {
  "one": "One",
  "two" : "Two"
}

在手柄中,{{name}}会产生one or two

1 个答案:

答案 0 :(得分:0)

不确定这是否是最佳解决方案,但我稍微修改了帮助程序,以便我可以传递两个参数:

{{ t "key" name }}

然后在帮助者里面:

Handlebars.registerHelper('t', function(key, name) {
  var key = key+"."+name;
  //replace this with reference to i18n, I just created a wrapper around it called Translation
  var result = Translation.get(key); 
  return new Handlebars.SafeString(result);
});