Đặ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
- "Khi không có locale, chờ locale của request (headers và cookies của Next.js)"v9.5.1228/9/2026
- "Tài liệu ban đầu"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 getIntlayerAsync trong intlayer
Mô tả
Hàm getIntlayerAsync chọn một từ điển theo khóa của nó và giải quyết nội dung của nó cho một locale nhất định, chỉ tải locale đó.
Nó là phiên bản không đồng bộ của getIntlayer, được sử dụng cho các trường hợp từ điển được đọc bên ngoài quá trình render, route head / metadata builders, loaders, server functions.
Nếu như getIntlayer kéo trong từ điển đã hợp nhất chứa mọi locale, các build plugins (@intlayer/babel, @intlayer/swc) sẽ viết lại cuộc gọi này thành getDictionaryAsync(loaderMap, key, locale), chỉ vào các chunks theo locale trong .intlayer/dynamic_dictionaries/. Bundle do đó chỉ bao giờ cũng mang lại locale thực sự được yêu cầu.
Nếu không có các plugins này, một build chưa được tối ưu hóa, cuộc gọi sẽ được giải quyết thông qua registry từ điển đồng bộ thay thế: cùng nội dung, nhưng không có sự phân chia theo locale.
Các tính năng chính:
- Các khóa, selector và nội dung được trả về giống như
getIntlayer - Chỉ tải chunk locale được yêu cầu trong các build được tối ưu hóa
- Các cuộc gọi đồng thời cho cùng một chunk chia sẻ một lần tải
- An toàn để sử dụng trong
asyncmetadata builders, loaders và server functions
Chữ ký hàm
Sao chép mã vào clipboard
Tham số
key: DictionaryKeys- Mô tả: Khóa của từ điển cần đọc, như được khai báo trong các tệp nội dung của bạn.
- Kiểu:
DictionaryKeys, một union của mọi khóa từ điển được khai báo. - Bắt buộc: Có
localeOrSelector: LocalesValues | DictionarySelector- Mô tả: Locale để giải thích nội dung với, hoặc một đối tượng 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ên (bỏ qua để lấydefault){ 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' }
- Kiểu:
LocalesValues | DictionarySelector - Bắt buộc: Không (tùy chọn). Nếu bỏ qua, được resolve giống như
getIntlayer(locale của request, sau đó locale đã lưu, sau đódefaultLocale). Vì là hàm bất đồng bộ, nó cũng có thể chờ locale của request khi locale này chỉ đọc được bất đồng bộ: trong Server Components của Next.js,generateMetadatavà route handler, nó đọcheaders()vàcookies()của request, giốnggetLocale()từnext-intlayer/server. Việc đọc này chuyển route sang rendering động, nên nó chỉ diễn ra khiIntlayerProviderchưa cung cấp locale.
- Mô tả: Locale để giải thích nội dung với, hoặc một đối tượng selector cho dynamic dictionaries.
plugins: Plugins[]- Mô tả: Các node transformers tùy chỉnh thay thế các plugin interpreter cơ bản. Chỉ sử dụng nâng cao.
- Kiểu:
Plugins[] - Bắt buộc: Không (tùy chọn)
Returns
- Kiểu:
Promise<Content>, một promise resolve thành nội dung đã được diễn giải của từ điển, được định kiểu từ khai báo của bạn.
Ví dụ Sử dụng
Cách sử dụng cơ bản
Sao chép mã vào clipboard
import { getIntlayerAsync } from "intlayer";
const { title } = await getIntlayerAsync("app", "fr"); // "Bonjour"
getIntlayer vs getIntlayerAsync
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
getIntlayer | getIntlayerAsync | |
|---|---|---|
| Returns | Nội dung | Một promise của nội dung |
| Dictionary loaded | Từ điển được hợp nhất (tất cả các locale) | Chunk của locale được yêu cầu duy nhất |
| Best suited for | Rendering, các đường mã đồng bộ | Metadata, loaders, server functions |
| Requires a plugin? | No | No, per-locale split cần các build plugins |
Cả hai chấp nhận các đối số giống nhau và trả về nội dung giống nhau: chuyển đổi từ cái này sang cái khác chỉ thay đổi khi và bao nhiêu được tải.
Các Hàm Liên Quan
TypeScript
Sao chép mã vào clipboard
