Show Menu
TÓPICOS×

Internacionalizando componentes

Internacionalize seus componentes e diálogos para que suas strings de interface possam ser apresentadas em idiomas diferentes. Os componentes projetados para internacionalização permitem que as strings da interface do usuário sejam externalizadas, traduzidas e importadas para o repositório. No tempo de execução, as preferências de idioma do usuário ou a localidade da página determinam qual idioma é exibido na interface do usuário.
Use o seguinte processo para internacionalizar seus componentes e fornecer a interface do usuário em diferentes idiomas:
  1. Implemente seus componentes usando código que internacionaliza strings. Seu código identifica as strings a serem traduzidas e seleciona o idioma a ser apresentado no tempo de execução.
  2. Crie dicionários e adicione as strings em inglês para traduzir.
  3. Exporte o dicionário para o formato XLIFF, traduza as strings e importe os arquivos XLIFF de volta para o AEM. Como alternativa, você pode adicionar manualmente traduções ao dicionário.
Os métodos descritos aqui para internacionalizar componentes destinam-se à tradução de strings estáticas. Quando se espera que as strings de componentes mudem, você deve usar fluxos de trabalho de tradução convencionais. Por exemplo, quando os autores podem editar uma string de interface do usuário usando propriedades na caixa de diálogo Editar de um componente, você não deve usar um dicionário de idioma para internacionalizar a string.

Dicionários de idiomas

A estrutura de internacionalização do AEM usa dicionários no repositório para armazenar strings em inglês e suas traduções em outros idiomas. A estrutura usa o inglês como o idioma padrão. As strings são identificadas usando sua versão em inglês. Normalmente, as estruturas de internacionalização usam IDs alfanuméricas para strings de interface do usuário. Usar a versão em inglês da string como a ID tem várias vantagens:
  • O código é fácil de ler.
  • O idioma padrão está sempre disponível.
As strings localizadas podem ser armazenadas em vários dicionários no repositório. Os dicionários do sistema AEM estão localizados abaixo do /libs nó. Você pode criar dicionários para seus componentes abaixo do /apps nó. A estrutura de internacionalização do AEM combina os dicionários e os torna disponíveis no Sling como um único ResourceBundle objeto. Quando os componentes são renderizados, eles recuperam strings traduzidas do conjunto de recursos. Os dicionários combinados também são implantados no servidor da Web no formato JSON para fornecer strings traduzidas para o código Javascript em páginas da Web.
Além disso, a ferramenta de Tradução permite gerenciar todos os dicionários de um local central.
Não modifique os dicionários do sistema AEM que estão localizados abaixo do /libs nó.

Sobreposição de sequências de caracteres em dicionários do sistema

As strings nos dicionários abaixo do /apps nó substituem as strings duplicadas nos dicionários que estão abaixo do /libs nó. Se os componentes usam strings incluídas nos dicionários do sistema do AEM, duplique a string em seu próprio dicionário. Todos os componentes usarão as strings do seu dicionário.
Observe que não é possível prever qual tradução é usada quando as strings são duplicadas em dicionários localizados abaixo do /apps nó.