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