strict warning: Only variables should be passed by reference in /home/debianpt/public_html/drupal-6.30/modules/book/book.module on line 559.

scripts para tradutores

Com o desaparecimento do pdeb desapareceu uma grande ferramenta que tinhamos à nossa disposição para traduzir.

A sua maior vantagem, a meu ver, era a de preencher automagicamente o cabeçalho deixando apenas a tradução em falta.

Também permitia pesquisar em busca de pacotes por traduzir.

Eu lembro-me de ter dado uns bitaques na sua construção, e sei que é um pesadelo de gerir e manter algo do género (a parte de base de dados).

No entanto também não queria que o pdeb morresse, já que sem algumas das suas funcionalidades é um terror traduzir.

Para facilitar o meu trabalho a traduzir e a pesquisar e obter os ficheiros, decidi criar uns scriptzinhos (que anexo) que têm a funcionalidade básica necessária para não ser um tédio brutal arrancar com uma tradução.

Os scripts são os seguintes:

get.py nome_do_pacote
obtém o ficheiro de templates para nome_do_pacote
se já estiver traduzido, obtém o ficheiro com a tradução (para ser actualizada, supostamente)

exemplo de uso:

$ ./get.py abook
got: abook_0.5.6-3_templates.pot.gz
Size: 0t0f2u

fica então o ficheiro no directório actual. O script também toma a liberdade de preencher grande parte do cabeçalho... este ficou assim:

$ zcat abook_0.5.6-3_templates.pot.gz
# Portuguese translation of abook's debconf messages.
# Copyright (C) 2007
# This file is distributed under the same license as the abook package.
# Ricardo Silva <ardoric@gmail.com>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: abook 0.5.6-3\n"
"Report-Msgid-Bugs-To: abook@packages.debian.org\n"
"POT-Creation-Date: 2007-01-22 23:01+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Ricardo Silva <ardoric@gmail.com>\n"
"Language-Team: Portuguese <traduz@debianpt.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

(sim, sim... falta ali o YEAR)

Depois é suposto traduzir-se (o vim permite trabalhar directamente com o ficheiro comprimido, portanto só é preciso fazer vi ficheiro.pot.gz)

quando se termina, há o script timestamp que tem como objectivo preencher o PO-Revision-Date, da seguinte forma:

$ ./timestamp abook_0.5.6-3_templates.pot.gz

e o ficheiro fica com:

"PO-Revision-Date: 2007-04-09 00:20+0100\n"

(Esta funcionalidade de timestamping está completamente depreciada se se usar o po.vim, que preenche esse campo sempre que se grava o ficheiro)

Depois também há o list.py que basicamente lista todos os pacotes com strings não traduzidas (e estou a falar de todos os que não têm mesmo nenhuma tradução submetida!):

$ ./list.py | head
abook 2
aiccu 14
aolserver4 9
arb 2
...
xvmount 10
z88dk 1
zephyr 7
zope-exuserfolder 3

Isto imprime muitos pacotes... se quiserem uma lista mais pequena, tratem de traduzir que nem uns malucos !!!!

ou então podem filtrar o output com tools da shell, como o grep, awk ...

$ ./list.py | grep ^a
abook 2
aiccu 14
aolserver4 9
arb 2
arno-iptables-firewall 41
atokx2 5
awffull 2
axyl 20

$ ./list.py | awk '$2 > 50 && $2 < 100'
backup-manager 77
console-cyrillic 87
console-setup 73
interchange 60
lessdisks 98
masqmail 62
openswan 51
phpgroupware 53
strongswan 51

Espero que vos seja tão útil como a mim.

Ah, esqueci-me que é capaz de ser preciso alterar a configuração de preenchimento automático no get.py.

Idealmente não será preciso fazer muito mais do que alterar a variável name, logo nas primeiras linhas do ficheiro.

Os scripts não têm integração com o repositório pelo que é possível (e normal) que apareçam alguns pacotes listados que já estão traduzidos. Por isso é conveniente que se tenha uma cópia de trabalho do repositório svn://www.debianpt.org/traduz à mão onde se possa ir verificar se o pacote escolhido já foi submetido para tradução.

Ricardo Silva

pdeb.tgz