L10N Brazilian Portuguese Team Passo a passo

= Como contribuir efetivamente com o Projeto de Tradução do Fedora =

Criar uma conta no Sistema de Contas do Fedora
Para participar das traduções do Projeto Fedora você deve primeiramente criar uma conta no FAS (Fedora Account System). O FAS mantém o registro dos colaboradores do Projeto Fedora e dos subprojetos com os quais eles contribuem.

Para criar uma conta no FAS acesse o seguinte link:

https://admin.fedoraproject.org/accounts/user/new

O que é FPCA?
O FPCA é o Acordo do Colaborador do Projeto Fedora, do inglês "Fedora Project Contributor Agreement". Esse contrato ajuda a manter o Fedora livre e de código aberto ao certificar que todas as contribuições feitas ao Projeto Fedora estão apropriadamente licenciadas.

Para assinar o FPCA acesse o link:

https://admin.fedoraproject.org/accounts/fpca/

Assinar a lista de discussão sobre traduções
Assine a lista de discussão do time de tradução para o Português do Brasil. Nessa lista são discutidas as prioridades atuais e é onde você pode tirar quaisquer dúvidas sobre o processo de tradução.

Para assinar a lista de discussão visite o seguinte link:

https://admin.fedoraproject.org/mailman/listinfo/trans-pt_br

Recomendamos que você também assine a lista internacional de tradução e a lista de anúncios do Projeto Fedora:

https://admin.fedoraproject.org/mailman/listinfo/trans

https://admin.fedoraproject.org/mailman/listinfo/trans-announce

O que são arquivos POT/PO/MO
Cada pacote possui um catálogo que representa as mensagens que são exibidas na sua interface. Os catálogos são arquivos compostos de pares de mensagens, formados por um texto original e o equivalente traduzido. Cada programa possui o seu próprio catálogo de mensagens por idioma, embora também existam casos em que programas relacionados compartilhem os seus catálogos de mensagens. Existem três formatos de catálogos, vejamos:


 * PO - Que vem do acrônimo inglês "Portable Object" (Objeto Portável). É um arquivo de texto com a extensão ".po", que adota em seu conteúdo uma linguagem de marcação especial. É o formato que é editado e mantido pelos tradutores. O nome do arquivo deve referenciar o idioma de tradução que o arquivo trata, por exemplo, "pt_BR.po".
 * MO - Que vem do acrônimo inglês "Machine Object" (Objeto Máquina). É um arquivo binário com a extensão ".mo", gerado a partir do arquivo PO e utilizado por um programa para internacionalizar sua interface com o usuário. O nome do arquivo costuma ser o nome do programa que o arquivo trata, por exemplo, "epiphany.mo".
 * POT - Que vem do acrônimo inglês "Portable Object Template" (Modelo de Objeto Portável). Este arquivo é gerado pelo desenvolvedor da interface, servindo de modelo para que um tradutor, ou time de tradução. Ou seja, ele não é editado diretamente, mas usado para gerar um catálogo com formato PO no idioma desejado.

A realização da tradução é a simples ação de passar partes do catálogo de mensagens de um pacote para o português. As "partes" que devem ser traduzidas são explicadas na seção O que é traduzido nos arquivos .PO?

O que é traduzido nos arquivos .PO?
Apresentamos abaixo, o trecho de um arquivo PO. Note que o arquivo está apenas com a mensagem original, no campo msgid. Como trabalho de tradução, você deve interpretar a mensagem em inglês e colocá-la no português, no campo seguinte, chamado msgstr.

#: ../src/widgets/cria-slide-show.c:281 #, c-format msgid "Error disabling xscreensaver: %s" msgstr ""

Aqui a mensagem já foi interpretada e traduzida, mantendo a formatação original.

#: ../src/widgets/cria-slide-show.c:281 #, c-format msgid "Error disabling xscreensaver: %s" msgstr "Erro desabilitando xscreensaver: %s"

Sim, é realmente bem simples!

