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';