X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FTemplate%2FPlugin%2FT8.pm;h=aff440181128f471be606fba00f43d39bcff6f54;hb=e4b304dc48811f510271de1a3ea242ce1cb30654;hp=79fab96bbb4324b8b05ea493ded3b903a6e7546c;hpb=c6f47607c5b8d926ca7abb222606e90313b7aaea;p=kivitendo-erp.git diff --git a/SL/Template/Plugin/T8.pm b/SL/Template/Plugin/T8.pm index 79fab96bb..aff440181 100644 --- a/SL/Template/Plugin/T8.pm +++ b/SL/Template/Plugin/T8.pm @@ -1,24 +1,27 @@ package SL::Template::Plugin::T8; -use Template::Plugin::Filter; -use base qw( Template::Plugin::Filter ); +use strict; +use parent qw( Template::Plugin::Filter ); -my $locale = undef; +my $cached_instance; -sub init { - my $self = shift; +sub new { + my $class = shift; + + return $cached_instance ||= $class->SUPER::new(@_); +} - $locale ||= Locale->new($main::myconfig{countrycode}, 'all'); +sub init { + my $self = shift; - # first arg can specify filter name - $self->install_filter($self->{ _ARGS }->[0] || 'T8'); + $self->install_filter($self->{ _ARGS }->[0] || 'T8'); - return $self; + return $self; } sub filter { - my ($self, $text, $args) = @_; - return $locale->text($text, @{ $args || [] }); + my ($self, $text, $args) = @_; + return $::locale->text($text, @{ $args || [] }) || $text; } return 'SL::Template::Plugin::T8';