gpt4 book ai didi

javascript - 如何为 Hogan.js 配置国际化?

转载 作者:行者123 更新时间:2023-11-29 10:22:13 33 4
gpt4 key购买 nike

我正在寻找使用 hogan.js在浏览器中创建 html 表单模板。我读过 hogan 支持 i18n,但我找不到它如何工作的示例。你如何将翻译后的文本传递给 hogan,你在模板中放置了什么标签,我见过 {{_i}} 和 {{i18n}}?

最佳答案

看来我混淆了 older forkMustache.js来自推特,Hogan一个单独的 mustache 编译器也来自 twitter。 fork 确实支持用于国际化的 {{_i}} 标签。然后,这将调用一个名为 _ 的全局函数,您可以在其中提供自己的方法来查找翻译后的值。例如

translatedStrings = {
name: "Nom";
}

function _(i18nKey) {
return translatedStrings[i18nKey];
}

var template = "{{_i}}Name{{/i}}: {{username}}",
context = {username: "Jean Luc"};

Mustache.to_html(template, context);

将返回“Nom: Jean Luc”。而 Hogan 国际化是通过普通的 mustache lambda 表达式实现的,例如:

translatedStrings = {
name: "Nom";
}

var template = "{{#i18n}}Name{{/i18n}}: {{username}}",
context = {
username: "Jean Luc",
i18n: function (i18nKey) {return translatedStrings[i18nKey];}
};

Hogan.compile(template).render(context);

参见 http://mustache.github.com/mustache.5.html有关提供 lambda 的更多信息。所以主要区别在于,当使用 Hogan 进行渲染时,必须始终在上下文中提供查找翻译的功能,而 mustache 分支将查找全局方法。

关于javascript - 如何为 Hogan.js 配置国际化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9211217/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com