X-Git-Url: https://git.deb.at/?p=deb%2Fpackages.git;a=blobdiff_plain;f=lib%2FPackages%2FDoShow.pm;h=01590653cf64edcddb1d8e7f9446e26e22fa05e1;hp=38b34fbe2abc736c37447a26e8c9db016ed47c4e;hb=1a21b74ad9ccf9572750caaed6d5e22cd395fa47;hpb=2b31e222e12852e8f3ac6a9aa14ae684c1144b8e diff --git a/lib/Packages/DoShow.pm b/lib/Packages/DoShow.pm index 38b34fb..0159065 100644 --- a/lib/Packages/DoShow.pm +++ b/lib/Packages/DoShow.pm @@ -14,7 +14,6 @@ use Deb::Versions; use Packages::Config qw( $DBDIR @SUITES @ARCHIVES @SECTIONS @ARCHITECTURES %FTP_SITES @LANGUAGES @DDTP_LANGUAGES); -use Packages::I18N::Locale; use Packages::CGI qw( :DEFAULT make_url make_search_url ); use Packages::DB; use Packages::Search qw( :all ); @@ -26,15 +25,17 @@ our @EXPORT = qw( do_show ); sub do_show { my ($params, $opts, $page_contents) = @_; + my $cat = $opts->{cat}; if ($params->{errors}{package}) { - fatal_error( _g( "package not valid or not specified" ) ); + fatal_error( $cat->g( "package not valid or not specified" ) ); } 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 (%s)" ), "@{$opts->{suite}}" ) ); + fatal_error( $cat->g( "more than one suite specified for show (%s)", + "@{$opts->{suite}}" ) ); } my %contents; @@ -69,7 +70,7 @@ sub do_show { } unless (@results || @non_results ) { - fatal_error( _g( "No such package.") ); + fatal_error( $cat->g( "No such package.") ); #sprintf( _g( 'Search for the package' ), make_search_url('','keywords='.uri_escape($pkg)) ) ); } else { my %all_suites; @@ -81,7 +82,7 @@ sub do_show { $contents{suites} = [ suites_sort(keys %all_suites) ]; unless (@results) { - fatal_error( _g( "Package not available in this suite." ) ); + fatal_error( $cat->g( "Package not available in this suite." ) ); } else { $contents{page} = $page; unless ($opts->{source}) { @@ -89,7 +90,7 @@ sub do_show { for my $entry (@results) { debug( join(":", @$entry), 1 ) if DEBUG; my (undef, $archive, undef, $arch, $section, $subsection, - $priority, $version, $provided_by) = @$entry; + $priority, $version, undef, $provided_by) = @$entry; if ($arch ne 'virtual') { my %data = split /\000/, $packages_all{"$pkg $arch $version"}; @@ -194,7 +195,7 @@ sub do_show { my $v_str = $version; my $multiple_versions = grep { $_ ne $version } values %$versions; - $v_str .= _g(" and others") if $multiple_versions; + $v_str .= $cat->g(" and others") if $multiple_versions; $contents{versions} = { short => $v_str, multiple => $multiple_versions }; @@ -248,7 +249,7 @@ sub do_show { search => 1 ); } else { # unless $page->is_virtual $contents{is_virtual} = 1; - $contents{desc}{short} = _g( "virtual package" ); + $contents{desc}{short} = $cat->g( "virtual package" ); $contents{subsection} = 'virtual'; my $provided_by = $page->{provided_by}; @@ -406,6 +407,7 @@ sub build_deps { 'suggests' => 'sug', 'build-depends' => 'adep', 'build-depends-indep' => 'idep' ); my $suite = $opts->{suite}[0]; + my $cat = $opts->{cat}; my %out = ( id => $dep_type{$type}, terms => [] ); @@ -424,7 +426,7 @@ sub build_deps { if ($arch_str ||= '') { if ($arch_neg) { - $arch_str = sprintf( _g("not %s"), "$arch_str" ); + $arch_str = $cat->g("not %s", "$arch_str" ); } else { $arch_str = $arch_str; } @@ -440,11 +442,23 @@ sub build_deps { my $entry = $entries{$p_name} || read_entry_simple( $packages, $p_name, $opts->{h_archives}, $suite); my $short_desc = $entry->[-1]; + my $desc_md5 = $entry->[-2] || ''; my $arch = $entry->[3]; my $archive = $entry->[1]; my $p_suite = $entry->[2]; if ( $short_desc ) { $rel_alt_out{desc} = $short_desc; + my $trans_desc = $desctrans{$desc_md5}; + if ($trans_desc) { + my %trans_desc = split /\000|\001/, $trans_desc; + my %sdescs; + while (my ($l, $d) = each %trans_desc) { + $d =~ s/\n.*//os; + + $sdescs{$l} = $d; + } + $rel_alt_out{trans_desc} = \%sdescs; + } $rel_alt_out{suite} = $p_suite; if ( $rel_out{is_old_pkgs} ) { } elsif (defined $entry->[1]) { @@ -462,7 +476,7 @@ sub build_deps { } } elsif ( $rel_out{is_old_pkgs} ) { } else { - $rel_alt_out{desc} = _g( "Package not available" ); + $rel_alt_out{desc} = $cat->g( "Package not available" ); $rel_alt_out{suite} = ''; } push @{$rel_out{alternatives}}, \%rel_alt_out; @@ -483,12 +497,25 @@ sub pkg_list { # we don't deal with virtual packages here because for the # current uses of this function this isn't needed - my $short_desc = (read_entry_simple( $packages, $p, $opts->{h_archives}, $suite))->[-1]; + my $data = read_entry_simple( $packages, $p, $opts->{h_archives}, $suite); + my ($desc_md5, $short_desc) = ($data->[-2],$data->[-1]); if ( $short_desc ) { - push @$list, { name => $p, desc => $short_desc, available => 1 }; + my $trans_desc = $desctrans{$desc_md5}; + my %sdescs; + if ($trans_desc) { + my %trans_desc = split /\000|\001/, $trans_desc; + while (my ($l, $d) = each %trans_desc) { + $d =~ s/\n.*//os; + + $sdescs{$l} = $d; + } + } + push @$list, { name => $p, desc => $short_desc, + trans_desc => \%sdescs, available => 1 }; } else { - push @$list, { name => $p, desc => _g("Not available") }; + push @$list, { name => $p, + desc => $opts->{cat}->g("Not available") }; } } }