|
Dokumentace
Rezervovat demoPlatforma
PlatformaMCPCLI
APIWorkflows
NávodyChangelog

Přehled

  • @lingo.dev/cli

Začínáme

  • Rychlý start
  • Konfigurace

Reference

  • lingo push
  • lingo pull
  • Další příkazy
  • lingo purge

Konfigurace

  • Ovládání klíčů
  • Formáty
  • Jazyky

Návody

  • Přidání jazyka
  • Stávající překlady
  • Překlad znovu
  • Běhy, stav a obnova
  • CI/CD
  • Monorepa
  • Velké projekty

Průvodci

  • Poznámky pro překladatele

Hledáte starší CLI (v0)? Zobrazit dokumentaci k legacy CLI

lingo push

Odešle zdrojové soubory do engine, počká na dokončení běhu a zapíše výstupy na disk.

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

Výchozí chování — delta push#

Bez argumentů lingo push běží v režimu pouze delta:

  1. Vypočítá hash každého zdrojového souboru odpovídajícího vzorům files v konfiguraci
  2. Porovná každý hash s lockfile a zjistí, které zdroje se změnily
  3. Nahraje změněné zdroje jako běh do engine
  4. Počká na dokončení běhu
  5. Zapíše výstupy na disk
  6. Uloží nové hashe zdrojů do lockfile

Pokud se od posledního úspěšného push nezměnil žádný zdroj, příkaz se ukončí rovnou s ✓ Nothing to push. — bez komunikace se serverem a bez spotřeby tokenů.

Argumenty a přepínače#

Poziční: patterns... — omezený push#

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

Omezí push na konkrétní soubory (musí odpovídat vzorům, které už jsou v .lingo/config.json). Přepne příkaz do omezeného režimu:

  • Bez porovnání s předchozím stavem zdrojů — každý odpovídající zdroj se bere jako součást scope, i když se nezměnil.
  • No-op na straně serveru pro cíle, které už existují a mají odpovídající hashe zdrojů — engine je přeskočí a CLI je nahlásí jako cache.

Použijte, když chcete přeložit právě jeden aktualizovaný soubor bez přepočítávání hashů celého projektu nebo když chcete znovu přeložit jednu stránku pomocí --force.

--force / -f#

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

Znovu přeloží každý odpovídající cíl, ignoruje existující překlady a obejde cache na straně serveru. Vyžaduje scope — buď poziční vzory, nebo --backfill-missing. Samotné lingo push --force je odmítnuto, protože by znovu přeložilo celý projekt.

Ve výchozím nastavení si --force před spuštěním vyžádá potvrzení:

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

Předejte --yes / -y, pokud chcete potvrzení přeskočit (vhodné pro CI).

--backfill-missing#

bash
lingo push --backfill-missing

Přeloží každý cíl, který ještě neexistuje, napříč všemi nakonfigurovanými vzory. Je to ekvivalent omezeného push nad všemi vzory z konfigurace, ale vytvoří jen soubory, které chybí. Použijte po přidání nového jazyka do targetLocales nebo při prvním push nového projektu.

Zkombinujte s --force, pokud chcete vše přeložit znovu od nuly:

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

--yes / -y#

Přeskočí potvrzovací výzvu pro --force. Bez --force nemá žádný efekt.

Výstup#

Při úspěchu:

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

Souhrn se dělí na:

  • Lokalizováno N cílových souborů — engine vytvořil nové překlady a CLI je zapsalo.
  • N už je aktuálních — zásahy serverové cache (zdroj odpovídal, cíl se znovu použil).
  • N nových artefaktů nahráno — zdroje, které engine ještě neviděl (binární/velký obsah se uloží jednou a pak se už jen odkazuje).
  • N cílů přeskočeno (místní úpravy) — místní hashe cílů se liší od lockfile. Pokud je chcete přepsat, spusťte znovu s --force.

Při selhání jednotlivých cílů CLI vypíše chybu pro každý neúspěšný cíl a skončí s nenulovým návratovým kódem — užitečné pro 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

Sémantika opakování#

Lockfile se aktualizuje až po plně úspěšném běhu. Částečné selhání (např. timeout jednoho jazyka) ponechá hashe zdrojů v lockfile beze změny, takže další lingo push zopakuje stejný diff — bez ručního resetu.

Pokud engine selže ještě před zahájením překladu (ověření, validace), nic se nezapíše a lockfile zůstane beze změny.

Běžné vzory#

CI: překlad při merge#

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

--backfill-missing je bezpečná výchozí volba: nic nepřepisuje, jen doplňuje chybějící položky.

Práce s jedním souborem#

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

Znovu přeložte jen jeden zdroj po větší změně textu. Pro rychlou iteraci přeskočte potvrzení.

Přidání nového jazyka#

Po navýšení targetLocales v .lingo/config.json:

bash
lingo push --backfill-missing

Přeloží celý korpus do nového jazyka, aniž by znovu překládal stávající.

Byla tato stránka užitečná?

Max PrilutskiyMax Prilutskiy·Aktualizováno přibližně před 1 měsícem·3 min čtení