Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Com o Cronapp é possível preparar o sistema para se adaptar a diferentes idiomas, tornando-o mais acessível e amigável para usuários ao redor do mundo. A ferramenta de internacionalização permite uma fácil gestão dos conteúdos traduzidos, garantindo uma experiência consistente e de qualidade para os usuários internacionais.

A internacionalização é um passo fundamental no desenvolvimento de software atual, pois possibilita a expansão e o alcance global de uma aplicação, proporcionando a oportunidade de atingir novos mercados e públicos. Com o suporte adequado à internacionalização, empresas e desenvolvedores podem garantir que suas soluções tecnológicas estejam prontas para enfrentar os desafios e demandas de um mundo cada vez mais conectado e multicultural.

Ao utilizar esse recurso, é importante ficar atento aos pontos abaixo:

  • Traduzir termos técnicos: se o seu aplicativo possui termos técnicos específicos de determinada área, é possível fornecer traduções manuais para garantir a compreensão correta desses termos pelos usuários em diferentes idiomas. Isso mantém a precisão e a clareza das informações técnicas, mesmo após a tradução.

  • Adaptar mensagens de marketing: ao expandir seu aplicativo para novos mercados, é importante considerar as diferenças culturais e os costumes locais. Com a internacionalização no Cronapp, é possível adaptar as mensagens de marketing para refletir as nuances culturais de cada região, tornando a comunicação mais relevante e atraente para os usuários internacionais.

  • Tradução de mensagens de erro e feedback para o usuário: ao desenvolver um aplicativo, é comum exibir mensagens de erro ou feedback informativo para orientar o usuário em caso de falhas ou ações incorretas. Com a internacionalização no Cronapp, é possível traduzir essas mensagens para diferentes idiomas.

Ideias inovadoras não se limitam as fronteiras de um país ou região, por isso é necessário que seja oferecido suporte para internacionalização em algum momento da construção de um software. O Cronapp possui uma ferramenta de internacionalização que tem a função de facilitar e automatizar traduções de palavras chaves da sua aplicação web e mobile, além de recursos do servidor da aplicação. Deixando seu sistema preparado para mudanças de idiomas. 

Chaves de internacionalização

A funcionalidade Chaves de internacionalização pode ser acessada pelo menu Projeto. Existem três categorias de chaves de internacionalização: cliente (web), servidor e mobile.


Image RemovedImage Added

Figura 1 - Acessando chave de internacionalização

Os arquivos de internacionalização podem ser encontrados nas pastas i18n de cada ambiente: servidor, cliente web e mobile.

Image Removed


Ao acessar qualquer uma das três opções mostradas acima, a aba das Chaves de Internacionalização será exibida, confira abaixo cada elemento desta tela.


Image Added

Figura 1.1 Figura 2 - Ambiente de internacionalização

  1. Tradução automática;.
  2. Campo de seleção do idioma;.
  3. Novo idiomaAdiciona um novo idioma;.
  4. Importar da Cronapi: pesquisa por chaves de internacionalização no ambiente selecionado (web, mobile ou servidor);.
  5. Campo de pesquisa;.
  6. Lista de chaves;.
  7. Campo para adicionar uma nova chave.
  8. Visualiza as chaves através da interface ou via texto: JSON (web ou mobile) ou properties (servidor);.
  9. Área de inserção dos valores (idiomas selecionados) das chaves;

Remover e Renomear uma chave

Clicando com o botão direito na chave, você pode fazer duas ações: remover ou renomear uma chave. 

Image Removed

Figura 3 - Remover e Renomear uma chave

  1. textos) para a chave selecionada.

Idioma

Por padrão, cada chave de internacionalização recebe os idiomas Português (Brasil) e Inglês (Estados Unidos), porém, é possível adicionar novos idiomas, assim como removê-los. Neste tópico veremos como realizar essas ações.

Âncora
addIdioma
addIdioma

Adicionando um

Adicionando um novo

idioma

Ao selecionar novo idioma (destaque 1 da figura 2), uma janela será exibida, um novo campo aparecerá na área de tradução, permitindo a tradução automática ou manual.

Image Removed

Figura 4 - Tradução para o idioma adicionado

Arquivos de internacionalização

Ao salvar a internacionalização com um novo idioma, um novo arquivo será criado no diretório i18n (a figura 5 mostra os diretórios de internacionalização do lado servidor, mobile ou cliente) com seu nome especificando qual idioma. Após realizar essas alterações sua aplicação estará pronta para ser executada no idioma conforme o configurado no seu browser. 

Informações

O diretório i18n e seu conteúdo só ficará visível após habilitar a opção Modo Avançado.

Image Removed

Figura 5 - Caminho de cada categoria para os arquivos de internacionalização

  • Servidor: suas chaves de internacionalização se encontram em arquivos properties, dentro da pasta i18n do código fonte servidor.
  • Mobile: suas chaves de internacionalização se encontram em arquivos json, dentro da pasta i18n do código fonte mobile.
  • Cliente: suas chaves de internacionalização se encontram em arquivos json, dentro da pasta i18n do código fonte web.

