]> git.deb.at Git - deb/packages.git/blobdiff - bin/parse-debtags-voc
fix off-by-one after switching on the brain again
[deb/packages.git] / bin / parse-debtags-voc
index 7e1453c4200b1c348b258fdaef2d007719b29fae..7515de118b8357f28a99e9ca4e808351f614c6be 100755 (executable)
@@ -28,11 +28,10 @@ use File::Path;
 use Data::Dumper;
 use HTML::Entities;
 use URI::Escape;
-use Locale::gettext;
 
 use Deb::Versions;
 use Packages::Template;
-use Packages::Config qw( $TOPDIR @LANGUAGES $LOCALES);
+use Packages::Config qw( $TOPDIR @LANGUAGES );
 use Packages::I18N::Locale;
 &Packages::Config::init( './' );
 my $debtagsdir = "$TOPDIR/files/debtags";
@@ -42,13 +41,6 @@ my (%voc, %voc_db);
 
 $/ = "";
 
-delete $ENV{'LANGUAGE'};
-delete $ENV{'LANG'};
-delete $ENV{'LC_ALL'};
-delete $ENV{'LC_MESSAGES'};
-bindtextdomain ( 'debtags', $LOCALES );
-textdomain( 'debtags' );
-
 sub process_desc {
     my ($desc) = @_;
 
@@ -97,13 +89,12 @@ while (<VOC>) {
     $voc_db{$voc_key} = $sdesc || "";
 
     foreach my $lang (@LANGUAGES) {
-       my $locale = get_locale( $lang );
-       setlocale ( LC_ALL, $locale ) or do {
-           warn "couldn't set locale ($lang/$locale)\n";
-           next;
-       };
+       next if $lang eq 'en';
+
+       my $cat = Packages::I18N::Locale->get_handle($lang)
+           or die "get_handle failed for $lang";
 
-       my $sdesc_trans = dgettext( 'debtags', $sdesc );
+       my $sdesc_trans = $cat->maketext($sdesc);
        $voc_db{"$voc_key-$lang"} = $sdesc_trans
            if $sdesc_trans and $sdesc_trans ne $sdesc;
     }
@@ -126,7 +117,7 @@ my @facets = sort( grep { exists $voc{$_}{facet} } keys %voc );
 my @tags = sort( grep { exists $voc{$_}{tag} } keys %voc );
 my %tags_by_facet;
 foreach (@tags) {
-    my ($facet, $tag) = split /::/, $_, 2;
+    my ($facet, $tag) = split m/::/, $_, 2;
     warn "No facet data available for $facet\n"
        unless exists $voc{$facet};
     $tags_by_facet{$facet} ||= [];
@@ -134,7 +125,8 @@ foreach (@tags) {
 }
 my %content = ( vocabulary => \%voc,
                facets => \@facets, tags => \@tags,
-               tags_by_facet => \%tags_by_facet );
+               tags_by_facet => \%tags_by_facet,
+               used_langs => [ 'en' ]);
 print TAGLST $template->page( 'tag_index', \%content );
 close TAGLST or warn "Couldn't close tag list: $!";