]> git.deb.at Git - deb/packages.git/blobdiff - lib/Packages/Template.pm
Packages::I18N::*: Add some missing definitions for Khmer
[deb/packages.git] / lib / Packages / Template.pm
index a3268a35f046d5141003e1d6da5b6fffd7540010..1a6aa0cfb558478c647207cf009506d516e76c90 100644 (file)
@@ -35,6 +35,7 @@ sub new {
     };
     $vars->{make_search_url} = sub { return &Packages::CGI::make_search_url(@_) };
     $vars->{make_url} = sub { return &Packages::CGI::make_url(@_) };
+    $vars->{g} = sub { my ($f, @a) = @_; return sprintf($f, @a); };
     if ($vars->{cat}) {
        $vars->{g} = sub { return Packages::I18N::Locale::g($vars->{cat}, @_) };
     }
@@ -85,8 +86,10 @@ sub page {
            sub { return Packages::I18N::Locale::g($page_content->{cat}, @_) };
     }
     $page_content->{used_langs} ||= \@LANGUAGES;
-    $page_content->{langs} = languages( $page_content->{lang}
-                                       || $self->{vars}{lang} || 'en',
+    $page_content->{langs} = languages( $page_content->{po_lang}
+                                       || $self->{vars}{po_lang} || 'en',
+                                       $page_content->{ddtp_lang}
+                                       || $self->{vars}{ddtp_lang} || 'en',
                                        @{$page_content->{used_langs}} );
 
     my $txt;
@@ -114,18 +117,19 @@ sub error_page {
 }
 
 sub languages {
-    my ( $lang, @used_langs ) = @_;
-    my $cat = Packages::I18N::Locale->get_handle($lang)
-       || Packages::I18N::Locale->get_handle('en');
+    my ( $po_lang, $ddtp_lang, @used_langs ) = @_;
+    my $cat = Packages::I18N::Locale->get_handle($po_lang, 'en');
 
     my @langs;
+    my $skip_lang = ($po_lang eq $ddtp_lang) ? $po_lang : '';
 
     if (@used_langs) {
 
        my @printed_langs = ();
        foreach (@used_langs) {
-           next if $_ eq $lang; # Never print the current language
-           unless (get_selfname($_)) { warn "missing language $_"; next } #DEBUG
+           next if $_ eq $skip_lang; # Don't print the current language
+           unless (get_selfname($_)) { warn "missing language selfname $_"; next } #DEBUG
+           unless (get_language_name($_)) { warn "missing language name $_"; next } #DEBUG
            push @printed_langs, $_;
        }
        return [] unless scalar @printed_langs;