Odešle zdrojové soubory do engine, počká na dokončení běhu a zapíše výstupy na disk.
lingo push [patterns...] [--force] [--backfill-missing] [--yes]Výchozí chování — delta push#
Bez argumentů lingo push běží v režimu pouze delta:
- Vypočítá hash každého zdrojového souboru odpovídajícího vzorům
filesv konfiguraci - Porovná každý hash s lockfile a zjistí, které zdroje se změnily
- Nahraje změněné zdroje jako běh do engine
- Počká na dokončení běhu
- Zapíše výstupy na disk
- 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#
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#
lingo push docs/en/about.md --forceZnovu 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í:
! --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#
lingo push --backfill-missingPř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:
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:
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:
✓ Run run_a8c...: localized 10 target file(s).
2 target(s) failed:
locales/de.json: rate limit on engine; retry later
locales/fr.json: timeoutSé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#
- 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#
lingo push docs/en/onboarding.md -f -yZnovu 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:
lingo push --backfill-missingPřeloží celý korpus do nového jazyka, aniž by znovu překládal stávající.
