jan 122011
 

Dependendo dos objetivos de seu site ou aplicação (local ou web) há que se pensar em meios de adicionar outros idiomas.

Ou seja, um aplicativo web por exemplo, tão mais chances de sucesso tem quanto forem os idiomas por ele suportado.

A primeira dica: não adianta fugir, se pretende que seu produto seja visto internacionalmente, o idioma inglês é imperativo.

Entretanto como criar uma aplicação que opere em vários idiomas? Afirmo de pronto que o momento de decidir a questão é no projeto do software.

Há várias técnicas, cito algumas:

-A mais rudimentar e, salvo engano, usada pelo Windows e outros produtos comeciais, consiste em compilar o código para cada idioma usado. Ou seja, traduzir no código todos os textos de tela. Tal procedimento funciona, porém traz o claro incoveniente da atualização, ou seja, qualquer mudança deve ser feita em cada conjunto de idioma.

-Mensagens codificadas em banco de dados ou arquivos, em exemplo geral: crio um arquivo ou banco de dados contendo o código e a mensagem, exemplo: 1;’Boas Vindas!!!”, no programa chamo echo msg(1), onde msg é a função responsável pela busca da mensagem propriamente dita. Vantagem sobre o anterior é clara, a tradução ocorre em um único ponto, no banco ou no arquivo, sendo possível incluir vários idiomas, porém, quanto mais idiomas, maior o tempo de busca e recusos usados, no caso penso ser mais eficiente usar um arquivo para cada idioma. O incoveniente é o tempo perdido no desenvolvimento para codificar cada mensagem, procurar se ela já não foi codificada, enfim, horas de mão de obra desperdiçadas.

-O método eleito e aplicado na academia:

Usar padrões! Decidimos pelo uso do método Gettext, um projeto GNU, cujos parâmetros podem ser vistos em: http://www.gnu.org/software/gettext/.

O padrão Gettext é suportado por várias linguagens, dentre elas o PHP que usamos para aplicações web, seu funcionamento é bastante simples, seguindo três passos (considerando o uso de PHP):

-Habilitar a extensão no servidor;

-Escrever o código preparado para uso do gettext, que se resume a sinalizar no código as mensagens de tela: echo gettext(“boas vindas”), ou seja, praticamente idêntico ao uso normal do echo, print etc., sendo possível o uso de tags personalizadas;

-Criar a localização e os arquivos de tradução segundo as regras do gettext.

Simples assim, o funcionamento é o seguinte: cada vez que encontrada uma marcação, o programa busca segundo o idioma definido, a tradução a ser impressa, se não encontrada, imprime o que está no código, sem erro!

Para melhor ilustrar, a equipe da academia de software está traduzindo um CMS, o Zenphoto que ainda não conta com uma tradução completa para pt_BR (padrão gettext para português brasileiro).

Em breve publicaremos o tutorial, traduzindo a aplicação com uso do software gratuito poedit, que roda sobre plataforma Linux, Windows e Mac.

Basta pesquisar a tag ‘internacionalização’.

  One Response to “Internacionalização de aplicações e sites”

  1. Se você precisar de uma sugestão de uma boa ferramenta de tradução, aqui está: https://poeditor.com/
    É melhor que Poedit porque é baseada na web.

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)