Administrador de Localización
PowerPortalsPro incluye un LocalizationAdmin componente — un panel llave en mano, controlado por SystemAdmin, para operar la tubería de localización de cadenas en tiempo de ejecución. Entra <LocalizationAdmin /> en una página con control de roles y un administrador puede ver cómo se configura y construye la caché de localización, reconstruirla sin reiniciar el host, traducir automáticamente los archivos de localización y descargar una instantánea fusionada por cultura. El componente de estructura hace el trabajo pesado; Tu portal proporciona la página, la puerta de rol y el enlace de navegación — la misma división que usa la página de administrador del sitio.
Lo que muestra el panel
LocalizationAdmin Muestra varias secciones, cada una respaldada por los servicios de localización del framework:
- Configuración — Un resumen de solo lectura de cómo está cableado el calentamiento: si todas las tablas disponibles están localizadas o solo son un conjunto configurado, las tablas a localizar, el patrón de ruta de recursos web, los directorios y archivos de localización registrados, y la cultura predeterminada. Estos reflejan los
LocalizationOptionsregistros de tu anfitrión. - Traducir un archivo — Un embebido
LocalizationTranslatorque traduce automáticamente un archivo de localización a otra cultura. Se auto-controla en disponibilidad — no muestra nada cuando no hay ningún proveedor de traducción configurado, ni aparece un prompt de instalación cuando falta la solución gestionada. La página de documentación de Traducción lo cubre por completo. - Inspeccionar y descargar claves fusionadas — Por cada cultura que tenga claves en la caché obtienes dos acciones. Inspect abre un diálogo que lista cada clave fusionada con su valor resuelto y la fuente que la suministró — una cuadrícula redimensionable y ordenable que puedes filtrar por clave, valor o fuente, lo que facilita detectar exactamente de dónde proviene una cadena y qué fuente está sobrescribiendo otra. Download guarda el JSON de localización fusionado para esa cultura — la unión de todos los archivos fuente (metadatos de Dataverse, recursos web y archivos de carpetas) resueltos en un solo archivo — y también está disponible desde el cuadro de diálogo de inspección.
- Fuentes — Una cuadrícula con los registros de carga por fuente del calentamiento más reciente, en orden de carga — incluyendo cuántas claves aportó cada fuente y cuántas de ellas anularon un valor anterior. La forma más rápida de ver por qué una cuerda se resolvía así.
- Recarga — Reconstruye la caché de localización de cadenas desde cada fuente configurada sin reiniciar el host. La reconstrucción es atómica, así que los lectores siguen viendo los valores anteriores hasta que el nuevo diccionario esté listo.
Conectándolo
Al igual que la página de Administrador del Sitio, LocalizationAdmin está bloqueada detrás de la reclamación de rol sintético SystemAdmin que está sellada SystemAdminClaimsTransformer — la página de documentación del Administrador del Sitio explica cómo se configura esa reclamación. Coloca el componente dentro de una página restringida por roles:
@attribute [Route("admin/localization")]
@attribute [Authorize(Roles = "SystemAdmin")]
@using PowerPortalsPro.Web.Blazor.FluentUI.Components
<AuthorizeView Roles="SystemAdmin">
<Authorized>
<LocalizationAdmin />
</Authorized>
</AuthorizeView>
Ponlo a la superficie en la navegación
Envuelven la entrada de navegación para <AuthorizeView Roles="SystemAdmin"> que los no administradores no vean un enlace que no puedan seguir:
<AuthorizeView Roles="SystemAdmin">
<Authorized>
<FluentNavGroup Title="Administración" Icon="@(new Size20.WrenchSettings())">
<FluentNavLink Href="admin/localization"
Icon="@(new Size20.LocalLanguage())">
Localización
</FluentNavLink>
</FluentNavGroup>
</Authorized>
</AuthorizeView>
Controlar lo que se localiza
El panel de Configuración refleja los LocalizationOptions registros de tu host. LocalizeAllAvailableTables Alterna entre localizar cada tabla y solo un conjunto explícito añadido mediante AddTableToLocalize; los ajustes de directorios, archivos y recursos web indican al calentamiento dónde encontrar fuentes de localización basadas en carpetas y recursos web. El conjunto completo de perillas está en la referencia API que aparece a continuación.
Relacionado: la página de Traducción
El panel de traducción de archivos incrustado aquí es el
LocalizationTranslatormismo documentado en la página de Traducción, que explica cómo configurar un proveedor de traducción (por ejemplo, Azure AI Translator) e instalar la solución gestionada que lo respalda.
Referencia de API
LocalizationOptions determina lo que el panel de configuración muestra y de dónde extrae el calentamiento. Sus miembros se resumen a continuación.
LocalizationOptions Clase
Propiedades
Nombre | Tipo | Default | Descripción |
|---|---|---|---|
DefaultCulture | CultureInfo | La cultura predeterminada usada cuando no se solicita ninguna cultura específica. | |
LocalizationDirectories | IReadOnlyList<string> | La lista de rutas de directorio a escanear en busca de archivos de localización. | |
LocalizationFiles | IReadOnlyList<string> | La lista de rutas de archivo individuales desde las que cargar cadenas de localización. | |
LocalizeAllAvailableTables | bool | True | Cuando LocalizationOptions.TablesToLocalize es ignorado. Ponlo en AddTableToLocalize(System.String) / IEnumerable{System.String}). |
TablesToLocalize | IReadOnlyList<string> | Los nombres de las tablas de Dataverse cuyos metadatos (etiquetas, elecciones, vistas) deben exportarse como cadenas localizadas. Ignorado cuando LocalizationOptions.LocalizeAllAvailableTables es | |
UrlCultureStrategy | UrlCultureStrategy | PathPrefix | Controla si (y cómo) la cultura activa se refleja en la URL de la solicitud. Por defecto ( UrlCultureStrategy.PathPrefix por defecto cultura desnuda, otras culturas bajo el prefijo Options.UrlCultureStrategy para los modos disponibles. Solo afecta a sitios multiculturales. |
DefaultCultureLocalizationDirectoriesLocalizationFilesLocalizeAllAvailableTablesLocalizationOptions.TablesToLocalize es ignorado. Ponlo en AddTableToLocalize(System.String) / IEnumerable{System.String}). TablesToLocalizeLocalizationOptions.LocalizeAllAvailableTables es UrlCultureStrategyUrlCultureStrategy.PathPrefix por defecto cultura desnuda, otras culturas bajo el prefijo Options.UrlCultureStrategy para los modos disponibles. Solo afecta a sitios multiculturales.Métodos
Nombre | Parámetros | Tipo | Descripción |
|---|---|---|---|
AddLocalizationDirectory | string relativeDirectoryPath | void | Añade una ruta de directorio para escanear archivos de localización. |
AddLocalizationFile | string relativeFilePath | void | Añade una única ruta de archivo de localización a la lista. |
AddTablesToLocalize | IEnumerable<string> tables | void | Añade una colección de nombres de tablas de Dataverse para localizar. |
AddTableToLocalize | string tableName | void | Añade un único nombre de tabla de Dataverse para localizar. |
AddLocalizationDirectoryAddLocalizationFileAddTablesToLocalizeAddTableToLocalize