@lingo.dev/cli odešle váš zdrojový obsah do lokalizačního engine, počká, než engine vygeneruje překlady, a zapíše výstupy zpět na disk. Nahrazuje původní flow npx lingo.dev — stejný projekt, ale zásadně odlišná architektura.
Co se změnilo oproti původnímu CLI#
Původní CLI (npx lingo.dev run) extrahovalo řetězce, volalo LLM přímo z vašeho počítače a v jednom kroku na vašem počítači zapisovalo soubory. Současné CLI rozděluje práci na push a pull:
lingo pushnahraje zdroje do vašeho engine, spustí workflow na serveru a buď počká na dokončení, nebo se hned vrátí s ID běhulingo pullstáhne výstupy z posledního push — funguje i když jste během překladu zavřeli terminál nebo stahujete z jiného počítače- Lockfile (
.lingo/lock.json) sleduje poslední známou verzi každého cíle na serveru, takže detekce konfliktů označí lokální úpravy dřív, než dojde k jejich přepsání
To odemyká dvě věci, které původní CLI neumělo: dlouho běžící překlady bez visícího terminálu a stažení výsledků na jiném počítači, než na kterém běžel push (nebo v CI).
Čekání na výsledky#
Dnes lingo push nahraje zdroje, spustí workflow na serveru, počká na jeho dokončení a zapíše výstupy — to vše v jednom příkazu. Předání --wait (-w) tohle blokující chování výslovně určuje. K dokončenému běhu se navíc můžete později znovu připojit pomocí lingo pull.
lingo push # submit, wait, and write outputs (current default)
lingo push --wait # same thing, made explicit
lingo pull # later: re-attach to the most recent push and download its outputsNadcházející změna: připravované vydání změní výchozí chování tak, že lingo push odešle běh a hned skončí; dokončené překlady pak stáhnete pomocí lingo pull a --wait (-w) bude způsob, jak se vrátit k blokujícímu flow v jednom příkazu.
--wait(-w) blokuje, dokud workflow neskončí, a ve stejném příkazu zapíše výstupy.lingo pullse znovu připojí k poslednímu push pro tento projekt a stáhne jeho výstupy — funguje i poté, co jste zavřeli terminál. Stav běhu se ukládá pro každý počítač zvlášť v~/.lingo/runs/<project-hash>.json, takžepullnaváže na stejném počítači.
Autentizace: oba příkazy čtou LINGO_API_KEY (nebo --api-key, nebo relaci lingo login). V CI stačí nastavit LINGO_API_KEY.
Režimy push#
| Příkaz | Režim | Kdy |
|---|---|---|
lingo push | Inkrementální — porovná zdroj s .lingo/lock.json, přeloží jen nové nebo změněné klíče do existujících cílů a zbytek zachová | Každé běžné spuštění / CI |
lingo push --backfill-missing | Bootstrap — doplní cílové SOUBORY, které ještě neexistují | První push nebo po přidání nového jazyka |
lingo push --force | Kompletní nový překlad — přepíše všechny cíle (včetně ručních úprav); --yes/-y přeskočí potvrzení | Zřídka (např. po změně glosáře/engine) |
--backfill-missing je bootstrap příznak. Provede omezený nový request a přidá pouze celé chybějící cílové soubory — NEpřekládá nově přidané klíče do už přeložených souborů (běh nahlásí „already up-to-date“ a klíč přeskočí). Pro průběžné úpravy používejte běžné lingo push.
Ruční úpravy překladů#
Běžné lingo push zachovává ruční úpravy po jednotlivých klíčích:
- Upravíte cílový řetězec (jeho zdroj se nezměnil) → tento řetězec zůstane zachovaný; ostatní klíče se dál aktualizují.
- Změní se zdroj za upraveným klíčem → pro tento klíč se vygeneruje nový překlad, který ruční úpravu nahradí.
- Přidá se nový zdrojový klíč → přeloží se a přidá, i do souborů s ručními úpravami.
