小编Ami*_*ani的帖子

AdonisJS - 如何根据 Antl Provider 的语言环境返回验证消息

我正在对我的 API 应用国际化,但我遇到了一些与 Antl 和验证消息相关的问题。

对于标准响应消息,我将根据用户设置的区域设置返回。我创建了一个切换语言环境的路由,并设置为一个 cookie 和一个全局中间件,以从 cookie 中获取语言环境,然后我只返回存储在语言环境资源中的消息。

全局中间件:

class Locale {
  async handle ({ request, antl }, next) {
    const lang = request.cookie('lang')

    if (lang) {
      antl.switchLocale(lang)
    }

    await next()
  }
}
Run Code Online (Sandbox Code Playgroud)

路线:

Route.get('/switch/:lang', ({ params, antl, request, response }) => {
  // Getting the current available locales
  const locales = antl.availableLocales()

  try {
    // Saving into cookies
    if (locales.indexOf(params.lang) > -1) {
      response.cookie('lang', params.lang, { path: '/' })
    }

    return response.status(200).send({ message: 'Locale changed succesfully' }) …
Run Code Online (Sandbox Code Playgroud)

javascript backend node.js adonis.js lucid

7
推荐指数
1
解决办法
1315
查看次数

标签 统计

adonis.js ×1

backend ×1

javascript ×1

lucid ×1

node.js ×1