Repolode
i18next

i18next/next-i18next

Toolkit de tradução para apps Next.js que integra i18next e react-i18next ao App Router, Pages Router e middleware.

Estrelas
6,166
Forks
757
Issues abertas
0
Último commit
há 3 dias

O que é?

next-i18next é uma camada sobre i18next e react-i18next que cuida das particularidades do Next.js na hora de traduzir um app: detecção de idioma e redirecionamentos de locale via proxy/middleware, a divisão entre componentes de servidor e cliente e o envio das traduções carregadas do servidor para o cliente.

O projeto oferece suporte ao App Router (Server Components, Client Components e proxy), ao Pages Router pelo ponto de entrada next-i18next/pages e a configurações híbridas em que os dois routers são usados no mesmo projeto. Os arquivos de tradução podem ficar em public/locales ou ser carregados com dynamic imports, o que funciona bem em implantações serverless. O locale pode aparecer no caminho da URL, ficar oculto para o idioma padrão ou ser armazenado em um cookie com URLs limpas.

O suporte opcional inclui ICU MessageFormat e Unicode MessageFormat 2 por meio de plugins. Também é possível integrar backends personalizados do i18next, como HTTP, Locize ou backends encadeados com cache.

Recursos principais

  • 01Oferece suporte ao App Router, ao Pages Router e a projetos que usam os dois routers na mesma base de código.
  • 02Detecta o idioma pelo cookie ou pelo Accept-Language e redireciona para caminhos com o locale.
  • 03Carrega traduções de arquivos públicos ou por dynamic imports compatíveis com plataformas serverless.
  • 04Serializa os recursos carregados dos Server Components para os Client Components.
  • 05Oferece os formatos de mensagem ICU e MF2 por meio de plugins opcionais.
  • 06Aceita backends personalizados do i18next, como HTTP e Locize.

Casos de uso

  • Adicionar suporte a vários idiomas a um site existente em Next.js com App Router.
  • Manter rotas localizadas e não localizadas lado a lado durante a migração do Pages Router.
  • Implantar um app Next.js traduzido na Vercel ou em outros hosts serverless.
  • Carregar traduções de um CDN ou serviço de gerenciamento de traduções.

Início rápido

  1. 1

    Instale os pacotes

    npm install next-i18next i18next react-i18next
  2. 2

    Crie os arquivos JSON de tradução e uma configuração de i18n com um resourceLoader

  3. 3

    Adicione proxy.ts, que exporta createProxy(i18nConfig)

  4. 4

    Configure o layout raiz com initServerI18next e I18nProvider

Antes de usar

  • Em plataformas serverless, as traduções precisam ser carregadas com resourceLoader, pois os arquivos de public/ não ficam disponíveis em tempo de execução.
  • O hot reload das traduções durante o desenvolvimento pode travar com carregadores baseados em import() e requer uma solução alternativa.
  • Com cacheComponents ativado, o next dev exibe avisos de dados não armazenados em cache ao ler traduções de arquivos.

Tópicos

#i18n#nextjs#react#i18next#internationalization#ssr#typescript#next#now#react-i18next

Perguntas frequentes

O que é next-i18next?
Toolkit de tradução para apps Next.js que integra i18next e react-i18next ao App Router, Pages Router e middleware. next-i18next é uma camada sobre i18next e react-i18next que cuida das particularidades do Next.js na hora de traduzir um app: detecção de idioma e redirecionamentos de locale via proxy/middleware, a divisão entre componentes de servidor e cliente e o envio das traduções carregadas do servidor para o cliente.
next-i18next é gratuito? Qual é a licença?
next-i18next é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
next-i18next ainda é mantido?
Manutenção ativa. O último commit de next-i18next foi em 3 de nov. de 2026.
Para que posso usar next-i18next?
Adicionar suporte a vários idiomas a um site existente em Next.js com App Router. Manter rotas localizadas e não localizadas lado a lado durante a migração do Pages Router. Implantar um app Next.js traduzido na Vercel ou em outros hosts serverless. Carregar traduções de um CDN ou serviço de gerenciamento de traduções.
Como instalar next-i18next?
Instale os pacotes: npm install next-i18next i18next react-i18next Crie os arquivos JSON de tradução e uma configuração de i18n com um resourceLoader Adicione proxy.ts, que exporta createProxy(i18nConfig) Configure o layout raiz com initServerI18next e I18nProvider
Onde consigo next-i18next?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/i18next/next-i18next

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados