php/doc-pt_br

Update file language-snippets.ent

Closed this issue · 18 comments

Files to update

alfsb commented

Admiro o esforço, e ainda mais, o progresso.

Não sei se viu, mas o arquivo teve modificação no original. Sugiro deixar o hash inalterado até o último momento, para poder pegar as alterações recentes.

@alfsb Valeu! Nem tinha visto, vou seguir sua recomendação e revisar/atualizar só depois que chegar no final.

Por enquanto foquei só nesse arquivo ao invés de revisar o #150 porque tenho a impressão que vou deixar de mão se parar e tentar voltar depois, sem ter chegado ao final. Mas assim que terminar ele, já parto pra revisão.

alfsb commented

Sim, esse efeito de enormidade que tem no language-snippets.ent existe mesmo. Até por isso a idea de automaticamente fatiar o original e reunir os pedaços traduzidos, nem tanto como solução do problema, mas fazer com que os progressos parciais se tornem independentes, tirando um tanto esse efeito tudo ou nada.

alfsb commented

Manual quebrado dado que tem uma entity que aponta para um ID inexistente. O en/ compila porque o entity não é utilizado, e daí o linkend com o ID inválido simplesmente não aparece no en/.

O que leva a questão, daí, de tentar pesquisar quais outros entities não aparecem no en/, para reportar.

Especificamente o pt_BR, para desquebrar o manual teria de atualizar no mínimo os seguintes arquivos:

./pt_BR/language/operators.xml:     O operador de execução fica desabilitado quando &safemode; está ativo
./pt_BR/reference/filesystem/functions/move-uploaded-file.xml:    <function>move_uploaded_file</function> é afetado tanto por &safemode;
./pt_BR/reference/filesystem/functions/fopen.xml:       Se você tiver ativado &safemode;
./pt_BR/reference/filesystem/functions/chmod.xml:    Quando &safemode; esta ativado, o PHP confere se os arquivos e diretórios os 
./pt_BR/reference/filesystem/functions/is-dir.xml:       hard link então o link será resolvido e validado. Se o &safemode; 
./pt_BR/reference/info/functions/dl.xml:   <link linkend="ini.enable-dl">enable_dl</link> ou por habilitar o &safemode;
./pt_BR/reference/info/functions/set-time-limit.xml:      em &safemode;. Não existe como contornar sem desabilitar o safe mode ou mudar
./pt_BR/reference/info/ini.xml:      &safemode;. Com o &safemode; ativo é
./pt_BR/reference/info/ini.xml:      &safemode;. A única alternativa é desligar o safe mode

Eu vou fazer uma rápida substituição neles para tentar desquebrar, apenas inativando a entity. Posteriormente tento pegar para atualizar eles nos updates normais.

alfsb commented

Manual quebrado dado que tem uma entity que aponta para um ID inexistente. O en/ compila porque o entity não é utilizado, e daí o linkend com o ID inválido simplesmente não aparece no en/.

O que leva a questão, daí, de tentar pesquisar quais outros entities não aparecem no en/, para reportar.

Especificamente o pt_BR, para desquebrar o manual teria de atualizar no mínimo os seguintes arquivos:

./pt_BR/language/operators.xml:     O operador de execução fica desabilitado quando &safemode; está ativo
./pt_BR/reference/filesystem/functions/move-uploaded-file.xml:    <function>move_uploaded_file</function> é afetado tanto por &safemode;
./pt_BR/reference/filesystem/functions/fopen.xml:       Se você tiver ativado &safemode;
./pt_BR/reference/filesystem/functions/chmod.xml:    Quando &safemode; esta ativado, o PHP confere se os arquivos e diretórios os 
./pt_BR/reference/filesystem/functions/is-dir.xml:       hard link então o link será resolvido e validado. Se o &safemode; 
./pt_BR/reference/info/functions/dl.xml:   <link linkend="ini.enable-dl">enable_dl</link> ou por habilitar o &safemode;
./pt_BR/reference/info/functions/set-time-limit.xml:      em &safemode;. Não existe como contornar sem desabilitar o safe mode ou mudar
./pt_BR/reference/info/ini.xml:      &safemode;. Com o &safemode; ativo é
./pt_BR/reference/info/ini.xml:      &safemode;. A única alternativa é desligar o safe mode

Eu vou fazer uma rápida substituição neles para tentar desquebrar, apenas inativando a entity, deixando a atualização dos arquivos em si para o processo normal.

