javascript-如何为Hogan.js配置国际化?
作者:互联网
我正在寻找使用hogan.js在浏览器中创建html表单模板的方法.我读过hogan支持i18n,但是找不到如何工作的示例.我如何看过{{_i}}和{{i18n}},您如何将翻译后的文本传递给hogan以及如何在模板中添加标签?
解决方法:
似乎我在混淆Twitter的older fork和Mustache.js,以及从Twitter分离出的Hogan与胡子分离器.分支确实支持{{_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的国际化是通过普通的胡子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);
有关提供lambda的更多信息,请参见http://mustache.github.com/mustache.5.html.因此,主要区别在于,使用Hogan渲染时,必须始终在上下文中提供查找翻译的功能,而髭叉将查找全局方法.
标签:hogan-js,mustache,javascript 来源: https://codeday.me/bug/20191101/1985657.html