Guía rápida

Max PrilutskiyCEO y cofundador2 min de lectura

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#

1

Instalar

bash
npm install -g @lingo.dev/cli

O pnpm add -g @lingo.dev/cli / yarn global add @lingo.dev/cli / bun add -g @lingo.dev/cli.

2

Autenticarse

bash
lingo login

Introduce 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).

3

Inicializar el proyecto

En la raíz de tu proyecto:

bash
lingo init

Te 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.

4

Vincular a un motor

bash
lingo link

Elige (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):

bash
lingo push --backfill-missing --wait

Traduce 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:

text
✓ 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.

bash
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 date

Cada 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:

bash
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, --force y semántica de reintento.
  • lingo pull — detección de conflictos, --dry-run.