【发布时间】:2014-06-22 17:24:44
【问题描述】:
我不知道应该如何在我的应用程序中使用 i18n-node 模块。
在视图中,对于静态文本,这很简单,但效果很好,但是...
这是我的问题:
有时我必须设置一些错误消息或其他内容,例如:
req.flash('message', __('Unknown user %s', login));
然后我必须将此消息发送到我的视图,例如:
res.render('myview', {message: req.flash('message')});
但首先,我的消息"Unknown user %s"只会设置在默认语言json文件中,然后即使我把"Unknown user %s": "Something in the client language"放在客户端语言json文件中,它仍然会显示"Unknown user myUserLogin"。
有人可以分享一个很好的工作示例吗?
编辑:因为翻译后的字符串中有一个变量,所以我不能这样做:
res.render('myview', {message: __(req.flash('message'))});
因为它会在客户端语言 json 文件中设置"Unknown user myUserLogin",而不是"Unknown user %s"...
【问题讨论】:
-
当您提到客户端语言文件的输出为
"Uknown user myUserLogin"时,我有点困惑。我将假设您说输出仍然是默认语言而不是客户端的语言。当您覆盖语言环境时会发生什么?即:__({phrase: 'Unknown user {{user}}, locale: 'fr'}, { user: 'Marcus' });
标签: javascript node.js express internationalization i18n-node