1

我有以下json结构:

{
 locale : "en",
 text {
     "en": "Hello",
     "fr": "Bonjour"
 }
}

我想在我的模板中选择语言环境并在访问文本时使用它。我认为这样的事情可能会奏效:

{#text foo=locale}
    {text.foo}
{/text}

但我什么也得不到。

有任何想法吗?谢谢。

4

2 回答 2

1

如果你使用 Dust 的 LinkedIn 分支,你可以简单地做{text[locale]}. 我在这里的 LinkedIn 操场上对此进行了测试。

于 2013-10-28T03:42:12.350 回答
0

最后通过辅助功能设法解决了这个问题。

辅助函数看起来像这样:

dust.helpers.locale = function(chunk, ctx, bodies, params){
    var locale = params.loc;
    var text = params.txt;
    return chunk.write(text[locale]);
}

然后我可以像这样从模板中调用它:

{@locale loc=locale txt=text /}

不确定是否有办法在没有助手的情况下执行此操作,但这似乎工作正常。

于 2013-10-27T21:12:03.270 回答