@api18n/react
i18n drop-in para React + Next.js.
Um SDK de runtime que lê os arquivos JSON que a CLI acabou de baixar. Um arquivo de init, zero Provider no JSX, `t()` totalmente tipado.
npm install @api18n/react// src/api18n.tsimport { createApi18n } from '@api18n/react';import en from './messages/en.json';export const api18n = createApi18n({resources: { en },defaultLocale: 'en',});// anywhere in your appconst t = useTranslations();t('hello', { name: 'Eduardo' });
O que faz
Um arquivo de init
Chame `createApi18n({ resources, defaultLocale })` uma vez. `useTranslations()` funciona em qualquer lugar — sem boilerplate de Provider.
Chaves type-safe
`t('hello', { name: 'Eduardo' })` é totalmente tipado. Chaves erradas, args faltando e tipos errados falham no TypeScript.
ICU + rich tags
Plurais, datas, números e `<link>chunks</link>` renderizados com componentes React. Tudo ICU MessageFormat padrão.
Server Components
`getTranslations()` roda no servidor. Strings traduzidas saem como HTML puro — zero JS no cliente por string.
Onde se encaixa
O SDK consome o JSON que a CLI gera. Eles foram feitos para trabalhar juntos: chaves tipadas, formato de locale idêntico e uma documentação de convenções única.