Next.js
Integre o i1n com o Next.js usando next-intl ou o SDK do i1n diretamente.
Configuração
Execute o i1n init no seu projeto Next.js. A CLI detecta automaticamente o next-intl, se presente, e configura o formato JSON aninhado no seu diretório locales/.
i1n funciona tanto com o App Router quanto com o Pages Router. Você pode usar o SDK do i1n em modo standalone ou conectá-lo ao next-intl via Modo Bridge.
Modo Independente
Importe init e t do i1n, carregue seus recursos de tradução e use t() diretamente em seus componentes. O arquivo i1n.d.ts gerado automaticamente fornece segurança de tipo completa e autocompletar do IDE.
Essa abordagem substitui o next-intl completamente. Use init() para carregar recursos e setLocale() para trocar de idioma. Nenhuma biblioteca adicional de i18n é necessária.
Modo Ponte com next-intl
Se o seu projeto já usa next-intl, conecte-o ao i1n com uma única linha: registerI1n((key, params) => nextIntlT(key, params)). Isso preserva sua configuração existente do next-intl enquanto adiciona o autocompletar type-safe do i1n.
i1n gerencia os arquivos de tradução, tradução por IA e geração de tipos. O next-intl continua a lidar com carregamento em tempo de execução, componentes de servidor e roteamento. Você obtém os benefícios de ambos os sistemas com custo zero de migração.
Implantação
Adicione o i1n pull à sua etapa de build ou pipeline de CI/CD para garantir que as traduções estejam sempre sincronizadas antes da implantação.
A geração estática (SSG) e a renderização do lado do servidor (SSR) do Next.js funcionam perfeitamente com arquivos de tradução gerenciados pelo i1n.
import { t } from 'i1n'
export default function HomePage() {
return (
<main>
<h1>{t('home.title')}</h1>
<p>{t('home.subtitle')}</p>
</main>
)
} import { registerI1n } from 'i1n'
import { useTranslations } from 'next-intl'
const t = useTranslations()
registerI1n((key, params) => t(key, params))