Administrador de Localização
O PowerPortalsPro vem um LocalizationAdmin componente — um painel chave-turnkey, com controle de administrador do sistema, para operar o pipeline de localização de strings em tempo de execução. Acesse <LocalizationAdmin /> uma página com função limitada e um administrador pode ver como o cache de localização está configurado e construído, reconstruí-lo sem reiniciar o host, traduzir automaticamente arquivos de localização e baixar um snapshot mesclado por cultura. O componente de estrutura faz o trabalho pesado; Seu portal fornece a página, o portal de funções e o link de navegação — a mesma divisão que a página de Administrador do Site usa.
O que o painel mostra
LocalizationAdmin renderiza várias seções, cada uma respaldada pelos serviços de localização do framework:
- Configuração — Um resumo somente leitura de como o aquecimento é configurado — se toda tabela disponível é localizada ou apenas um conjunto configurado, as tabelas a serem localizadas, o padrão de caminho de recurso web, os diretórios e arquivos de localização registrados e a cultura padrão. Esses espelhos refletem os
LocalizationOptionsregistradores do seu anfitrião. - Traduza um arquivo — Um embedded
LocalizationTranslatorque traduz automaticamente um arquivo de localização para outra cultura. Ele se auto-porta na disponibilidade — não gerando nada quando nenhum provedor de tradução está configurado, ou um prompt de instalação quando a solução gerenciada está faltando. A página de documentação de tradução cobre tudo por completo. - Inspecionar e baixar chaves mesclaras — Para cada cultura que tem chaves no cache, você recebe duas ações. O Inspect abre um diálogo listando cada chave mesclada com seu valor resolvido e a fonte que a forneceu — uma grade ordenável e redimensionável que você pode filtrar por chave, valor ou fonte, o que facilita identificar exatamente de onde vem uma string e qual fonte está sobrescrevendo outra. Download salva o JSON de localização mesclado para aquela cultura — a união de todas as fontes (metadados do Dataverse, recursos web e arquivos de pastas) resolvidas em um único arquivo — e também está disponível dentro do diálogo de inspecção.
- Fontes — Uma grade dos registros de carga por fonte do aquecimento mais recente, na ordem de carregamento — incluindo quantas chaves cada fonte contribuiu e quantas delas sobrescreveram um valor anterior. A maneira mais rápida de entender por que um fio resolveu daquele jeito.
- Recarregar — Reconstrói o cache de localização de strings a partir de cada fonte configurada sem reiniciar o host. A reconstrução é atômica, então os leitores continuam vendo os valores anteriores até que o novo dicionário esteja pronto.
Ligando a fiação
Assim como a página de Administrador do Site, LocalizationAdmin é bloqueada atrás da reivindicação de papel sintética SystemAdmin carimbada por SystemAdminClaimsTransformer — a página de documentação do Site Admin explica como essa reivindicação é configurada. Coloque o componente dentro de uma página com função limitada:
@attribute [Route("admin/localization")]
@attribute [Authorize(Roles = "SystemAdmin")]
@using PowerPortalsPro.Web.Blazor.FluentUI.Components
<AuthorizeView Roles="SystemAdmin">
<Authorized>
<LocalizationAdmin />
</Authorized>
</AuthorizeView>
Coloque à superfície no navegador
Envolva a entrada de navegação para <AuthorizeView Roles="SystemAdmin"> que não-administradores não vejam um link que não possam seguir:
<AuthorizeView Roles="SystemAdmin">
<Authorized>
<FluentNavGroup Title="Administração" Icon="@(new Size20.WrenchSettings())">
<FluentNavLink Href="admin/localization"
Icon="@(new Size20.LocalLanguage())">
Localização
</FluentNavLink>
</FluentNavGroup>
</Authorized>
</AuthorizeView>
Controlar o que fica localizado
O painel de Configuração reflete os LocalizationOptions registradores do seu host. LocalizeAllAvailableTables alterna entre localizar cada tabela e apenas um conjunto explícito adicionado via AddTableToLocalize; as configurações de diretório, arquivo e recursos web indicam ao aquecimento onde encontrar fontes de localização baseadas em pastas e recursos web. O conjunto completo de knobs está na referência da API abaixo.
Relacionado: a página de Tradução
O painel traduzir um arquivo embutido aqui é o mesmo
LocalizationTranslatordocumentado na página de Tradução, que explica como configurar um provedor de tradução (por exemplo, Azure AI Translator) e instalar a solução gerenciada que o suporta.
Referência de API
LocalizationOptions determina o que o painel de Configuração coloca em frente e de onde o aquecimento se baseia. Seus membros são resumidos abaixo.
LocalizationOptions Classe
Propriedades
Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
DefaultCulture | CultureInfo | A cultura padrão usada quando nenhuma cultura específica é solicitada. | |
LocalizationDirectories | IReadOnlyList<string> | A lista de caminhos de diretório para escanear arquivos de localização. | |
LocalizationFiles | IReadOnlyList<string> | A lista de caminhos individuais de arquivo para carregar as strings de localização. | |
LocalizeAllAvailableTables | bool | True | Quando LocalizationOptions.TablesToLocalize é ignorado. Defina como AddTableToLocalize(System.String) / IEnumerable{System.String}). |
TablesToLocalize | IReadOnlyList<string> | Os nomes das tabelas Dataverse cujos metadados (rótulos, escolhas, visualizações) devem ser exportados como strings localizadas. Ignorado quando LocalizationOptions.LocalizeAllAvailableTables é | |
UrlCultureStrategy | UrlCultureStrategy | PathPrefix | Ele controla se (e como) a cultura ativa é refletida na URL da solicitação. Padrão para UrlCultureStrategy.PathPrefix (cultura padrão nua, outras culturas sob o Options.UrlCultureStrategy Para os modos disponíveis. Só tem efeito em sites multiculturais. |
DefaultCultureLocalizationDirectoriesLocalizationFilesLocalizeAllAvailableTablesLocalizationOptions.TablesToLocalize é ignorado. Defina como AddTableToLocalize(System.String) / IEnumerable{System.String}). TablesToLocalizeLocalizationOptions.LocalizeAllAvailableTables é UrlCultureStrategyUrlCultureStrategy.PathPrefix (cultura padrão nua, outras culturas sob o Options.UrlCultureStrategy Para os modos disponíveis. Só tem efeito em sites multiculturais.Métodos
Nome | Parâmetros | Tipo | Descrição |
|---|---|---|---|
AddLocalizationDirectory | string relativeDirectoryPath | void | Adiciona um caminho de diretório para escanear arquivos de localização. |
AddLocalizationFile | string relativeFilePath | void | Adiciona um único caminho de arquivo de localização à lista. |
AddTablesToLocalize | IEnumerable<string> tables | void | Adiciona uma coleção de nomes de tabelas do Dataverse para localizar. |
AddTableToLocalize | string tableName | void | Adiciona um único nome de tabela Dataverse para localizar. |
AddLocalizationDirectoryAddLocalizationFileAddTablesToLocalizeAddTableToLocalize