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:

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 é:

  1. Metadados da tabela Dataverse — rótulos, descrições, escolhas e visualizações de qualquer pacote de linguagem instalado no seu ambiente. Puxado com uma RetrieveAllEntities chamada por aquecimento.
  2. 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.
  3. 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.