O que devo observar ao editar arquivos .PO
Antes de começar a traduzir, alguns detalhes nos arquivos .PO devem ser observados. Os arquivos PO possuem uma linguagem de marcação padronizada, cujo objetivo é traçar uma linguagem/protocolo comum de comunicação entre os tradutores, desenvolvedores e programas. Vejamos abaixo um exemplo do formato de um arquivo PO:

6901| # comentário simples 6902| #: ../nome_do_arquivo.c:001 6903| #| msgid "texto original anterior" 6904| msgid "texto original" 6905| msgstr "texto traduzido" 6906| 6907| #. comentário automático 6908| #: ../nome_do_arquivo.c:002 6909| msgid "texto original que" 6910| "pode ser quebrado em quantas" 6911| "linhas forem necessárias" 6912| msgstr "texto traduzido que" 6913| "pode ser quebrado em quantas" 6914| "linhas forem necessárias" 6915| 6916| #: ../nome_do_arquivo.c:003 ../nome_do_arquivo.c:004 6917| #, sinalizador, sinalizador 6918| msgid "texto original no singular" 6919| msgid_plural "texto original no plural" 6920| msgstr[0] "texto traduzido no singular" 6921| msgstr[1] "texto traduzido no plural" 6922| 6923| #~ msgid "texto original obsoleto" 6924| #~ msgstr "texto traduzido obsoleto"

Podemos notar, no exemplo citado, que:


 * 1) Todas as linhas iniciadas com msgid indicam o texto original e as linhas com msgstr indicam o texto traduzido por um tradutor.
 * 2) Ambas as linhas possuem textos que devem estar entre aspas.
 * 3) O texto poderá ser quebrado em diversas linhas, como nas diretivas (msgid/msgstr) exemplificadas pelas linhas 6909 e 6912.
 * 4) A linha iniciada com msgid_plural representa um texto original no plural que deverá ser traduzido em diretivas msgstr[n], onde n poderá ser um intervalo entre números inteiros de 0 até o número de possibilidades que o plural em seu idioma ofereça. Por exemplo, acima temos de 0 a 1, onde 0 é o singular e 1 é o plural. A quantidade de possibilidades que o plural no arquivo pode possuir deve ser definido no cabeçalho do arquivo.
 * 5) Todas as linhas iniciadas com tralha # são tratados como comentários, porém existe uma diferença entre eles, como descrito a seguir:
 * 6) # comentários gerados e mantidos pelo tradutor.
 * 7) #. comentários automáticos extraídos do código fonte, criados pelo desenvolvedor para auxiliar a tradução.
 * #: local onde o texto é utilizado no(s) código(s) fonte.
 * #, sinalizador(es).
 * #| contém o texto original anterior.
 * 1) #~ texto(s) obsoleto(s).

Os comentários sinalizadores podem ser iguais a fuzzy (aproximada), muitas vezes são inseridos pelo desenvolvedor, quando alguma alteração no texto original ocorre, ou por um tradutor que não tem certeza da tradução atual. Este sinalizador além de indicar uma tradução errada ou incerta, indica que o texto sinalizado não constará no arquivo MO gerado a partir do catálogo PO.

Outros sinalizadores possíveis são os de formatação de linguagem de programação, por exemplo, c-format. Estes sinalizadores indicam que o texto deve respeitar a sintaxe da linguagem de programação indicada. Atualmente temos sinalizadores para c, java, python, perl, gcc, lisp, smalltalk, etc.

Quais programas usar para traduzir?
Você pode abrir/editar os catálogos de mensagens com qualquer editor de textos, como o Gedit, o Emacs ou o Vim, mas existem programas dedicados como Gtranslator, poEdit, KBabel e Pootling que apresentam uma série de vantagens e são fortemente indicados.

Cuidados necessários durante a realização da tradução
Durante a realização da tradução, deve ser considerada uma série de pequenos cuidados, que irá garantir a integridade e qualidade da mesma:


 * Respeite todos os caracteres especiais utilizados no texto original, no texto traduzido, por exemplo, caractere que representa uma nova-linha, tabulação, recuo, dentre outros.
 * Tenha cuidado ao traduzir um termo já padronizado em seu idioma. Como ferramentas de consulta de termos, deve-se sempre consultar:
 * O VP, que permite a consulta de termos traduzidos padronizados.
 * O site Open-tran.eu, que permite a consulta de termos já empregados em módulos dos ambientes de trabalho GNOME e KDE.
 * Freqüentemente, você encontrará mensagens marcadas com a expressão fuzzy. Conforme citado na seção "O que devo observar ao editar arquivos .PO". Somente remova o sinalizador após ter certeza que a string está traduzida corretamente. (programas específicos, como o poEdit, o KBabel e o Gtranslator, fazem isso automaticamente.)

Modelo de Cabeçalho
Todos os catálogos de mensagens possuem um cabeçalho. Os cabeçalhos contém as informações do pacote. Note que além das informações de identificação do pacote, há também as informações de copyright e dos tradutores que já trabalharam no mesmo.

# msgid "" msgstr "" "Project-Id-Version: Anaconda\n" "POT-Creation-Date: 2007-10-09 16:20-0200\n" "PO-Revision-Date: 2007-10-09 18:18-0200\n" "Last-Translator: Cicrano Almeida \n" "Language-Team: Brazilian Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 * 1) Brazilian Portuguese translation of Anaconda.
 * 2) This file is distributed under the same license as the Anaconda package.
 * 3) Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Free Software Foundation, Inc.
 * 4) Fulano da Silva , 2000.
 * 5) Cicrano Almeida , 2001,2002,2003,2004,2005,2006,2007.

Sempre que fizer alterações significativas em um catálogo, você deverá acrescentar o seu nome e e-mail, conforme explicado na seção Créditos de tradução.

Créditos de tradução
Você deve acrescentar seu nome e e-mail nos comentários do cabeçalho do catálogo seguindo o mesmo esquema utilizado pelos demais tradutores. Em alguns arquivos PO há uma parte chamada translator-credits, você deve também colocar o seu nome e e-mail quando encontrar essa seção. Nunca retire nenhum nome da lista de tradutores, mesmo que não tenha restado nada do trabalho realizado por eles.

Validando uma tradução
Um procedimento muito importante no processo de tradução é a validação. A validação serve como uma revisão do próprio tradutor e visa encontrar possíveis problemas e erros, permitindo que o revisor/ committer realize um trabalho mais rápido, tendo em vista que o número de revisores/ committers é bem menor que o número de tradutores.

Procedimentos comuns de validação que não devem ser esquecidos:


 * Ativação da verificação ortográfica.
 * Ao concluir a tradução de uma mensagem ("string"), leia-a do início ao fim.
 * Preste atenção à pontuação, espaçamento, e principalmente ao fraseamento.
 * Ler e reler as mensagens com mais de 40 caracteres. Em geral, nos fixamos nas partes e esquecemos do conjunto.

Para verificar a consistência do catálogo execute o comando:

msgfmt -cvo /dev/null meucatálogo.po

O que é o Transifex (Tx)?
O Transifex é o sistema de estatísticas e envio de traduções usado pelo Projeto Fedora. Apesar dos módulos estarem espalhados por vários repositórios e gerenciados por sistemas de controle de versão diferentes, é possível que você envie as suas traduções via web sem se preocupar com os detalhes do processo.

Para acessar o Transifex use o seguinte link:

http://fedora.transifex.net

Onde obter os arquivos POT/PO do Projeto Fedora?
Antes de iniciar qualquer tradução, avise antes na lista de discussão sobre o módulo que você pretende traduzir. Depois disso, acesse o Transifex com o seu nome de usuário e senha do FAS e clique no ícone do cadeado ao lado da estatística do módulo desejado. Isso indicará para os outros tradutores que você está traduzindo aquele módulo. Para baixar o arquivo .PO basta clicar no ícone correspondente ao lado do cadeado.

Como enviar minhas traduções para o Projeto Fedora?
Você deve utilizar o Tx para enviar as suas traduções. Basta acessar o site e selecionar o módulo para o qual você quer enviar a tradução.

Para os módulos que não estão disponíveis no Tx, deve ser aberto um relatório no bugzilla no qual deve ser anexado o arquivo de tradução.

Referência:

http://br.gnome.org/bin/view/GNOMEBR/Traducao