【问题标题】:how to use i18n module with hapi.js?如何将 i18n 模块与 hapi.js 一起使用?
【发布时间】:2016-11-23 17:37:16
【问题描述】:

我已经阅读了 i18n 节点模块的本地化信息,但它是通过 node 和 express.js 给出的,我使用 hapi.s 框架而不是 express.js

我还阅读了有关 https://github.com/codeva/hapi-i18n 的信息,但无法正常工作。

请帮忙解决这个问题。

【问题讨论】:

  • 希望对大家有所帮助,看看hapi-i18n

标签: 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()
})

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2021-12-26
    • 2012-10-18
    • 2018-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多