Đặ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
- "Initial documentation"v9.4.023/8/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: Hàm getIntlayer trong intlayer
Mô tả
Hàm getIntlayer chọn một từ điển theo khóa của nó và trả về nội dung được diễn giải cho một locale nhất định. Đây là phiên bản độc lập với framework tương ứng với hook useIntlayer: cùng nội dung, cùng selectors, nhưng có thể sử dụng ở bất kỳ đâu mà React context không khả dụng — các script Node, server functions, route loaders, metadata builders, Express/Fastify handlers, tests.
Nó đọc các từ điển được tạo bởi Intlayer trong .intlayer/, vì vậy argument key được gõ và tự động hoàn thành từ các khai báo nội dung của bạn, và đối tượng được trả về được gõ đầy đủ đến từng leaf.
Các tính năng chính:
- Các khóa từ điển được gõ và nội dung được trả về được gõ
- Diễn giải mọi nút nội dung (
t(),enu(),cond(),insert(),nest(),md(),html(),file(),gender()) - Chấp nhận một locale hoặc một đối tượng selector (collections, variants)
- Kết quả được ghi nhớ mỗi
key + locale + selector - Quay lại một proxy an toàn trong quá trình phát triển khi một từ điển bị thiếu, thay vì gặp lỗi
Function Signature
Sao chép mã vào clipboard
Tham số
key: DictionaryKeys- Description: Khóa của từ điển cần đọc, được khai báo trong các tệp nội dung của bạn.
- Type:
DictionaryKeys— một union của mọi khóa từ điển được khai báo. - Required: Yes
localeOrSelector: LocalesValues | DictionarySelector- Description: Locale để diễn giải nội dung với, hoặc một object selector cho dynamic dictionaries.
'fr'— một locale{ item: 2 }— một mục collection (bỏ quaitemđể lấy mọi mục dưới dạng mảng){ variant: 'black-friday' }— một variant được đặt tên (bỏ qua để lấy variantdefault){ variant: { id: 'prod_abc', userId: '123' } }— một variant có cấu trúc- Bất kỳ selector nào cũng có thể mang theo một locale:
{ item: 2, locale: 'fr' }
- Type:
LocalesValues | DictionarySelector - Required: No (Optional) — mặc định là
defaultLocaleđược cấu hình.
- Description: Locale để diễn giải nội dung với, hoặc một object selector cho dynamic dictionaries.
plugins: Plugins[]- Description: Các node transformers tùy chỉnh thay thế các plugins interpreter cơ bản. Chỉ dùng cho các trường hợp nâng cao; bỏ qua để giữ hành vi mặc định.
- Type:
Plugins[] - Required: No (Optional)
Returns
- Type: Nội dung được diễn giải của từ điển, được gõ từ khai báo của bạn.
- Description: Một plain object phản ánh trường
contentcủa từ điển của bạn, trong đó mỗi nút Intlayer đã được giải quyết thành giá trị cuối cùng cho ngôn ngữ được yêu cầu.
Ví dụ sử dụng
Cách Sử Dụng Cơ Bản
Sao chép mã vào clipboard
Sao chép mã vào clipboard
import { getIntlayer } from "intlayer";
const { title } = getIntlayer("app", "fr"); // "Bonjour"
Không có locale
Bỏ qua locale sẽ diễn giải nội dung với defaultLocale được khai báo trong configuration của bạn.
Sao chép mã vào clipboard
Bên trong một server handler
Sao chép mã vào clipboard
With a selector (collections and variants)
Sao chép mã vào clipboard
Ghi chú về Hành vi
Caching
Kết quả được memoized trong một module-level cache được khóa bằng key + locale + selector. Gọi getIntlayer("app", "fr") nhiều lần sẽ chỉ diễn dịch dictionary một lần và trả về cùng một object sau đó.
Từ điển bị thiếu
Trong quá trình phát triển, yêu cầu một khóa không có từ điển được tạo sẽ ghi lại một cảnh báo một lần và trả về một proxy dự phòng an toàn: đọc content.title sẽ trả về chuỗi "app.title" thay vì ném lỗi. Điều này giữ cho trang có thể sử dụng được trong khi khai báo bị thiếu được sửa chữa. Chạy bản dựng Intlayer (hoặc máy chủ dev) để từ điển được tạo.
Kích thước Bundle
getIntlayer đọc từ từ điển hợp nhất, chứa mọi locale. Trong client bundles, các build plugins viết lại cuộc gọi để chỉ nội dung cần thiết được gửi đi. Khi bạn đọc nội dung bên ngoài rendering (metadata, loaders, server functions) và muốn một locale duy nhất được tải theo yêu cầu, hãy sử dụng getIntlayerAsync thay thế.
Các Hàm Liên Quan
getIntlayerAsync: Phiên bản async tải một chunk locale duy nhất.getDictionary: Diễn giải một đối tượng dictionary mà bạn truyền vào, thay vì tìm kiếm theo khóa.useIntlayer: Hook React tương đương, đọc locale từ provider.
TypeScript
Sao chép mã vào clipboard
