Creation:2026-01-30Last update:2026-01-30

    intlayer AdonisJS 中间件文档

    用于 AdonisJS 的 intlayer 中间件检测用户的语言区域,并通过请求上下文提供翻译函数。它还允许在请求流中使用全局翻译函数。

    用法

    router.use([() => import("adonis-intlayer/middleware")]);
    import router from "@adonisjs/core/services/router";
    import { t } from "adonis-intlayer";
    
    router.get("/", async () => {
      return t({
        en: "Hello",
        fr: "Bonjour",
      });
    });

    描述

    该中间件执行以下任务:

    1. 语言区域检测:它分析请求(标头、cookie 等)以确定用户的首选语言区域。
    2. 上下文设置:它使用语言区域信息填充请求上下文。
    3. Async Local Storage:它使用 cls-hooked 管理异步上下文,允许全局 Intlayer 函数(如 tgetIntlayergetDictionary)访问请求特定的语言区域,而无需手动传递。
    注意:要使用 cookie 进行语言区域检测,请确保在您的应用程序中配置并使用了 @adonisjs/cookie