Faça sua pergunta e obtenha um resumo do documento referenciando esta página e o provedor AI de sua escolha
Histórico de versões
- "Doc inicial"v9.5.519/09/2026
O conteúdo desta página foi traduzido com uma IA.
Veja a última versão do conteúdo original em inglêsSe você tiver uma ideia para melhorar esta documentação, sinta-se à vontade para contribuir enviando uma pull request no GitHub.
Link do GitHub para a documentaçãoCopiar o Markdown do documento para a área de transferência
Documentação do middleware Astro onRequest
O middleware onRequest de astro-intlayer/middleware resolve o locale de cada requisição HTTP recebida e preenche Astro.locals.intlayer.
Quando você registra a integração intlayer() em astro.config.mjs, esse middleware é injetado automaticamente. Você só precisa importá-lo diretamente se estiver compondo manualmente o middleware Astro usando sequence(...).
Utilização
Copiar o código para a área de transferência
Descrição
O middleware realiza as seguintes tarefas:
- Detecção de Locale:
- URL: Analisa o prefixo do caminho da URL ou o parâmetro de busca
?locale=(a menos querouting.modeesteja configurado comono-prefix). - Cookies / Cabeçalhos: Verifica cookies de locale persistidos ou valores de cabeçalho personalizados.
- Accept-Language: Utiliza a negociação de idioma preferencial do navegador como fallback.
- Para páginas pré-renderizadas (
context.isPrerendered), o locale é extraído estritamente da URL para evitar avisos de compilação do Astro.
- URL: Analisa o prefixo do caminho da URL ou o parâmetro de busca
- Preenchimento de Contexto: Preenche
Astro.locals.intlayercom:locale: O locale resolvido.defaultLocale: O locale de fallback padrão.availableLocales: O array de locales configurados.
- Escopo AsyncLocalStorage: Envolve o processamento subsequente da requisição dentro de um escopo
AsyncLocalStorage, permitindo queuseIntlayer(),useDictionary()euseLocale()acessem o estado da requisição sem passar argumentos.
Tipo IntlayerLocals
Copiar o código para a área de transferência