Arquivos de internacionalização

Os arquivos para código fonte web código fonte mobile são do tipo json, enquanto o código fonte servidor o arquivo é do tipo properties.

Image Removed

Figura 6 - Conteúdo do arquivo para código fonte servidor no idioma português

Image Removed

nela constam todos os idiomas suportados pelo Cronapp. Neste exemplo iremos adicionar o idioma "Italiano", após filtrar (destaque 2 da figura 2), selecionaremos o "Italiano (Itália)" (destaque 3 da figura 2).


Image Added

Figura 2 - Adicionando um novo idioma

Removendo um idioma

Para remover um idioma, selecione a aba Arquivos (destaque 1 da figura 2.1) e, em seguida, clique com o botão direito sobre o arquivo do idioma que deseja Remover (destaque 2 da figura 2.1)


Image Added

Figura 2.1 - Removendo um idioma

Chaves

A chave de internacionalização é uma identificação exclusiva usada para associar um texto a um idioma ou região específica. É importante destacar que não é possível ter duas chaves de internacionalização com o mesmo identificador. Se uma segunda chave for criada com o mesmo nome, ela irá substituir o conteúdo da primeira. Por exemplo, suponha que um usuário tenha criado uma chave chamada "minhaChave" e atribuído o texto "o menino joga bola" a ela. Se essa mesma chave for criada novamente, o conteúdo anterior será substituído por um valor vazio, uma vez que todas as chaves são criadas sem conteúdo.

Criar uma chave 

Para criar uma chave de internacionalização, informe a chave no campo indicado no destaque 1 da figura 3, em seguida, salve-a clicando no ícone "+", indicado pelo destaque 2 da figura 3.


Image Added

Figura 3 - Criando uma chave de internacionalização

Internacionalizar chave

Existem duas formas de realizar a internacionalização de uma chave, a primeira é de forma manual, onde a tradução é inserida diretamente na caixa de texto da língua correspondente, e a segunda é de forma automática, onde a tradução ocorre através do botão "Traduzir a chave selecionada para todos os idiomas". Veremos abaixo de forma detalhada cada uma delas.

Internacionalização manual

A tradução manual se aplica em casos em que você deseja fornecer traduções personalizadas e específicas para cada chave de internacionalização. Ao escolher traduzir manualmente, você pode escrever diretamente a tradução para cada idioma desejado. Essa abordagem é útil quando você precisa garantir que as traduções sejam precisas e adequadas ao contexto específico do seu aplicativo. 


Image Added

Figura 3.1 - Traduzindo manualmente a chave de internacionalização

Internacionalização automática

A tradução manual pode ser um processo mais demorado, principalmente em casos de grandes volumes de texto ou quando há a necessidade de suportar diversos idiomas. Nesses casos, a opção de tradução automática pode ser útil para agilizar o processo inicial de internacionalização.

Para realizar a tradução automática, selecione a chave que deseja internacionalizar (destaque 1 da figura 3.2), em seguida, insira o texto para a tradução no campo de um dos idiomas (2), selecione o idioma correspondente ao campo em que inseriu o texto (3) e, por fim, clique no botão "Traduzir a chave selecionada para todos os idiomas" (4). Caso precise, é possível ajustar manualmente as traduções automáticas para garantir a qualidade final.


Image Added

Figura 3.2 - Traduzindo automaticamente a chave de internacionalização

Remover e Renomear uma chave

Clique com o botão direito em uma chave para realizar as ações de remover ou renomear a chave. 


Image Added

Figura 3.3 - Remover e Renomear uma chave

Arquivos de internacionalização

Cada idioma terá um arquivo próprio, contendo as mesmas chaves de internacionalização e variando apenas os seus valores, referente a cada idioma. Esses arquivos estão localizados nas pastas i18n, tanto na parte cliente (web e mobile) quanto no servidor.

Para acessar as pastas, é necessário usar a IDE no modo avançado.

Cliente (web / mobile)

No lado das aplicações clientes, as chaves de internacionalização ficam armazenadas em atributos dentro de um objeto JSON. O nome de todos os arquivos estão em minúsculo e segue o padrão: locale_<código idioma>_<código_país>.json (mais detalhes).

Localização:

  • Web: src/main/webapp/i18n/
  • Mobile: src/main/mobileapp/www/i18n/


Image Added

Figura 4 - Arquivo de internacionalização cliente

Servidor

No lado servidor, as chaves de internacionalização ficam armazenadas em arquivos no formato properties. O nome dos arquivos seguem o padrão: Messages_<código idioma>_<código_país>.properties (mais detalhes).

Localização:

  • Servidor: src/main/java/i18n/


Image Added

