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