X-Git-Url: https://git.deb.at/?p=deb%2Fpackages.git;a=blobdiff_plain;f=lib%2FPackages%2FTemplate.pm;fp=lib%2FPackages%2FTemplate.pm;h=28d8d1ed4c84588b8dd0a2654c10350390c69ade;hp=6ae96b4b7ccad66d6b4876359c1e106c17dde72a;hb=92a6b3d4b5bcd96dfe05ee814722e5e0e47e1d3f;hpb=cf56c281cb5054022e986de58ca288c71f939474 diff --git a/lib/Packages/Template.pm b/lib/Packages/Template.pm index 6ae96b4..28d8d1e 100644 --- a/lib/Packages/Template.pm +++ b/lib/Packages/Template.pm @@ -4,7 +4,6 @@ use strict; use warnings; use Template; -use Locale::gettext; use URI (); use HTML::Entities (); use URI::Escape (); @@ -77,6 +76,10 @@ sub page { #use Data::Dumper; #die Dumper($self, $action, $page_content); + if ($page_content->{cat}) { + $page_content->{g} = + 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', @@ -108,11 +111,13 @@ sub error_page { sub languages { my ( $lang, @used_langs ) = @_; - + my $cat = Packages::I18N::Locale->get_handle($lang) + || Packages::I18N::Locale->get_handle('en'); + my @langs; if (@used_langs) { - + my @printed_langs = (); foreach (@used_langs) { next if $_ eq $lang; # Never print the current language @@ -125,13 +130,14 @@ sub languages { foreach my $cur_lang (sort langcmp @printed_langs) { my %lang; $lang{lang} = $cur_lang; - $lang{tooltip} = dgettext( "langs", get_language_name($cur_lang) ); - $lang{selfname} = get_selfname($cur_lang); - $lang{transliteration} = get_transliteration($cur_lang) if defined get_transliteration($cur_lang); + $lang{tooltip} = $cat->g(get_language_name($cur_lang)); + $lang{selfname} = get_selfname($cur_lang); + $lang{transliteration} = get_transliteration($cur_lang) + if defined get_transliteration($cur_lang); push @langs, \%lang; } } - + return \@langs; }