이 페이지와 원하는 AI 어시스턴트를 사용하여 문서를 요약합니다
버전 기록
- "Initial documentation"v9.4.02026. 8. 23.
이 페이지의 콘텐츠는 AI를 사용하여 번역되었습니다.
영어 원본 내용의 최신 버전을 보기이 문서를 개선할 아이디어가 있으시면 GitHub에 풀 리퀘스트를 제출하여 자유롭게 기여해 주세요.
문서에 대한 GitHub 링크문서의 Markdown을 클립보드에 복사
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
코드를 클립보드에 복사
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
코드를 클립보드에 복사
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:
코드를 클립보드에 복사
In a Next.js generateMetadata
코드를 클립보드에 복사
In a server function
코드를 클립보드에 복사
getIntlayer vs getIntlayerAsync
테이블을 모달로 열어 모든 데이터를 명확하게 확인
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
코드를 클립보드에 복사