]> git.sesse.net Git - ttk-gettext/blobdiff - Sesse::GettextizeTemplates.pm
Add all the files.
[ttk-gettext] / Sesse::GettextizeTemplates.pm
diff --git a/Sesse::GettextizeTemplates.pm b/Sesse::GettextizeTemplates.pm
new file mode 100644 (file)
index 0000000..44d433a
--- /dev/null
@@ -0,0 +1,28 @@
+
+package Sesse::GettextizeTemplates;
+use strict;
+use warnings;
+use Locale::gettext;
+use Template::Directive;
+
+our @ISA = qw(Template::Directive);
+
+# blah!
+sub mygettext {
+       my $text = shift;
+
+       return "" if ($text eq "");
+       return Locale::gettext::gettext($text);
+}
+
+sub textblock {
+       my ($self, $text) = @_;
+
+       $text =~ s/(<(h[1-6]|p|td|th|title|input|span|li|option|_)[^>]*>)(.*?)(<\/\2>)/$1.mygettext($3).$4/seg;
+       $text =~ s/<\/?_>//g;
+
+       return $self->SUPER::textblock($text);
+}
+
+
+