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 na verificação de administrador do portal — [AuthorizeSystemAdmin] e <SystemAdminView>, que admite apenas um usuário interno com uma das funções SystemAdminClaimsTransformer do Dataverse lê — a página de documentação do Site Admin explica como essa reivindicação é configurada. Coloque o componente dentro de uma página com controle de funções:
@attribute [Route("admin/localization")]
@attribute [AuthorizeSystemAdmin]
@using PowerPortalsPro.Web.Blazor.FluentUI.Components
<SystemAdminView>
<Authorized>
<LocalizationAdmin />
</Authorized>
</SystemAdminView>
Coloque à superfície no navegador
Envolva a entrada de navegação de forma <SystemAdminView> a que não-administradores não vejam um link que não possam seguir:
<SystemAdminView>
<Authorized>
<FluentNavCategory Title="Administração" IconRest="@(new Size20.WrenchSettings())">
<FluentNavItem Href="admin/localization">
<FluentIcon Value="@(new Size20.LocalLanguage())" />
Localização
</FluentNavItem>
</FluentNavCategory>
</Authorized>
</SystemAdminView>
Controlar o que fica localizado
O painel de Configuração reflete os LocalizationOptions registradores do seu host. As tabelas e prefixos do publisher listam o que está localizado a partir dos metadados do Dataverse; as configurações de diretório, arquivo e recursos web indicam ao aquecimento onde encontrar fontes baseadas em pastas e localização de 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. | |
TablePublisherPrefixesToLocalize | IReadOnlyList<string> | Os prefixos do publisher (por exemplo LocalizationOptions.TablesToLocalize. Cada uma é comparada com nomes lógicos de tabela quando as strings localizadas load, então uma tabela adicionada ao ambiente depois é recolhida na próxima vez que o cache for recarregado. | |
TablesToLocalize | IReadOnlyList<string> | Os nomes das tabelas Dataverse cujos metadados (rótulos, escolhas, visualizações) devem ser exportados como strings localizadas. Sempre inclui Tables.PowerPortalsProTables, que as próprias páginas do framework exibem. Cadastro todas as outras tabelas cujos rótulos aparecem na interface (grades, formulários, subgrades, gráficos), porque uma tabela exibida que não é localizado, renderiza suas chaves brutas em vez de rótulos. Options.Tables contém listas prontas de as tabelas mais usadas. | |
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. |
DefaultCultureLocalizationDirectoriesLocalizationFilesTablePublisherPrefixesToLocalizeLocalizationOptions.TablesToLocalize. Cada uma é comparada com nomes lógicos de tabela quando as strings localizadas load, então uma tabela adicionada ao ambiente depois é recolhida na próxima vez que o cache for recarregado.TablesToLocalizeTables.PowerPortalsProTables, que as próprias páginas do framework exibem. Cadastro todas as outras tabelas cujos rótulos aparecem na interface (grades, formulários, subgrades, gráficos), porque uma tabela exibida que não é localizado, renderiza suas chaves brutas em vez de rótulos. Options.Tables contém listas prontas de as tabelas mais usadas.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, como uma das listas em Options.Tables. |
AddTablesToLocalizeByPublisherPrefix | string publisherPrefix | void | Localiza toda tabela do Dataverse cujo nome lógico começa com o prefixo do editor — normalmente O prefixo do editor sob o qual suas próprias tabelas são criadas. |
AddTableToLocalize | string tableName | void | Adiciona um único nome de tabela Dataverse para localizar. |
AddLocalizationDirectoryAddLocalizationFileAddTablesToLocalizeOptions.Tables.AddTablesToLocalizeByPublisherPrefixAddTableToLocalize