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
- "Sem locale, resolve o locale da requisição ou o locale armazenado antes do locale padrão"v9.5.1228/09/2026
- "Documentação inicial"v9.4.023/08/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: Função getIntlayer em intlayer
Descrição
A função getIntlayer seleciona um dicionário pela sua chave e retorna seu conteúdo interpretado para uma determinada localidade. É o equivalente agnóstico de framework do hook useIntlayer: mesmo conteúdo, mesmos seletores, mas utilizável em qualquer lugar onde um contexto React não está disponível, scripts Node, funções de servidor, carregadores de rotas, construtores de metadados, manipuladores Express/Fastify, testes.
Ela lê os dicionários gerados pelo Intlayer em .intlayer/, então o argumento key é digitado e autocompletado a partir de suas próprias declarações de conteúdo, e o objeto retornado é totalmente digitado até cada folha.
Principais Recursos:
- Chaves de dicionário digitadas e conteúdo retornado digitado
- Interpreta cada nó de conteúdo (
t(),enu(),cond(),insert(),nest(),md(),html(),file(),gender()) - Aceita uma localidade ou um objeto seletor (coleções, variantes)
- Os resultados são memorizados por
key + locale + selector - Retorna a um proxy seguro em desenvolvimento quando um dicionário está faltando, em vez de travar
Assinatura da Função
Copiar o código para a área de transferência
Parâmetros
key: DictionaryKeys- Descrição: A chave do dicionário a ler, conforme declarado nos seus arquivos de conteúdo.
- Tipo:
DictionaryKeys, uma união de cada chave de dicionário declarada. - Obrigatório: Sim
localeOrSelector: LocalesValues | DictionarySelector- Descrição: O locale para interpretar o conteúdo, ou um objeto seletor para dicionários dinâmicos.
'fr': um locale{ item: 2 }: um item de coleção (omitaitempara obter cada item como um array){ variant: 'black-friday' }: uma variante nomeada (omita para a variantedefault){ variant: { id: 'prod_abc', userId: '123' } }: uma variante estruturada- Qualquer seletor pode levar um locale:
{ item: 2, locale: 'fr' }
- Tipo:
LocalesValues | DictionarySelector - Obrigatório: Não (opcional). Se omitido, veja Sem um locale.
- Descrição: O locale para interpretar o conteúdo, ou um objeto seletor para dicionários dinâmicos.
plugins: Plugins[]- Descrição: Transformadores de nó personalizados que substituem os plugins do interpretador base. Uso avançado apenas; omita para manter o comportamento padrão.
- Tipo:
Plugins[] - Obrigatório: Não (opcional)
Retorna
- Tipo: O conteúdo interpretado do dicionário, tipado a partir da sua declaração.
- Descrição: Um objeto simples espelhando o campo
contentdo seu dicionário, onde cada nó Intlayer foi resolvido para seu valor final para a locale solicitada.
Exemplo de Uso
Uso Básico
Copiar o código para a área de transferência
Copiar o código para a área de transferência
import { getIntlayer } from "intlayer";
const { title } = getIntlayer("app", "pt"); // "Olá"
Sem um locale
Quando nenhum locale é passado, getIntlayer não recorre diretamente ao locale padrão. Ela resolve, nesta ordem:
- O locale da requisição atual, no servidor, quando uma integração do Intlayer a trata: os middlewares
express-intlayer,fastify-intlayer,hono-intlayer,adonis-intlayereelysia-intlayer, os middlewaresremix-intlayereastro-intlayer, eIntlayerProvider/setLocalenos React Server Components. Cada requisição é resolvida a partir dos seus próprios cookies e headers, então usuários simultâneos nunca compartilham o locale. - O locale armazenado no navegador (cookie,
localStorage,sessionStorage), aquele que um seletor de idioma persiste. - O
defaultLocaledeclarado na sua configuração.
Copiar o código para a área de transferência
A mesma resolução se aplica a getDictionary, às chamadas reescritas pelos plugins de build e a useIntlayer / useDictionaryDynamic renderizados fora de um provider. Um locale passado explicitamente sempre tem prioridade.
getIntlayer não é reativa: após uma troca de locale, chame-a novamente para ler o novo locale. Em uma página renderizada no servidor, uma chamada feita fora de qualquer provider renderiza o locale padrão no servidor e o locale armazenado no navegador, o que pode causar um hydration mismatch. Nesse caso, monte o provider do seu framework ou passe o locale.
Dentro de um manipulador de servidor
Copiar o código para a área de transferência
Com um seletor (coleções e variantes)
Copiar o código para a área de transferência
Notas de Comportamento
Armazenamento em cache
Os resultados são memoizados em um cache de nível de módulo com chave key + locale + selector. Chamar getIntlayer("app", "fr") repetidamente interpreta o dicionário uma vez e retorna o mesmo objeto depois.
Dicionários faltantes
Em desenvolvimento, solicitar uma chave que não possui um dicionário gerado registra um aviso uma vez e retorna um proxy de fallback seguro: ler content.title fornece a string "app.title" em vez de lançar um erro. Isso mantém uma página utilizável enquanto a declaração faltante é corrigida. Execute a compilação do Intlayer (ou o servidor de desenvolvimento) para que o dicionário seja gerado.
Tamanho do bundle
getIntlayer lê o dicionário mesclado, que contém todos os locales. Em bundles de cliente, os plugins de build reescrevem a chamada para que apenas o conteúdo necessário seja enviado. Quando você lê conteúdo fora da renderização (metadados, loaders, funções de servidor) e deseja um único locale carregado sob demanda, use getIntlayerAsync em vez disso.
Funções Relacionadas
TypeScript
Copiar o código para a área de transferência
