@lingo.dev/cli

Max PrilutskiyCEO a spoluzakladatel3 min čtení

@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 push nahraje zdroje do vašeho engine, spustí workflow na serveru a buď počká na dokončení, nebo se hned vrátí s ID běhu
  • lingo pull nač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.

bash
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 pull se 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>.json a je navázaný na cestu projektu, takže pull naváž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říkazRežimKdy
lingo pushInkrementá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-missingBootstrap — doplní cílové SOUBORY, které ještě neexistujíPrvní push nebo po přidání nového jazyka
lingo push --forceKompletní 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.

Co najdete v této sekci#

Quickstart
Instalace, přihlášení, propojení s enginem a spuštění prvního push a pull.
Konfigurace
`.lingo/config.json`, `.lingo/lock.json` a stav běhu pro jednotlivé počítače v `~/.lingo/runs/<hash>.json`.
lingo push
Odešlete zdroje a spusťte překlad — přidejte `--wait`, pokud chcete výstupy zapsat v rámci stejného příkazu. Vzory v daném rozsahu, `--force`, sémantika opakování.
lingo pull
Načtěte výstupy z posledního odeslání — napříč relacemi terminálu, na stejném počítači. Detekce konfliktů.
Další příkazy
login, logout, link, unlink, whoami — příkazy pro nastavení a identitu.