首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在服务器端express应用程序中使用i18n-node

在服务器端express应用程序中使用i18n-node
EN

Stack Overflow用户
提问于 2014-06-23 01:24:45
回答 1查看 1.1K关注 0票数 3

我不知道应该如何在应用程序中使用i18n-node模块。

在视图中,对于静态文本,这很容易,它可以完美地工作,但是...

这就是我的问题:

有时我必须设置一些错误消息或其他信息,例如:

代码语言:javascript
复制
req.flash('message', __('Unknown user %s', login));

然后,我将不得不将此消息发送给我的视图,例如:

代码语言:javascript
复制
res.render('myview', {message: req.flash('message')});

但首先,我的消息"Unknown user %s"将仅在默认语言json文件中设置,然后即使我将"Unknown user %s": "Something in the client language"放入客户机语言json文件中,它仍将显示"Unknown user myUserLogin"

有没有人有很好的工作例子可以分享?

Edit:因为在翻译后的字符串中有一个变量,所以我不能这样做:

代码语言:javascript
复制
res.render('myview', {message: __(req.flash('message'))});

因为它将在客户端语言json文件中设置"Unknown user myUserLogin",而不是"Unknown user %s"...

EN

回答 1

Stack Overflow用户

发布于 2015-01-07 07:46:50

我知道这个问题有点老了,但我遇到了同样的问题,并找到了解决方案。

由于您使用的是req对象中的flash方法,因此还应使用同一对象中提供的__方法:

代码语言:javascript
复制
req.flash('message', req.__('Unknown user %s', login));

这样,它将使用请求的当前区域设置进行翻译。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24353769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档