Lokalisierungsverwaltung
PowerPortalsPro liefert eine LocalizationAdmin Komponente aus – ein schlüsselfertiges, SystemAdmin-gesteuertes Panel zum Betrieb der String-Lokalisierungspipeline zur Laufzeit. Öffne <LocalizationAdmin /> eine rollengesteuerte Seite, und ein Administrator kann sehen, wie der Lokalisierungscache konfiguriert und aufgebaut ist, ihn ohne Neustart des Hosts neu aufbauen, Lokalisierungsdateien maschinell übersetzen und einen merged per-culture-Snapshot herunterladen. Die Rahmenkomponente übernimmt die schwere Arbeit; Dein Portal stellt die Seite, das Rollen-Gate und den Navigationslink bereit – dieselbe Trennung, die die Site-Admin-Seite verwendet.
Was das Panel zeigt
LocalizationAdmin rendert mehrere Abschnitte, die jeweils von den Lokalisierungsdiensten des Frameworks unterstützt werden:
- Konfiguration — Eine schreibgeschützte Zusammenfassung, wie das Aufwärmen verdrahtet ist – ob jede verfügbare Tabelle lokalisiert ist oder nur ein konfiguriertes Set, die zu lokalisierenden Tabellen, das Web-Ressourcenpfad-Muster, die registrierten Lokalisierungsverzeichnisse und -dateien sowie die Standardkultur. Diese spiegeln die
LocalizationOptionsRegister deines Wirts wider. - Übersetzen Sie eine Datei — Ein Eingebettet
LocalizationTranslator, das eine Lokalisierungsdatei maschinell in eine andere Kultur übersetzt. Es sperrt sich selbst bei der Verfügbarkeit – es gibt nichts dar, wenn kein Übersetzungsanbieter konfiguriert ist, oder eine Installationsaufforderung, wenn die verwaltete Lösung fehlt. Die Seite zur Übersetzungsdokumentation behandelt das vollständig. - Inspektieren und herunterladen von zusammengeführten Schlüsseln — Für jede Kultur, die Schlüssel im Cache hat, erhält man zwei Aktionen. Inspect öffnet einen Dialog , der jeden verschlossenen Schlüssel mit seinem aufgelösten Wert und der Quelle, die ihn geliefert hat, auflistet – ein sortierbares, größenverstellbares Raster, das nach Schlüssel, Wert oder Quelle filtern kann, was es leicht macht, genau zu erkennen, woher ein String stammt und welche Quelle eine andere überschreibt. Download speichert das merged localization-JSON für diese Kultur – die Vereinigung aller Quellen (Dataverse-Metadaten, Webressourcen und Ordnerdateien), die in einer einzigen Datei aufgelöst wurden – und ist auch im Inspektier-Dialog verfügbar.
- Quellen — Ein Raster der pro-source Lastdatensätze aus dem letzten Aufwärmen, geordnet in der Lastreihenfolge – einschließlich der Anzahl der Schlüssel, die jede Quelle beigesteuert hat und wie viele davon einen früheren Wert überschrieben haben. Der schnellste Weg, um zu sehen, warum sich ein String so auflöst.
- Nachladen — Stellt den String-Lokalisierungscache von jeder konfigurierten Quelle neu auf, ohne den Host neu zu starten. Der Rebuild ist atomar, sodass die Leser die vorherigen Werte sehen, bis das neue Wörterbuch fertig ist.
Verkabeln
Wie die Site-Admin-Seite ist sie LocalizationAdmin hinter dem synthetischen SystemAdmin Rollen-Claim geschützt, der durch SystemAdminClaimsTransformer – die Site Admin-Dokumentationsseite erklärt, wie dieser Anspruch konfiguriert wird. Fügen Sie die Komponente in eine rollengesteuerte Seite ein:
@attribute [Route("admin/localization")]
@attribute [Authorize(Roles = "SystemAdmin")]
@using PowerPortalsPro.Web.Blazor.FluentUI.Components
<AuthorizeView Roles="SystemAdmin">
<Authorized>
<LocalizationAdmin />
</Authorized>
</AuthorizeView>
Tauchen Sie es im Navigationssystem an
Wickle den Navigationseintrag so ein, <AuthorizeView Roles="SystemAdmin"> dass Nicht-Admins keinen Link sehen, dem sie nicht folgen können:
<AuthorizeView Roles="SystemAdmin">
<Authorized>
<FluentNavGroup Title="Verwaltung" Icon="@(new Size20.WrenchSettings())">
<FluentNavLink Href="admin/localization"
Icon="@(new Size20.LocalLanguage())">
Lokalisierung
</FluentNavLink>
</FluentNavGroup>
</Authorized>
</AuthorizeView>
Kontrollieren, was lokalisiert wird
Das Konfigurationspanel spiegelt die LocalizationOptions Host-Register wider. LocalizeAllAvailableTables wechselt zwischen der Lokalisierung jeder Tabelle und nur einer expliziten Menge, die über AddTableToLocalize; die Verzeichnis-, Datei- und Webressourcen-Einstellungen zeigen dem Aufwärmen an, wo ordnerbasierte und Webressourcen-Lokalisierungsquellen zu finden sind. Der vollständige Satz von Reglern ist in der untenstehenden API-Referenz zu finden.
Verwandt: die Übersetzungsseite
Das hier eingebettete Translate-a-File-Panel ist dasselbe
LocalizationTranslatorwie auf der Übersetzungsseite, das die Konfiguration eines Übersetzungsanbieters (z. B. Azure AI Translator) und die Installation der verwalteten Lösung durchführt.
API-Referenz
LocalizationOptions steuert das, was das Konfigurationspanel aufdeckt und woraus das Aufwärmen basiert. Seine Mitglieder sind im Folgenden zusammengefasst.
LocalizationOptions Baureihe
Eigenschaften
Name | Typ | Default | Beschreibung |
|---|---|---|---|
DefaultCulture | CultureInfo | Die Standardkultur, die verwendet wird, wenn keine bestimmte Kultur angefragt wird. | |
LocalizationDirectories | IReadOnlyList<string> | Die Liste der Verzeichnispfade, die nach Lokalisierungsdateien durchsucht werden sollen. | |
LocalizationFiles | IReadOnlyList<string> | Die Liste der einzelnen Dateipfade, von denen Lokalisierungsstrings geladen werden können. | |
LocalizeAllAvailableTables | bool | True | Wenn LocalizationOptions.TablesToLocalize wird ignoriert. Auf AddTableToLocalize(System.String) / IEnumerable{System.String})registriert wurden. |
TablesToLocalize | IReadOnlyList<string> | Die Dataverse-Tabellennamen, deren Metadaten (Labels, Auswahlen, Ansichten) als lokalisierte Strings exportiert werden sollten. Ignoriert, wann LocalizationOptions.LocalizeAllAvailableTables es | |
UrlCultureStrategy | UrlCultureStrategy | PathPrefix | Kontrolliert, ob (und wie) die aktive Kultur in der Anfrage-URL widerspiegelt wird. Standardmäßig ( UrlCultureStrategy.PathPrefix Standardkultur frei, andere Kulturen unter dem Präfix Options.UrlCultureStrategy für die verfügbaren Modi. Hat nur Auswirkungen auf multikulturelle Standorte. |
DefaultCultureLocalizationDirectoriesLocalizationFilesLocalizeAllAvailableTablesLocalizationOptions.TablesToLocalize wird ignoriert. Auf AddTableToLocalize(System.String) / IEnumerable{System.String})registriert wurden. TablesToLocalizeLocalizationOptions.LocalizeAllAvailableTables es UrlCultureStrategyUrlCultureStrategy.PathPrefix Standardkultur frei, andere Kulturen unter dem Präfix Options.UrlCultureStrategy für die verfügbaren Modi. Hat nur Auswirkungen auf multikulturelle Standorte.Methoden
Name | Parameter | Typ | Beschreibung |
|---|---|---|---|
AddLocalizationDirectory | string relativeDirectoryPath | void | Fügt einen Verzeichnispfad hinzu, um nach Lokalisierungsdateien zu suchen. |
AddLocalizationFile | string relativeFilePath | void | Fügt der Liste einen einzelnen Lokalisierungsdateipfad hinzu. |
AddTablesToLocalize | IEnumerable<string> tables | void | Fügt eine Sammlung von Dataverse-Tabellennamen zur Lokalisierung hinzu. |
AddTableToLocalize | string tableName | void | Fügt einen einzelnen Dataverse-Tabellennamen zur Lokalisierung hinzu. |
AddLocalizationDirectoryAddLocalizationFileAddTablesToLocalizeAddTableToLocalize