Překlad znovu
lingo push překládá jen to, co se změnilo: každý zdroj porovná pomocí hashe s lockfile a vše, co se shoduje, přeskočí. To je správné výchozí nastavení, ale někdy potřebujete znovu přeložit obsah, jehož zdrojový text zůstal stejný — třeba po změně modelu engine, aktualizaci jeho pravidel nebo glosáře, nebo při řešení problému s kvalitou.
Jsou na to tři způsoby a liší se cenou: --key pro jednotlivé řetězce, scoped --force push pro celé soubory nebo purge následované běžným pushem pro celý jazyk. Sáhněte po nejužší variantě, která pokryje to, co chcete udělat znovu.
Znovu přeložit konkrétní klíče#
--key znovu přeloží jen klíče, které zadáte, sloučí je s existujícím překladem a všechny ostatní klíče ponechá bajtově beze změny. Ignoruje rozdíly ve zdroji, takže znovu zpracuje i řetězec, jehož anglická verze se vůbec nezměnila.
lingo push --key auth.loginPro více klíčů flag zopakujte:
lingo push --key auth.login --key billing.planVzor může označovat klíč přesně, jako prefix končící na hranici ., /, - nebo [, nebo jako glob. Takže auth.login označí i auth.login.title, ale nikdy auth.login_url; samotné auth označí celý podstrom auth, ale nikdy authority. Globy dejte do uvozovek, jinak je shell rozbalí dřív, než je uvidí CLI:
lingo push --key "auth.*"Tohle je zdaleka nejlevnější možnost — platíte jen za klíče, které jste zadali, a nic navíc. Vyžaduje existující překlad, do kterého se dá sloučit, takže jazyk, který jste ještě nikdy nepřekládali, se přeskočí a zobrazí se zpráva odkazující na --backfill-missing. Některé formáty rozsah klíčů vůbec nepodporují — Formáty uvádějí které a proč.
Úplný popis chování, včetně toho, co se stane s klíči, které jste nezadali, najdete v lingo push.
Vynucení cíleného push#
--force znovu přeloží každý odpovídající cíl bez ohledu na existující překlady a server-side cache. Omezte ho scopem, pokud skutečně nemyslíte celý projekt — samotné lingo push --force pokryje všechny nakonfigurované vzory a v cestě stojí už jen potvrzovací výzva.
Jeden soubor#
lingo push content/en/landing.mdx --forcePodstrom#
lingo push 'content/en/**/*.md' --forceVše#
lingo push --backfill-missing --force --yes--force se před přepsáním zeptá na potvrzení; pokud chcete výzvu přeskočit, předejte --yes (CI). Úplný přehled parametrů najdete v lingo push.
Znovu přeložit jeden jazyk#
push nemá příznak pro jednotlivé jazyky. Pokud chcete znovu vygenerovat jen jeden jazyk, smažte jeho soubory a doplňte je zpět:
lingo purge --locale fr
lingo push --backfill-missingpurge odstraní cíle fr; --backfill-missing pak znovu vygeneruje jen to, co chybí — ostatní jazyky zůstanou beze změny. Je to také levnější než --force, protože vše kromě fr zůstane cache hit. Viz Purge.
Než začnete utrácet, udělejte si odhad#
Jakýkoli push přijímá --estimate, který spočítá cenu běhu a skončí bez překladu:
lingo push 'content/en/**/*.md' --force --estimateDá se kombinovat i s --key, takže si můžete před spuštěním nacenit scope klíčů:
lingo push --key auth.login --estimateOdhady jsou heuristické, ne závazná nabídka — konečná cena se může lišit.
Kdy překládat znovu#
| Situace | Co spustit |
|---|---|
| Zdrojový text se změnil | Nic — běžný lingo push to zachytí |
| Pár řetězců, se kterými nejste spokojení | lingo push --key auth.login --key billing.plan |
| Přepnuli jste model engine | lingo push <scope> --force |
| Aktualizovaná pravidla / glosář | lingo push --key <affected keys> nebo lingo push <scope> --force |
| Nízká kvalita v jednom jazyce | lingo purge --locale <code> a potom lingo push --backfill-missing |
| Začínáte úplně od nuly | lingo push --backfill-missing --force --yes |