@lingo.dev/cli
@lingo.dev/cli odešle váš zdrojový obsah do lokalizační engine, který ho přeloží na serveru a zapíše výstupy zpět na disk — buď v rámci stejného příkazu pomocí --wait, nebo později pomocí lingo pull. Nahrazuje starší postup 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 pullnačte výstupy z posledního odeslání — funguje i tehdy, když jste během překladu zavřeli terminál, pokud pull spustíte na stejném počítači a ve stejném checkoutu- 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í
Díky tomu je možné něco, co starší CLI neumělo: dlouhé překlady bez blokovaného terminálu — odešlete je, zavřete terminál a výsledky si stáhněte později.
Čekání na výsledky#
lingo push nahraje zdroje, spustí workflow na serveru a ukončí se hned po odeslání spuštění — na překlady nečeká ani je nezapisuje. Výstupy pak načtete pomocí lingo pull, nebo přidejte --wait (-w) a vyřešte vše jedním příkazem.
lingo push # submit the run and exit (default)
lingo pull # later: re-attach to the most recent push and download its outputs
lingo push --wait # submit, wait, and write outputs in one command--wait(-w) blokuje, dokud workflow neskončí, a ve stejném příkazu zapíše výstupy.lingo pullse znovu připojí k poslednímu odeslání pro tento projekt a stáhne jeho výstupy — funguje i poté, co zavřete terminál. Stav běhu se ukládá po jednotlivých počítačích v~/.lingo/runs/<project-hash>.jsona je navázaný na cestu projektu, takžepullnaváže na stejném počítači a ve stejném checkoutu.
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í (v CI přidejte --wait) |
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.