Zum Hauptinhalt springen

I18n-Übersetzung mit CLI

Das Logto-Übersetzungs-CLI ist ein leistungsstarkes Werkzeug, das für Entwickler entwickelt wurde, die zu den i18n-Bemühungen von Logto beitragen. Mit diesem CLI kannst du dich darauf konzentrieren, Inhalte auf Englisch zu schreiben und sie dann einfach in alle unterstützten Sprachen zu übersetzen.

Für reguläre Logto-Benutzer, die benutzerdefinierte Übersetzungen ohne Beitrag zum Projekt suchen, verweisen wir auf unseren Lokalisierungsleitfaden.

info

Ab Version v1.20.0 wurde der Übersetzungsbefehl aus dem @logto/cli entfernt und als eigenständiges @logto/translation-Paket im Logto-Monorepo gepflegt. Dementsprechend ist die Ausführungsweise leicht unterschiedlich.

Migration von @logto/cli

Hier ist ein Vergleich der alten und neuen CLI-Ausführungsmethoden:

Alte Methode (vor v1.20.0):

pnpm cli translate <command> [options]

Neue Methode:

pnpm translate <command> [options]

Schlüssel synchronisieren

Angenommen, wir haben einige Änderungen an den Übersetzungsschlüsseln im en-Ordner des phrases-Pakets vorgenommen. Wir möchten diese Änderungen mit dem pt-BR-Ordner synchronisieren. Führe den folgenden Befehl aus, um Übersetzungsschlüssel und Dateistruktur zu synchronisieren:

pnpm translate sync-keys --target pt-BR

Dieser Befehl liest alle Übersetzungsschlüssel aus dem Quellsprachenordner (en standardmäßig) und synchronisiert sie mit dem Zielsprachenordner (pt-BR in diesem Beispiel).

  • Wenn der Zielsprachenordner nicht existiert, wird er automatisch erstellt;
  • Wenn der Zielsprachenordner bereits existiert, wird er mit neuen Schlüsseln aktualisiert und veraltete Schlüssel werden entfernt.

Für jeden Übersetzungsschlüssel:

  • Wenn ein Schlüssel im Ziel fehlt, wird er mit einem Kommentar hinzugefügt, der anzeigt, dass der Satz unübersetzt ist (markiert mit /** UNTRANSLATED */);
  • Wenn ein Schlüssel in der Basis fehlt, wird er aus dem Ziel entfernt;
  • Wenn ein Schlüssel sowohl in der Basis als auch im Ziel existiert, wird der Wert des Ziels verwendet.

Um Schlüssel für alle Sprachen im phrases-Paket zu synchronisieren, führe den folgenden Befehl aus:

pnpm translate sync-keys --target all

So können wir uns darauf konzentrieren, die Übersetzungsschlüssel im Quellsprachenordner zu aktualisieren, und die Übersetzungsschlüssel in anderen Sprachen werden automatisch aktualisiert.

info

Dieser Befehl wird standardmäßig für das phrases-Paket ausgeführt. Du kannst den Paketnamen mit der Option --package angeben. Verwende zum Beispiel --package phrases-experience, um Schlüssel für das phrases-experience-Paket zu synchronisieren.

Nach dem Synchronisieren der Schlüssel können wir die Schlüssel mit der ChatGPT API übersetzen.

Schlüssel mit ChatGPT übersetzen

Führe den folgenden Befehl aus, um Schlüssel mit ChatGPT zu übersetzen:

pnpm translate sync

Dieser Befehl übersetzt alle unübersetzten Schlüssel (markiert mit /** UNTRANSLATED */) in allen Sprachen in den Paketen phrases und phrases-experience. Beachte, dass eine Umgebungsvariable OPENAI_API_KEY erforderlich ist, um diesen Befehl auszuführen.