Traduzindo páginas web do Debian

Para tornar o trabalho dos(as) tradutores(as) 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). As páginas web são realmente geradas usando fontes que são nomeadas 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

Usamos WML para separar o conteúdo específico de uma página dos elementos comuns entre múltiplas páginas. Isso significa que o(a) tradutor(a) precisa editar alguns arquivos fonte WML em vez dos arquivos HTML. Por favor, use o git para obter os fontes atualizados. 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(a) tradutor(a) inclua uma linha adicional aos cabeçalhos depois do último #use para registrar o commit exato do arquivo original que foi traduzido, para que a atualização seja mais fácil. A linha se parece com isto: #use wml::debian::translation-check translation="<git_commit_hash>" Por favor, observe que se você gerar um arquivo a ser traduzido usando a ferramenta copypage.pl (o que é bastante recomendado), o hash do commit do git será gerado automaticamente. O uso de copypage.pl será explicado mais para frente.

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

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 para o lugar correto, criará diretórios e makefiles se necessário e adicionará o cabeçalho necessário automaticamente. Você será avisado(a) se uma página a ser copiada já 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 no diretório raiz webwml, que será usado para determinar o idioma para o qual você está traduzindo. Esse arquivo precisa de apenas duas linhas: na primeira consta o nome do idioma (como portuguese) e na segunda linha pode ser opcionalmente colocado o nome do(a) tradutor(a) que mantém a página. Você também pode definir o idioma através do uso da variável de ambiente DWWW_LANG e usar a variável de ambiente DWWW_MAINT para colocar seu nome que será adicionado ao cabeçalho dos arquivos wml gerados, como o(a) mantenedor(a) da tradução. Ou uma terceira possibilidade, você pode passar o idioma e (opcionalmente) o(a) mantenedor(a) por linha de comando via -l german -m "Donald Duck" e assim não utilizar o arquivo language.conf. Existem outros recursos disponíveis no script, apenas execute-o sem nenhum argumento para obter a ajuda.

Após ter executado, por exemplo, ./copypage.pl file.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 alterações desnecessárias 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 (por exemplo, pt para português).

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

NOTA: As páginas web são frequentemente reconstruídas no servidor www-master, baseando-se na fonte wml no git. Esse processo é em grande parte resistente a erros. No entanto, se você colocar um arquivo quebrado no primeiro nível de sua tradução (por exemplo, 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 a esses arquivos.

Uma vez que a página esteja pronta para ser publicada, você pode enviá-la ao git. Se você tem as permissões para fazê-lo, por favor, envie os commits para o repositório webwml do git; se não, envie 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 [email protected].

Antes de qualquer coisa, clone nossa árvore fonte como descrito na nossa página de introdução ao git.

Após fazer um git checkout, comece criando um novo diretório para sua tradução no nível mais alto da estrutura, 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 (por exemplo, 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 a 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 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 no nível mais alto da estrutura, para que seu idioma seja construído junto com os outros em www.debian.org. Nós preferiríamos que você deixasse 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óriodoidioma,webwml/english,$(CURDIR))/Makefile

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

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 nos modelos (templates). Os primeiros modelos que você deve traduzir são aqueles que aparecem em todas as páginas web, 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 web que a demandam.

O objetivo dos arquivos po/ é tornar as coisas mais fáceis para os(as) tradutores(as), de forma que eles(as) (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ê), em vez de adicionar traduções nos modelos, o que (usualmente) é um grande problema.

Se você não tem certeza se o que fez está correto, 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 porque, 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 inicial 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ê descobrir que alguns arquivos foram removidos há algum tempo e você gostaria de verificá-los para uma futura edição, você pode procurá-los através do histórico de commits usando os comandos padrões do git.

Por exemplo, se o arquivo apagado é o "deleted.wml", você pode procurar no histórico rodando:

   git log --all --full-history -- <caminho/para/arquivo/deleted.wml>

Você vai encontrar o commit exato que removeu o arquivo em questão junto à string do hash do commit. Para exibir as informações detalhadas sobre a alteração feita para o arquivo neste commit, você pode usar o subcomando git show:

  git show <COMMIT_HASH_STRING> -- <caminho/para/arquivo/deleted.wml>

Se o commit é exatamente aquele que apagou o arquivo, pode pode restaurar o arquivo para o espaço de trabalho usando git checkout:

  git checkout <COMMIT_HASH_STRING>^ -- <caminho/para/arquivo/deleted.wml>

Uma vez feito esse procedimento, você terá que atualizar o documento antes de enviá-lo (check in). Senão ele poderá ser removido.

O resto da história

A descrição acima provavelmente será o suficiente para você começar. Posteriormente, você pode ver os seguintes documentos que dão explicações mais detalhadas e informações adicionais.

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

Para dúvidas sobre como traduzir as páginas web para o português, pergunta na lista de discussão debian-l10n-portuguese