Guía rápida
De principio a fin: instala, autentícate, vincula el proyecto a un motor, haz push de los archivos fuente y pull de las traducciones.
Requisitos previos
Node.js 22+ (node -v para comprobarlo). Una vez instalada, la CLI se ejecuta como lingo.
Configuración#
Instalar
npm install -g @lingo.dev/cliO pnpm add -g @lingo.dev/cli / yarn global add @lingo.dev/cli / bun add -g @lingo.dev/cli.
Autenticarse
lingo loginIntroduce tu correo electrónico; la CLI envía un código de un solo uso y guarda un token de sesión en ~/.lingo/auth.json. Para CI o entornos no interactivos, usa una clave de API: lingo login --api-key lk_... (o establece --api-key como indicador global en cualquier comando).
Inicializar el proyecto
En la raíz de tu proyecto:
lingo initTe pedirá el idioma de origen, los idiomas de destino y los patrones de archivo (globs que apuntan a tus archivos fuente). Escribe la sección de localización en .lingo/config.json. Haz commit de este archivo: es la referencia de todo lo que se traduce.
Vincular a un motor
lingo linkElige (o crea) una organización y un motor de localización. El motor guarda la configuración de tu modelo de IA, los glosarios, la voz de marca y las reglas; configúralo una sola vez en la plataforma Lingo.dev y reutilízalo en todos tus proyectos. link añade orgId y engineId a .lingo/config.json (también confirmado).
Primer push#
Con un archivo fuente no vacío ya en su sitio (por ejemplo, locales/en.json):
lingo push --backfill-missing --waitTraduce todos los destinos pendientes en todos los patrones configurados. --wait mantiene el CLI en ejecución hasta que termine la ejecución y, después, escribe los resultados (locales/de.json, locales/fr.json, ...) en disco. En un checkout limpio, esto puede tardar desde unos segundos (JSON pequeños) hasta varios minutos (grandes paquetes de markdown). Sin --wait, push se cierra en cuanto se envía la ejecución y lingo pull escribe los resultados más tarde.
Cuando termine:
✓ Run lrg_a8c... : localized 12 target file(s), uploaded 1 new artifact(s).Ejecuciones posteriores#
Después de editar los archivos fuente, un simple lingo push solo traduce el delta: los archivos cuyo hash de origen no haya cambiado se omiten en el servidor. Los cambios locales en los archivos de destino se conservan por defecto; pasa --force (con un ámbito) para sobrescribirlos.
lingo push # delta only
lingo push docs/en/**/*.md # scoped: only this subtree
lingo push docs/en/about.md -f # scoped + force: retranslate even if up to dateCada uno de ellos se cierra en cuanto se envía la ejecución; añade --wait para escribir los resultados en el mismo comando o recógelos con lingo pull.
Recuperarlos más tarde#
push guarda el ID de la ejecución en ~/.lingo/runs/<hash>.json (asociado a la ruta absoluta del proyecto). Más adelante, en la misma máquina y desde el mismo checkout:
lingo pull…espera a que termine el último envío si sigue en ejecución y, después, escribe los resultados. Es útil si cierras el terminal a mitad de la traducción. En otras máquinas, las traducciones se reciben en cuanto las confirmas.
Qué hacer ahora#
- Configuración — esquema de
.lingo/config.json, lockfile y dónde se guarda el estado de las ejecuciones. - lingo push — patrones con ámbito,
--forcey semántica de reintento. - lingo pull — detección de conflictos,
--dry-run.