Árvore de páginas

Versões comparadas

Chave

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

...

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:

...

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 (inglês, português e espanhol), conforme imagem a seguir:

Estes arquivos são criados com três propriedades que são relacionadas às 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 utilizadas apenas 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. Portanto, a alteração destas propriedades deve ser realizada diretamente nos arquivos de literais (através do fluig Studio) e em seguida exportados para o servidor fluig.

Nota
titleAtenção!

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


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.

...

(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:

...

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”.

...

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

Evolução do modelo de tradução

Visando algumas melhorias na performance de consultas e central de tarefas, foi aprimorado o procedimento de tradução de processos.

A princípio nada mudará para o usuário final, porém o desenvolvedor poderá notar algumas diferenças ao importar o processo, sendo elas, a ordem da literal importada, que pode estar diferente da que foi exportada, pois alteramos a forma como manipulamos essa informação e em casos de unicode para acentuação, que também serão perdidos.

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.



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");

...