我不知道应该如何在我的应用程序中使用 i18n-node 模块。
在 View 中,对于静态文本,这很简单,它工作得很好但是......
这是我的问题:
有时我必须设置一些错误消息或其他东西,例如:
req.flash('message', __('Unknown user %s', login));
然后我必须将此消息发送到我的 View ,例如:
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"
...
最佳答案
我知道这个问题有点老,但我遇到了同样的问题并找到了解决方案。
由于您使用了 req
对象中的 flash
方法,您还应该使用同一对象中可用的 __
方法:
req.flash('message', req.__('Unknown user %s', login));
这样它将使用请求的当前语言环境进行翻译。
关于javascript - 在服务器端 express 应用程序中使用 i18n-node,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24353769/