package Data::Localize::Format::Maketext;
use Any::Moose;
extends 'Data::Localize::Format';
no Any::Moose;
sub format {
my ($self, $lang, $value, @args) = @_;
$value =~ s|\[([^\]]+)\]|
my @vars = split(/,/, $1);
my $method;
if ($vars[0] !~ /^_(-?\d+)$/) {
$method = shift @vars;
}
($method) ?
$self->$method( $lang, map { (/^_(-?\d+)$/) ? $args[$1 - 1] : $_; } @args ) :
@args[ map { (/^_(-?\d+)$/ ? $1 : $_) - 1 } @vars ];
|gex;
return $value;
}
__PACKAGE__->meta->make_immutable();
1;
__END__
=head1 NAME
Data::Localize::Format::Maketext - Maketext Formatter
=head1 METHODS
=head2 format
=cut