Biblioteca de internacionalización (i18n) para Next.js, con sintaxis de mensajes ICU, fechas y números adaptados a la configuración regional, y hooks de traducción con seguridad de tipos.
i18next/next-i18next
Kit de herramientas de traducción para apps de Next.js que integra i18next y react-i18next con App Router, Pages Router y middleware.
- Estrellas
- 6,166
- Forks
- 757
- Issues abiertos
- 0
- Último commit
- hace 4 días
¿Qué es?
next-i18next es una capa sobre i18next y react-i18next que se encarga de los aspectos específicos de Next.js al traducir una app: la detección del idioma mediante proxy/middleware y las redirecciones por locale, la separación entre componentes de servidor y de cliente, y el envío de las traducciones cargadas del servidor al cliente.
Es compatible con App Router (Server Components, Client Components, proxy), con Pages Router mediante el punto de entrada next-i18next/pages y con configuraciones mixtas en las que ambos routers conviven en un proyecto. Los archivos de traducción pueden estar en public/locales o cargarse mediante imports dinámicos, una opción adecuada para despliegues serverless. El locale puede aparecer en la ruta URL, ocultarse para el idioma predeterminado o guardarse en una cookie con URLs limpias.
El soporte opcional incluye ICU MessageFormat y Unicode MessageFormat 2 mediante plugins. También se pueden integrar backends personalizados de i18next, como HTTP, Locize o backends encadenados con caché.
Funciones clave
- 01Es compatible con App Router, Pages Router y proyectos con ambos routers en el mismo código base.
- 02Detecta el idioma a partir de una cookie o de Accept-Language y redirige a rutas con el locale como prefijo.
- 03Carga traducciones desde archivos públicos o mediante imports dinámicos compatibles con plataformas serverless.
- 04Serializa los recursos cargados desde componentes de servidor a componentes de cliente.
- 05Ofrece los formatos de mensaje ICU y MF2 mediante plugins opcionales.
- 06Admite backends personalizados de i18next, como HTTP y Locize.
Casos de uso
- Añadir compatibilidad con varios idiomas a un sitio existente de Next.js con App Router.
- Mantener rutas localizadas y no localizadas en paralelo durante una migración desde Pages Router.
- Desplegar una app de Next.js traducida en Vercel o en otros hosts serverless.
- Cargar traducciones desde una CDN o un servicio de gestión de traducciones.
Inicio rápido
- 1
Instala los paquetes
npm install next-i18next i18next react-i18next - 2
Crea los archivos JSON de traducción y una configuración de i18n con un resourceLoader
- 3
Añade proxy.ts, que exporte createProxy(i18nConfig)
- 4
Configura el layout raíz con initServerI18next e I18nProvider
Antes de usarlo
- En plataformas sin servidor, las traducciones deben cargarse con resourceLoader porque los archivos de public/ no están disponibles en tiempo de ejecución.
- La recarga en caliente de las traducciones durante el desarrollo puede bloquearse con cargadores basados en import() y requiere una solución alternativa.
- Con cacheComponents activado, next dev muestra advertencias de datos sin caché al leer traducciones desde archivos.
Temas
Preguntas frecuentes
- ¿Qué es next-i18next?
- Kit de herramientas de traducción para apps de Next.js que integra i18next y react-i18next con App Router, Pages Router y middleware. next-i18next es una capa sobre i18next y react-i18next que se encarga de los aspectos específicos de Next.js al traducir una app: la detección del idioma mediante proxy/middleware y las redirecciones por locale, la separación entre componentes de servidor y de cliente, y el envío de las traducciones cargadas del servidor al cliente.
- ¿next-i18next es gratuito? ¿Qué licencia tiene?
- next-i18next es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿next-i18next sigue mantenido?
- Mantenimiento activo. El último commit de next-i18next fue el 3 nov 2026.
- ¿Para qué puedo usar next-i18next?
- Añadir compatibilidad con varios idiomas a un sitio existente de Next.js con App Router. Mantener rutas localizadas y no localizadas en paralelo durante una migración desde Pages Router. Desplegar una app de Next.js traducida en Vercel o en otros hosts serverless. Cargar traducciones desde una CDN o un servicio de gestión de traducciones.
- ¿Cómo se instala next-i18next?
- Instala los paquetes: npm install next-i18next i18next react-i18next Crea los archivos JSON de traducción y una configuración de i18n con un resourceLoader Añade proxy.ts, que exporte createProxy(i18nConfig) Configura el layout raíz con initServerI18next e I18nProvider
- ¿Dónde consigo next-i18next?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/i18next/next-i18next
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Un plugin de Fastify que permite a un servidor Fastify existente renderizar páginas de Next.js con renderizado de React en el servidor.
Plataforma web de código abierto para gestionar traducciones de aplicaciones con edición en contexto, SDK y traducción automática.
Un componente de React para añadir video a aplicaciones Next.js, con carga, optimización y entrega por CDN automáticas mediante Mux u otros proveedores de almacenamiento.
APIs end-to-end con seguridad de tipos para TypeScript, sin esquemas ni generación de código y con tipos compartidos entre servidor y cliente.
Plataforma de gestión de traducciones de código abierto y autohospedada para equipos, con importación y exportación de formatos de localización comunes y una API REST.