X-Git-Url: https://git.deb.at/?a=blobdiff_plain;f=lib%2FPackages%2FDoIndex.pm;h=6d8d4b6dc112ee36c18188956a35f1f34a83cad8;hb=cf56c281cb5054022e986de58ca288c71f939474;hp=0c5d89dfa57ef48a618b0e423facb5e115843236;hpb=c3b6d74d1bcb22d6eb92e2b0bb8a897c0fb03d0f;p=deb%2Fpackages.git diff --git a/lib/Packages/DoIndex.pm b/lib/Packages/DoIndex.pm index 0c5d89d..6d8d4b6 100644 --- a/lib/Packages/DoIndex.pm +++ b/lib/Packages/DoIndex.pm @@ -26,15 +26,18 @@ my %encoding = ( ); sub send_file { my ($file, $params, $opts) = @_; + my $cat = $opts->{cat}; if ($params->{errors}{suite}) { - fatal_error( _g( "suite not valid or not specified" ) ); + fatal_error( $cat->g( "suite not valid or not specified" ) ); } if (@{$opts->{suite}} > 1) { - fatal_error( sprintf( _g( "more than one suite specified for show_static (%s)" ), "@{$opts->{suite}}" ) ); + fatal_error( $cat->g( "more than one suite specified for show_static (%s)", + "@{$opts->{suite}}" ) ); } if (@{$opts->{subsection}} > 1) { - fatal_error( sprintf( _g( "more than one suite specified for show_static (%s)" ), "@{$opts->{suite}}" ) ); + fatal_error( $cat->g( "more than one subsection specified for show_static (%s)", + "@{$opts->{suite}}" ) ); } my $wwwdir = "$TOPDIR/www"; @@ -44,8 +47,11 @@ sub send_file { $path .= "$opts->{archive}[0]/" if @{$opts->{archive}} == 1; $path .= "$opts->{subsection}[0]/" if @{$opts->{subsection}}; $path .= "$opts->{priority}[0]/" if @{$opts->{priority}}; - # we don't have translated index pages for subsections yet - $opts->{lang} = 'en' if @{$opts->{subsection}} or $file eq 'allpackages'; + + #FIXME: ugly hack + if ($opts->{lang} ne 'en' and !-f "$wwwdir/$path$file.$opts->{lang}.$opts->{format}") { + $opts->{lang} = 'en'; + } $path .= "$file.$opts->{lang}.$opts->{format}"; unless (@Packages::CGI::fatal_errors) { @@ -67,7 +73,7 @@ sub send_file { close INDEX; exit; } else { - fatal_error( sprintf( _g( "couldn't read index file %s: %s" ), + fatal_error( $cat->g( "couldn't read index file %s: %s", $path, $! ) ); } }