Tác giả:
    Ngày tạo:2026-09-19Cập nhật lần cuối:2026-09-19

    Khóa Context yêu cầu Intlayer

    Export Intlayer đóng vai trò là mã định danh lưu trữ context yêu cầu trong Remix 3. Nó cho phép truy xuất trạng thái Intlayer trực tiếp từ đối tượng context của Remix bên trong các route handler hoặc middleware tùy chỉnh.

    Cách sử dụng

    Khi middleware intlayer() chạy, nó lưu một đối tượng IntlayerState vào context yêu cầu dưới khóa Intlayer. Bạn có thể truy xuất nó bên trong bất kỳ route handler nào:

    src/server.ts
    import { createRouter } from "remix/router";
    import { intlayer, Intlayer } from "remix-intlayer";
    
    const router = createRouter({
      middleware: [intlayer()],
    });
    
    router.get("/api/profile", (context) => {
      // Truy cập qua context.get(Intlayer)
      const { locale, defaultLocale, availableLocales } = context.get(Intlayer);
    
      return Response.json({
        locale,
        defaultLocale,
        availableLocales,
      });
    });
    

    Bạn cũng có thể truy cập nó bằng cách viết tắt qua thuộc tính trực tiếp context.intlayer:

    ts
    router.get("/api/status", (context) => {
      const currentLocale = context.intlayer.locale;
      return Response.json({ status: "ok", locale: currentLocale });
    });
    

    Cấu trúc IntlayerState

    Đối tượng IntlayerState chứa:

    Thuộc tínhKiểuMô tả
    localeDeclaredLocalesLocale được xác định cho yêu cầu hiện tại.
    defaultLocaleDeclaredLocalesLocale dự phòng được định nghĩa trong intlayer.config.ts.
    availableLocalesDeclaredLocales[]Danh sách tất cả các locale được hỗ trợ đã cấu hình cho dự án.

    Tài liệu liên quan