@alfsb Valeu. Eu corrigi isso na cópia local. Acabei aproveitando para remover as referências ao safe mode. Estou tentando fazer o push, mas o GitHub está com problemas. Assim que voltar, corrijo isso.

alfsb commented

Opa, blz. Assim que subir eu vou dar uma olhada, ver de ficaram outras referências de safe mode perdidas no manual.

@alfsb Build corrigida.

alfsb commented

Trabalho impressionante. Os commits individuais são para ter pontos intermediários onde o manual compila? Outras razões?

@alfsb Valeu. Os commits individuais são para controle, para não me perder nas alterações. Mas depois de um tempo peguei o ritmo e consegui agrupar algumas alterações num único commit. Se estiver atrapalhando alguma coisa, posso juntar vários commits antes de fazer o merge para o master (provavelmente vou fazer isso nos próximos).

alfsb commented

Não atrapalha. Pela curiosidade mesmo. Entender as formas de lidar com arquivo grande e trabalhoso.

alfsb commented

Olá. Pretende fazer novas atualizações no arquivo? Que após o longo trabalho de tradução, imagino que esteja cansado, mas pegar agora pra ver como evitar dessincronização no futuro serial o ideal.

A primeira coisa que eu queria fazer é sincronizar as ENTITY nas linhas, para facilitar sincronias futuras.

E ao tentar fazer isso, umas das primeiras entities que eu vi faltando na tradução foi a note.funcnoparam. E ao mesmo tempo, vi que ela não aparece nem no original, nem na tradução. O que por sua vez daí precisaria discutir em como fazer para anotar esses casos, de uma entity intencionalmente não traduzida.

Tinha muitos casos assim?

@alfsb Olá, eu atualizei o arquivo até a última revisão, incluindo as três alterações que fizeram no original depois que comecei a atualização.

Uma das mudanças que fiz foi excluir as entidades que não estavam sendo referenciadas no manual. No início, não tinha me preocupado com isso, mas depois percebi que estava perdendo um tempo atualizando entidades que não eram usadas em lugar algum. (Também exclui na versão original localmente e anotei junto com várias outras alterações menores para fazer algumas PRs pro doc-en).

Tirando a exclusão das entidades não referenciadas (que foram muitas), tentei manter a mesma quantidade de linhas nas entidades traduzidas, e quando possível, a mesma ordem e posição das palavras e tags equivalentes.

alfsb commented

Mande sim PRs ao repositório original as entities que observou não eram mais utilizadas na tradução e originais. E é algo que vai ajudar com a sincronia eventualmente.

Mas é provável que nem todas sejam aceitas imediatamente, dado que outras traduções podem estar utilizando. Uma forma de conciliar isso seria mover as entities não utilizadas para a seção <!-- Not used in EN anymore --> e, possivelmente, mover essa seção para o final do arquivo, liberando assim futuros tradutores, inclusive em outras linguagens, de fazer traduções em entities que não são mais utilizadas.

Um último passo, bem trabalhoso, seria listar as linguagens que estão sendo compiladas, caçar em todas se a entity não é usado em nenhuma, para daí mover essas entities para um <!-- Not used in any building manual -->, mais no final do arquivo ainda, já propondo remover na sequência.

De sincronia atual, eu vou esperar alguma movimentação do language-snippets.ent original, mas eu eventualmente tamparia os buracos da sincronização com um comentário XML, fixo, avisando que a entity desse buraco não existe na tradução brasileira.

@alfsb Para a exclusão das entidades considerei os casos em que elas não estavam mais sendo referenciadas na versão em inglês. Então, removi as referências dos arquivos em português, mas não realizei outras correções nestes arquivos. Nos casos de inclusão de entidades, inclui a versão traduzida no language-snippets.ent mas não inclui as referências nos outros arquivos.

alfsb commented

Sim, tranquilo. É o que eu faria também.

Eis que essa questão de entity não utilizado no original e existente nas traduções é algo que ocorre em todas as traduções, e por isso que entities não são tão facilmente removidas do language-snippets.ent em inglês. Por isso que anotar/mover essas entities é algo que será apreciado no en/ (embora não muito nas traduções).

alfsb commented

@adielcristo , faltam poucos arquivos desatualizados no language/, inclusive esse, que começou a divergir novamente após o seu grande esforço. Me avisa depois se vai conseguir pegar ele para sincronizar nos próximos dias, que senão eu aproveito para fazer ele também.

Eu vou pegar o type-juggling.xml que é o meu último grande desatualizado do language/, e depois virar a chave para o que comentei no issue #270 .

@alfsb Valeu, vou atualizar ele.