将dynamic国际资源从节点传递到玉器

我想要在出现错误时向用户显示自定义错误页面。 我的问题是,它必须是国际化的。

理念:

validation在节点 – >如果不被接受 – > res.render('error', {message: errorMessageNameTooLong}); – >在玉,渲染到一个占位符,从我的翻译translation.json p(data-i18n='errorMessageNameTooLong')

问题:

我怎样才能传递这个消息,使得VALUE成为jade中的data-i18n属性?

到目前为止,我坚持预格式化我的玉模板到p(data-i18n="errormsg")但是这使得不可能显示(即翻译)多个错误。 我想p有一个自定义的data-i18n属性,这取决于它实际上是什么错误…

我希望这是可以理解的:D

谢谢您的帮助 :)

你的答案是一种方式,但有一个更容易的答案:

p(data-i18n=errMsg)

只要把variables后面的=没有""

看看这个问题的深入解释或检查正式文件 。

好的,我其实是自己发现了它,这是绝对简单的。

解:

router.post( '/寄存器'):

 if(username.length > MAX_USERNAME_LENGTH) { res.render('error', {title: "error.error", errMsg: "error.nameTooLong"}); } 

error.jade:

 block content h1(data-i18n="#{title}") p(data-i18n="#{errMsg}")