Đặ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 lịch sử"v5.5.1029/6/2025
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: Hàm t trong hono-intlayer
Hàm t trong gói hono-intlayer là công cụ cốt lõi để cung cấp các phản hồi được bản địa hóa trong ứng dụng Hono của bạn. Nó đơn giản hóa việc quốc tế hóa (i18n) bằng cách tự động chọn nội dung dựa trên ngôn ngữ ưu tiên của người dùng.
Tổng quan
Hàm t được sử dụng để định nghĩa và lấy bản dịch cho một tập hợp các ngôn ngữ nhất định. Nó tự động xác định ngôn ngữ phù hợp để trả về dựa trên cài đặt yêu cầu của ứng dụng khách, chẳng hạn như tiêu đề Accept-Language. Nếu ngôn ngữ ưu tiên không có sẵn, nó sẽ chuyển sang ngôn ngữ mặc định được chỉ định trong cấu hình của bạn.
Các tính năng chính
- Bản địa hóa động: Tự động chọn bản dịch phù hợp nhất cho ứng dụng khách.
- Chuyển sang ngôn ngữ mặc định: Chuyển sang ngôn ngữ mặc định nếu ngôn ngữ ưu tiên của ứng dụng khách không có sẵn, đảm bảo tính liên tục trong trải nghiệm người dùng.
- Nhẹ và nhanh: Được thiết kế cho các ứng dụng hiệu suất cao, đảm bảo chi phí tối thiểu.
- Hỗ trợ chế độ nghiêm ngặt: Thực thi việc tuân thủ nghiêm ngặt các ngôn ngữ đã khai báo để có hành vi đáng tin cậy.
Chữ ký hàm
Tham số
translations: Một đối tượng trong đó các khóa là mã ngôn ngữ (ví dụ:en,fr,vi) và các giá trị là các chuỗi dịch tương ứng.
Trả về
- Một chuỗi đại diện cho nội dung bằng ngôn ngữ ưu tiên của ứng dụng khách.
Tải Trình xử lý yêu cầu quốc tế hóa
Để đảm bảo chức năng quốc tế hóa do hono-intlayer cung cấp hoạt động chính xác, bạn phải tải middleware quốc tế hóa vào đầu ứng dụng Hono của mình. Điều này kích hoạt hàm t và đảm bảo xử lý đúng việc phát hiện ngôn ngữ và dịch thuật.
Đặt middleware app.use("*", intlayer()) trước bất kỳ tuyến đường nào trong ứng dụng của bạn để đảm bảo tất cả các tuyến đường đều được hưởng lợi từ việc quốc tế hóa:
Tại sao điều này là bắt buộc
- Phát hiện ngôn ngữ: Middleware
intlayerxử lý các yêu cầu đến để phát hiện ngôn ngữ ưu tiên của người dùng dựa trên tiêu đề, cookie hoặc các phương pháp cấu hình khác. - Ngữ cảnh dịch thuật: Thiết lập ngữ cảnh cần thiết để hàm
thoạt động chính xác, đảm bảo rằng các bản dịch được trả về đúng ngôn ngữ. - Ngăn ngừa lỗi: Nếu không có middleware này, việc sử dụng hàm
tsẽ dẫn đến lỗi thời gian chạy vì thông tin ngôn ngữ cần thiết sẽ không có sẵn.
Ví dụ sử dụng
Ví dụ cơ bản
Cung cấp nội dung được bản địa hóa bằng các ngôn ngữ khác nhau:
Yêu cầu của ứng dụng khách:
- Ứng dụng khách có
Accept-Language: frsẽ nhận đượcBienvenue!. - Ứng dụng khách có
Accept-Language: visẽ nhận đượcChào mừng!. - Ứng dụng khách có
Accept-Language: desẽ nhận đượcWelcome!(ngôn ngữ mặc định).
Xử lý lỗi
Cung cấp thông báo lỗi bằng nhiều ngôn ngữ:
Sử dụng các biến thể ngôn ngữ
Chỉ định bản dịch cho các biến thể ngôn ngữ cụ thể:
Các chủ đề nâng cao
Cơ chế chuyển đổi dự phòng (Fallback)
Nếu ngôn ngữ ưu tiên không có sẵn, hàm t sẽ chuyển sang ngôn ngữ mặc định được định nghĩa trong cấu hình:
Thực thi chế độ nghiêm ngặt
Cấu hình hàm t để thực thi việc tuân thủ nghiêm ngặt các ngôn ngữ đã khai báo:
Mở bảng trong một cửa sổ bật lên để xem toàn bộ nội dung dữ liệu một cách rõ ràng
| Chế độ | Hành vi |
|---|---|
strict | Tất cả các ngôn ngữ đã khai báo phải có bản dịch được cung cấp. Ngôn ngữ thiếu sẽ gây lỗi. |
inclusive | Các ngôn ngữ đã khai báo phải có bản dịch. Ngôn ngữ thiếu sẽ kích hoạt cảnh báo nhưng vẫn được chấp nhận. |
loose | Bất kỳ ngôn ngữ hiện có nào cũng được chấp nhận, ngay cả khi không được khai báo. |
Tích hợp TypeScript
Hàm t an toàn về kiểu khi được sử dụng với TypeScript. Định nghĩa một đối tượng bản dịch an toàn về kiểu:
Các lỗi thường gặp và cách khắc phục
Mở bảng trong một cửa sổ bật lên để xem toàn bộ nội dung dữ liệu một cách rõ ràng
| Vấn đề | Nguyên nhân | Giải pháp |
|---|---|---|
Hàm t không hoạt động | Middleware chưa được tải | Đảm bảo app.use("*", intlayer()) được thêm trước các tuyến đường. |
| Lỗi thiếu bản dịch | Chế độ nghiêm ngặt được bật mà không có đủ ngôn ngữ | Cung cấp tất cả các bản dịch được yêu cầu. |
Kết luận
Hàm t là một công cụ mạnh mẽ để quốc tế hóa backend. Bằng cách sử dụng nó một cách hiệu quả, bạn có thể tạo ra một ứng dụng toàn diện và thân thiện với người dùng hơn cho khán giả toàn cầu. Để biết thêm cách sử dụng nâng cao và các tùy chọn cấu hình chi tiết, hãy tham khảo tài liệu.