编程语言
首页 > 编程语言> > javascript-如何为Hogan.js配置国际化?

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

作者:互联网

我正在寻找使用hogan.js在浏览器中创建html表单模板的方法.我读过hogan支持i18n,但是找不到如何工作的示例.我如何看过{{_i}}和{{i18n}},您如何将翻译后的文本传递给hogan以及如何在模板中添加标签?

解决方法:

似乎我在混淆Twitter的older forkMustache.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