Đặ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 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
Function Signature
Sao chép mã vào clipboard
Tham số
key: DictionaryKeys- Description: 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.
- 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 để 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' }
- Type:
LocalesValues | DictionarySelector - Required: No (Optional) — mặc định là
defaultLocaleđược cấu hình.
- Description: Locale để giải thích nội dung với, hoặc một đối tượng selector cho dynamic dictionaries.
plugins: Plugins[]- Description: Các node transformers tùy chỉnh thay thế các plugin interpreter cơ bản. Chỉ sử dụng nâng cao.
- Type:
Plugins[] - Required: No (Optional)
Returns
- Type:
Promise<Content>— a promise resolving to the interpreted content of the dictionary, typed from your declaration.
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
getIntlayer: Tương đương đồng bộ đọc từ điển đã hợp nhất.getDictionaryAsync: Hàm cấp thấp hơn mà các build plugins viết lại cuộc gọi này thành.getLocale: Phát hiện locale của một yêu cầu đến.
TypeScript
Sao chép mã vào clipboard
