Đặt câu hỏi và nhận tóm tắt tài liệu bằng cách tham chiếu trang này và nhà cung cấp AI bạn chọn
Lịch sử phiên bản
- "Khởi tạo tài liệu middleware intlayer"v9.5.519/9/2026
Nội dung của trang này đã được dịch bằng AI.
Xem phiên bản mới nhất của nội dung gốc bằng tiếng AnhNếu bạn có ý tưởng để cải thiện tài liệu này, vui lòng đóng góp bằng cách gửi pull request trên GitHub.
Liên kết GitHub tới tài liệuSao chép Markdown của tài liệu vào bộ nhớ tạm
Tài liệu Middleware intlayer cho Remix 3
Middleware intlayer cho Remix 3 quản lý lớp quốc tế hóa trên toàn bộ ứng dụng của bạn. Được xây dựng trên các tiêu chuẩn web (Request và Response), nó xử lý định tuyến locale (chuyển hướng và viết lại nội bộ), phát hiện locale của yêu cầu, lưu locale vào cookie và tiêu đề, đồng thời thiết lập một phạm vi AsyncLocalStorage để các handler và component phía sau có thể truy cập bản dịch mà không cần truyền props qua nhiều cấp.
Cách sử dụng
Đăng ký middleware intlayer khi khởi tạo router Remix 3 của bạn:
Sao chép mã vào clipboard
Mô tả
Middleware intlayer thực hiện các tác vụ sau:
- Chuẩn bị từ điển: Chạy
prepareIntlayerkhi khởi động để đảm bảo tất cả từ điển được tạo ra đã được build và sẵn sàng. - Định tuyến Locale: Đánh giá yêu cầu theo chiến lược định tuyến đã cấu hình (
prefix_always,prefix_as_needed,no_prefix):- Chuyển hướng: Nếu người dùng truy cập
/aboutvà cần được định tuyến đến tiền tố locale (ví dụ/fr/about), middleware sẽ trả về phản hồi chuyển hướng với các tiêu đềlocationvàSet-Cookiephù hợp. - Viết lại nội bộ: Khi người dùng truy cập
/fr/about, URL được viết lại nội bộ để route handler của bạn khớp với/about, trong khi locale đã phân giải được ghi nhận làfr. - Bí danh URL bản địa hóa: Tuân theo các quy tắc viết lại URL được định nghĩa trong
intlayer.config.ts(ví dụ viết lại/fr/aboutthành/fr/a-propos).
- Chuyển hướng: Nếu người dùng truy cập
- Phân giải Locale: Phát hiện locale đang hoạt động dựa trên tiền tố URL, cookie đã lưu, tiêu đề tùy chỉnh hoặc tùy chọn trình duyệt
Accept-Language. - Chèn Context:
- Gắn
IntlayerState(locale,defaultLocale,availableLocales) vàoRequestContextcủa Remix dưới khóaIntlayervàcontext.intlayer. - Chạy phần còn lại của yêu cầu bên trong phạm vi
AsyncLocalStorage(requestStorage), cho phép gọiuseIntlayer,useDictionaryvàuseLocalemột cách gọn gàng trong handler, view và component.
- Gắn
- Lưu trữ: Gắn các tiêu đề và cookie locale gửi đi vào phản hồi HTTP cuối cùng để lưu lại lựa chọn của người dùng.
Tham số
Hàm intlayer chấp nhận tùy chọn IntlayerMiddlewareOptions:
Sao chép mã vào clipboard
Truy cập Context trực tiếp
Ngoài việc sử dụng các hook, bạn có thể truy cập IntlayerState đã được phân giải trực tiếp từ context yêu cầu của Remix:
Sao chép mã vào clipboard
