|
Documentation
Book a DemoPlatform
PlatformMCPCLI
APIWorkflows
GuidesChangelog

Overview

  • @lingo.dev/cli

Getting started

  • Quickstart
  • Configuration
  • Examples

Reference

  • lingo push
  • lingo pull
  • lingo purge
  • Other commands

Configuration

  • Key controls
  • Formats
  • Locales

Guides

  • Adding a locale
  • Existing translations
  • Retranslation
  • Translator notes
  • Runs, state, and recovery
  • CI/CD
  • Monorepos
  • Large projects

Looking for the older CLI (v0)? See the legacy CLI docs

Retranslation

lingo push only translates what changed: it hashes each source against the lockfile and skips anything that matches. That's the right default, but sometimes you want to retranslate content whose source text is identical — after switching the engine's model, updating its rules or glossary, or fixing a quality issue.

There are two ways to force that: a scoped --force push, or purge followed by a normal push.

Force a scoped push#

--force retranslates every matching target, ignoring existing translations and server-side cache. It requires a scope — bare lingo push --force is rejected so you can't accidentally retranslate the whole project.

One file#

bash
lingo push content/en/landing.mdx --force

A subtree#

bash
lingo push 'content/en/**/*.md' --force

Everything#

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

--force prompts before overwriting; pass --yes to skip the prompt (CI). See lingo push for the full flag reference.

Retranslate a single locale#

push has no per-locale flag. To redo just one language, delete its files and backfill:

bash
lingo purge --locale fr
lingo push --backfill-missing

purge removes the fr targets; --backfill-missing then regenerates only what's missing — the other locales are untouched. This is also cheaper than --force, because everything except fr stays a cache hit. See Purge.

Estimate before you spend#

Any push accepts --estimate, which prices the run and exits without translating:

bash
lingo push 'content/en/**/*.md' --force --estimate

Estimates are heuristic, not a quote — final cost may differ.

When to retranslate#

SituationWhat to run
Source text changedNothing — plain lingo push picks it up
Switched the engine's modellingo push <scope> --force
Updated rules / glossarylingo push <scope> --force, or per-locale purge + backfill
Poor quality in one localelingo purge --locale <code> then lingo push --backfill-missing
Starting completely freshlingo push --backfill-missing --force --yes

Was this page helpful?

Max PrilutskiyMax Prilutskiy·Updated about 19 hours ago·1 min read