Lokalisierungsquellen & Überschreibungen
Power Portals Pro erstellt lokalisierte Strings aus drei Quellen in der Reihenfolge: Dataverse-Tabellenmetadaten (die in Ihrer Umgebung installierten Sprachpakete), PowerPortalsPro-Webressourcen und JSON-Dateien auf Festplatte. Spätere Quellen überschreiben frühere – sodass jedes Label, Tooltip, Choice-Option oder Ansichtsnamen, das Dataverse bietet, in Ihrem Projekt durch einen JSON-Eintrag ersetzt werden kann, ohne dass eine Roundtrip mit verwalteter Lösung erforderlich ist. Die gleichen JSON-Dateien erlauben es auch, in Kulturen zu übersetzen, für die Dataverse überhaupt kein Sprachpaket anbietet.
Was du lokalisieren kannst
Jede übersetzbare Fläche im Framework fließt durch dieselbe Quellpipeline, sodass dieselbe JSON-Datei für jede der folgenden Lücken liefern, überschreiben oder schließen kann:
- Tabellen — Anzeigenamen, Sammlungsnamen und Beschreibungen
- Spalten — Anzeigenamen und Beschreibungen (als Feldbeschriftungen und Tooltips verwendet)
- Optionen – Optionsbezeichnungen und Beschreibungen sowohl für tabellenbezogene als auch für globale Optionssätze
- Ansichten — Anzeigen von Namen und Beschreibungen für System- und persönliche Ansichten
- Framework-UI-Strings – Button-Labels, Validierungsmeldungen, Dialogtext, Raster-Chrome und FluentUI-Komponententext
- Die Strings Ihrer Anwendung – Seitentitel, Copy, Navigationslabels, alles, wonach Sie über
IStringLocalizeroder React greifenuseT()
Siehe die Seite String Localizer für die JSON-Dateiform, die jede dieser Dateien unterstützt.
Quellvorrang
Bei der Cache-Warmup-Zeit lädt der Lokalizer nacheinander von jeder Quelle, und der nicht-leere Wert einer späteren Quelle ersetzt den, den eine frühere Quelle für denselben Schlüssel bereitgestellt hat. Die Reihenfolge lautet:
- Metadaten der Dataverse-Tabelle – Labels, Beschreibungen, Auswahlmöglichkeiten und Ansichten aus den in Ihrer Umgebung installierten Sprachpaketen. Wurde mit einem Anruf
RetrieveAllEntitiespro Aufwärmen gezogen. - Dataverse-Webressourcen — JSON-Dateien, die in Dataverse unter dem
/PowerPortalsPro/Localization/Präfix gespeichert sind. Nützlich, wenn du lieber Übersetzungen zusammen mit deiner Lösung ausliefern möchtest als mit dem Code deiner App. - JSON-Dateien auf der Festplatte – jedes Verzeichnis, das über registriert ist
options.AddLocalizationDirectory(...). Diese laden zuletzt, also gewinnen sie.
Die praktische Konsequenz: Fügen Sie ein tables.en.json oder app.fr.json in Ihr Projekt ein, registrieren Sie den Ordner, und jeder passende Schlüssel überschreibt alle Standardeinstellungen von Dataverse oder Framework. Ein leerer eingehender Wert wird ignoriert, daher kann eine Teildatei kein einwandfreies Dataverse-Label durch Auslassung auslöschen.
Jede Kultur, mit oder ohne Sprachpaket
Das Kultursegment eines JSON-Dateinamens (app.{culture}.json, tables.{culture}.json, usw.) ist autoritativ – der Loader prüft nicht, ob Dataverse ein Sprachpaket für diese Kultur hat, bevor er die Datei akzeptiert. Das Schiff und das Portal app.kk.json dienen Kasachisch, wenn ein Nutzer es auswählt, selbst wenn Dataverse überhaupt keine kasachischen Metadaten hat. Die Liste der Kulturen, die ein Portal bewirbt, wird von ASP.NET Core kontrolliert, RequestLocalizationOptions.SupportedCulturesunabhängig davon, was Dataverse anbietet.
Standard-UI-Strings, die vom Framework ausgeliefert werden
ppp-server.defaults.en.jsonwird die querschneidenden app.* Strings geliefert PowerPortalsPro.Web.Server und definiert sie, die von jedem Framework-Nutzer verwendet werden – Seitentitel, Button-Labels, Validierungsnachrichten, Bestätigungsdialoge, Raster-Chrome, FluentUI Blazor-Komponententext und Ähnliches. Automatisch geladen von AddPowerPortalsProWebServer(). Überschreibe jeden Schlüssel in deinem eigenen app.en.json (oder kulturspezifischen Varianten wie app.fr.json) und der Loader bevorzugt deinen Wert gegenüber dem Standardwert. Die untenstehende Datei wird live vom Quellprojekt auf jedem Build dieser Seite gespiegelt, sodass der Inhalt immer mit der Version des Pakets übereinstimmt, die du konsumierst.
