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, glosarios, voz de marca e instrucciones. Configúralo una sola vez en la plataforma de Lingo.dev y reutilízalo en distintos proyectos. link agrega orgId y engineId a .lingo/config.json (también se versiona).
Primer push#
Con un archivo fuente no vacío listo (por ejemplo, locales/en.json):
lingo push --backfill-missingTraduce todos los destinos que falten en cada patrón configurado. La CLI espera a que la ejecución termine 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 (bundles grandes de 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, 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 dateHacer pull desde otra máquina#
push registra el ID de la 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. Útil para CI ("el traductor ejecuta push desde su laptop y CI ejecuta pull en cada build") o simplemente para retomar el trabajo después de cerrar la terminal.
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.
