doc:translations:pt_br

PHP Manual: Brazilian Portuguese translation

In this page, we provide details about the Brazilian Portuguese translation effort, as well means of communication between translators. This page will be written in Brazilian Portuguese.

Comunicação

Lista oficial

Toda a comunicação entre os tradutores deve ser feita através da lista de email oficial (para se cadastrar, é só mandar um e-mail para doc-pt-br-subscribe@lists.php.net). Decisões importantes e votações serão feitas sempre por lá.

Outros canais

Existe também um meio um canal IRC irc.freenode.net/phpdocbr (com interface web em https://webchat.freenode.net/?channels=phpdocbr), uma sala no Gitter em https://gitter.im/phptranslationfestbrasil/chat e um Trello disponível em https://trello.com/b/j6Nuulpn/lista-de-tarefas-traducao-pt-br.

Os últimos dois são específicos do esforço de tradução do Translation Fest, e o primeiro não costuma ter movimento ou pessoas online. Acaba que a lista de email oficial é o caminho para falar da tradução.

Regras e recomendações importantes

Para manter o ambiente de tradução do manual íntegro e estável, precisamos seguir algumas regras essenciais. Existem regras tanto para quem possui conta SVN como para quem não possui. Para quem está trabalhando no repositório:

  • Jamais faça commit sem antes compilar o manual.
  • Jamais aceite patches sem antes compilar o manual e verificar todas as alterações enviadas.
  • Seja responsável, tudo que for feito no repositório entra em produção algumas horas depois do commit.
  • Não use tabulações, a indentação é com espaços.
  • Idente apenas com 1 espaço.
  • Utilize um corretor ortográfico.
  • Não mexa em um arquivo marcado como wip por outro tradutor, sem antes discutir o assunto na lista.

Situação atual

Muitos arquivos da tradução brasileira estão fora de sincronia com os originais. Alterações em certos documentos podem quebrar o build por conta de referência cruzadas inexistentes, já que arquivos novos e antigos, traduzidos e originais são utilizados na compilação do manual. O foco atual da tradução é a sincronização dos arquivos já traduzidos com os fontes originais.

Tag de revisão

Os arquivos originais do manual possuem uma tag de revisão automática, com o seguinte formato:

<!-- $Revision: nnnnnn $ -->

Os arquivos traduzidos, no entanto, possuem uma tag de revisão diferente:

<!-- EN-Revision: nnnnnn Maintainer: user Status: ready -->

Essa tag permite o rastreamento facilitado da situação da tradução. Em particular:

  • EN-Revision: O número da revisão que constava no arquivo original, no momento da tradução.
  • Maintainer: O nick do usuário responsável pela manutenção da sincronia da tradução.
  • Status: O status atual da tradução. Existem alguns status, conforme abaixo.

Os valores previstos para o Status:

  • ready: Significa que a tradução está pronta.
  • revision: Significa que a tradução está pronta, mas que o tradutor solicita que outra pessoa revise.
  • wip: Work in progress. Um tradutor revisou essa tradução para posterior commit. Entre em contato com ele ou discuta a situação na lista, caso encontre um arquivo em WIP a muito tempo.

Existe também a tag de créditos, que serve para dar créditos à tradutores que trabalharam juntos (ou anteriormente) em um arquivo. O maintainer é o responsável pela manutenção futura arquivo, não significa que ele traduziu tudo sozinho.

A tag de créditos deve estar na mesma linha da tag de revisão para manter o número de linhas entre original e tradução iguais. Exemplo da tag de créditos:

<!-- EN-Revision: nnnnnn Maintainer: user Status: ready --><!-- CREDITS: fulano, ciclano, beltrano -->
Notas

Tradutores sem credencial php.net: No caso de não possuir uma credencial do php.net, preencher o Maintainer: none para indicar que a tradução pode ser conduzida, depois, por outro tradutor. Caso haja interesse em continuar como tradutor do manual do PHP, você poderá assumir essas (e outras) traduções. Acrescente uma tag CREDITS: com seu email ou um nick no formato __id, caso deseje.

revcheck: O script de monitoração da tradução usa REGEXs bem simples para ler as tags, então os espaços, ordem e formato geral das tags precisam ser exatamente como nos exemplos acima. De outra forma o script não rastreará corretamente as traduções.

Quero contribuir

Ajudar a traduzir um manual técnico não é simples. Você precisar ter ótimos conhecimentos em inglês e saber escrever português de maneira clara e correta, tomando decisões pertinentes durante a transcrição. Você também precisa ter alguma noção sobre o que está traduzindo, para que o texto traduzido não fique estranho em relação a expectativas e funcionalidades descritas.

Se você quer começar a contribuir para a tradução do manual do PHP dedique um tempo a estudar o Tutorial. Nele você aprenderá sobre como o sistema de build do manual funciona, como modificar os arquivos apropriadamente e como contribuir.

Em português, há também os roteiros práticos, criados para guiar no processo de tradução:

  • Roteiro SVN, que utiliza o SVN em linha de comando. Essa é a ferramenta oficial de versionamento de fontes, e é o roteiro recomendado para quem já conhece essa ferramenta e também já tem uma credencial do php.net para mandar versões diretamente, ou também para quem ainda não possui credencial, mas deseja se tornar tradutor frequente.
  • Roteiro Git, para quem prefere essa ferramenta ou para quem não tem credencial php.net mas quer utilizar diretamente um sistema de controle de versão.
  • Roteiro GitHub, para quem quiser contribuir sem utilizar a linha de comando ou ferramentas de controle de versão, tudo por interface web.

Depois de ler o Tutorial, é seguir um dos roteiros práticos acima e começar a traduzir!

Arquivos não traduzidos ou desatualizados

Para obter uma lista de arquivos ainda não traduzidos ou desatualizados, execute:

php doc-base/scripts/revcheck.php pt_BR > revcheck.html ; xdg-open revcheck.html

A preferência total é no esforço de atualização de arquivos traduzidos mas desatualizados, já que os mesmos aparecem com texto antigo no site do php.net. Os arquivos em inglês pelo menos estão sempre atualizados.

Como política, sempre pergunte/avise na lista sobre o desejo de mexer em arquivo de algum outro mantenedor. Se auto-credite numa atualização pontual, ou tome para si a manutenção do arquivo caso deseje mantê-lo atualizado ou caso o mantenedor anterior avise que não está mais participando da tradução. Credite o mantenedor anterior caso ele não esteja na tag de créditos.

Apêndices

Dependências do ambiente completo

  • git
  • subversion
  • php5-cli
  • php-pear
  • php5-sqlite
  • phd

Quase tudo você instala via apt-get/yum/brew, exceto o phd. O phd pode ser instalado facilmente assim:

git clone git@github.com:php/phd.git
cd phd
sudo pear install package.xml package_generic.xml package_php.xml

Ambientes prontos

Você pode utilizar uma máquina virtual com as dependências já instaladas. Para isso, siga os próximos passos.

Baixar e instalar o Oracle Virtual Box

Utilize a página abaixo para instalar o Virtual Box na sua máquina.

https://www.virtualbox.org/wiki/Downloads

Máquinas virtuais prontas

Baixe a máquina virtual de sua preferência nos endereços abaixo.

= Máquina Virtual Ubuntu 14.04 32bits (3,8Gb) =

Nessa maquina ainda é preciso instalar o package_php antes de compilar o manual, você pode fazer isso da seguinte forma:

cd ~/translation_fest/phd
sudo pear install package_php.xml

= Máquina Virtual xUbuntu 14.04 64bits (1,6Gb) =

Nessa maquina ainda é preciso instalar o package_php antes de compilar o manual, você pode fazer isso da seguinte forma:

cd ~/translation_fest/phd
sudo pear install package_php.xml

= Máquina Virtual xUbuntu 14.04 32bits (2,0Gb) =

Nessa maquina ainda é preciso instalar o package_php antes de compilar o manual, você pode fazer isso da seguinte forma:

cd ~/translation_fest/phd
sudo pear install package_php.xml

= Máquina Virtual centOS 7 64bits (740Mb) =

Existe um compartilhamento nfs na pasta /root/translationfest para que a máquina host possa ler os arquivos. Basta montar como um compartilhamento de rede. Funciona em Windows/Linux/Mac.

Instalar as dependências no Ubuntu (e similares)

Caso não esteja usando uma máquina virtual, você também pode usar o script abaixo para instalar as dependências numa máquina Ubuntu:

source <(wget -qO- https://gist.github.com/royopa/599259ebeffa6ab7b1cb/raw/)

Pronto, você já pode começar a editar o manual.

Atualize o repositório svn da documentação

Assim que iniciar o trabalho em qualquer dos ambientes escolhidos, atualize o repositório svn da documentação, com o comando:

cd ~/translation_fest/doc-pt_BR
svn up
Compilando o manual

Para compilar, existem algumas opções:

= Documentação no formato xHTML =

Gera arquivos no formato xHTML, sem imagens, porém funcional:

$ cd ~/doc-pt_BR/
$ php doc-base/configure.php --enable-xml-details --with-lang=pt_BR
$ phd --docbook doc-base/.manual.xml --package PHP --format xhtml --output mydocs_xhtml

Agora inicie o servidor web do PHP para acessar a documentação pelo navegador:

$ php -S localhost:8000 -t ./mydocs_xhtml/php-chunked-xhtml

E acesse a documentação gerada através do endereço http://localhost:8000/

Veja esse processo rodando aqui: https://asciinema.org/a/14378

= Documentação no formato PHP =

Gera arquivos no formato php, que dependem de outros arquivos explicados em http://doc.php.net/tutorial/local-setup.php. Com os comandos abaixo essas dependências já são resolvidas.

$ cd ~/doc-pt_BR/
$ php doc-base/configure.php --enable-xml-details --with-lang=pt_BR
$ phd --docbook doc-base/.manual.xml --package PHP --format php --output mydocsphp_pt_BR

Depois de executar os passos acima, utilize os comandos abaixo para baixar as dependências que o formato de documentação em php possui:

$ wget https://github.com/php/web-php/archive/master.zip
$ unzip master.zip
$ rm -rf master.zip
$ rsync -avzC --timeout=600 --delete --delete-after --exclude='distributions/**' --exclude='extra/**' --exclude='backend/notes/**' ./web-php-master/ ./myphpnet/
$ rm -rf web-php-master/

Então mova a pasta da versão da documentação que você criou para dentro da pasta que será usada pelo servidor web:

$ mv mydocsphp_pt_BR/php-web/ myphpnet/manual/pt_BR

Agora inicie o servidor web do PHP para acessar a documentação pelo navegador:

$ php -S localhost:8000 -t ./myphpnet/

E acesse a documentação gerada através do endereço http://localhost:8000/manual/pt_BR/

Veja esse processo rodando aqui: https://asciinema.org/a/14385

Criando um patch com as suas alterações

Depois de terminar suas alterações de tradução e testá-las, você deve fazer um patch com essas alterações.

Para evitar mandar algum patch que mexa na estrutura do original do manual, é sugerido que o patch seja gerado a partir da pasta pt_BR. Depois de navegar para essa pasta, execute o seguinte comando:

svn diff > minha_traducao.patch

Pronto. Basta mandar esse patch para a lista e alguém irá aplicá-lo caso esteja acordo com o foco da tradução e as regras mencionadas no manual.

Não esqueça de mandar uma commit message junto! ex.:

Translating the Windows install FAQ [Fulano de Tal <fulano@tal.com>]

Quanto mais patches seus forem aprovados, mais fácil para você conseguir uma conta VCS aprovada (SVN, nome@php.net) e agilizar o processo, pois você mesmo vai poder mesclar suas alterações.

Aplicando um patch na documentação

Para aplicar um patch na sua tradução, utilize um dos comandos abaixo:

Se tiver usando o SVN >= 1.7 é só chamar:

svn patch $file

Se não tiver o comando svn patch, use o seguinte comando:

patch -p0 < $file
doc/translations/pt_br.txt · Last modified: 2016/01/22 01:25 by ae