Haz tu pregunta y obtén un resumen del documento referenciando esta página y el proveedor AI de tu elección
Historial de versiones
- "Historial inicial"v5.5.1029/6/2025
El contenido de esta página ha sido traducido con una IA.
Ver la última versión del contenido original en inglésSi tienes una idea para mejorar esta documentación, no dudes en contribuir enviando una pull request en GitHub.
Enlace de GitHub a la documentaciónCopiar el Markdown del documento a la portapapeles
Documentación de Intlayer
¡Bienvenido a la documentación oficial de Intlayer! Aquí encontrarás todo lo que necesitas para integrar, configurar y dominar Intlayer para todas tus necesidades de internacionalización (i18n), ya sea que trabajes con Next.js, React, Vite, Express u otro entorno de JavaScript.
Introducción
¿Qué es Intlayer?
Intlayer es una biblioteca de internacionalización diseñada específicamente para desarrolladores de JavaScript. Permite la declaración de tu contenido en cualquier parte de tu código. Convierte la declaración de contenido multilingüe en diccionarios estructurados para integrarse fácilmente en tu código. Usando TypeScript, Intlayer hace que tu desarrollo sea más robusto y eficiente.
Intlayer también proporciona un editor visual opcional que te permite editar y gestionar fácilmente tu contenido. Este editor es particularmente útil para desarrolladores que prefieren una interfaz visual para la gestión de contenido, o para equipos que generan contenido sin tener que preocuparse por el código.
Ejemplo de uso
Copiar el código al portapapeles
Copiar el código al portapapeles
import { t, type Dictionary } from "intlayer";
const componentContent = {
key: "component-key",
content: {
myTranslatedContent: t({
en: "Hello World",
es: "Hola Mundo",
fr: "Bonjour le monde",
}),
},
} satisfies Dictionary;
export default componentContent;
Copiar el código al portapapeles
import type { FC } from "react";
import { useIntlayer } from "react-intlayer";
export const MyComponent: FC = () => {
const { myTranslatedContent } = useIntlayer("component-key");
return <span>{myTranslatedContent}</span>;
};
¿Por qué Intlayer en lugar de otras alternativas?
En comparación con las soluciones principales como next-intl o i18next, Intlayer es una solución que incluye optimizaciones integradas como:
En lugar de cargar archivos JSON masivos en tus páginas, carga solo el contenido necesario. Intlayer te ayuda a reducir el tamaño de tu bundle y de tus páginas hasta en un 50%.
Declarar tu contenido cerca de tus componentes facilita el mantenimiento en aplicaciones a gran escala. Puedes duplicar o eliminar una sola carpeta de funcionalidad sin la carga mental de revisar todo tu código fuente de contenido. Además, Intlayer está completamente tipado para garantizar la precisión de tu contenido.
La proximidad del contenido reduce el contexto necesario para los modelos de lenguaje grandes (LLM). Intlayer también viene con un conjunto de herramientas, como una CLI para comprobar si faltan traducciones, un LSP, un MCP y agent skills, para que la experiencia del desarrollador (DX) sea aún más fluida para los agentes de IA.
Automatiza la traducción en tu pipeline CI/CD utilizando el LLM de tu elección al costo de tu proveedor de IA. Intlayer también ofrece un compilador para automatizar la extracción de contenido, así como una plataforma web para ayudarte a traducir en segundo plano.
La conexión de archivos JSON masivos a los componentes puede provocar problemas de rendimiento y reactividad. Intlayer optimiza la carga de tu contenido en el momento de la compilación.
Más que una simple solución de i18n, Intlayer proporciona un editor visual autoalojado y un CMS completo para ayudarte a administrar tu contenido multilingüe en tiempo real, lo que facilita la colaboración con traductores, redactores y otros miembros del equipo. El contenido se puede almacenar de forma local y/o remota.
Características principales
Intlayer ofrece una variedad de características adaptadas a las necesidades del desarrollo web moderno. A continuación se presentan las características clave, con enlaces a la documentación detallada de cada una:
- Soporte de internacionalización: Mejora el alcance global de tu aplicación con soporte integrado para la internacionalización.
- Editor Visual: Mejora tu flujo de trabajo de desarrollo con plugins de editor diseñados para Intlayer. Consulta la Guía del Editor Visual.
- Flexibilidad de configuración: Personaliza tu configuración con amplias opciones de configuración detalladas en la Guía de Configuración.
- Herramientas avanzadas de CLI: Administra tus proyectos de manera eficiente utilizando la interfaz de línea de comandos de Intlayer. Explora las capacidades en la Documentación de herramientas CLI.
Conceptos clave
Diccionario
Organiza tu contenido multilingüe cerca de tu código para mantener todo consistente y mantenible.
Comenzar
Aprende los conceptos básicos para declarar tu contenido en Intlayer.Traducción
Comprende cómo se generan, almacenan y utilizan las traducciones en tu aplicación.Enumeración
Administra fácilmente conjuntos de datos repetidos o fijos en varios idiomas.Condición
Aprende a usar la lógica condicional en Intlayer para crear contenido dinámico.Inserción
Descubre cómo insertar valores en una cadena de texto utilizando marcadores de posición de inserción.Recuperación de Funciones
Observa cómo recuperar contenido dinámicamente con lógica personalizada para que coincida con el flujo de trabajo de tu proyecto.Markdown
Aprende a usar Markdown en Intlayer para crear contenido enriquecido.Integraciones de archivos
Descubre cómo integrar archivos externos en Intlayer para usarlos en el editor de contenido.Anidamiento
Comprende cómo anidar contenido en Intlayer para crear estructuras complejas.
Entornos e Integraciones
Hemos creado Intlayer pensando en la flexibilidad, ofreciendo una integración perfecta en frameworks y herramientas de construcción populares:
- Intlayer con Next.js 16
- Intlayer con Next.js 15
- Intlayer con Next.js 14 (App Router)
- Intlayer con Next.js Page Router
- Intlayer con React CRA
- Intlayer con Vite + React
- Intlayer con React Router v7
- Intlayer con Tanstack Start
- Intlayer con React Native y Expo
- Intlayer con Lynx y React
- Intlayer con Vite + Preact
- Intlayer con Vite + Vue
- Intlayer con Nuxt
- Intlayer con Vite + Svelte
- Intlayer con SvelteKit
- Intlayer con Express
- Intlayer con NestJS
- Intlayer con Hono
- Intlayer con Angular
Cada guía de integración incluye las mejores prácticas para utilizar las características de Intlayer, como el renderizado del lado del servidor, el enrutamiento dinámico o el renderizado del lado del cliente, de modo que puedas mantener una aplicación rápida, optimizada para SEO y altamente escalable.
Contribución y comentarios
Valoramos el poder del código abierto y el desarrollo impulsado por la comunidad. Si deseas proponer mejoras, agregar una nueva guía o corregir cualquier problema en nuestra documentación, no dudes en enviar un Pull Request o abrir un issue en nuestro repositorio de GitHub.
¿Listo para traducir tu aplicación de manera más rápida y eficiente? Sumérgete en nuestra documentación para comenzar a usar Intlayer hoy. Experimenta un enfoque robusto y optimizado para la internacionalización que mantiene tu contenido organizado y a tu equipo más productivo.
Preguntas frecuentes
Intlayer es una biblioteca de internacionalización (i18n) para aplicaciones JavaScript y TypeScript. Declaras el contenido de un componente junto a ese componente en un archivo .content.ts, Intlayer compila esas declaraciones en diccionarios tipados en tiempo de compilación, y tus componentes los leen mediante un hook como useIntlayer. Cubre la traducción, las reglas de plural, el género, Markdown, el enrutamiento por idioma, los metadatos de SEO, la traducción asistida por IA y un editor visual para quienes no programan.
Mucho menos que una configuración basada en espacios de nombres, porque una página nunca descarga un catálogo que no renderiza. El marcado renderizado en el servidor resuelve su contenido en el servidor, y el compilador de tiempo de compilación reemplaza las llamadas a useIntlayer por las entradas de diccionario exactas que usa un componente, de modo que se descartan las claves sin usar y los idiomas sin usar. Los diccionarios dinámicos reparten el resto por idioma. Frente a las alternativas habituales, Intlayer reduce el tamaño del bundle y de la página hasta en un 50%. Consulta la optimización del bundle y el benchmark.
Sí, y hay dos caminos. Puedes migrar el contenido de forma progresiva con la guía de migración de i18next o la guía de migración de next-intl. O puedes mantener tu API actual por completo: los adaptadores de compatibilidad exponen exactamente la misma API que i18next, react-i18next, next-intl, next-i18next, react-intl, use-intl, vue-i18n y Lingui, pero servida por diccionarios de Intlayer, así que cambian los imports y el código de los componentes no.
Sí. El plugin de sincronización JSON mantiene tus archivos /messages/{locale}/{namespace}.json como fuente de verdad y genera diccionarios de Intlayer a partir de ellos, en ambas direcciones. Un plugin de sincronización PO hace lo mismo para los catálogos gettext, y los archivos por idioma te permiten dividir el contenido por idioma en lugar de agrupar los idiomas en un solo archivo.
No. Ejecuta npx intlayer extract e Intlayer lee tus archivos fuente, extrae las cadenas visibles para el usuario y escribe un archivo .content junto a cada uno, así que revisas un diff en lugar de copiar cadenas a un catálogo una por una. Consulta el comando extract.
Para una canalización totalmente automatizada, el compilador de Intlayer hace lo mismo en tiempo de compilación sobre código JSX, TSX, Vue y Svelte, generando los diccionarios en cada cambio para que no haya ninguna clave que mantener a mano. Funciona por análisis estático, así que las cadenas que solo existen en tiempo de ejecución quedan fuera de su alcance, y necesita unas pocas anotaciones para distinguir el texto visible para el usuario de la lógica de la aplicación.
Cinco piezas, todas opcionales:
- Extensión de VS Code: salta de una clave
useIntlayeral archivo de contenido que la declara, extrae contenido de un componente y ejecuta build, fill, test, push y pull desde la paleta de comandos o desde una pestaña de Intlayer dedicada. - Servidor LSP: el mismo conocimiento en cualquier editor que hable LSP, con ir a la definición, buscar todas las referencias, vistas previas al pasar el cursor de un valor traducido, autocompletado de claves y campos, y un aviso cuando una clave no está declarada en ninguna parte. También resuelve las llamadas a
i18next,react-i18next,next-intlyuse-intl, lo que ayuda durante la migración. - Servidor MCP: expone la documentación y la CLI de Intlayer a Cursor, VS Code, Claude Desktop, Claude Code y ChatGPT, para que un asistente responda a partir de la documentación actual en lugar de adivinar, y pueda ejecutar comandos como
intlayer fillpor sí mismo. - Habilidades para agentes: habilidades específicas como
intlayer-config,intlayer-clieintlayer-content, además de una por framework, que enseñan a un agente tu configuración de enrutamiento y los tipos de nodo de contenido. - Plugin de ESLint:
no-raw-textmarca las cadenas codificadas de forma fija, con reglas adicionales para claves de diccionario estáticas y contenido sin usar.
