O texto abaixo foi publicado no BR-Linux antes de 2005, e está mantido aqui por razões históricas.
Veja o material atualizado diariamente do BR-Linux em http://br-linux.org
Traduzindo softwares como o Mozilla
Publicado em 27 de março de 2004
Caio Begotti (entercaio@uol.com.br) nos enviou este tutorial mostrando como você pode fazer parte do time de tradutores de vários projetos que usam os arquivos DTD e POT como o Mozilla. Vale a pena ler mesmo que você não tenha interesse em participar efetivamente. É interessante entender como funciona este trabalho. Um excelente tutorial com até FAQ no final. Confiram!!! Mozilla em Klingon, Sindarin e até em Português Por Caio Begotti - entercaio@uol.com.br Todo mundo que já tenha tido algum contato com grandes projetos de Software Livre sabe que a localização e internacionalização de programas é de fato importante e até essencial, em especial em lugares como a França e Itália; onde se praticamente não usa softwares que não estejam traduzidos ou pelo menos sejam traduzíveis. O projeto Mozilla possui um ótimo time L10N, porém, a ferramenta que atualmente todos usam não é muito produtiva nem Caso você queira traduzir alguma parte da suíte Seamonkey, suponhamos o componente ChatZilla, você precisa fazer o download da última versão do Mozilla Translator (datada de 2002), instalar o kit de desenvolvimento Java (SDK), estudar e fuçar sobre como o MT funciona e aí sim começar a traduzir. Nesse caso, a curva de aprendizado do MT é absurda demais ao ponto de pedirmos pra qualquer um ir lá e aprender a usá-lo. Entretanto, caso aprenda a usar, você não irá conseguir facilmente, por exemplo, mesclar dois pacotes de traduções no MT, o que torna as coisas difíceis, pois somente uma pessoa poderá trabalhar na tradução diretamente. Pelo menos foi isso que nós do Mozilla Brasil notamos. - Arquivos POT são arquivos com os textos e mensagens originais de um determinado programa mais os mesmos campos duplicados (respectivamente, msgid e msgstr), em branco, para que uma tradução possa ser feita. POT signifca Portable Object Template, ou em português, Modelo de Objeto Portável e é através dele que a tradução começa. Quase todos os Softwares Livres decentes possuem suporte a gnu/gettext, que é a biblioteca que dá os arquivos POT como frutos. - Arquivos DTD significam Document Type Definition, ou Definição de Tipo de Documento e os arquivos do Mozilla usam esse tipo de mecanismo pra armazenar textos e mensagens da interface. Se você abrir algum DTD do Mozilla você poderá ver um monte de sentenças !ENTITY. Os problemas ao lidar com esse tipo de coisa podem acabar usando o Translate. O kit Translate é o novo mozpotools, um conjunto de scripts, GPL, feitos em Python, que são usados pra se converter arquivos DTD para o formato POT e que também faz a operação inversa. Na verdade o kit converte os arquivos para outros PO, porém não existe uma grande diferença entre arquivos .pot e .po. bash$ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/translate login Basta pressionar ENTER quando perguntado sobre a senha a ser usada. Após isso você terá um diretório /src, e entrando dentro dele você irá ver o script setup.py. Para ver todas as opções dele, use: bash$ ./setup.py --help-commands Dê uma olhada nas opções build e install. Você precisa usá-las para poder ter os scripts e arquivos instalados e fáceis de usar. Caso queira de antemão saber o que significa cada opção do setup.py, pule até o fim deste documento: bash$ ./setup.py build ; ./setup.py install Agora você já tem os executáveis moz2po e po2moz dentro do seu diretório /usr/bin e alguns arquivos auxiliares dentro de /usr/lib/python2.3/site-packages/translate/. Vamos testar logo! Eu sugiro que você crie um diretório separado para isso, mas também copie o diretório en-US da sua distribuição do Mozilla. Esse diretório en-US será usado como guia pelo script para converter os arquivos DTD originais. Eu estou assumindo que você irá traduzir o Mozilla para português, mas no exemplo abaixo você poderia usar qualquer código de língua. bash$ mkdir pt-BR ; cp -R /home/voce/mozilla-1.6/chrome/en-US/ . Note que eu peguei o diretório en-US de dentro de um pacote pronto, como o mozilla-1.6-xft-gtk2-pc-linux.tar.bz2. De qualquer maneira, poderia pegar ele de dentro do arquivo en-US.jar, que fica no seu chrome; ele é um arquivo ZIP comum, basta renomear para .zip e extrair seu conteúdo, ou mesmo abrir pelo Konqueror, que tem suporte nativo à arquivos ZIP. Você poderia inclusive pegar esse diretório en-US de qualquer projeto mozilla, suponhamos da extensão Checky, encontrada no MozDev. Agora está na hora de finalmente converter os arquivos DTD de dentro do diretório en-US, para o formato PO, que serão armazenados então no diretório criado pt-BR. Mais uma vez, você pode ler uma descrição de cada opção do script no fim deste documento, mas vamos logo com isso, usando uma barra de progresso mais detalhista: bash$ moz2po --progress=verbose -i en-US/ -o pt-BR/ Agora você já tem o diretório pt-BR repleto de arquivos .po convertidos dos respectivos .dtd e também dos arquivos .properties! Se você checar alguns deles você irá encontrar trechos como esse: #: windowtitle.label Você só precisa abrir tais arquivos em algum decente editor de traduções como o Kbabel ou mesmo no GNU/Emacs no modo PO - na verdade, você poderia até mesmo usar o VI. Caso não saiba traduzir um arquivo .po, dê uma passada no site do TLDP ou na área de desenvolvedores do KDE, uma vez que esse documento não explica como usar o Kbabel ou mesmo editar diretamente os arquivos .po. Mas não esquente, esse jeito é muito mais fácil do que usar o Mozilla Translator. Veja uma lista de links interessantes sobre esse assunto no fim do documento. Beleza, você é uma pessoa esperta e distribuiu alguns arquivos .po para um certo grupo de pessoas, assim eles poderão traduzir tudo e depois enviar de volta para você já tudo ok e traduzido para o português (nesse caso, como dito anteriormente). Você agora precisa fazer a operação inversa, convertendo os arquivos PO para o formato DTD, para então poder empacotar tudo e criar seu próprio .xpi ou mesmo um build inteiro. bash$ po2moz --progress=verbose -i pt-BR/ -t en-US/ -o NEW/ Na linha acima, o diretório de entrada (-i) possui os arquivos traduzidos, e usará como guia o diretório en-US (-t) com os DTD. O resultado será passado para o diretório de saída (-o) chamado NEW, que deverá ser renomeado para pt-BR, após tudo isso. Pronto! Você passou por todo o processo de converter, traduzir e converter novamente os arquivos. Acredito que esse documento possa ser útil para você, para que possa fácil e colaborativamente traduzir os softwares Mozilla para sua língua nativa ou quem sabe mesmo pra Klingon ou Sindarin... não? Se você tiver alguma sugestão, crítica ou algo que faça o texto ficar melhor, envie um e-mail para a lista -dev do Mozilla Brasil, que é pra onde esse texto foi originalmente pensado. O link está logo abaixo. Caio Begotti entercaio@uol.com.br
Do script setup.py, que fica no diretório /src mencionado inicialmente: ~/translate/src: ./setup.py --help-commands uso: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...] Do script moz2po localizado dentro do diretório /usr/bin/: bash$: moz2po --help opções: Do script po2moz, usado para converter do formato .po para o .dtd: ~/Desktop/CVS-translate/src: po2moz --help
Referências: Referências locais: man gettext (mais como um guia rápido)
1. Como eu poderia mesclar dois diretórios de diferentes línguas a fim de No passado o Translate tinha um script chamado repot.py que fazia esse tipo bash$ moz2po --progress=verbose -i sua_lingua -t en-US -o mesclados/ Assim você terá dentro do diretório mesclados/ um monte de arquivos .po com #: windowtitle.label 2. Eu nunca usei o Kbabel pra traduzir alguma coisa! Me ajuda? Ainda que o kit Translate converta arquivos DTD para o mesmo formato que o 3. Eu sou um usuário Windows: isso significa que eu nunca poderei usar o Absolutamente, não! Existe um interessante editor de arquivos .po para 4. Ok, o kit Translate é animal, mas eu não faço a mínima idéia sobre como É óbvio que você leu as instruções do MLP sobre esse tipo de situação, 5. Existe algum outro jeito de converter arquivos DTD para outros formatos? Bem... sim, existe. Veja o último link da lista de referências acima. O 6. Quem fez esse kit Translate? Um grupo de malucos sul-africanos, que fazem parte do esforço de tradução
Comentários para "Traduzindo softwares como o Mozilla"
Antes de comentar...
- Preserve a qualidade desta discussão - Leia os Termos de Uso. - Este formulário deve ser usado para comentários sobre a notícia. Se você tem dúvidas ou precisa de ajuda, use o Fórum. - Mantenha o foco nos argumentos e no assunto - Não faça ataques pessoais. - Pense 5 vezes antes de entrar em discussões inúteis, como "qual é a melhor distribuição/ambiente gráfico/linguagem de programação/etc.", mesmo se alguém já tiver provocado - um erro não justifica o outro - Não seja um e-mala ;-) ![]() Envie seu comentário
|