]> git.deb.at Git - deb/packages.git/commitdiff
dispatcher.pl: Use all available languages for content negotiation
authorFrank Lichtenheld <frank@lichtenheld.de>
Sun, 17 Jun 2007 16:51:13 +0000 (18:51 +0200)
committerFrank Lichtenheld <frank@lichtenheld.de>
Sun, 17 Jun 2007 16:51:13 +0000 (18:51 +0200)
Make a union of the po languages and the DDTP languages before
deciding about the language to serve.

cgi-bin/dispatcher.pl

index 4b413d71d99fb4bd85ce45e67728aa230f4acb8d..72117d6b18e40c5a4c4c52d6ceb1230c9264c8e1 100755 (executable)
@@ -25,7 +25,7 @@ use Locale::gettext;
 use Deb::Versions;
 use Packages::Config qw( $DBDIR $ROOT $TEMPLATEDIR $CACHEDIR
                         @SUITES @SECTIONS @ARCHIVES @ARCHITECTURES @PRIORITIES
-                        @LANGUAGES $LOCALES );
+                        @LANGUAGES @DDTP_LANGUAGES $LOCALES );
 use Packages::CGI qw( :DEFAULT error get_all_messages );
 use Packages::DB;
 use Packages::Search qw( :all );
@@ -75,9 +75,11 @@ my $homedir = dirname($ENV{SCRIPT_FILENAME}).'/../';
 &Packages::DB::init();
 
 my $acc = I18N::AcceptLanguage->new();
+my %all_langs = map { $_ => 1 } (@LANGUAGES, @DDTP_LANGUAGES);
+my @all_langs = sort keys %all_langs;
 my $http_lang = $acc->accepts( $input->http("Accept-Language"),
-                              \@LANGUAGES ) || 'en';
-debug( "LANGUAGES=@LANGUAGES header=".
+                              \@all_langs ) || 'en';
+debug( "LANGUAGES=@all_langs header=".
        ($input->http("Accept-Language")||'').
        " http_lang=$http_lang", 2 ) if DEBUG;
 bindtextdomain ( 'pdo', $LOCALES );