Si tienes una idea para mejorar esta documentación, no dudes en contribuir enviando una pull request en GitHub.
Enlace de GitHub a la documentaciónEl contenido de esta página ha sido traducido con una IA.
Ver la última versión del contenido original en inglésHaz tu pregunta y obtén un resumen del documento referenciando esta página y el proveedor AI de tu elección
Al integrar el servidor MCP Intlayer a tu asistente de IA, puedes recuperar todos los documentos directamente desde ChatGPT, DeepSeek, Cursor, VSCode, etc.
Ver la documentación del servidor MCPCopiar el Markdown del documento a la portapapeles
Declaración de contenido Por-Locale en Intlayer
Intlayer soporta dos formas de declarar contenido multilingüe:
- Archivo único con todas las traducciones
- Un archivo por locale (formato por-locale)
Esta flexibilidad permite:
- Migración sencilla desde otras herramientas i18n
- Soporte para flujos de trabajo de traducción automatizados
- Organización clara de las traducciones en archivos separados y específicos por locale
Archivo único con múltiples traducciones
Este formato es ideal para:
- Iteración rápida en el código.
- Integración fluida con el CMS.
Este es el enfoque recomendado para la mayoría de los casos de uso. Centraliza las traducciones, facilitando la iteración y la integración con el CMS.
Copiar el código al portapapeles
import { t, type Dictionary } from "intlayer";const helloWorldContent = { key: "hello-world", content: { multilingualContent: t({ en: "Title of my component", es: "Título de mi componente", }), },} satisfies Dictionary;export default helloWorldContent;
Recomendado: Este formato es el mejor cuando se utiliza el editor visual de Intlayer o se gestionan las traducciones directamente en el código.
Formato por idioma
Este formato es útil cuando:
- Deseas versionar o sobrescribir traducciones de forma independiente.
- Estás integrando flujos de trabajo de traducción automática o humana.
También puedes dividir las traducciones en archivos individuales por idioma especificando el campo locale:
Copiar el código al portapapeles
import { t, Locales, type Dictionary } from "intlayer";const helloWorldContent = { key: "hello-world", locale: Locales.ENGLISH, // Importante content: { multilingualContent: "Title of my component" },} satisfies Dictionary;export default helloWorldContent;
Copiar el código al portapapeles
import { t, Locales, type Dictionary } from "intlayer";const helloWorldContent = { key: "hello-world", locale: Locales.SPANISH, // Importante content: { multilingualContent: "Título de mi componente" },} satisfies Dictionary;export default helloWorldContent;
Importante: Asegúrate de que el campo locale esté definido. Indica a Intlayer qué idioma representa el archivo.
Nota: En ambos casos, el archivo de declaración de contenido debe seguir el patrón de nombres *.content.{ts,tsx,js,jsx,mjs,cjs,json} para ser reconocido por Intlayer. El sufijo .[locale] es opcional y se usa solo como convención de nombres.
Mezclando formatos
Puedes combinar ambos enfoques de declaración para la misma clave de contenido. Por ejemplo:
- Declara tu contenido base de forma estática en un archivo como index.content.ts.
- Añade o sobrescribe traducciones específicas en archivos separados como index.fr.content.ts o index.content.json.
Esta configuración es especialmente útil cuando:
- Quieres definir la estructura inicial del contenido en código.
- Planeas enriquecer o completar las traducciones más adelante usando el CMS o herramientas automatizadas.
Copiar el código al portapapeles
.└── Components └── MyComponent ├── index.content.ts ├── index.content.json └── index.ts
Ejemplo
Aquí un archivo de declaración de contenido multilingüe:
Copiar el código al portapapeles
import { t, type Dictionary } from "intlayer";const helloWorldContent = { key: "hello-world", locale: Locales.ENGLISH, content: { multilingualContent: "Título de mi componente", projectName: "Mi proyecto", },} satisfies Dictionary;export default helloWorldContent;
Copiar el código al portapapeles
{ "$schema": "https://intlayer.org/schema.json", "key": "hello-world", "content": { "multilingualContent": { "nodeType": "translation", "translation": { "fr": "Titre de mon composant", "es": "Título de mi componente" } } }}
Intlayer combina automáticamente archivos multilingües y por idioma.
Copiar el código al portapapeles
import { getIntlayer, Locales } from "intlayer";const intlayer = getIntlayer("hello-world"); // La configuración regional predeterminada es INGLÉS, por lo que devolverá el contenido en INGLÉSconsole.log(JSON.stringify(intlayer, null, 2));// Resultado:// {// "multilingualContent": "Título de mi componente",// "projectName": "Mi proyecto"// }const intlayer = getIntlayer("hello-world", Locales.SPANISH);console.log(JSON.stringify(intlayer, null, 2));// Resultado:// {// "multilingualContent": "Título de mi componente",// "projectName": "Mi proyecto"// }const intlayer = getIntlayer("hello-world", Locales.FRENCH);console.log(JSON.stringify(intlayer, null, 2));// Resultado:// {// "multilingualContent": "Titre de mon composant",// "projectName": "Mi proyecto"// }
Generación Automática de Traducciones
Utilice el intlayer CLI para completar automáticamente las traducciones faltantes según sus servicios preferidos.
Historial del documento
- 5.5.10 - 2025-06-29: Historial inicial