Permite criar uma chave de internacionalização com uma tradução automática (ou manual) para cada um dos idiomas configurados. Durante a execução, o bloco irá verificar a língua configurada no cabeçalho da requisição e retornar a tradução desse idioma. Caso não encontre nenhum idioma configurado, retornará o idioma padrão, português.


Figura 1 - Bloco text_i18n


Não é possível digitar na área de texto do bloco, toda configuração é feita através da janela Internacionalizar, exibida após clicar no ícone do bloco.

Atualmente esse bloco só dá suporte aos idiomas inglês e português. Para mais idiomas, utilize o bloco cliente text_i18n (cliente).


Compatibilidade

  • Bloco servidor: cronapi.i18n.Operations.translate()

Retorno

Retorna o texto no idioma solicitado, caso o idioma solicitado não exista na configuração do bloco, retornará no idioma padrão, português.

Parâmetros

Por padrão, o bloco não possui parâmetros, mas é possível incluir parâmetros para especificar palavras ou trechos que não devem ser traduzidos com o uso de expressões. Os parâmetros são criados ao incluir expressões com chaves e números ("{0}, {1}, , {n}") dentro do texto. Veja detalhes no tópico Exemplo 2.

Características do bloco

O bloco de programação text_i18n funciona a partir de requisições HTTP, ele busca o cabeçalho Accept-Language do navegador, este cabeçalho é responsável por armazenar qual o idioma atual e quais idiomas estão configurados no navegador. O bloco irá procurar neste cabeçalho o idioma que ele foi configurado para traduzir, caso ele não o encontre, o retorno será feito no idioma padrão do bloco, Português. 

Para entender mais sobre o cabeçalho Accept-Language, clique aqui.

Janela de configuração

A figura 2 como utilizar a janela do bloco para criar uma chave de internacionalização para 2 idiomas, realizando uma tradução automática.


Figura 2 - Configuração do texto a ser traduzido


  1. Botão: abre a janela Internacionalizar
  2. Chave de internacionalização: campo que permite criar ou utilizar uma chave de internacionalização existente. Utilize o recurso de auto completar para exibir as chaves existentes.
  3. Campos de internacionalização: exibe um campo para cada idioma configurado na funcionalidade Internacionalização. É possível informar manualmente a tradução de cada idioma, ou informar o texto em um dos campos e realizar a tradução automática (passos 4 e 5).
  4. Idioma para tradução automática: selecione o idioma do campo que contém o texto para incluir a tradução automática nos demais campos.
  5. Traduzir: traduzir o texto do campo selecionado para todos os outros campos.


Após salvar, os arquivos de internacionalização com a chave informada e as traduções ficam acessíveis no endereço "src/main/java/i18n/"  (o Cronapp deve estar no Modo Avançado).

Exemplo 1

No exemplo da figura abaixo, estamos criando a chave de internacionalização "traduzirPtbrParaIng" com o texto "O menino joga futebol" em português (Brasil) e sua tradução automática para "The boy plays soccer" em inglês (Estados Unidos).

Para abrir a janela de configuração, clique no ícone do bloco (destaque 1 da figura 2.1). Em seguida, informe a chave de internalização, neste exemplo criamos a chave chamada "traduzirPtbrParaIng" (destaque 2 da figura 2.1). Através da caixa de seleção (destaque 3 da figura 2.1), escolha o idioma de origem da tradução. Informe o texto "O menino joga futebol" no campo português (Brasil) (destaque 4 da figura 2.1), clique no botão Traduzir (destaque 5 da figura 2.1) para que o texto seja automaticamente traduzido para o inglês no campo inglês (Estados Unidos) (destaque 6 da figura 2.1).


Figura 2.1 - Configuração para tradução de uma string


Este bloco leva em conta o idioma configurado no cabeçalho Accept-Language da requisição REST, dentro ou fora da aplicação. Para este exemplo, utilizamos o aplicativo de testes de API's Insominia, informando o endereço da função e configurando o cabeçalho com o valor "en-US". O resultado pode ser visto na figura abaixo.


Figura 2.2 - Tradução feita a partir da requisição do bloco text_i18n

Exemplo 2

Embora a função não permita inicialmente a passagem de parâmetros, é possível criá-los ao definir a string a ser traduzida, utilizando valores numéricos inteiros entre chaves, como por exemplo {0}. Os valores passados como parâmetros não serão traduzidos. No exemplo apresentado na figura abaixo, estamos criando uma frase com três parâmetros, enquanto o navegador está configurado para o idioma inglês (Estados Unidos). 


Figura 3 - Configuração dos parâmetros


O resultado dessa configuração pode ser conferido na imagem 3.1. Observe o cabeçalho Accept-Language, o navegador está configurado para traduzir o texto para en-US, ou seja, inglês (Estados-Unidos), 


Figura 3.1 - Resultado da configuração dos parâmetros

Nesta página