Neuübersetzung
lingo push übersetzt nur, was sich geändert hat: Jede Quelle wird mit dem Lockfile abgeglichen, und alles, was übereinstimmt, wird übersprungen. Das ist standardmäßig genau richtig — manchmal möchtest du Inhalte aber trotzdem neu übersetzen, obwohl der Quelltext unverändert ist: etwa nach einem Modellwechsel der Engine, nach Änderungen an ihren Regeln oder ihrem Glossar oder wenn du ein Qualitätsproblem behoben hast.
Dafür gibt es drei Möglichkeiten, die sich auch preislich unterscheiden: --key für einzelne Strings, ein Scoped --force Push für ganze Dateien oder purge gefolgt von einem normalen Push für eine ganze Sprache. Wähle am besten die kleinste Option, die genau das abdeckt, was du neu übersetzen möchtest.
Bestimmte Schlüssel neu übersetzen#
--key übersetzt nur die Schlüssel neu, die du angibst, führt sie mit der bestehenden Übersetzung zusammen und lässt alle anderen Schlüssel bytegenau unverändert. Der Quelltext-Diff wird dabei ignoriert — selbst ein String, dessen englischer Text unverändert geblieben ist, wird also neu übersetzt.
lingo push --key auth.loginWiederhole das Flag für mehrere Schlüssel:
lingo push --key auth.login --key billing.planEin Muster erfasst einen Schlüssel entweder exakt, als Präfix mit Abschluss an einer .-, /-, -- oder [-Grenze oder als Glob. Deshalb erfasst auth.login auch auth.login.title, aber nie auth.login_url; ein einfaches auth erfasst den gesamten auth-Teilbaum, aber nie authority. Setze Globs in Anführungszeichen, sonst erweitert deine Shell sie, bevor die CLI sie sieht:
lingo push --key "auth.*"Das ist mit großem Abstand die günstigste Option — Sie zahlen nur für die Keys, die Sie angegeben haben, und für nichts darüber hinaus. Dafür ist eine vorhandene Übersetzung nötig, in die zusammengeführt werden kann. Eine Sprache, die Sie noch nie übersetzt haben, wird daher übersprungen, mit einem Hinweis auf --backfill-missing. Einige Formate unterstützen gar keinen Key-Bereich — unter Formate sehen Sie, welche und warum.
Unter lingo push findest du das vollständige Verhalten, einschließlich dessen, was mit Schlüsseln passiert, die du nicht angegeben hast.
Scoped Push erzwingen#
--force übersetzt jedes passende Ziel neu und ignoriert dabei bestehende Übersetzungen sowie den serverseitigen Cache. Begrenze den Scope, außer du meinst wirklich das gesamte Projekt — ein bloßes lingo push --force erfasst jedes konfigurierte Muster, und nur die Bestätigungsabfrage steht noch dazwischen.
Eine Datei#
lingo push content/en/landing.mdx --forceEin Teilbaum#
lingo push 'content/en/**/*.md' --forceAlles#
lingo push --backfill-missing --force --yes--force fragt vor dem Überschreiben nach; mit --yes überspringst du die Abfrage (CI). Die vollständige Flag-Referenz findest du unter lingo push.
Eine einzelne Sprache neu übersetzen#
push hat kein Flag pro Sprache. Wenn du nur eine Sprache neu erstellen willst, lösche ihre Dateien und fülle sie anschließend wieder auf:
lingo purge --locale fr
lingo push --backfill-missingpurge entfernt die fr-Ziele; --backfill-missing erzeugt danach nur die fehlenden Inhalte neu — die anderen Sprachen bleiben unberührt. Das ist außerdem günstiger als --force, weil alles außer fr ein Cache-Treffer bleibt. Siehe Purge.
Kosten abschätzen, bevor du loslegst#
Jeder Push akzeptiert --estimate: Damit werden die Kosten für den Lauf geschätzt und der Vorgang beendet, ohne zu übersetzen:
lingo push 'content/en/**/*.md' --force --estimateDas lässt sich auch mit --key kombinieren, sodass du die Kosten für einen Schlüsselbereich vorab prüfen kannst:
lingo push --key auth.login --estimateSchätzungen sind heuristisch und kein verbindliches Angebot — die tatsächlichen Kosten können abweichen.
Wann du neu übersetzen solltest#
| Situation | Auszuführen |
|---|---|
| Quelltext geändert | Nichts — ein normales lingo push übernimmt das |
| Ein paar Strings, mit denen du nicht zufrieden bist | lingo push --key auth.login --key billing.plan |
| Engine-Modell gewechselt | lingo push <scope> --force |
| Aktualisierte Regeln / aktualisiertes Glossar | lingo push --key <affected keys> oder lingo push <scope> --force |
| Schlechte Qualität in einer Sprache | lingo purge --locale <code> und danach lingo push --backfill-missing |
| Komplett neu starten | lingo push --backfill-missing --force --yes |