Traduzindo páginas Debian

Para tornar o trabalho dos tradutores o mais fácil possível as páginas são geradas de modo um pouco diferente ao que muitos de vocês estão acostumados. As páginas web são geradas usando fontes que são marcados com wml. Há diretórios separados para cada idioma.

Se você planeja começar uma tradução inteiramente nova do site web do Debian, veja a seção sobre começar uma tradução nova.

Traduzindo páginas individuais

Nós usamos o WML para separar o conteúdo específico de uma página dos elementos comuns entre múltiplas páginas. Isso significa que o tradutor precisa editar alguns arquivos fonte WML ao invés dos arquivos HTML. Por favor, use o CVS para obter os fontes atuais. Você precisará pegar pelo menos dois diretórios: webwml/english/ e webwml/<idioma>/.

Para traduzir uma única página do inglês para seu idioma, o arquivo .wml original deve ser traduzido e colocado dentro do diretório do outro idioma. O caminho relativo e o nome precisam ser os mesmos do diretório inglês para que os links continuem funcionando.

Cabeçalhos de tradução

É fortemente recomendado que o tradutor inclua uma linha adicional aos cabeçalhos depois do último #use para registrar a revisão exata do arquivo original que foi traduzida, para que a atualização seja fácil. A linha se parece com isto: #use wml::debian::translation-check translation="x.y"

Algumas equipes de tradução também usam essa linha para marcar o tradutor oficial de cada página. Fazendo-o, você receberá mensagens automáticas quando as páginas que você mantêm são atualizadas em inglês, e precisam de sua atenção para atualizar a tradução. Para isso, simplesmente adicione o seu nome como mantenedor no fim da linha #use deixando-a parecida com esta: #use wml::debian::translation-check translation="x.y" maintainer="seu nome". O copypage.pl irá fazer isso automaticamente se você configurar a variável de ambiente DWWW_MAINT ou usar o parâmetro de linha de comando -m.

Você também precisa explicar para o robô quem é você, com qual frequência você deseja receber mensagens automáticas e com qual conteúdo. Para fazê-lo, edite (ou deixe que seu coordenador o faça) o arquivo webwml/idioma/international/idioma/translator.db.pl no CVS. A sintaxe deve ser inteligível e você pode usar o arquivo da equipe francesa como modelo se ele não existe para o seu idioma ainda. O robô pode enviar vários tipos de informações, e você pode escolher a frequência com a qual elas serão enviadas para você. Os tipos diferentes de informação são:

Para cada uma delas, o valor deve estar entre: 0 (nunca), 1 (mensalmente), 2 (semanalmente) ou 3 (diariamente).

Um exemplo poderia ser:

                'Martin Quinson' => {
                        email       => 'martin.quinson@tuxfamily.org',
                        summary     => 3,
                        logs        => 3,
                        diff        => 3,
                        tdiff       => 0,
                        file        => 0
                },

O cabeçalho da página web pode ser facilmente produzido usando o script copypage.pl no diretório raiz webwml. O script copiará a página no lugar correto, criará diretórios e makefiles se necessário e adicionará o cabeçalho necessário automaticamente. Você será avisado se uma página a ser copiada existe no repositório, seja porque a página foi removida do repositório (por estar bastante desatualizada) ou porque alguém já enviou uma tradução e a sua cópia local do repositório não está atualizada.

Para começar a usar o copypage.pl você deve primeiro configurar o arquivo language.conf que será usado para determinar o idioma para o qual você está traduzindo. Esse arquivo precisa apenas ter uma linha com o nome do idioma, e pronto. Você pode também definir o idioma através do uso da variável de ambiente DWWW_LANG e usar a variável de ambiente DWWW_MAINT para pôr o seu nome que será adicionado ao cabeçalho dos arquivos wml gerados, como o mantenedor da tradução. Existem outros recursos disponíveis no script, apenas execute-o sem nenhum argumento para obter a ajuda.

Após ter executado ./copypage.pl arquivo.wml, traduza o texto original dentro do arquivo. Comentários nos arquivos indicarão se há itens que não devem ser traduzidos; respeite-os. Não faça nenhuma alteração desnecessária na formatação; se alguma coisa precisa ser corrigida, a correção provavelmente deve ser feita no arquivo original.

Construção e publicação das páginas

Como nós usamos negociação de conteúdo, arquivos HTML não são nomeados arquivo.html; são nomeados arquivo.<idioma>.html, onde <idioma> é o código de duas letras para o idioma, de acordo com a ISO 639 (e.g. fr para francês).

Você pode construir o HTML a partir do WML executando make arquivo.<idioma>.html. Se isso funcionar, cheque se a sintaxe está completamente válida com weblint arquivo.<idioma>.html.

As páginas são reconstruídas a partir do CVS no servidor www-master e esse processo é na maior parte resistente a erros. No entanto, se você colocar um arquivo quebrado no primeiro nível de sua tradução (e.g. o arquivo index.wml no nível mais alto da estrutura), ele quebrará o processo de construção e interromperá todas as outras atualizações do site web. Por favor, preste atenção especial nesses arquivos.

Uma vez que a página esteja pronta para ser publicada, você pode enviá-la ao CVS. Se você tem as permissões para fazê-lo, execute cvs commit; se não, envie-a para alguém com acesso de escrita ao repositório.

Começando uma tradução nova

Se você gostaria de começar a tradução das páginas web do Debian em um novo idioma, envie uma mensagem (em inglês) para webmaster@debian.org.

Antes de qualquer coisa, tenha certeza de que você fez um checkout de nossa árvore de código fonte, como descrito na nossa página de introdução ao CVS.

Depois que você tiver feito uma cópia do diretório webwml/ e (pelo menos) do webwml/english/, comece criando um novo diretório para sua tradução, junto com o english/ e outros. O nome do diretório de tradução deve estar em inglês e completamente em letras minúsculas (e.g. german, não Deutsch).

Copie os arquivos Make.lang e .wmlrc do diretório english/ para o diretório da nova tradução. Esses arquivos são essenciais para construção de sua tradução a partir dos arquivos WML. Eles foram projetados de forma que, depois de copiá-los para o diretório do novo idioma, você só precise alterar estas coisas:

  1. A variável LANGUAGE deve ser alterada no arquivo Make.lang.
  2. As variáveis CUR_LANG, CUR_ISO_LANG e CHARSET devem ser alteradas no arquivo .wmlrc. Adicione CUR_LOCALE nele, caso precise disso para ordenação.
  3. Alguns idiomas podem precisar de processamento extra para lidar com o conjunto de caracteres (charset). Isso pode ser feito usando as opções --prolog e --epilog do wml. Use as variáveis WMLPROLOG e WMLEPILOG no Make.lang para fazê-lo.
  4. A variável LANGUAGES deve ser alterada no arquivo webwml/Makefile para que o seu idioma seja construído junto com os outros em www.debian.org. Nós preferimos que você deixe essa alteração em particular para os webmasters, porque a sua tradução pode estar quebrada sem que você esteja ciente, o que poderia parar o processo de construção do resto de nosso site web.

Depois que isso estiver feito, coloque a seguinte linha em um novo arquivo chamado Makefile nesse diretório:

include $(subst webwml/seudiretório,webwml/english,$(CURDIR))/Makefile

(Substitua seudiretório com o nome do diretório de seu idioma).

Agora crie um subdiretório em seu diretório de idioma chamado po, e copie o mesmo Makefile para esse subdiretório (cp ../Makefile .).

No diretório po/, execute make init-po para gerar o conjunto inicial de arquivos *.po.

Agora que o esqueleto está configurado, você pode começar a adicionar suas traduções em nossas tags WML compartilhadas usadas em modelos (templates). Os primeiros modelos que você deve traduzir são aqueles que aparecem em todas as páginas, como as palavras chave do cabeçalho, as entradas da barra de navegação e o rodapé.

Comece traduzindo o arquivo po/templates.xy.po (onde xy é o código de duas letras de seu idioma). Para cada msgid "alguma coisa" há inicialmente um msgstr "". Você deve colocar a tradução de alguma coisa entre aspas duplas depois de msgstr.

Você não tem que traduzir todas as strings em todos os arquivos .po, somente aquelas que suas páginas traduzidas realmente precisam. Para ver se você precisa traduzir uma string, leia os comentários no arquivo .po acima de cada msgid. Se o arquivo referenciado estiver em english/template/debian, então você provavelmente deve traduzi-la. Se não, você pode deixá-la para depois, quando você traduzir a seção relevante das páginas que a utilizam.

O objetivo dos arquivos po/ é tornar as coisas mais fáceis para os tradutores, de forma que eles (quase) nunca tenham que editar algo no diretório english/template/debian. Se você encontrar qualquer coisa errada com a forma como algo está configurado no diretório template, por favor, tenha certeza que o problema pode ser corrigido de maneira genérica (sinta-se à vontade para pedir para que outra pessoa faça isso por você), ao invés de adicionar traduções nos modelos, o que (usualmente) é um grande problema.

Se você não tem certeza se fez alguma coisa de maneira apropriada, pergunte na lista de discussão debian-www antes de fazer o commit.

Nota: se você descobrir que precisa fazer qualquer outra alteração, envie uma mensagem para debian-www dizendo o que você alterou e por que, para que o problema seja corrigido.

Depois que o esqueleto dos templates estiver feito, você pode começar com a tradução da página frontal e outros arquivos *.wml. Para uma lista de arquivos que devem ser traduzidos primeiro, veja a página de dicas. Traduza páginas *.wml como descrito no topo desta página.

Revivendo traduções desatualizadas

Como descrito em como manter as traduções atualizadas, traduções desatualizadas do site web podem ser automaticamente removidas quando um longo período de tempo se passou sem uma atualização.

Se você usa o script copypage.pl com um arquivo que foi removido do CVS ele recusará copiar a página e perguntará a você para ao invés disso revivê-lo. Você pode checar as razões pelas quais o arquivo foi removido do cvs usando cvs log no arquivo removido (ou use a interface web, os arquivos excluídos podem ser encontrados no subdiretório "Attic".

Para reviver uma tradução desatualizada use cvs status (ou cvs log) para anotar o número de versão da versão excluída e então fazer uma mesclagem para trás.

Por exemplo, se o arquivo excluído for o "deleted.wml", e a versão excluída é 1.7, a versão antes da exclusão é 1.6 (a versão excluída menos um). Você pode restaurar o arquivo executando:

   cvs update -j 1.7 -j 1.6 deleted.wml

Ao fazer isso você tem que, é claro, atualizar o documento antes de enviá-lo ao CVS novamente, ou caso contrário ele pode ser removido.

O resto da história

A descrição acima provavelmente será o suficiente para você começar. Após isso, você pode querer ver os seguintes documentos que dão explicações mas detalhadas e informações adicionais.

Nós esperamos que o trabalho que nós realizados torne a tradução das páginas o mais fácil possível. Como já mencionado, se você tiver alguma questão, pergunte-a na lista de discussão debian-www.