Đặ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
Documentation: getIntlayerAsync Function in intlayer
Description
The getIntlayerAsync function picks one dictionary by its key and resolves its content for a given locale, loading that locale alone.
It is the asynchronous counterpart of getIntlayer, meant for the places a dictionary is read outside of rendering — route head / metadata builders, loaders, server functions.
Where getIntlayer pulls in the merged dictionary holding every locale, the build plugins (@intlayer/babel, @intlayer/swc) rewrite this call into getDictionaryAsync(loaderMap, key, locale), pointing it at the per-locale chunks in .intlayer/dynamic_dictionaries/. The bundle therefore only ever carries the locale actually requested.
Without those plugins — an unoptimized build — the call resolves through the synchronous dictionary registry instead: the same content, without the per-locale split.
Key Features:
- Same typed keys, selectors and returned content as
getIntlayer - Loads only the requested locale chunk in optimized builds
- Concurrent calls for the same chunk share a single load
- Safe to use in
asyncmetadata builders, loaders and server functions
Function Signature
Sao chép mã vào clipboard
Parameters
key: DictionaryKeys- Description: The key of the dictionary to read, as declared in your content files.
- Type:
DictionaryKeys— a union of every declared dictionary key. - Required: Yes
localeOrSelector: LocalesValues | DictionarySelector- Description: The locale to interpret the content with, or a selector object for dynamic dictionaries.
'fr'— a locale{ item: 2 }— a collection item (omititemto get every item as an array){ variant: 'black-friday' }— a named variant (omit for thedefaultone){ variant: { id: 'prod_abc', userId: '123' } }— a structured variant- Any selector can carry a locale:
{ item: 2, locale: 'fr' }
- Type:
LocalesValues | DictionarySelector - Required: No (Optional) — defaults to the configured
defaultLocale.
- Description: The locale to interpret the content with, or a selector object for dynamic dictionaries.
plugins: Plugins[]- Description: Custom node transformers replacing the base interpreter plugins. Advanced use only.
- Type:
Plugins[] - Required: No (Optional)
Returns
- Type:
Promise<Content>— a promise resolving to the interpreted content of the dictionary, typed from your declaration.
Example Usage
Basic Usage
Sao chép mã vào clipboard
import { getIntlayerAsync } from "intlayer";
const { title } = await getIntlayerAsync("app", "fr"); // "Bonjour"
In a TanStack Start route head
Because the locale chunk is loaded on demand, head becomes async:
Sao chép mã vào clipboard
In a Next.js generateMetadata
Sao chép mã vào clipboard
In a server function
Sao chép mã vào clipboard
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 | The content | A promise of the content |
| Dictionary loaded | The merged dictionary (all locales) | The chunk of the requested locale only |
| Best suited for | Rendering, synchronous code paths | Metadata, loaders, server functions |
| Requires a plugin? | No | No — the per-locale split needs the build plugins |
Both accept the same arguments and return the same content: switching from one to the other only changes when and how much is loaded.
Related Functions
getIntlayer: Synchronous equivalent reading the merged dictionary.getDictionaryAsync: The lower-level function the build plugins rewrite this call into.getLocale: Detects the locale of an incoming request.
TypeScript
Sao chép mã vào clipboard