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

Re: [BTS] po-debconf://libnss-ldap/fr.po #235163



On Sun, Feb 29, 2004 at 08:44:25AM +0100, Christian Perrier wrote:
> Quoting Denis Barbier (barbier@linuxfr.org):
> 
> > J'avais compris que cette version était un prototype avant d'essayer
> > de joindre nos efforts avec nos amis néerlandophones, pour au final
> > faire héberger sur Alioth un projet global de suivi de traduction.
> > Maintenant que le proto semble bien marcher, peut-être faudrait-il
> > passer à la phase suivante ? Ou alors je n'avais rien compris ?
> 
> C'est aussi ce que je pense qu'il faudrait faire.
> 
> Proposition de deuxième étape : utiliser le script sur
> debian-l10n-dutch pour voir, en parallèle avec celui de Tim.


J'aimerais proposer une etape, moi aussi. Faire que ces donnees soient
presentees sur www.debian.org/intl/l10n

Il faut faire une passerelle format actuel -> Db.pm utilisee dans ces
scripts, et faire un peu de reformulation des pages de stats.

Ca serait vraiment le pied, car pour l'instant, pour choisir quoi traduire,
il faut croiser a la main les infos sur w.d.o/intl/l10n (que reste-t-il a
traduire) avec celles de people.debian.org/~bertol (qu'est ce que les gens
ont deja reserve parmis ce qui reste a traduire). Et cet exercice demande
une gymnastique mentale et cliquatoire interessante.

Ou alors, une autre methode, plus sure, consiste a attendre que Christian
fasse un TAF sur la liste... mais c'est pas une bonne solution, je trouve.

En attachement, un proto de convertisseur. 

Il ne s'agit pas de mettre toutes les infos dispo actuellements sur les
pages w.d.o/intl/l10n (car ca risque de les surcharger encore plus), et de
se limiter aux dernieres infos en date. Ie, je ne veux pas savoir
l'historique des traductions en cours, juste leur etat actuel. 

Si on decide de se passer completement de l'historique, la fusion des deux
projets peut etre pas trop compliquee. Si non, je ne sais pas trop comment
presenter les choses aux utilisateurs.


Bye, Mt.

-- 
Le sens commun n'est pas si commun.
  -- Voltaire
[Common sense is not so common]
#!/usr/bin/perl -w

use strict;
use utf8;

=head1 NAME

l10n-index

=head1 SYNOPSIS

l10n-index

=head1 DESCRIPTION

This script uses the SQLite database filled by the l10n-bot script to build a DB usable on w.d.o/intl/l10n

=cut

use DBI;

my $dbh = DBI -> connect("dbi:SQLite:dbname=l10n.sql", "", "", {RaiseError => 1, AutoCommit => 1});
use lib "/home/mquinson/src/DEBIAN/webwml/Perl";
use Webwml::L10n::Db;

my $data = Webwml::L10n::Db->new();
# $data->add_array2("aze");

# name, Translator, Status, Date, File, Bug

my $id_all;

my @types;
foreach (@{ $dbh -> selectall_arrayref("SELECT DISTINCT type FROM translation") }) {
	push @types, @$_;
}
@types = sort @types;

foreach my $type (@types) {

        my @names;
	
	foreach (@{ $dbh -> selectall_arrayref("SELECT DISTINCT name FROM translation WHERE type='$type'") }) {
		push @names, @$_;
	}
	@names = sort @names;
    print "SELECT DISTINCT name FROM translation WHERE type='$type' -> ".scalar @names."\n";

    my $add = "$type";
    $add = "po-debconf" if ($type eq "debian-installer");
    next unless $add eq "po-debconf" || $add eq "po";

    $add = "PO" if $add eq "po";
    $add = "PODEBCONF" if $add eq "po-debconf";
    $add = "add_$add";
    print "Handle $add\n";

	foreach my $name (@names) {
	    print "Name = $name\n";
		my $class;

		my $row_all = $dbh -> selectall_arrayref("SELECT status,translator,date,url,bugnb  FROM translation WHERE type='$type' AND name='$name' ORDER BY date DESC");
		foreach my $row (@$row_all) {
			my ($status) = @$row;
			my %status = (
				taf  => 0,
				itt  => 1,
				rfr  => 2,
				itr  => 3,
				lcfc => 4,
				bts  => 5,
				done => 6,
				);
			$class = $status unless $class;
			$class = $status unless $status{$class} > $status{$status};
		}

		foreach my $row (@$row_all) {
			my ($status, $translator, $date, $url, $bugnb) = @$row;

			my $file;
			if ($url) {
				$_ = $url;
				s/.*?(\d\d\d\d)(\d\d)\/msg(\d\d\d\d\d)\.html/[$1-$2-$3]/;
				$status = "<a href=\"$url\">$status</a>";
			}

			if ($bugnb eq "NULL") {
			    $bugnb = "";
			}

		    my $pkgname = $name;
		    my $file = $name;
		    $pkgname =~ s|/.*||;
		    $file =~ s|[^/]*/||;
		    if (!$data->has_package($pkgname)) {
			print STDERR "Add pkg $pkgname\n";
			$data->package($pkgname);
			$data->add_package($pkgname,$pkgname);
		    }
		    print "$add $pkgname $translator $status $bugnb $file\n";
		    $data->$add($pkgname,$translator,$status,$bugnb,$file);
		    last;
		}
	}
}
$data->write("status");

=head1 LICENSE

This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.  See the GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 

=head1 COPYRIGHT (C)

2003 Tim Dijkstra
2004 Tim Dijkstra, Nicolas Bertolissio

=cut

Attachment: signature.asc
Description: Digital signature


Reply to: