Como ajudar em traduções do Mandrake ou outras distribuições

Por:
Como ajudar em traduções do Mandrake ou outras distribuições

Se você de vez em quando vê alguma mensagem em Inglês ou em Português de Portugal pipocar na sua tela e pensa “alguém poderia arrumar isso” saiba que este alguém pode ser você 🙂

O Jeferson “Wooky” é um dos responsáveis pela tradução do Mandrake Linux para o Português do Brasil e mandou este artigo ensinando passo a passo como ajudar nas traduções, não apenas do Mandrake, mas de qualquer distribuição ou aplicativos em que você tenha interesse.

Não é preciso ter conhecimentos de programação, apenas ter algum tempo livre e, naturalmente, algum conhecimento do Inglês e do aplicativo em questão para entender e poder traduzir as mensagens e avisos com exatidão. Mãos à obra:

Tradução da Mandrake

versão 0.1 Fri Oct 11 13:42:42 BRT 2002

Várias pessoas tem demonstrado interesse em saber como se dá o processo de tradução na Mandrake. Resolvi fazer um texto de modo que esta informação fique facilmente acessível.

Com algumas adaptações, o processo aqui mostrado não deve diferir muito do usado nas outras distros. Assim, pode ser um bom ponto de partida para quem quer ajudar na tradução para o Português do Brasil de outros projetos.

O quê se traduz

A primeira dúvida a ser esclarecida é quais pacotes são traduzidos. Uma distribuição Linux contém um sem número de pacotes e programas. Geralmente a equipe de tradução se encarrega de traduzir as mensagens que são específicas dela.

Ou seja, tudo aquilo que distingue e faz de uma distribuição única. Exemplificando, isso inclui:

  • Instalador
  • Mensagens do Menu
  • Wizards(assistentes)
  • Ferramentas de configuração
  • Mensagens de erro

Entre outros. Esclarecendo uma pergunta comum, o responsável pela tradução do Konqueror (Gerenciador de arquivos/browser do KDE), por exemplo, é o time de traduções do KDE. O mesmo se passa com o Gnome ( e os aplicativos que fazem parte do pacote). Aplicativos “standalone” geralmente são de responsabilidade direta dos programadores. Algumas exceções existem; na Mandrake por exemplo existe um pacote com mensagens do XMMS.

Ou seja, modo geral, se você está interessado em ajudar na tradução de um programa em particular, procure o responsável pelo mesmo. A tradução feita poderá ser utilizada por todas as distribuições. É claro, quando as ferramentas das distros são GPL também nada impede que sejam aproveitadas, juntamente com as traduções, em outros projetos. Não é o caso por exemplo da SuSe.


Mãos à obra

Vamos voltar à Mandrake. Os interessados em participar da tradução, devem, antes de tudo, se dirigir à página

http://www.linux-mandrake.com/l10n/

… e inscrever-se na lista i18n da Mandrake. A lista é o canal oficial de troca de informações referentes à tradução, e pode ser também utilizada para resolver dúvidas que se encaixem no tópico. Pode-se também mandar um email para sympa@linux-mandrake.com com o assunto SUB cooker-i18n

Um comentário, o servidor da lista requer que o seu servidor de SMTP permita que se faça um DNS reverso (aparentemente para coibir spam e mensagens anônimas). Isso pode ocasionar alguns problemas; caso perceba que suas mensagens não chegam a lista, tente usar outro servidor para enviar as mensagens.

Outra página que nos interessa é :

http://www.linux-mandrake.com/l10n/pt_BR.php3

Aqui pode-se ver como andam as traduções, e é também aqui que se faz o download dos pacotes a serem traduzidos. Como pode-se notar o time fez um bom trabalho com a maior parte dos pacotes (modéstia a parte). No momento , a tradução está em 66%. O que realmente ainda falta é traduzir alguns pacotes gigantes – como o menu-messages, com mais de 800 mensagens, e o Drak-X que tem mais de 1000.

Como traduzir

A partir da página acima, pode-se fazer o download dos pacotes. Os pacotes são apenas texto e portanto bem pequenos.

Feito o download, descompacte o pacote:

$ bunzip2 nome_do_pacote

(em alguns casos o pacote pode estar comprimido com gzip)

Os pacotes descomprimidos são arquivos texto com a extensão .po (ou .pot). Eles podem ser abertos e editados com qualquer editor de texto. No entanto, existem programas específicos que facilitam a tarefa.

Vamos analisar um pacote:

pacote urpmi

# URPMI PT_BR PO FILE
# Copyright (C) 2000 Free Software Foundation, Inc.
# Andrei Bosco Bezerra Torres , 1999-2000
# Bruno Dorfman Buys , 2002
#
msgid “”
msgstr “”
“Project-Id-Version: urpmi 3.3n”
“POT-Creation-Date: 2002-08-30 17:05+0200n”
“PO-Revision-Date: 2002-09-05 16:07-0200n”
“Last-Translator: Jeferson Lopes Zacco aka Wooky n”
“Language-Team: Brazilian Portughese n”
“MIME-Version: 1.0n”
“Content-Type: text/plain; charset=ISO-8859-1n”
“Content-Transfer-Encoding: 8bitn”
“X-Generator: KBabel 0.9.5n”

Este cabeçalho nos mostra informações básicas sobre o pacote, como os tradutores que trabalharam nele, data de revisão, etc. Prestem atenção ao campo “last-translator”: na verdade ele não indica apenas o último tradutor e sim o atual responsável do arquivo. Caso você mude esse campo, a Mandrake passará considerá-lo como o novo responsável e enviará automaticamente qualquer mudança a você. Caso você deseje ser responsável pelo arquivo, escreva antes ao atual mantenedor e veja se ele concorda. Se apenas deseja colocar seu nome para indicar que trabalhou no arquivo, acrescente-o à lista logo após o copyright( você detém obviamente o copyright de suas traduções).

msgid e msgstr

Os campos msgid e msgstr são os mais importantes; eles contém as mensagens propriamente. Exemplo:

#: ../_irpm_.c:33 ../urpme_.c:32 ../urpmi_.c:425
msgid “Is it OK?”
msgstr “Tudo bem?”

A linha com um comentário (#) identifica a mensagem no contexto do programa a que ela pertence. A linha msgid é a mensagem original; NUNCA modifique esta linha, ela é de responsabilidade do programador. No caso dela conter algum erro, notifique a lista ou o programador diretamente.

A linha msgstr contém a mensagem traduzida. Se a tradução ainda não foi feita ela estará vazia. As mensagens devem sempre vir entre aspas.

fuzzy

Às vezes será encontrado um comentário “fuzzy” em alguma mensagem. ex:

#: ../urpm.pm_.c:177
#, c-format, fuzzy
msgid “Unknown webfetch `%s’ !!!n”
msgstr “Webfetch desconhecido`%s’ !!!n”

Este comentário indica que a tradução corrente é duvidosa e NÃO será usada. Caso você conserte esta tradução, é necessário retirar o comentário fuzzy (retire apenas a palavra “fuzzy”).

Aqui surge uma questão: o que fazer quando não se está 100% certo de uma tradução? Geralmente, se pode-se afirmar que o usuário final vai entender o sentido da tradução, é melhor traduzir ainda que aproximadamente do que deixar sem traduzir ou “fuzzy”. Coloque um comentário (iniciando com # [seguido por um espaço]) dizendo que talvez haja uma forma melhor de traduzir aquilo e eventualmente algum outro tradutor pode melhorar a frase. É claro, faz-se necessário algum discernimento aqui.

c-format

Comentários c-format indicam que a mensagem usa alguma formatação, i.e, algum dado será inserido em runtime na posição indicada. É necessário muito cuidado para não mudar a ordem em que as format strings aparecem. Existe uma forma caso seja realmente necessário usar uma ordem diferente, mas não encontrei a referência, fica para um update. É necessário copiar os indicadores de formatação (%s, n, etc) exatamente como aparecem na msgid.

Checando

O utilitário msgfmt permite checar se o pacote contém erros:

$ msgfmt -c -v -o /dev/null urpmi-pt_BR.po

236 translated messages, 3 fuzzy translations.

Caso indique algum erro, é necessário corrigir (geralmente é algum erro com as c-format).

Enviando a tradução

Basta comprimir o arquivo,

$ bzip2 nome_do_arquivo

… e enviá-lo anexado por e-mail para o Pablo Saratxaga (pablo@mandrakesoft.com), chefe da equipe de tradução da Mandrake.

Usando o kbabel

Como foi dito, os pacotes de mensagens podem ser editados em qualquer editor de texto ( existem macros para Vi e acho que emacs também que facilitam a tarefa) no entanto, é altamente recomendável usar um programa específico. O Kbabel (do KDE) automatiza e simplifica o processo, mostrando em janelas diferentes a msgid, a msgstr, permite o uso de botões/atalhos para colocar ou tirar o status de fuzzy em uma mensagem, mostra quando há erros de formatação, permite ver somente as mensagens que não foram traduzidas, checa a sintaxe, usa o ispell para erros ortográficos, etc. Enfim, é uma mão na roda para o tradutor. Existem outros programas com a mesma função ( o nome fica para o update também).

gdh1

Lista pt_BR

Um dos tradutores, o Márcio, tomou a iniciativa de criar uma lista exclusiva para os tradutores brasileiros. A lista é:

linux_pt_BR@yahoogrupos.com.br

Suponho que para se inscrever o endereço seja

linux_pt_BR-subscribe@yahoogrupos.com.br

Já faz algum tempo que não recebo e-mails da lista, preciso confirmar com o Márcio se esta tudo funcionando.

Divisão de trabalho

Lembrem-se que é salutar escrever para a(s) lista(s) e dizer em que pacote se está trabalhando, para que não haja repetição de trabalho inutilmente. Se por acaso houver mais tradutores que pacotes, pode-se dividir os pacotes grande para que ninguém fique sobrecarregado.

Quando mandar o trabalho

Não é necessário acabar completamente a tradução para enviar o pacote. Ao contrário, é preferível mandar em intervalos pequenos, uma vez que os pacotes são atualizados constantemente pelos programadores.

Finalizando

Acho que este texto cobre todos os passos importantes do processo de tradução. Como disse antes, com poucas adaptações deve ser útil também a usuários de outras distribuições, ou a quem estiver interessado em trabalhar na tradução de programas. O GNU/Linux agradece.

Links úteis:

Mandrake:
http://www.linux-mandrake.com/l10n/
http://www.linux-mandrake.com/l10n/pt_BR.php3

KDE:
http://i18n.kde.org/stats/gui/HEAD/pt_BR/index.php

GNOME:
http://developer.gnome.org/projects/gtp/status/gnome-1.4-core/pt_BR.html
http://developer.gnome.org/projects/gtp/status/gnome-2.0-core/pt_BR.html
http://developer.gnome.org/projects/gtp/status/gnome-2.0-fifth-toe/pt_BR.html

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X