João Júnior

...Compartilhando Conhecimento

  • Aumentar tamanho da fonte
  • Tamanho da fonte padrão
  • Diminuir tamanho da fonte
Compartilhando conhecimento

Internacionalização de Programas em Python

E-mail Imprimir PDF

Esse pequeno exemplo foi escrito tomando como base o tutorial em [1] e a documentação oficial dos módulos gettext[2] e locale[3].

Para usar a internacionalização(i18n) em seus programas Python é preciso ter o módulos gettext e locale instalados. Os módulos msgfmt e pygettext serão utilizados para a geração dos arquivos de tradução e se encontram no Subdiretório "Tools\i18n" da instalação do Python.

Para exemplo vamos escrever o "Hello Word!!!" para testar a internacionalização. A linha abaixo será salva no arquivo "hello.py"

print "Hello Word!!!"

Para internacionalizar seus programas em Python são necessários 4 passos básicos: Alteração do seu programa para possuir strings candidatas a serem traduzidas, criar o arquivo de tradução em formato de texto,gerar o arquivo de tradução "compilado" e instalar a tradução no seu programa.

1) Alteração do seu programa para possuir strings candidatas a serem traduzidas

Altere a linha do arquivo "hello.py" para ficar como a linha abaixo:

print _("Hello Word!!!")

Se você executar o arquivo "hello.py" receberá um erro, pois o nome _ não está definido, posteriormente definiremos esse nome.

2) Criar o arquivo de tradução em formato de texto

Crie um arquivo de texto com qualquer nome, nesse exemplo vou denominar o arquivo como "translate.po", a extenão .po é necessária para que o módulo msgfmt reconheça esse arquivo. Coloque nesse arquivo as linhas abaixo:

msgid "Hello Word!!!"

msgstr "Alô Mundo!!!"

O msgid é a linha que será candidata a tradução, a linha msgstr será a tradução corresponde a string "Hello Word!!!"

3) Gerar o arquivo de tradução "compilado"

No diretório onde foi salvo o arquivo "translate.po" execute "msgfmt.py translate.po" e será gerado um arquivo denominado "translate.mo", que é um arquivo "compilado" correspondente ao "translate.po". O arquivo "translate.mo" deverá ser salvo no subdiretório "locale\pt_BR\LC_MESSAGES" dentro do diretório que se encontra o arquivo "hello.py"

4) Instalar a tradução no seu programa

Nesse passo é que usaremos o módulo gettext que é o responsável por conseguir traduzir nossas strings. Altere o arquivo "hello.py" para ficar com as seguintes linhas:

import gettext

nameFileTraduction  = 'translate' # nome do arquivo de tradução

namefolderLocationFileTraduction = 'locale' # localização inicial do arquivo de tradução, a localização completa é locale\pt_BR\LC_MESSAGES

language = gettext.translation(nameFileTraduction, namefolderLocationFileTraduction, languages=["pt_BR"])

language.install() # instalação da Linguagem requerida

_ = language.gettext # renomeando o gettext para _

print _("Hello World!!!") # O seu programa continua basicamento o mesmo

Agora execute seu programa e veja ele vai imprimir "Alô Mundo!!!"

O módulo pygettext é utilizado para gerar os arquivos de tradução em formato de texto, como no passo 2, o módulo pygettext percorre

todo o módulo passado como parâmetro é gera a estrutura msgid e msgstr para todas as strings que estiverem no formato _("Sting a ser traduzida")

 

Após esse artigo encontrei o link [4] que fala sobre tradições de softwares e achei muito interessante.

[1] http://softwarelivre.org/furusho/blog/python-internacionalizacao-no-windows

[2] http://docs.python.org/library/gettext

[3] http://docs.python.org/library/locale

[4] http://www.blog.rodrigoflores.org/?p=191

Última atualização em Seg, 14 de Março de 2011 20:49
 

Técnica computacionalmente intensiva para o cálculo de intervalos de confiança

E-mail Imprimir PDF

Artigo que mostra uma método intensivo para o cálculo de intervalos de confianças.

Você pode acessar esse artigo clicando aqui.

Última atualização em Sáb, 30 de Outubro de 2010 12:32
 

Matrizes e vetores numéricos em Python: A solução

E-mail Imprimir PDF

Essa dica mostra como trabalhar de forma eficiente com matrizes numéricas em Python

Última atualização em Ter, 01 de Fevereiro de 2011 13:59 Leia mais...
 

Livro: Python para desenvolvedores

E-mail Imprimir PDF

Lançado a segunda edição do livro: Python para desenvolvedores, um ótimo livro e em português para quem quer aprender a linguagem python.


As duas versões do livro podem ser baixadas nesse link.

O livro é distribuído gratuitamente e está sob a licença Creative Commons.

Última atualização em Sex, 29 de Outubro de 2010 22:31
 

Instalação do Slackware 11.0 sem medo

E-mail Imprimir PDF

 

Esse artigo pretende quebrar "tabus" sobre a instalação do Slackware, demostrando que esse sistema também pode ser instalado facilmente. Ele se destina a usuários iniciantes no mundo open-source e serve como uma "receita de bolo" para a instalação do Slackware.


Última atualização em Qua, 04 de Agosto de 2010 19:50 Leia mais...