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 LocalizationOptions registros de tu anfitrión.
  • Traducir un archivo — Un embebido LocalizationTranslator que 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:

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:

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 LocalizationTranslator mismo 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
DefaultCultureCultureInfo
La cultura predeterminada usada cuando no se solicita ninguna cultura específica.
LocalizationDirectoriesIReadOnlyList<string>
La lista de rutas de directorio a escanear en busca de archivos de localización.
LocalizationFilesIReadOnlyList<string>
La lista de rutas de archivo individuales desde las que cargar cadenas de localización.
LocalizeAllAvailableTablesbool
True
Cuando es cierto (por defecto), las cadenas localizadas se cargan a partir de los metadatos de cada tabla en la Entorno Dataverse y LocalizationOptions.TablesToLocalize es ignorado. Ponlo en falso para restringir localización a las tablas registradas a través de AddTableToLocalize(System.String) / IEnumerable{System.String}). Recomendado para cualquier portal que soporte varios idiomas: ponlo en false y Registra solo las tablas que tu portal realmente muestre. Cargar metadatos para cada tabla hace que el El calentamiento de localización es notablemente más lento y infla la caché de cadenas con etiquetas, elecciones y vista nombres que nunca mostrarás, y ese coste se paga por cada idioma instalado. Cuando te inscribas en el subconjunto, regístrate cada tabla cuyas etiquetas aparecen en la interfaz (cuadrículas, formularios, subrejillas, gráficos), porque se muestra Una tabla que no está localizada renderiza sus claves RAW en lugar de etiquetas. cuenta, contacto y adx_externalidentity se asignan por defecto a la lista.
TablesToLocalizeIReadOnlyList<string>
Los nombres de las tablas de Dataverse cuyos metadatos (etiquetas, elecciones, vistas) deben exportarse como cadenas localizadas. Ignorado cuando LocalizationOptions.LocalizeAllAvailableTables es cierto.
UrlCultureStrategyUrlCultureStrategy
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 /{culture} ). Véase Options.UrlCultureStrategy para los modos disponibles. Solo afecta a sitios multiculturales.
Nombre: DefaultCulture
Tipo: CultureInfo
Descripción: La cultura predeterminada usada cuando no se solicita ninguna cultura específica.
Nombre: LocalizationDirectories
Tipo: IReadOnlyList<string>
Descripción: La lista de rutas de directorio a escanear en busca de archivos de localización.
Nombre: LocalizationFiles
Tipo: IReadOnlyList<string>
Descripción: La lista de rutas de archivo individuales desde las que cargar cadenas de localización.
Nombre: LocalizeAllAvailableTables
Tipo: bool
Default: True
Descripción: Cuando es cierto (por defecto), las cadenas localizadas se cargan a partir de los metadatos de cada tabla en la Entorno Dataverse y LocalizationOptions.TablesToLocalize es ignorado. Ponlo en falso para restringir localización a las tablas registradas a través de AddTableToLocalize(System.String) / IEnumerable{System.String}). Recomendado para cualquier portal que soporte varios idiomas: ponlo en false y Registra solo las tablas que tu portal realmente muestre. Cargar metadatos para cada tabla hace que el El calentamiento de localización es notablemente más lento y infla la caché de cadenas con etiquetas, elecciones y vista nombres que nunca mostrarás, y ese coste se paga por cada idioma instalado. Cuando te inscribas en el subconjunto, regístrate cada tabla cuyas etiquetas aparecen en la interfaz (cuadrículas, formularios, subrejillas, gráficos), porque se muestra Una tabla que no está localizada renderiza sus claves RAW en lugar de etiquetas. cuenta, contacto y adx_externalidentity se asignan por defecto a la lista.
Nombre: TablesToLocalize
Tipo: IReadOnlyList<string>
Descripción: Los nombres de las tablas de Dataverse cuyos metadatos (etiquetas, elecciones, vistas) deben exportarse como cadenas localizadas. Ignorado cuando LocalizationOptions.LocalizeAllAvailableTables es cierto.
Nombre: UrlCultureStrategy
Tipo: UrlCultureStrategy
Default: PathPrefix
Descripción: 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 /{culture} ). Véase Options.UrlCultureStrategy para los modos disponibles. Solo afecta a sitios multiculturales.

Métodos

Nombre
Parámetros
Tipo
Descripción
AddLocalizationDirectorystring relativeDirectoryPath
void
Añade una ruta de directorio para escanear archivos de localización.
AddLocalizationFilestring relativeFilePath
void
Añade una única ruta de archivo de localización a la lista.
AddTablesToLocalizeIEnumerable<string> tables
void
Añade una colección de nombres de tablas de Dataverse para localizar.
AddTableToLocalizestring tableName
void
Añade un único nombre de tabla de Dataverse para localizar.
Nombre: AddLocalizationDirectory
Parámetros: string relativeDirectoryPath
Tipo: void
Descripción: Añade una ruta de directorio para escanear archivos de localización.
Nombre: AddLocalizationFile
Parámetros: string relativeFilePath
Tipo: void
Descripción: Añade una única ruta de archivo de localización a la lista.
Nombre: AddTablesToLocalize
Parámetros: IEnumerable<string> tables
Tipo: void
Descripción: Añade una colección de nombres de tablas de Dataverse para localizar.
Nombre: AddTableToLocalize
Parámetros: string tableName
Tipo: void
Descripción: Añade un único nombre de tabla de Dataverse para localizar.