This is an old revision of the document!
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
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á.
IRC
Contudo, existe também um meio de comunicação mais dinâmico que é o nosso canal de IRC: irc.freenode.net/phpdocbr, se quiser via web, é só acessar https://webchat.freenode.net/?channels=phpdocbr
Organização
Usamos o Trello para organizar o esforço de tradução e saber exatamente o que precisa ser feito. Confira: https://trello.com/b/j6Nuulpn/lista-de-tarefas-traducao-pt-br
Regras
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 e verificar se nada está errado
- 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 tabs, idente com espaços
- Idente apenas com 1 espaço
- Mais uma vez: COMPILE E TESTE ANTES DE COMITAR!
- Utilize um corretor ortográfico antes de comitar
- Na dúvida, use um dicionário. Veja bem: um dicionário, não o Google Translate!
- Jamais mexa em um arquivo marcado como wip por outro tradutor
Para quem está trabalhando no editor online:
- Certifique-se de estar respeitando o whitespace
- Evite fazer patches que abrangem partes diferentes do manual
- Leia, e entenda, o manual do docs. Patches irregulares serão automaticamente rejeitados e reincidências ignoradas.
Situação atual e foco
O build da tradução brasileira atualmente está obsoleto e fora de sincronia com o build EN, tornando-o extremamente volátil. Qualquer alteração em certos documentos que possam ter referências inexistentes no build pt_BR, mas existentes no EN, quebram o build. Portanto, o foco atual do grupo é a sincronização com o build EN, a partir do material já traduzido. Em resumo:
- Não faça novas traduções dos documentos dentro da pasta “reference”, apenas faça a sincronização do material já traduzido
- Foco na sincronia do “language” e do “security”
Revisões
Todo arquivo de tradução possui a seguinte string em seu cabeçalho:
<!-- EN-Revision: 0000 Maintainer: klaussilveira Status: ready -->
EN-Revision: é a revisão EN que foi utilizada como base para a tradução. A tradução brasileira sempre deve estar em sincronia com a versão EN.
Maintainer: é o tradutor responsável pela tradução e sincronia deste arquivo.
Status: é o status atual da tradução. Existem três status:
- ready: significa que a tradução está OK.
- wip: significa que o tradutor ainda está trabalhando na tradução e ninguém deve mexer nele.
- pending: significa que o tradutor está sem tempo e/ou precisa de ajuda para traduzir este arquivo.
- abandoned: significa que o tradutor ficou mais de 3 meses sem trabalhar neste arquivo, estando fora de sync com o EN. Se o tradutor não mexer em uma tradução sincronizada, está tudo OK! Traduções só podem ser marcadas como abandoned pelo coordenador.
Existe também a tag de créditos, que serve para dar créditos à tradutores que trabalharam juntos em um arquivo. Lembrando: o maintainer é o responsável pelo arquivo, não significa que ele traduziu tudo sozinho! A tag de créditos deve sempre estar abaixo da revision.
<!-- CREDITS: fulano, ciclano, beltrano -->
Estilo de Tradução
Durante a tradução, procure sempre:
- Fazer uso da voz ativa em primeira pessoa, jamais chamando o leitor de “Você”
- Evitar fugir do contexto, procurando sempre manter-se no assunto do documento sendo traduzido
- Fazer uso do presente, sempre que possível, mas sabendo usar passado e futuro quando apropriado
- Evitar utilizar pronomes pessoais
Quero contribuir
Antes de você pensar em contribuir, deve refletir se realmente está apto para a tarefa. Ajudar a traduzir um manual técnico não é algo fácil. Além de você precisar dominar a língua inglesa, precisa saber escrever português de maneira clara e correta, tomando decisões pertinentes durante a tradução. Você também precisa saber do que está falando, de nada adianta traduzir uma parte do manual que fala sobre LDAP sendo que você nem sabe o que significa ou nunca usou.
Se você quer começar a contribuir para a tradução do manual do PHP, por favor, dedique todo seu tempo ao endereço http://doc.php.net/tutorial/. Nele você aprenderá sobre como o sistema de build do manual funciona, como modificar as páginas apropriadamente e como contribuir de maneira coerente e eficiente. Uma vez que você entendeu como todo o processo funciona, você pode utilizar o editor online para começar a contribuir. Mas lembre-se:
- Siga as regras e leia o jargão de tradução
- Escolha manuais de extensões ainda não documentadas
- Se você é novato, prefira manuais pequenos
- Sempre respeite o foco atual da tradução
Se você estiver tendo problemas com o uso do editor online, você também pode fazer o checkout do repositório e enviar um patch com as suas modificações. Para fazer o checkout:
svn co https://svn.php.net/repository/phpdoc/modules/doc-pt_BR cd doc-pt_BR
Lembre-se de instalar todas as dependências para que você consiga contribuir.
Dependências
- 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 https://git.php.net/repository/phd.git cd phd sudo pear install package.xml package_generic.xml package_php.xml
Prepare o ambiente e ajude a contribuir com a tradução
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.
Máquina Virtual para utilização
Baixe a máquina virtual de sua preferência nos endereços abaixo.
Máquina Virtual Ubuntu 14.04 32bits (3,8Gb) - Senha translationfest
Máquina Virtual xUbuntu 14.04 64bits (1,6Gb) - Senha reverse
Instalar as dependências Ubuntu like
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 like:
source <(wget -qO- https://gist.github.com/royopa/599259ebeffa6ab7b1cb/raw/)
Pronto, você já pode começar a editar o manual.
Compilando o manual
Para compilar, existem algumas opções:
Documentação no formato xHMTL
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, você deve fazer um patch com essas alterações. Para criá-lo, utilize 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