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 almacena la configuración de tu modelo de IA, los glosarios, la voz de marca y las instrucciones. Configúralo una sola vez en la plataforma de Lingo.dev y reutilízalo en todos tus proyectos. link añade orgId y engineId a .lingo/config.json (y también se versiona con commit).
Primer push#
Con un archivo fuente no vacío ya en su sitio (por ejemplo, locales/en.json):
lingo push --backfill-missingTraduce todos los destinos que faltan en cada patrón configurado. La CLI espera a que finalice la ejecución y 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 lotes de archivos markdown).
Cuando termine:
✓ Run run_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 dateHacer pull desde otra máquina#
push registra el ID de ejecución en ~/.lingo/runs/<hash>.json (asociado a la ruta absoluta del proyecto). En cualquier máquina con el mismo checkout y las mismas credenciales:
lingo pull…recupera los resultados del último push. Es útil para CI ("el traductor ejecuta push desde su portátil y CI ejecuta pull en cada build") o simplemente para retomar el trabajo después de cerrar la terminal.
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.
