Dictionary (Database Translations)

Verwaltet UI-Texte als lokalisierte Payload-Collection, die Next.js über einen gecachten Helper ausliest.

Community 2 255/Wo. MIT v1.0.0

Installation

pnpm add payload-plugin-dictionary

Über

Das Plugin ergänzt Payload um die Collection `translations` in der Admin-Gruppe "Dictionary". Jedes Dokument enthält einen Namespace, der aus der beim Plugin übergebenen Liste gewählt wird, einen punktgetrennten Key wie `auth.login_button` und ein lokalisiertes Feld `value`. Ziel ist, Frontend-Texte wie Button-Beschriftungen, Navigationspunkte und Fehlermeldungen aus `en.json`-artigen Dateien in das Admin-Panel zu verlagern. Redakteure können diese Texte dann ohne neues Deployment ändern. Auf der Next.js-Seite exportiert `payload-plugin-dictionary/cache` die Funktionen `getTranslations` und `getDictionary`. Beide kapseln die Datenbankabfragen in `unstable_cache` mit dem Tag `payload-translations`. Die Hooks `afterChange` und `afterDelete` der Collection rufen `revalidateTag` mit diesem Tag auf, sodass gecachte Wörterbücher nach einer Änderung neu geladen werden. Für Client Components stellt `payload-plugin-dictionary/client` den `DictionaryProvider` und den Hook `useTranslations` bereit. Die Funktion `t` unterstützt `{var}`-Interpolation und gibt einen Fallback-String zurück, wenn ein Key fehlt. Zusätzlich registriert das Plugin den REST-Endpunkt `GET /api/dictionary/:namespace?locale=` mit HTTP-Caching-Headern. Das CLI-Kommando `payload-dictionary generate` erzeugt aus den gespeicherten Keys TypeScript-Typen. Die Konfiguration erfordert ein `namespaces`-Array in den Plugin-Optionen. Ohne Einträge bricht Payload beim Start mit einem Fehler ab. Der `defaultNamespace` ist standardmäßig der erste Eintrag. Die Eindeutigkeit von Keys wird doppelt geprüft: Das Feld `key` ist als unique markiert, und ein `beforeValidate`-Hook weist doppelte Kombinationen aus `(namespace, key)` zurück. Keys dürfen keine Leerzeichen enthalten. Das Plugin setzt Payload ab Version 3.90, Next.js 15 oder 16 sowie React 19 voraus. React ist nur für die Client-Helper nötig. Das Plugin verwaltet ausschließlich Strings und ersetzt keine i18n-Bibliothek im Frontend.

Paketinformationen

Paketname
payload-plugin-dictionary
Neueste Version
1.0.0
Entpackte Größe
446 kB
Lizenz
MIT
Wöchentliche Downloads
255
Zuletzt veröffentlicht
12. Okt. 2026

Mehr von Mhmod-Hsn

Profil ansehen

Ähnliche Plugins

Mehr in i18n