Auto Translate (LibreTranslate)

Übersetzt Payload-Dokumente im Hintergrund über einen selbst gehosteten LibreTranslate-Server in weitere Locales.

Community 2 328/Wo. MIT v1.2.3

Installation

pnpm add @itpyx/payload-auto-translate

Über

Das Plugin ergänzt Collections und Globals in Payload 3.x um einen afterChange-Hook. Wird ein Dokument in der Quellsprache angelegt oder aktualisiert, landet es in einer In-Memory-Queue. Ein Worker schickt die übersetzbaren Strings an LibreTranslate und schreibt die Ergebnisse in jede Ziel-Locale. Bei Collections mit Versions lassen sich auch Entwürfe übersetzen, ohne dass sie veröffentlicht werden. Der Server wird über engine.url konfiguriert, den API-Key kann man optional setzen, alternativ über die Umgebungsvariablen LIBRETRANSLATE_URL und LIBRETRANSLATE_API_KEY. Das Plugin durchläuft die lokalisierten Felder eines Dokuments und überspringt alles, was kein Text ist. Felder lassen sich pro Collection über excludedFields oder global über customFieldExclusions ausschließen. Zusätzlich gibt es customValueExclusions und customValuePatterns (Strings oder RegExp), um einzelne Werte gezielt herauszunehmen. Lexical-Rich-Text wird auf AST-Ebene verarbeitet: Übersetzt werden nur die Text-Blätter, Überschriften, Links, Tabellen und Custom Blocks bleiben strukturell unverändert. Arrays und Blöcke werden zusammengeführt statt überschrieben. Von Hand bearbeiteter Text in einer Zielsprache bleibt erhalten, geänderter Quelltext wird aktualisiert und neue Blöcke werden angehängt. Blöcke mit unterschiedlichem blockType werden nicht vermischt. Die Slug-Generierung ist optional. Sie erzeugt den Slug aus einem Quellfeld wie title, ersetzt deutsche Umlaute und entfernt Akzente bei lateinischen Sprachen. Mit latinLocalesOnly fällt sie für nicht-lateinische Locales auf einen ASCII-Slug zurück. Eine eigene slugify-Funktion kann den Standard ersetzen. Für nachträgliche Übersetzung bestehender Inhalte liefert das Paket einen DatabaseCrawler und eine CLI (payload-auto-translate), die PostgreSQL-Tabellen direkt lesen. Der Crawler setzt @payloadcms/db-postgres und pg voraus und ist über den Export ./crawler erreichbar. Eine laufende LibreTranslate-Instanz ist Pflicht, die Qualität der Übersetzung hängt von LibreTranslate ab. Strings, die unverändert zurückkommen, lassen sich über die Option fallbackRetry erneut versuchen.

Paketinformationen

Paketname
@itpyx/payload-auto-translate
Neueste Version
1.2.3
Entpackte Größe
378 kB
Lizenz
MIT
Wöchentliche Downloads
328
Zuletzt veröffentlicht
14. Okt. 2026

Ähnliche Plugins

Mehr in AI