Respuesta Rápida
Para usar react-intl con Next.js App Router: Instala react-intl, crea archivos de mensajes en formato ICU y envuelve tu app con IntlProvider.
Configuración
Terminalnpm install react-intl @formatjs/intl-localematcher
messages/es.json:
JSON1{ 2 "home.titulo": "Bienvenido a nuestra aplicación", 3 "home.items": "{count, plural, =0 {Sin artículos} one {# artículo} other {# artículos}}" 4}
IntlProvider
TSX1import { IntlProvider } from 'react-intl'; 2 3export function IntlClientProvider({ locale, messages, children }) { 4 return ( 5 <IntlProvider locale={locale} messages={messages}> 6 {children} 7 </IntlProvider> 8 ); 9}
Uso
TSX1import { FormattedMessage, FormattedNumber } from 'react-intl'; 2 3<FormattedMessage id="home.titulo" /> 4<FormattedNumber value={1234.56} style="currency" currency="EUR" />
