[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Stats po-debconf casses



On Mon, Mar 08, 2004 at 05:28:59PM +0100, Christian Perrier wrote:
> On ne fera jamais mieux..:-)
> 
> http://people.debian.org/~barbier/intl/l10n/po-debconf/rank
> 
> fr 6675 (104%)
> 
> Denis, y'a comme un bug..:-)

Premiere piste, y'a certains paquets pour lesquels il y a plus de chaines en
francais qu'en anglais [1]:

Package: cpu
en:  13
fr:  14
Package: libpaper
en:  3
fr:  50
Package: netenv
en:  19
fr:  21
Package: openldap2
en:  18
fr:  45
Package: phpqladmin
en:  3
fr:  6
Package: wflogs
en:  43
fr:  44
Package: wu-ftpd
en:  29
fr:  30
Package: xfonts-thai-ttf
en:  0
fr:  4

Mais ca aide pas, car un decompte "manuel" trouve qu'il y a 6389 chaines en
anglais[2], et 6003 en francais[3]. Donc les erreurs dans la DB ne suffisent
pas a expliquer le 104%...


Il devient vraiment urgent de simplifier le code.
Une premiere idee est de passer la langue en champ des array2. Comme ca, on
pourrait remplacer 
foreach $line (@{$data->podebconf($pkg)}) {
 next if $lang eq '_';
 my ($pofile, $lang, $stat, $link, $translator) = @{$line};

}
par 
foreach $lang ($data->podebconf($pkg)->list_langs()) {
 next if $lang eq '_';
 my ($pofile, $stat, $link, $translator) = $data->podebconf($pkg)->lang($lang);
}

C'est pas flagrant dans cet exemple, mais je pense que ca simplifierait le
code. Et si y'a plusieurs fichiers pour cette langue, je sais pas. On separe
par des virgules entre les '!' ? Ah? Ca simplifie pas?


Je me demandais aussi si on tenait vraiment a avoir les templates sur la
page http://people.debian.org/~barbier/intl/l10n/po-debconf/pot ou si les
templates.pot suffisaient. Les templates ne devraient pas concerner les
traducteurs, et ca permetterait de virer les lignes correspondantes de la
DB. Exemple: 
Package: alsa-driver
PODEBCONF:
 templates.pot!_!0t0f21u!debian/po/alsa-driver_1.0.2c-3_templates.pot
 debian/alsa-base.templates!_!!alsa-driver_1.0.2c-3_debian_alsa-base.templates
 debian/alsa-source.templates!_!!alsa-driver_1.0.2c-3_debian_alsa-source.templates
 debian/po/ca.po!ca!21t0f0u!debian/po/alsa-driver_1.0.2c-3_ca.po![...]
 debian/po/de.po!de!21t0f0u!debian/po/alsa-driver_1.0.2c-3_de.po![...]
 debian/po/fr.po!fr!21t0f0u!debian/po/alsa-driver_1.0.2c-3_fr.po![...]
 [...]

Je parle de virer les lignes deux et trois du bloc PODEBCONF. C'est une
petite simplification, mais si ca sert a rien, faut le virer.


Sinon, Denis, ca serait cool que tu integre mes changements qui permettent
d'utiliser les db donnees par le spider de Nico quand il est dispo, car j'ai
pleins de changements a gen-pages et autre, et ca ne m'aide pas a proposer
des patches pour corriger ce probleme...


Juste pour rigoler, les lignes de commandes utilisees pour les calculs:
[1]
cat unstable|(read; grep-dctrl -e -FPODEBCONF . -sPackage,PODEBCONF)|
perl -e 'while (<>) { if (/\!/) { if (/\!_\!/ || /\!fr\!/) { print } } 
else { print if /Package/ }}'|grep -v '\!_\!\!'|sed -e 's/^.*_\!/en: /'
-e 's/^.*fr\!/fr: /' -e 's/\!.*//' |perl -e 'while (<>) { if
(/^(\D*)(\d+)t(\d+)f(\d+)u/) { print "$1 ".($2 + $3 + $4)."\n"} else
{print}}'|perl -e '$en=0;$fr=0;while (<>) { if (/Package/) {if ($en < $fr)
{print "${pkg}en: $en\nfr: $fr\n"; } $en=0;$fr=0;$pkg=$_;}  elsif (/en:
(.*)/) {$en = $1} elsif (/fr: (.*)/) {$fr = $1}}'

[2]
(echo 0;cat unstable|(read; grep-dctrl -e -FPODEBCONF .  -sPODEBCONF
-n)|grep \!_\!|grep -v \!_\!\!|sed -e s/.*\!_\!// -e s/\!.*// -e s/0t0f// -e
's/u/ \+/';echo p)|dc

[3]
(echo 0;cat unstable|(read; grep-dctrl -e -FPODEBCONF .  -sPODEBCONF
-n)|grep \!fr\!|sed -e s/.*\!fr\!// -e s/\!.*// |perl -e 'while (<>) { if
(/^(\D*)(\d+)t(\d+)f(\d+)u/) { print "$1 ".($2 + $3 + $4)."\n"} else
{print}}'|sed 's/$/ +/';echo p)|dc 


Bye, Mt.
PS: La bonne stat du jour semble etre 93.95%

-- 
Programming in Bourne-Shell is a higher form of masochism, mais j'aime ca.

Attachment: signature.asc
Description: Digital signature


Reply to: