Skip to content
pauloelr edited this page Dec 12, 2014 · 56 revisions

Chamamos esta de Wiki pré oficial pois ela é só uma base para a https://wiki.php.net/doc/translations/pt_br.

Como lá nem todos tem permissão de escrita na oficial, abrimos esta aqui para que todos possam melhorá-la.

De tempos em tempos migraremos o conteúdo para lá.

Obs.: se os conteúdos estiverem muito fora de sincronia, nos avise mandando um e-mail para [email protected]?subject=SyncWikis.

Então, mãos à obra!!! :-).


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 [email protected]). 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.

E, para qualquer dúvida sobre a tradução como um todo, entre em contato com o coordenador: klaussilveira.

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

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"

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 em um arquivo. Lembrando: o maintainer é o responsável pela manutenção futura arquivo, não significa que ele traduziu tudo sozinho!

A tag de créditos pode estar abaixo ou a direta da tag de revisão. Para manter o número de linhas entre original e tradução, coloque na mesma linha, e após a tag de revisão. Exemplo:

<!-- CREDITS: fulano, ciclano, beltrano -->

Exemplo na mesma linha:

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

Notas

PHPTranslationFestBrasil2014: No caso de não possuir uma credencial do php.net, preencher o Maintainer: com 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.

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 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

Você 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.

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

###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)

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

####Atualize o repositório svn da documentação

Assim que iniciar a VM, atualize o repositório svn da documentação, com o comando:

cd ~/translation_fest/doc-pt_BR
svn up

###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 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, 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 <[email protected]>]

Quanto mais patches seus forem aprovados, mais fácil para você conseguir uma conta VCS aprovada (SVN, [email protected]) 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

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.