Fontes e Substituições de Localização
O Power Portals Pro compõe strings localizadas de três fontes, em ordem: metadados da tabela Dataverse (os pacotes de linguagem instalados no seu ambiente), recursos web do PowerPortalsPro e arquivos JSON em disco. Fontes posteriores sobrescrevem as anteriores — então qualquer rótulo, dica de ferramenta, opção de escolha ou nome de visualização fornecido pelo Dataverse pode ser substituído por uma entrada JSON no seu projeto, sem necessidade de ida e volta para solução gerenciada. Os mesmos arquivos JSON também permitem traduzir para culturas. O Dataverse não oferece nenhum pacote de idiomas.
O que você pode localizar
Cada superfície traduzível no framework passa pelo mesmo pipeline de origem, então o mesmo arquivo JSON pode fornecer, sobrescrever ou preencher lacunas para qualquer um de:
- Tabelas — nomes de exibição, nomes de coleções e descrições
- Colunas — nomes de exibição e descrições (usados como rótulos de campo e dicas de ferramenta)
- Escolhas — rótulos e descrições de opções tanto para conjuntos de opções com escopo de tabela quanto globais
- Visualizações — nomes e descrições para visualizações do sistema e pessoais
- Strings de interface do framework — rótulos de botões, mensagens de validação, texto de diálogo, grid chrome e texto dos componentes do FluentUI
- As strings da sua aplicação — títulos de páginas, textos, etiquetas de navegação, qualquer coisa que você acesse via
IStringLocalizerou ReactuseT()
Veja a página do Localizador de Strings para a forma do arquivo JSON que sustenta cada um deles.
Precedência de fontes
No momento do aquecimento do cache, o localizador carrega de cada fonte por turno, e o valor não vazio de uma fonte posterior substitui o que uma fonte anterior foi fornecida para a mesma chave. A ordem é:
- Metadados da tabela Dataverse — rótulos, descrições, escolhas e visualizações de qualquer pacote de linguagem instalado no seu ambiente. Puxado com uma
RetrieveAllEntitieschamada por aquecimento. - Recursos web do Dataverse — arquivos JSON armazenados no Dataverse sob o
/PowerPortalsPro/Localization/prefixo. Útil quando você prefere enviar traduções junto com sua solução do que junto com o código do seu app. - arquivos JSON em disco — todo diretório registrado através
options.AddLocalizationDirectory(...)de . Esses carregam por último, então eles vencem.
A consequência prática: coloque um tables.en.json ou app.fr.json no seu projeto, registre a pasta, e qualquer chave correspondente substitui o padrão fornecido pelo Dataverse ou o framework. Um valor vazio recebido é ignorado, então um arquivo parcial não pode esvaziar um rótulo do Dataverse perfeitamente válido por omissão.
Qualquer cultura, com ou sem pacote de idiomas
O segmento de cultura de um nome de arquivo JSON (app.{culture}.json, tables.{culture}.json, etc.) é autoritativo — o loader não verifica se o Dataverse possui um pacote de linguagem para essa cultura antes de honrar o arquivo. Ship app.kk.json e o portal servirão o cazaque quando o usuário o escolher, mesmo que o Dataverse não tenha metadados do cazaque. A lista de culturas que um portal anuncia é controlada pelos ASP.NET Core RequestLocalizationOptions.SupportedCultures, independentemente do que o Dataverse oferece.
Strings de interface padrão fornecidos pelo framework
ppp-server.defaults.en.json vem PowerPortalsPro.Web.Server e define as strings de corte app.* cruzado usadas por todo consumidor de framework — títulos de páginas, rótulos de botões, mensagens de validação, diálogos de confirmação, grid chrome, texto componente do FluentUI Blazor e similares. Carregado automaticamente por AddPowerPortalsProWebServer(). Sobrescreva qualquer chave na sua app.en.json própria (ou em variantes específicas de cultura, como app.fr.json) e o loader vai preferir seu valor em vez do padrão. O arquivo abaixo é espelhado ao vivo do projeto fonte em cada build deste site, então o conteúdo sempre corresponde à versão do pacote que você está consumindo.
