domingo, 15 de janeiro de 2006

Tutorial para a tradução de programas via código-fonte

No meu caso, usei o POEdit, disponível via apt-get.



- Baixe o source do programa que deseja traduzir. Eles sempre vem dentro de .tar.gz ou .tar.bz2. Nesse caso, baixei o morphixinstaller.

- Extraia o pacote. Você vai ver uma pasta com o nome de po. Entre nela, e pegue um arquivo com o nome de .pot. Se quiser alterar uma tradução do português de Portugal, por exemlo, pegue o pt.po. Coloque esse arquivo em sua home

- Abra o Poedit, na primeira vez que o abrir vai pedir informações. Selecione a opção de salvar arquivos .mo junto.

- Vá em Arquivo -> New catalog form POT file, se estiver abrindo um POT, ou Arquivo -> Novo catálogo, se abrir um PO. Se você abrir um POT, que é o recomendado, o POedit pedira informações suas. Na codificação, deixe tudo como utf-8.

- Agora é a parte da tradução. Note no screenshot que postei acima. Daqueles 4 espeços em brancos, usaremos o superior esquerdo e inferior esquerdo.

- Agora vá clicando nas tags, o texto original aparece no superior esquerdo, e o local para a tradução no inferior esquerdo.

- Depois de acabar, salve. No local onde está o arquivo .po, verá um .mo. Renomeie esse .mo para o mesmo nome do POT, ou seja, se o POt se chama morphixinstaller.pot, o MO chamará de morphixinstaller.mo. Coloque esse arquivo em /usr/share/locale/pt_BR/LC_MESSAGES.

- Pronto!

Esse procedimento pode ser feito à mão, via um editor de textos qualquer. Você deve traduzir todas as mensagens onde estiver a linha msgstr. Depois de preencher tudo, rode o comando:

msgfmt -vv exemplo.po /usr/share/locale/pt_BR/LC_MESSAGES/exemplo.mo

Lembrando que editar manualmente a possibilidade de erros é bem maior.

Espero ter ajudado.

Abraços

2 comentários:

Anônimo disse...

Excelente tutorial. Não conhecia este aplicativo. Sempre usei o Kbabel, mas este parece bem mais simples.

Abraço !

JulioCBM disse...

Obrigado!! Também já usei o KBabel (bom também), mas o POEdit, além de ser muito menor, vai direto ao ponto.

Abraços