Figura 4.1 - Arquivo de internacionalização servidor

Âncora
importarCronapi
importarCronapi

Importar da Cronapi

Ao importar ou criar blocos high-code ou serviços SOAP, o Cronapp realiza uma análise dos campos presentes e identifica aqueles que podem ser internacionalizáveis. Esses campos são marcados como metadados internacionalizáveis, indicando que seu conteúdo precisa ser traduzido para diferentes idiomas. Esse conceito se aplica tanto do lado cliente quanto do lado servidor. No lado cliente existe  uma particularidade que a pasta i18n tem que estar no mesmo diretório do arquivo JavaScript que vai gerar os bloco de programação, confira mais detalhes no tópico "Internacionalização" da documentação Criando blocos cliente customizados (mobile e web). Abaixo exibiremos como aplicar esse conceito no lado servidor.

No exemplo a seguir, estamos criando um bloco servidor de forma high-code, cujo o objetivo é concaternar o nome e o sobrenome passados como parâmetros. Alguns atributos do @CronapiMetaData e @ParamMetaData aceitam chaves de internacionalização e podem ser facilmente identificado por estarem com dois caracteres de chaves (bracket) "{{nome_da_chave_de_internacionalizacao}}". Após criar e salvar a função, recompile e reabra o projeto.


Bloco de código
languagejava
titleCódigo em java contendo as anotações para internacionalização
linenumberstrue
@CronapiMetaData(categoryName = "Concatenar")
public class internacionalizar {

	@CronapiMetaData(type = "function", name = "{{concatena_name}}", description = "{{concatena_description}}", returnType = ObjectType.STRING)
	public static Var concatena(@ParamMetaData(type = ObjectType.STRING, description = "{{concatena_param_nome}}") Var name, @ParamMetaData(type = ObjectType.STRING, description = "{{concatena_param_sobrenome}}") Var sobrenome) throws Exception {
			return Var.valueOf(name.toString() + " " + sobrenome.toString());
		}
	
}


Após reabrir o projeto, acesse a parte servidor da funcionalidade Chaves de Internacionalização, como mostrado na figura 1. Clique em Importar da Cronapi (destaque 1 da figura 5) e procure pelas chaves de internacionalização obtidas do código Java (destaque 2 da figura 5).


Image Added

Figura 5 - Importando chaves de internacionalização da Cronapi

Locais internacionalizáveis

Editor de views

O processo de criação de uma chave de internacionalização no Editor de views é semelhante para projetos web e mobile, sendo realizado por meio dos componentes visuais. Por padrão, todas as propriedades dos componentes visuais exibem o ícone de internacionalização "Traduzir" (destaque 1 na figura 6), porém, esse recurso só faz sentido em propriedades como Título ou Rótulo. Ao clicar nesse ícone, uma janela é aberta, permitindo selecionar ou criar uma chave de internacionalização.

O campo Chave possui o recurso de auto completar, assim, a cada novo caractere inserido, um filtro é feito e exibe a lista as chaves existentes. 

Inicialmente, o campo "Chave" já vem preenchido com o texto contido na propriedades, mas é possível alterá-lo. Neste exemplo, optamos por manter o título do componente, criando assim a chave "Marca". O texto a ser traduzido é informada no destaque 2 da figura 6, juntamente com o idioma correspondente (3). Ao clicar no botão "Traduzir a chave selecionada para todos os idiomas" (4), é possível visualizar a tradução automática (5).


Image Added

Figura 6 - Criando chave de internacionalização no Editor de views

Diagrama

É possível realizar internacionalizações através dos rótulos nos atributos no Diagrama de dados. Para ilustrar, trouxemos a imagem abaixo. Acesse o diagrama de dados (destaque 1 da figura 6.1) e abra uma classe, neste exemplo criamos a classe "carro" (2), clique na opção "Editar" (3) de qualquer atributo. Ao lado da propriedade "Rótulo" é possível ver o ícone "Traduzir" (4), clicando nele será aberta a janela Internacionalizar. Esse procedimento irá criar uma chave de internacionalização nos arquivos i18n web, mobile e servidor.


Image Added

Figura 6.1 - Criando chave de internacionalização no rótulo dos atributos das classes no Diagrama de dados

Bloco de programação

Outra forma de realizar internacionalizações no lado cliente e servidor é utilizando o bloco text_i18n, ele permite traduzir um ou mais idiomas e sua característica principal é isolar palavras que o usuário não deseja que sejam traduzidas, para fazer isso basta utilizar chaves com números inteiros dentro, exemplo: "{0}, {1}, {2}...etc", cada chave representa um parâmetro diferente, para mais detalhes acesse as documentações text_i18n (cliente) e text_i18n (servidor).

Figura 7 - Conteúdo do arquivo para código fonte web no idioma português

Nesta página

Índice


Conteúdo complementar

Exibir filhos
alltrue
pageEditor de views