Задайте питання та отримайте підсумок документа, вказавши цю сторінку та обраного вами постачальника штучного інтелекту
Історія версій
- "Ініціалізація документації"v9.5.519.09.2026
Вміст цієї сторінки перекладено за допомогою штучного інтелекту.
Переглянути останню версію оригінального вмісту англійськоюЯкщо у вас є ідея щодо покращення цієї документації, будь ласка, долучіться, надіславши pull request на GitHub.
Посилання на документацію на GitHubСкопіювати документацію у форматі Markdown в буфер обміну
Документація middleware Astro onRequest
Middleware onRequest з astro-intlayer/middleware визначає локаль кожного вхідного HTTP-запиту та заповнює Astro.locals.intlayer.
Коли ви реєструєте інтеграцію intlayer() у astro.config.mjs, це middleware додається автоматично. Його потрібно імпортувати напряму лише в тому випадку, якщо ви компонуєте middleware Astro вручну за допомогою sequence(...).
Використання
Скопіюйте код у буфер обміну
Опис
Middleware виконує такі завдання:
- Визначення локалі:
- URL: Аналізує префікс шляху URL або параметр пошуку
?locale=(якщоrouting.modeне встановлено вno-prefix). - Кукі / Заголовки: Перевіряє збережені кукі локалі або значення власних заголовків.
- Accept-Language: Використовує мовні налаштування браузера за відсутності попередніх даних.
- Для пререндерених сторінок (
context.isPrerendered) локаль витягується виключно з URL-адреси, щоб уникнути попереджень збирання Astro.
- URL: Аналізує префікс шляху URL або параметр пошуку
- Заповнення контексту: Заповнює
Astro.locals.intlayerнаступними даними:locale: Визначена локаль.defaultLocale: Резервна локаль за замовчуванням.availableLocales: Масив налаштованих локалей.
- Область AsyncLocalStorage: Обгортає подальшу обробку запиту в область
AsyncLocalStorage, дозволяючи функціямuseIntlayer(),useDictionary()таuseLocale()отримувати стан запиту без передачі аргументів.
Тип IntlayerLocals
Скопіюйте код у буфер обміну
