]> git.deb.at Git - deb/packages.git/blobdiff - lib/Packages/I18N/Locale.pm.sed.in
Packages::I18N::Locale: Load .po files on module load
[deb/packages.git] / lib / Packages / I18N / Locale.pm.sed.in
diff --git a/lib/Packages/I18N/Locale.pm.sed.in b/lib/Packages/I18N/Locale.pm.sed.in
new file mode 100644 (file)
index 0000000..11c75a3
--- /dev/null
@@ -0,0 +1,35 @@
+package Packages::I18N::Locale;
+
+use strict;
+use warnings;
+
+use base 'Locale::Maketext';
+use Locale::Maketext::Lexicon {
+    'en' => [Gettext => "%TOPDIR%/po/pdo.pot",
+            Gettext => "%TOPDIR%/po/templates.pot",
+            Gettext => "%TOPDIR%/po/langs.pot",
+            Gettext => "%TOPDIR%/po/sections.pot",
+            Gettext => "%TOPDIR%/po/debtags.pot"],
+    '*' => [Gettext => "%TOPDIR%/po/pdo.*.po",
+           Gettext => "%TOPDIR%/po/templates.*.po",
+           Gettext => "%TOPDIR%/po/langs.*.po",
+           Gettext => "%TOPDIR%/po/sections.*.po",
+           Gettext => "%TOPDIR%/po/debtags.*.po"],
+    _auto   => 1,
+    _style  => 'gettext',
+};
+
+use base 'Exporter';
+
+our @EXPORT = qw( N_ );
+
+sub N_ { return $_[0]; }
+
+sub g {
+    my ($self, $format, @args) = @_;
+    my $result = $self->maketext($format, @args);
+    return sprintf($result, @args) if $result =~ /%([su]|[.\d]*f)/;
+    return $result;
+}
+
+1;