X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FLocale%2FString.pm;h=e05ae6abedc3841e14a2bc3aafa059e9a8d738d1;hb=e497d49f814a76f1423a33fb9deac5c54cf0f602;hp=42ceb22a649f100516e234e39236638040d7c32e;hpb=4fa7102b36468079313df9e579f7537d49aab859;p=kivitendo-erp.git diff --git a/SL/Locale/String.pm b/SL/Locale/String.pm index 42ceb22a6..e05ae6abe 100644 --- a/SL/Locale/String.pm +++ b/SL/Locale/String.pm @@ -6,6 +6,7 @@ use parent qw(Rose::Object Exporter); use Rose::Object::MakeMethods::Generic ( scalar => [ qw(untranslated) ], + array => [ qw(args) ], ); our @EXPORT = qw(t8); @@ -14,12 +15,18 @@ use overload '""' => \&translated; sub translated { my ($self) = @_; - return $::locale ? $::locale->text($self->untranslated) : $self->untranslated; + return $::locale ? $::locale->text($self->untranslated, $self->args) : $self->untranslated; } sub t8 { - my $string = $_[ ref($_[0]) || ($_[0] eq 'SL::Locale::String') ? 1 : 0 ]; - return SL::Locale::String->new(untranslated => $string); + shift if $_[0] eq __PACKAGE__; + + my $string = shift; + return SL::Locale::String->new(untranslated => $string, args => [ @_ ]); +} + +sub TO_JSON { + return $_[0]->translated; } 1;