Haz tu pregunta y obtén un resumen del documento referenciando esta página y el proveedor AI de tu elección
Historial de versiones
- "Doc inicial"v9.5.519/9/2026
El contenido de esta página ha sido traducido con una IA.
Ver la última versión del contenido original en inglésSi tienes una idea para mejorar esta documentación, no dudes en contribuir enviando una pull request en GitHub.
Enlace de GitHub a la documentaciónCopiar el Markdown del documento a la portapapeles
Documentación del middleware de Astro onRequest
El middleware onRequest de astro-intlayer/middleware resuelve el locale de cada solicitud HTTP entrante y completa Astro.locals.intlayer.
Cuando registras la integración intlayer() en astro.config.mjs, este middleware se inyecta automáticamente. Solo necesitas importarlo directamente si estás componiendo manualmente middleware de Astro usando sequence(...).
Uso
Copiar el código al portapapeles
Descripción
El middleware realiza lo siguiente:
- Detección de Locale:
- URL: Analiza el prefijo de ruta de la URL o el parámetro de búsqueda
?locale=(a menos querouting.modeesté configurado comono-prefix). - Cookies / Encabezados: Comprueba cookies de locale persistidas o valores de encabezado personalizados.
- Accept-Language: Utiliza como alternativa la negociación de idioma preferida del navegador.
- Para páginas prerenderizadas (
context.isPrerendered), el locale se extrae estrictamente de la URL para evitar advertencias de compilación de Astro.
- URL: Analiza el prefijo de ruta de la URL o el parámetro de búsqueda
- Población del contexto: Completa
Astro.locals.intlayercon:locale: El locale resuelto.defaultLocale: El locale de respaldo predeterminado.availableLocales: La lista de locales configurados.
- Ámbito AsyncLocalStorage: Envuelve el procesamiento de la solicitud descendente dentro de un ámbito
AsyncLocalStorage, permitiendo queuseIntlayer(),useDictionary()yuseLocale()accedan al estado de la solicitud sin pasar argumentos.
Tipo IntlayerLocals
Copiar el código al portapapeles
