La CLI de Lingo.dev traduce los archivos de recursos de tu aplicación web —JSON, YAML, XLIFF, PO o PHP— con un motor de localización configurado. Configura i18n en tu framework, apunta la CLI a tus archivos de traducción y ejecútala.
Cómo funciona#
Todos los frameworks web cuentan con una biblioteca de i18n que carga las traducciones desde archivos de recursos: JSON en React, XLIFF en Angular, PO en Django, etc. La CLI traduce esos archivos directamente para que el framework incorpore las traducciones sin tocar el código.
Configura i18n en tu framework
Usa la biblioteca oficial de i18n de tu framework para añadir rutas según el idioma, una función de traducción y archivos de recursos en el idioma de origen. En cada sección de frameworks más abajo encontrarás un enlace a la guía oficial de configuración.
Configura la CLI
Crea un archivo i18n.json que indique a la CLI dónde están tus archivos de traducción y a qué idiomas debe dirigirse. El tipo de bucket debe coincidir con el formato de recursos de tu framework.
Ejecuta las traducciones
Ejecuta npx lingo.dev@latest run y la CLI traducirá tus archivos de recursos con el motor de localización: las reglas del glosario, la voz de marca y la selección del modelo se aplican automáticamente.
Requisitos previos#
Cada ejecución de la CLI envía el contenido a través de un motor de localización: la configuración que determina qué modelo LLM, glosario, voz de marca e instrucciones se aplican. Crea uno en el panel de Lingo.dev y genera una API key.
Configuración asistida por IA
El i18n MCP puede generar automáticamente toda la infraestructura de i18n de tu framework. Conéctalo a Claude Code, Cursor o GitHub Copilot y escribe "Set up i18n": el agente sigue una lista de 13 pasos para configurar las rutas, los archivos de traducción y un selector de idioma.
Frameworks de JavaScript#
react-i18next carga traducciones desde archivos JSON y proporciona un hook useTranslation que asigna claves a cadenas traducidas en tiempo de ejecución.
{
"$schema": "https://lingo.dev/schema/i18n.json",
"version": "1.15",
"locale": {
"source": "en",
"targets": ["es", "fr", "de", "ja"]
},
"buckets": {
"json": {
"include": ["public/locales/[locale]/translation.json"]
}
}
}Frameworks del lado del servidor#
Laravel incluye localización integrada, que carga traducciones desde archivos PHP organizados por directorio de idioma.
{
"$schema": "https://lingo.dev/schema/i18n.json",
"version": "1.15",
"locale": {
"source": "en",
"targets": ["es", "fr", "de", "ja"]
},
"buckets": {
"php": {
"include": ["lang/[locale]/messages.php"]
}
}
}Ejecutar traducciones#
Con i18n.json configurado, traduce todos los archivos de recursos con un solo comando:
npx lingo.dev@latest runLa CLI lee los archivos del idioma de origen, calcula qué ha cambiado desde la última ejecución mediante el lockfile, traduce solo el delta y escribe los resultados en los archivos del idioma de destino. Las traducciones existentes se conservan: la CLI solo completa las cadenas que faltan o que se han actualizado.
Apunta a un idioma o bucket concretos cuando trabajes solo con una parte:
npx lingo.dev@latest run --target-locale es
npx lingo.dev@latest run --bucket json