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 bei LocalizationAdmin der Portaladministrator-Prüfung geschlossen – [AuthorizeSystemAdmin] und <SystemAdminView>, die nur einen internen Benutzer mit einer der Dataverse-Rollen SystemAdminClaimsTransformer zulassen – behandelt die Site Admin-Dokumentationsseite, wie dieser Anspruch konfiguriert wird. Fügen Sie die Komponente in eine rollengesteuerte Seite ein:
@attribute [Route("admin/localization")]
@attribute [AuthorizeSystemAdmin]
@using PowerPortalsPro.Web.Blazor.FluentUI.Components
<SystemAdminView>
<Authorized>
<LocalizationAdmin />
</Authorized>
</SystemAdminView>
Tauchen Sie es im Navigationssystem an
Wickle den Navigationseintrag so, <SystemAdminView> dass Nicht-Admins keinen Link sehen, dem sie nicht folgen können:
<SystemAdminView>
<Authorized>
<FluentNavCategory Title="Verwaltung" IconRest="@(new Size20.WrenchSettings())">
<FluentNavItem Href="admin/localization">
<FluentIcon Value="@(new Size20.LocalLanguage())" />
Lokalisierung
</FluentNavItem>
</FluentNavCategory>
</Authorized>
</SystemAdminView>
Kontrollieren, was lokalisiert wird
Das Konfigurationspanel spiegelt die LocalizationOptions Host-Register Ihres Hosts wider. Die Tabellen und Publisher-Präfixe listen an, was aus Dataverse-Metadaten lokalisiert ist; die Verzeichnis-, Datei- und Webressourcen-Einstellungen sagen dem Warmup, wo ordnerbasierte und webbasierte Quellen zur Lokalisierung von Webressourcen zu finden sind. Die vollständige Auswahl an Knöpfen befindet sich in der untenstehenden API-Referenz.
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. | |
TablePublisherPrefixesToLocalize | IReadOnlyList<string> | Die Publisher-Präfixe (zum Beispiel LocalizationOptions.TablesToLocalize. Jede wird mit logischen Tabellennamen abgeglichen, wenn die lokalisierten Zeichenketten Laden, sodass eine später zur Umgebung hinzugefügte Tabelle beim nächsten Laden des Caches aufgerufen wird. | |
TablesToLocalize | IReadOnlyList<string> | Die Dataverse-Tabellennamen, deren Metadaten (Labels, Auswahlen, Ansichten) als lokalisierte Strings exportiert werden sollten. Enthält Tables.PowerPortalsProTablesimmer , die auf den eigenen Seiten des Frameworks angezeigt werden. Registrieren jede andere Tabelle, deren Beschriftungen in der Benutzeroberfläche erscheinen (Raster, Formulare, Teilraster, Diagramme), da eine angezeigte Tabelle ist die nicht lokalisiert sind, sondern ihre Rohschlüssel statt Labels rendert. Options.Tables enthält fertige Listen von Die häufig verwendeten Tabellen. | |
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. |
DefaultCultureLocalizationDirectoriesLocalizationFilesTablePublisherPrefixesToLocalizeLocalizationOptions.TablesToLocalize. Jede wird mit logischen Tabellennamen abgeglichen, wenn die lokalisierten Zeichenketten Laden, sodass eine später zur Umgebung hinzugefügte Tabelle beim nächsten Laden des Caches aufgerufen wird.TablesToLocalizeTables.PowerPortalsProTablesimmer , die auf den eigenen Seiten des Frameworks angezeigt werden. Registrieren jede andere Tabelle, deren Beschriftungen in der Benutzeroberfläche erscheinen (Raster, Formulare, Teilraster, Diagramme), da eine angezeigte Tabelle ist die nicht lokalisiert sind, sondern ihre Rohschlüssel statt Labels rendert. Options.Tables enthält fertige Listen von Die häufig verwendeten Tabellen.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, wie zum Beispiel eine der Listen auf Options.Tables. |
AddTablesToLocalizeByPublisherPrefix | string publisherPrefix | void | Lokalisiert jede Dataverse-Tabelle, deren logischer Name mit dem gegebenen Publisher-Präfix beginnt – typischerweise Das Präfix des Publishers, unter dem deine eigenen Tabellen erstellt werden. |
AddTableToLocalize | string tableName | void | Fügt einen einzelnen Dataverse-Tabellennamen zur Lokalisierung hinzu. |
AddLocalizationDirectoryAddLocalizationFileAddTablesToLocalizeOptions.Tables.AddTablesToLocalizeByPublisherPrefixAddTableToLocalize