我已经阅读了有关i18n节点模块的本地化但是它是通过node和express.js给出的,我使用的是hapi.s框架而不是express.js
我也读过关于https://github.com/codeva/hapi-i18n的信息但是没有工作。
请帮助解决这个问题。
答案 0 :(得分:0)
There is an example使用普通JavaScript对象i18n
提供简单的{}
用法。
但是,我使用以下代码添加请求语言。然后我使用expressjs
在相关的路由中间件上使用它。
您应该使用符合hapijs
/* ADDING LOCALE and REGION INFO TO THE REQUEST OBJECT */
app.use(function (req,res,next) {
// Finding the region of the request
let acceptsLanguages = req.acceptsLanguages()
let region
let idx
for (var i = 0; i < acceptsLanguages.length; i++) {
idx = acceptsLanguages[i].indexOf('-')
if (idx) {
region = acceptsLanguages[i].substr(idx + 1, 2).toLowerCase()
break
}
}
// Choosing the default region as U.S.
req.region = region || "us"
// Choosing 'en-US' as default
req.language = req.acceptsLanguages(appLocales) || 'en-US'
next()
})
我希望这会对你有所帮助。