]> git.deb.at Git - deb/packages.git/blobdiff - lib/Packages/Template.pm
Packages::Page: How to translate a single string?
[deb/packages.git] / lib / Packages / Template.pm
index be71d154ffbcaf890d8e0fc8cec583e90a5ade81..6ae96b4b7ccad66d6b4876359c1e106c17dde72a 100644 (file)
@@ -11,6 +11,7 @@ use URI::Escape ();
 use Benchmark ':hireswallclock';
 
 use Packages::CGI;
+use Packages::Config qw( @LANGUAGES );
 use Packages::I18N::Locale;
 use Packages::I18N::Languages;
 use Packages::I18N::LanguageNames;
@@ -35,7 +36,9 @@ 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 { return &Packages::I18N::Locale::tt_gettext(@_) };
+    if ($vars->{cat}) {
+       $vars->{g} = sub { return Packages::I18N::Locale::g($vars->{cat}, @_) };
+    }
     $vars->{extract_host} = sub { my $uri = URI->new($_[0]);
                                  my $host = $uri->host;
                                  $host .= ':'.$uri->port if $uri->port != $uri->default_port;
@@ -53,7 +56,7 @@ sub new {
        VARIABLES => $vars,
        COMPILE_EXT => '.ttc',
        %$options,
-    } ) or fatal_error( sprintf( _g( "Initialization of Template Engine failed: %s" ), $Template::ERROR ) );
+    } ) or die sprintf( "Initialization of Template Engine failed: %s", $Template::ERROR );
     $self->{format} = $format;
     $self->{vars} = $vars;
 
@@ -74,7 +77,7 @@ sub page {
 
     #use Data::Dumper;
     #die Dumper($self, $action, $page_content);
-    $page_content->{used_langs} ||= [ 'en' ];
+    $page_content->{used_langs} ||= \@LANGUAGES;
     $page_content->{langs} = languages( $page_content->{lang}
                                        || $self->{vars}{lang} || 'en',
                                        @{$page_content->{used_langs}} );