Задайте питання та отримайте підсумок документа, вказавши цю сторінку та обраного вами постачальника штучного інтелекту
Історія версій
- "Без локалі очікується локаль запиту (заголовки та cookies Next.js)"v9.5.1228.09.2026
- "Початкова документація"v9.4.023.08.2026
Вміст цієї сторінки перекладено за допомогою штучного інтелекту.
Переглянути останню версію оригінального вмісту англійськоюЯкщо у вас є ідея щодо покращення цієї документації, будь ласка, долучіться, надіславши pull request на GitHub.
Посилання на документацію на GitHubСкопіювати документацію у форматі Markdown в буфер обміну
Документація: функція getIntlayerAsync в intlayer
Опис
Функція getIntlayerAsync вибирає один словник за його ключем і розв'язує його вміст для заданої локалі, завантажуючи тільки цю локаль.
Це асинхронний аналог getIntlayer, призначений для місць, де словник читається поза рендеруванням, маршрути head / конструктори метаданих, лодери, серверні функції.
Де getIntlayer завантажує об'єднаний словник, що містить кожну локаль, плагіни збірки (@intlayer/babel, @intlayer/swc) переписують цей виклик у getDictionaryAsync(loaderMap, key, locale), спрямовуючи його на фрагменти для кожної локалі в .intlayer/dynamic_dictionaries/. Таким чином, пакет ніколи не містить нічого, крім фактично запитаної локалі.
Без цих плагінів, необоптимізована збірка, виклик розв'язується через синхронний реєстр словників: той же вміст, але без поділу по локалях.
Ключові особливості:
- Ті самі типізовані ключі, селектори та повернений вміст, що й у
getIntlayer - Завантажує тільки запитаний фрагмент локалі в оптимізованих збірках
- Одночасні виклики для одного й того ж фрагмента діляться одним завантаженням
- Безпечна для використання в асинхронних конструкторах метаданих, лодерах та серверних функціях
Сигнатура функції
Скопіюйте код у буфер обміну
Параметри
key: DictionaryKeys- Опис: Ключ словника для читання, як оголошено у ваших файлах вмісту.
- Тип:
DictionaryKeys, об'єднання всіх оголошених ключів словника. - Обов'язково: Так
localeOrSelector: LocalesValues | DictionarySelector- Опис: Локаль для інтерпретації вмісту або об'єкт селектора для динамічних словників.
'fr': локаль{ item: 2 }: елемент колекції (пропустітьitem, щоб отримати кожен елемент як масив){ variant: 'black-friday' }: названий варіант (пропустіть дляdefault){ variant: { id: 'prod_abc', userId: '123' } }: структурований варіант- Будь-який селектор може містити локаль:
{ item: 2, locale: 'fr' }
- Тип:
LocalesValues | DictionarySelector - Обов'язково: Ні (необов'язково). Якщо не вказано, визначається так само, як у
getIntlayer(локаль запиту, потім збережена локаль, потімdefaultLocale). Оскільки функція асинхронна, вона також може дочекатися локалі запиту, коли її можна прочитати лише асинхронно: у Server Components Next.js,generateMetadataта route handlers вона читаєheaders()іcookies()запиту, якgetLocale()зnext-intlayer/server. Таке читання переводить маршрут у динамічний рендеринг, тому воно відбувається, лише якщоIntlayerProviderще не надав локаль.
- Опис: Локаль для інтерпретації вмісту або об'єкт селектора для динамічних словників.
plugins: Plugins[]- Опис: Користувацькі трансформатори вузлів, що замінюють базові плагіни інтерпретатора. Тільки для розширеного використання.
- Тип:
Plugins[] - Обов'язково: Ні (Опціонально)
Повертає
- Тип:
Promise<Content>, promise, що розв'язується в інтерпретований вміст словника, типізований на основі вашої декларації.
Приклад використання
Базове використання
Скопіюйте код у буфер обміну
import { getIntlayerAsync } from "intlayer";
const { title } = await getIntlayerAsync("app", "fr"); // "Bonjour"
getIntlayer vs getIntlayerAsync
Відкрийте таблицю в модальному вікні, щоб чітко переглянути всі дані
getIntlayer | getIntlayerAsync | |
|---|---|---|
| Returns | Вміст | Promise вмісту |
| Dictionary loaded | Об'єднаний словник (усі локалі) | Фрагмент тільки запитаної локалі |
| Best suited for | Rendering, синхронні кодові шляхи | Metadata, loaders, серверні функції |
| Requires a plugin? | No | No, розділення за локалями потребує build plugins |
Обидві функції приймають однакові аргументи та повертають один і той же вміст: перемикання між ними змінює лише коли та скільки завантажується.
Пов'язані функції
TypeScript
Скопіюйте код у буфер обміну
