Bug 11848: Make Koha::I18N easier to use
Instead of writing
use CGI;
use Koha::I18N;
my $cgi = new CGI;
my $lh = Koha::I18N->get_handle_from_context($cgi, 'intranet');
print $lh->maketext('my translatable text');
you can now write
use Koha::I18N;
print gettext('my translatable text');
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This commit is contained in:
parent
76e39750b7
commit
d24b24adee
34
Koha/I18N.pm
34
Koha/I18N.pm
|
|
@ -18,10 +18,10 @@ package Koha::I18N;
|
|||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
use Modern::Perl;
|
||||
use base qw(Locale::Maketext);
|
||||
use base qw(Locale::Maketext Exporter);
|
||||
|
||||
use C4::Templates;
|
||||
use C4::Context;
|
||||
use CGI;
|
||||
use C4::Languages;
|
||||
|
||||
use Locale::Maketext::Lexicon {
|
||||
'en' => ['Auto'],
|
||||
|
|
@ -31,22 +31,28 @@ use Locale::Maketext::Lexicon {
|
|||
. '/misc/translator/po/*-messages.po'
|
||||
],
|
||||
'_AUTO' => 1,
|
||||
'_style' => 'gettext',
|
||||
};
|
||||
|
||||
sub get_handle_from_context {
|
||||
my ($class, $cgi, $interface) = @_;
|
||||
our @EXPORT = qw( gettext );
|
||||
|
||||
my $lh;
|
||||
my $lang = C4::Templates::getlanguage($cgi, $interface);
|
||||
if ($lang) {
|
||||
$lh = $class->get_handle($lang)
|
||||
or die "No language handle for '$lang'";
|
||||
} else {
|
||||
$lh = $class->get_handle()
|
||||
or die "Can't get a language handle";
|
||||
my %language_handles;
|
||||
|
||||
sub get_language_handle {
|
||||
my $cgi = new CGI;
|
||||
my $language = C4::Languages::getlanguage;
|
||||
|
||||
if (not exists $language_handles{$language}) {
|
||||
$language_handles{$language} = __PACKAGE__->get_handle($language)
|
||||
or die "No language handle for '$language'";
|
||||
}
|
||||
|
||||
return $lh;
|
||||
return $language_handles{$language};
|
||||
}
|
||||
|
||||
sub gettext {
|
||||
my $lh = get_language_handle;
|
||||
$lh->maketext(@_);
|
||||
}
|
||||
|
||||
1;
|
||||
|
|
|
|||
|
|
@ -476,7 +476,7 @@ sub extract_messages {
|
|||
}
|
||||
|
||||
my $xgettext_cmd = "$self->{xgettext} -L Perl --from-code=UTF-8 " .
|
||||
"-kmaketext -o $Bin/$self->{domain}.pot -D $intranetdir";
|
||||
"-o $Bin/$self->{domain}.pot -D $intranetdir";
|
||||
$xgettext_cmd .= " $_" foreach (@files_to_scan);
|
||||
|
||||
if (system($xgettext_cmd) != 0) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue