【问题标题】:how to use i18n module with hapi.js?如何将 i18n 模块与 hapi.js 一起使用?
【发布时间】:2016-11-23 17:37:16
【问题描述】:
【问题讨论】:
标签:
node.js
internationalization
hapijs
【解决方案1】:
There is an example 提供了一个简单的 i18n 用法和纯 JavaScript 对象 {}。
但是,我使用以下代码添加请求语言。然后我通过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()
})
希望对你有帮助。