вы можете попробовать это:
http://perlboard.svn.sourceforge.net/viewvc/perlboard/battie/lib/HTML/Template/Compiled/Plugin/Translate.pm?view=markup
Я хочу сделать из него модуль CPAN. Надеюсь, скоро =)
Вот пример, комментарии в модуле устарели:
use HTML::Template::Compiled;
use HTML::Template::Compiled::Plugin::Translate;
my $t = <<"EOM";
<%translate id="search %1:s found %2:d videos" count=".items#" args=".search,.items#" %>
EOM
my $map = {
"search %1:s found %2:d videos" => [
q/Suche nach "%1:s" hat %2:020d Video gefunden/,
q/Suche nach "%1:s" hat %2:d Videos gefunden/,
],
};
my $plug = HTML::Template::Compiled::Plugin::Translate->new({
lang => "de",
map => $map,
});
my $htc = HTML::Template::Compiled->new(
scalarref => \$t,
plugin => [$plug],
);
$htc->param(
search => "search term",
items => [qw/ result1 result2 /],
);
print $htc->output;
Синтаксис шаблона не такой короткий, как вы хотели, и я не использую gettext, но, возможно, вам это нравится или вы можете создать свой собственный плагин из этого примера.
С уважением,
тина