Inicio rápido
De principio a fin: instala, autentícate, vincula 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 bien pnpm add -g @lingo.dev/cli / yarn global add @lingo.dev/cli / bun add -g @lingo.dev/cli.
Autenticarse
lingo loginIngresa 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 flag 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 archivos (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 fuente de verdad de 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 agrega orgId y engineId a .lingo/config.json (también confirmado).
Primer push#
Con un archivo fuente no vacío listo (por ejemplo, locales/en.json):
lingo push --backfill-missing --waitTraduce todos los destinos faltantes en cada patrón configurado. --wait mantiene el CLI activo hasta que termina la ejecución y luego guarda los resultados (locales/de.json, locales/fr.json, ...) en disco. En un checkout limpio, esto puede tardar desde segundos (JSON pequeños) hasta minutos (paquetes grandes de markdown). Sin --wait, push termina en cuanto se envía la ejecución y lingo pull guarda 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, con solo lingo push se traduce únicamente el delta: los archivos cuyo hash de origen no cambió se omiten del lado del servidor. Las ediciones locales en los archivos de destino se conservan por defecto; pasa --force (con un alcance) para sobrescribirlas.
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 estos comandos termina una vez que se envía la ejecución; agrega --wait para guardar los resultados en el mismo comando o recógelos con lingo pull.
Recuperarlos más tarde#
push registra el ID de la ejecución en ~/.lingo/runs/<hash>.json (asociado a la ruta absoluta del proyecto). Después, en la misma máquina y desde el mismo checkout:
lingo pull…espera a que termine el último envío si todavía sigue en ejecución y luego guarda sus resultados. Es útil si cerraste la terminal a mitad de la traducción. En otras máquinas, las traducciones aparecerán una vez que las confirmes.
Qué sigue#
- Configuración — esquema de
.lingo/config.json, lockfile y dónde se guarda el estado de la ejecución. - lingo push — patrones con alcance,
--forcey semántica de reintento. - lingo pull — detección de conflictos,
--dry-run.