Admin de localisation
PowerPortalsPro propose un LocalizationAdmin composant — un panneau clé en main, verrouillé par SystemAdmin, pour faire fonctionner le pipeline de localisation de chaînes à l’exécution. Entrez <LocalizationAdmin /> dans une page verrouillée par rôle et un administrateur peut voir comment le cache de localisation est configuré et construit, le reconstruire sans redémarrer l’hôte, traduire automatiquement les fichiers de localisation, et télécharger un instantané fusionné par culture. La partie structure fait le gros du travail ; Votre portail fournit la page, la porte de rôle et le lien de navigation — la même division que la page Administrateur du Site utilise.
Ce que montre le panneau
LocalizationAdmin Affiche plusieurs sections, chacune soutenue par les services de localisation du cadre :
- Configuration — Un résumé en lecture seule de la façon dont le warmup est câblé — si chaque table disponible est localisée ou seulement un ensemble configuré, les tables à localiser, le schéma de chemin des ressources web, les répertoires et fichiers de localisation enregistrés, ainsi que la culture par défaut. Celles-ci reflètent les
LocalizationOptionsregistres de votre hôte. - Traduire un fichier — Un embedded
LocalizationTranslatorqui traduit automatiquement un fichier de localisation dans une autre culture. Il s’auto-verrouille sur la disponibilité — ne se manifestant rien lorsqu’aucun fournisseur de traduction n’est configuré, ni une invite d’installation lorsque la solution gérée manque. La page de documentation de la traduction le traite en entier. - Inspecter et télécharger les clés fusionnées — Pour chaque culture qui possède des clés dans le cache, vous obtenez deux actions. Inspect ouvre une boîte de dialogue listant chaque clé fusionnée avec sa valeur résolue et la source qui l’a fournie — une grille triable et redimensionnable que vous pouvez filtrer par clé, valeur ou source, ce qui permet de localiser précisément d’où vient une chaîne et quelle source en supprime une autre. Download sauvegarde le JSON de localisation fusionné pour cette culture — l’union de toutes les sources (métadonnées Dataverse, ressources web et fichiers de dossiers) résolues en un seul fichier — et est également disponible depuis la boîte d’affichage d’inspection.
- Sources — Une grille des enregistrements de charge par source du dernier échauffement, dans l’ordre de chargement — incluant le nombre de clés que chaque source a apportées et combien d’entre elles ont remplacé une valeur antérieure. La façon la plus rapide de comprendre pourquoi une chaîne se résolvait ainsi.
- Rechargement — Reconstruit le cache de localisation de chaînes à partir de chaque source configurée sans redémarrer l’hôte. La reconstruction est atomique, donc les lecteurs continuent de voir les valeurs précédentes jusqu’à ce que le nouveau dictionnaire soit prêt.
Le câblage
Comme la page Administrateur de Site, LocalizationAdmin est verrouillée sur la vérification administrateur du portail — [AuthorizeSystemAdmin] et <SystemAdminView>, qui admet que seul un utilisateur interne occupant l’un des rôles SystemAdminClaimsTransformer Dataverse lit — la page de documentation Administrateur Site explique comment cette réclamation est configurée. Supprimez le composant à l’intérieur d’une page verrouillée par rôle :
@attribute [Route("admin/localization")]
@attribute [AuthorizeSystemAdmin]
@using PowerPortalsPro.Web.Blazor.FluentUI.Components
<SystemAdminView>
<Authorized>
<LocalizationAdmin />
</Authorized>
</SystemAdminView>
Faites-le apparaître dans le GPS
Emballez l’entrée de navigation dans un <SystemAdminView> espace pour que les non-administrateurs ne voient pas un lien qu’ils ne peuvent pas suivre :
<SystemAdminView>
<Authorized>
<FluentNavCategory Title="Administration" IconRest="@(new Size20.WrenchSettings())">
<FluentNavItem Href="admin/localization">
<FluentIcon Value="@(new Size20.LocalLanguage())" />
Localisation
</FluentNavItem>
</FluentNavCategory>
</Authorized>
</SystemAdminView>
Contrôler ce qui est localisé
Le panneau de configuration reflète les LocalizationOptions registres de votre hôte. Les tableaux et les préfixes éditeur listent ce qui est localisé à partir des métadonnées Dataverse ; les réglages de répertoire, de fichiers et de ressources web indiquent au réchauffement où trouver les sources de localisation basées sur dossiers et ressources web. L’ensemble complet des boutons se trouve dans la référence API ci-dessous.
À lire aussi : la page de traduction
Le panneau traduisant un fichier intégré ici est le même
LocalizationTranslatorque documenté sur la page Traduction, qui explique la configuration d’un fournisseur de traduction (par exemple Azure AI Translator) et l’installation de la solution gérée qui le soutient.
Référence API
LocalizationOptions détermine ce que le panneau de configuration met en avant et ce dont s’inspire l’échauffement. Ses membres sont résumés ci-dessous.
LocalizationOptions Classe
Propriétés
Nom | Type | Par défaut | Description |
|---|---|---|---|
DefaultCulture | CultureInfo | La culture par défaut utilisée lorsqu’aucune culture spécifique n’est demandée. | |
LocalizationDirectories | IReadOnlyList<string> | La liste des chemins de répertoire à analyser pour les fichiers de localisation. | |
LocalizationFiles | IReadOnlyList<string> | La liste des chemins de fichiers individuels pour charger les chaînes de localisation. | |
TablePublisherPrefixesToLocalize | IReadOnlyList<string> | Les préfixes de l’éditeur (par exemple LocalizationOptions.TablesToLocalize. Chacune est associée aux noms logiques de la table lorsque les chaînes localisées chargé, donc une table ajoutée à l’environnement plus tard est récupérée la prochaine fois que le cache est rechargé. | |
TablesToLocalize | IReadOnlyList<string> | Les noms des tables Dataverse dont les métadonnées (étiquettes, choix, vues) doivent être exportées sous forme de chaînes localisées. Inclut Tables.PowerPortalsProTablestoujours , que les pages propres du framework affichent. Inscription chaque autre table dont les labels apparaissent dans l’interface utilisateur (grilles, formulaires, sous-grilles, graphiques), car un tableau affiché qui n’est pas localisé rend ses clés brutes au lieu d’étiquettes. Options.Tables contient des listes prêtes à l’emploi de les tableaux couramment utilisés. | |
UrlCultureStrategy | UrlCultureStrategy | PathPrefix | Contrôle si (et comment) la culture active est reflétée dans l’URL de la requête. Par défaut à UrlCultureStrategy.PathPrefix (culture par défaut nue, d’autres cultures sous un Options.UrlCultureStrategy pour les modes disponibles. N’a un effet que sur les sites multiculturels. |
DefaultCultureLocalizationDirectoriesLocalizationFilesTablePublisherPrefixesToLocalizeLocalizationOptions.TablesToLocalize. Chacune est associée aux noms logiques de la table lorsque les chaînes localisées chargé, donc une table ajoutée à l’environnement plus tard est récupérée la prochaine fois que le cache est rechargé.TablesToLocalizeTables.PowerPortalsProTablestoujours , que les pages propres du framework affichent. Inscription chaque autre table dont les labels apparaissent dans l’interface utilisateur (grilles, formulaires, sous-grilles, graphiques), car un tableau affiché qui n’est pas localisé rend ses clés brutes au lieu d’étiquettes. Options.Tables contient des listes prêtes à l’emploi de les tableaux couramment utilisés.UrlCultureStrategyUrlCultureStrategy.PathPrefix (culture par défaut nue, d’autres cultures sous un Options.UrlCultureStrategy pour les modes disponibles. N’a un effet que sur les sites multiculturels.Méthodes
Nom | Paramètres | Type | Description |
|---|---|---|---|
AddLocalizationDirectory | string relativeDirectoryPath | void | Ajoute un chemin de répertoire pour scanner les fichiers de localisation. |
AddLocalizationFile | string relativeFilePath | void | Ajoute un seul chemin de fichier de localisation à la liste. |
AddTablesToLocalize | IEnumerable<string> tables | void | Ajoute une collection de noms de tables Dataverse à localiser, comme l’une des listes sur Options.Tables. |
AddTablesToLocalizeByPublisherPrefix | string publisherPrefix | void | Localise chaque table Dataverse dont le nom logique commence par le préfixe éditeur donné — généralement le préfixe de l’éditeur sous lequel vos propres tables sont créées. |
AddTableToLocalize | string tableName | void | Ajoute un seul nom de table Dataverse pour localiser. |
AddLocalizationDirectoryAddLocalizationFileAddTablesToLocalizeOptions.Tables.AddTablesToLocalizeByPublisherPrefixAddTableToLocalize