Árvore de páginas

Versões comparadas

Chave

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

Índice

Índice
maxLevel4
outlinetrue
stylenone
exclude.*ndice
stylenone

Objetivo

...

O objetivo deste guia é demonstrar o funcionamento do sistema de tradução de processos do Fluig. Dessa forma, você pode manter seus processos e mensagens em idiomas diferentes que serão usados conforme a preferência do usuário

...


Antes de começar

...

Por questões de padronização de encoding no fluig, mesmo nossos arquivos properties utilizam o encoding UTF-8, que é diferente da configuração padrão do eclipse. Por este motivo, é necessário fazer uma alteração na configuração do Studio ePreferences (Preferências) pesquise por Content Types (Tipos de conteúdo), Text (Texto), Java properties file (Arquivo de propriedade Java) e altere de ISO-8859-1 para UTF-8.


Image Added


Gerando arquivos de literais

...

Você pode gerar os arquivos ao mesmo tempo que cria o processo, gerar posteriormente após desenhar todas as etapas do processo ou ainda de forma manual.


Criando arquivos ao criar um novo diagrama

Para gerar arquivos de literais para em conjunto com a criação de um novo diagrama, basta assinalar a opção "Cria os arquivos de literais" na tela apresentada a seguir:

Image AddedImage Removed


Ao assinalar “Cria os arquivos de literais” são criados três arquivos properties, onde são armazenadas as literais nos idiomas suportados pelo Fluig - fluig (inglês, português e espanhol), conforme imagem a seguir:

Image Removed

Estes arquivos são criados com três propriedades que são relacionadas a informações do processo:

  • process.category = categoria do processo;
  • process.description = descrição do processo;
  • process.instructions = instruções do processo.

Os campos categoria, descrição e instruções podem ser preenchidos normalmente na modelagem do processo, sem a necessidade de nenhuma técnica especial de tradução.

Contudo, essas informações preenchidas são apenas utilizadas nos momentos de importação, exportação e modelagem de processos. Para abertura e movimentação de processos são utilizadas as strings dos arquivos de literais.

 

Nota
titleAtenção!

Essas categorias são internas e não podem ser utilizadas em outros pontos do processo.

 

Image Added


Criando arquivos a partir de um diagrama existente

Para gerar os arquivos de tradução de um diagrama já existente, facilitando assim que todos os componentes sejam devidamente atribuídos, clique com o botão direito em cima do arquivo do diagrama na view do eclipse "Package Explorer" e vá na opção "Externalizar Strings"

Image Added

Ao fazer isso, será criado na pasta literals arquivos de tradução em português, inglês e espanhol.

Image Added

Note que irá preencher automaticamente as propriedades de todas as atividades e do processo conforme o que foi configurado no próprio diagrama. Então, basta editar conforme a necessidade.

Criando arquivos manualmente

Para projetos mais recentesPara projetos mais antigos, a pasta “literals” é criada automaticamente, tanto na criação de novos diagramas quanto na importação de processos com literais definidas. Para projetos e diagramas antigos, a pasta e os arquivos de propriedades podem ser criados utilizando as opções "New Folder" e "New File" do Eclipse, que também estão disponíveis no menu de contexto de mouse do Fluig.

 Image Added

Image Removed

 


Os arquivos de literais criados desta forma devem seguir a seguinte convenção:

(Nome do diagrama) + “_en_US.properties” ou “_es.properties” ou “_pt_BR.properties”.

Obrigatoriamente os três arquivos devem ser criados para que o processo seja exportado. Todos os arquivos devem conter as três variáveis básicas citadas acima além de todas as variáveis criadas em outros pontos do processo.

 

Para o conteúdo de arquivos de literais é recomendando o uso do sistema Unicode para substituição de caracteres especiais, tais como caracteres acentuados e o uso de cedilha e til.

A seguir é apresentado um exemplo da string “Aprovação de documentos fiscais” convertida para Unicode:

process.description=Aprova\u00e7\u00e3o de documentos fiscais

O uso de Unicode evita inconsistências de código de página na tradução de processos.

 

Traduzindo Informações de Atividades, Objetos e Fluxos

Se algum dos arquivos não for exportado, será assumido as propriedades do próprio diagrama para usuários do idioma cujo arquivo não foi criado.


Editando o arquivo de literais

...

As informações gerais do processo, podem ser editadas pelas entradas:

  • process.category = categoria do processo;
  • process.description = descrição do processo;
  • process.instructions = instruções do processo.

E da versão do processo, em:

  • process.version.instructions = instruções da versão do processo;

Já  para Para traduzir informações das atividades, devem ser criadas literais utilizando a seguinte semântica:

...

Código da atividade: pode ser obtido verificando as propriedades de cada elemento do diagrama, conforme imagem a seguir:

 

Image Removed

 Image Added


Campo a ser traduzido: é o que se deseja traduzir. O campo "name" representa o nome e o campo "instructions" representa as instruções dele.

Nesta linha, ao traduzir a atividade com o código "task7task6" o arquivo de literal terá a seguinte atividade:

  • 6.name = "Financial approvement".
  • 6.instrucions instructions = "In this point of the process we have the financial approvoment".

...


Para fluxos, além da propriedade "name", podem ser utilizadas mais duas propriedades:

  • name: string utilizada como valor do campo “Nome”;
  • flowFlow: string utilizada como valor do campo “Ativ. Fluxo”;
  • Returnreturn: string utilizada como valor do campo “Ativ. Retorno”.


Quebra de strings longas em tradução de processos

...

Em alguns casos, as strings de tradução podem ficar muito longas ultrapassando o tamanho dos objetos que contém estas strings, conforme o exemplo abaixo:

Image Added


Note na imagem acima que a string "Solicitação workflow inicia nesta tarefa" está ultrapassando o espaço definido para o objeto de anotação.

Para evitar este problema o desenvolvedor de processos poderá utilizar o caractere "\n" para realização da quebra de linhas, evitando esta situação.

Bloco de código
languagetext
themeEclipse
firstline1
linenumberstrue
    // Implementação que apresenta o problema (sem o \n)
	7.name=Solicitação workflow inicia nesta tarefa

	// Implementação corrigida.
	7.name=Solicitação workflow \n inicia nesta tarefa


Após aplicar o caractere de quebra de linha, o problema será corrigido conforme pode ser observado na imagem abaixo.

Image Added



Criando literais para utilizar em customizações

...

Você pode também fazer com que suas mensagens de erros customizadas sejam também traduzidas.  suas própria exceções.

Para isso, na implementação ao invés de retornar simplesmente:




Bloco de código
languagejs
throw "Informe o usuário"


Você pode fazer da seguinte forma. Adicionar aos arquivos de tradução a literal "validation_name"

Bloco de código
titlediagrama_pt_BR.properties
validation_user=Informe o usuário
Bloco de código
titlediagrama_es.properties
validation_user=Informe un usuario
Bloco de código
titlediagrama_en_US.properties
validation_user=Enter a User


E na customização, usar a função i18n.translate passando a chave utilizada nos arquivos de tradução:

Bloco de código
languagejs
throw i18n.translate("validation_name");