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
TSX1'use client'; 2import { IntlProvider } from 'react-intl'; 3 4export function IntlClientProvider({ locale, messages, children }) { 5 return ( 6 <IntlProvider locale={locale} messages={messages}> 7 {children} 8 </IntlProvider> 9 ); 10}
Uso
TSX1import { FormattedMessage, FormattedNumber } from 'react-intl'; 2 3<FormattedMessage id="home.titulo" /> 4<FormattedNumber value={1234.56} style="currency" currency="EUR" />
