AEM as a Cloud Service: o cache ResourceBundle de i18n não é atualizado após as alterações do dicionário

No Adobe Experience Manager as a Cloud Service, as atualizações nos arquivos do dicionário i18n em /conf podem não aparecer no cache do Sling ResourceBundle, fazendo com que os rótulos da interface exibam chaves i18n não resolvidas em vez do texto traduzido.

Descrição description

Ambiente

Adobe Experience Manager as a Cloud Service (AEMaaCS) (todas as versões)

Problema/Sintomas

  • Chaves i18n recém-adicionadas ou atualizadas em /conf/.../i18n/en.json ou fr.json estão presentes no repositório JCR, mas não aparecem no cache Sling ResourceBundle.
  • Os rótulos da interface do usuário exibem chaves i18n brutas (por exemplo, lblExampleKey) em vez do texto traduzido esperado no ambiente do autor.
  • As tentativas de recriar bibliotecas de clientes ou invalidar o cache não resolvem o problema.

Causa

Arquivos de dicionário i18n obsoletos ou conflitantes em /conf podem impedir que o cache do Sling ResourceBundle seja atualizado com novas chaves. Isso resulta em rótulos de interface do usuário não resolvidos. Excluir os nós obsoletos e garantir que apenas os dicionários pretendidos estejam presentes permite que o cache atualize e exiba as traduções corretas.

Resolução resolution

Siga as etapas abaixo para resolver o problema:

  1. Identifique arquivos obsoletos ou conflitantes do dicionário i18n em /conf, como /conf/<project>/i18n/en.json e fr.json.
  2. Crie um pacote de conteúdo FileVault com uma definição de filtro que direcione os arquivos obsoletos do dicionário para exclusão. Use mode="replace" para cada nó de dicionário obsoleto que você deseja remover e mantenha a carga do pacote vazia para esses caminhos para que a instalação remova os nós especificados do repositório.
  3. Implante o pacote por meio do pipeline de CI/CD para o ambiente de criação.
  4. Replicar as alterações no ambiente de publicação para garantir a consistência em todos os níveis.
  5. Verifique se os arquivos obsoletos do dicionário, como /conf/<project>/i18n/en.json e fr.json, não estão mais acessíveis e retorne uma resposta 404 quando acessados diretamente.
  6. Confirme se os rótulos da interface do usuário agora resolvem para o texto traduzido correto.

Observação

Se você estiver migrando dicionários para o /apps, adicione os novos dicionários lá e certifique-se de que os filtros antigos do /conf usam o modo de substituição para remover nós obsoletos na mesma versão.

Leitura relacionada

Internacionalizando Componentes e Aplicativos

recommendation-more-help
experience-cloud-kcs-help-kbarticles