Diese Dokumentation wurde automatisch von KI übersetzt.
I18n
In NocoBase-Plugins wird die mehrsprachige Internationalisierung (i18n) sowohl für das Frontend als auch für das Backend unterstützt. Dank eines einheitlichen Mechanismus können Sie mehrsprachige Inhalte in Ihren Plugins mühelos umsetzen.
Mehrsprachige Dateiverwaltung
Die Mehrsprachen-Dateien von Plugins werden einheitlich im Verzeichnis src/locale abgelegt. Es wird empfohlen, diese nach der jeweiligen Sprache zu benennen, zum Beispiel:
Jede Sprachdatei exportiert ein JSON-Objekt, das alle Übersetzungs-Einträge für die entsprechende Sprache enthält, zum Beispiel:
Wenn Sie Sprachdateien zum ersten Mal hinzufügen, müssen Sie die Anwendung neu starten, damit diese wirksam werden. Sie können die Übersetzungs-Einträge über die API überprüfen: http://localhost:13000/api/app:getLang?locale=zh-CN
Globale i18n-Instanz
app.i18n ist die globale i18n-Instanz, die sich für CLI- oder globale Plugin-Szenarien eignet. Sie lässt sich mit inquirer kombinieren, um Kommandozeilen-Interaktionen zu realisieren:
app.i18n.t(text, options)wird verwendet, um Text zu übersetzen und unterstützt dabei Vorlagen-Variablen.
i18n im Anfrage-Kontext
Die ctx.i18n-Instanz jedes Requests ist ein Klon der globalen i18n-Instanz und liefert mehrsprachige Informationen unabhängig von der Client-Sprache.
Client-Sprache festlegen
- Query String:
- Request Header (Empfohlen):
Verwendung in Middleware
Beim Aufruf von http://localhost:13000/api/test-i18n?locale=zh-CN wird 你好 zurückgegeben.
i18n innerhalb von Plugins
Plugins können plugin.t(key, options) direkt verwenden, um Übersetzungen abzurufen:
plugin.t(text)ist äquivalent zuctx.t(text, { ns }).
Zugehörige APIs
- app.i18n
- app.t(text, options)
- ctx.i18n
- ctx.t(text, options)
- plugin.t()
- tExpr(text, options)

