|
Documentación
Agenda una demoPlataforma
PlataformaMCPCLI
APIFlujos de trabajo
GuíasRegistro de cambios

Descripción general

  • @lingo.dev/cli

Primeros pasos

  • Inicio rápido
  • Configuración

Referencia

  • lingo push
  • lingo pull
  • Otros comandos
  • lingo purge

Configuración

  • Controles de claves
  • Formatos
  • Idiomas

Guías

  • Agregar un idioma
  • Traducciones existentes
  • Retraducción
  • Notas del traductor
  • Ejecuciones, estado y recuperación
  • CI/CD
  • Monorepos
  • Proyectos grandes

¿Buscas el CLI anterior (v0)? Consulta la documentación del CLI anterior

lingo push

Envía archivos fuente al motor, espera a que termine la ejecución y escribe las salidas en disco.

text
lingo push [patterns...] [--force] [--backfill-missing] [--yes]

Comportamiento predeterminado — push delta#

Sin argumentos, lingo push ejecuta el modo solo delta:

  1. Calcula el hash de cada archivo fuente que coincida con los patrones files de la configuración
  2. Compara cada hash con el lockfile para detectar qué fuentes cambiaron
  3. Sube las fuentes modificadas como una ejecución al motor
  4. Espera a que termine la ejecución
  5. Escribe las salidas en disco
  6. Guarda los nuevos hashes de origen en el lockfile

Si ninguna fuente cambió desde el último push exitoso, el comando termina de inmediato con ✓ Nothing to push. — sin ida y vuelta al servidor, sin consumo de tokens.

Argumentos y flags#

Posicional: patterns... — push con alcance#

bash
lingo push docs/en/about.md
lingo push 'docs/en/**/*.md' 'locales/en.json'

Restringe el push a archivos específicos (deben coincidir con patrones ya definidos en .lingo/config.json). Cambia el comando al modo con alcance:

  • No compara con la fuente anterior: toda fuente coincidente se considera dentro del alcance, incluso si no cambió.
  • Noop del lado del servidor para los targets que ya existen con hashes de origen coincidentes: el motor los omite y la CLI los reporta como en caché.

Úsalo cuando quieras traducir exactamente un archivo actualizado sin volver a calcular el hash de todo el proyecto, o cuando quieras retraducir una sola página con --force.

--force / -f#

bash
lingo push docs/en/about.md --force

Retraduce cada target coincidente, ignorando cualquier traducción existente y omitiendo la caché del lado del servidor. Requiere un alcance — ya sea patrones posicionales o --backfill-missing. lingo push --force por sí solo se rechaza porque retraduciría todo el proyecto.

De forma predeterminada, --force pide confirmación antes de ejecutarse:

text
! --force will retranslate every target for pattern(s): docs/en/about.md and
  overwrite existing translations. Continue? (Yes, retranslate / Cancel)

Pasa --yes / -y para omitir la confirmación (ideal para CI).

--backfill-missing#

bash
lingo push --backfill-missing

Traduce cada target que todavía no existe en todos los patrones configurados. Equivale a un push con alcance sobre todos los patrones de la configuración, pero solo genera archivos donde faltan. Úsalo después de agregar un nuevo idioma a targetLocales, o en el primer push de un proyecto nuevo.

Combínalo con --force para retraducir todo desde cero:

bash
lingo push --backfill-missing --force --yes

--yes / -y#

Omite la confirmación de --force. No tiene efecto sin --force.

Salida#

Si todo sale bien:

text
Pushing source files to localization engine…
✓ Run run_a8c...: localized 12 target file(s), 4 already up-to-date, uploaded 1 new artifact(s).

El resumen se desglosa así:

  • N archivo(s) target localizados — el motor generó traducciones nuevas y la CLI las escribió.
  • N ya actualizados — aciertos de caché del lado del servidor (la fuente coincidió y se reutilizó el target).
  • Se subieron N artifact(s) nuevos — fuentes que el motor no había visto antes (contenido binario o de gran tamaño que se almacena una vez y luego se referencia).
  • N target(s) omitidos (ediciones locales) — los hashes de target locales difieren del lockfile. Vuelve a ejecutar con --force para sobrescribirlos.

Si falla algún target, la CLI imprime el error de cada uno y termina con un código distinto de cero — útil para CI:

text
✓ Run run_a8c...: localized 10 target file(s).
  2 target(s) failed:
    locales/de.json: rate limit on engine; retry later
    locales/fr.json: timeout

Semántica de reintento#

El lockfile se actualiza solo después de una ejecución completamente exitosa. Un fallo parcial (por ejemplo, si un idioma supera el tiempo de espera) deja los hashes de origen sin cambios en el lockfile, así que el siguiente lingo push reintenta el mismo diff — sin necesidad de restablecer nada manualmente.

Si el motor falla antes de que ocurra cualquier traducción (auth, validación), no se escribe nada y el lockfile no cambia.

Patrones comunes#

CI: traducir al hacer merge#

yaml
- run: lingo push --backfill-missing --yes
- run: git add . && git commit -m "chore: refresh translations" && git push

--backfill-missing es la opción segura por defecto: no sobrescribe nada, solo completa lo que falta.

Iteración en un solo archivo#

bash
lingo push docs/en/onboarding.md -f -y

Retraduce solo una fuente después de un cambio importante en el copy. Omite la confirmación para iterar más rápido.

Agregar un nuevo idioma#

Después de actualizar targetLocales en .lingo/config.json:

bash
lingo push --backfill-missing

Traduce todo el corpus al nuevo idioma sin retraducir los que ya existen.

¿Te resultó útil esta página?

Max PrilutskiyMax Prilutskiy·Actualizado hace alrededor de 1 mes·3 min de lectura