Bugzilla – Attachment 19101 Details for
Bug 8044
Localization for Perl scripts and modules
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
[SIGNED-OFF] Bug 8044 follow-up: Fix warning and error messages in translate.pl
Bug-8044-follow-up-Fix-warning-and-error-messages-.patch (text/plain), 4.36 KB, created by
Julian Maurice
on 2013-06-18 09:04:57 UTC
(
hide
)
Description:
[SIGNED-OFF] Bug 8044 follow-up: Fix warning and error messages in translate.pl
Filename:
MIME Type:
Creator:
Julian Maurice
Created:
2013-06-18 09:04:57 UTC
Size:
4.36 KB
patch
obsolete
>From 32454f4496d4b9cd9d2bdbbedb8373c4c5f0b77e Mon Sep 17 00:00:00 2001 >From: Julian Maurice <julian.maurice@biblibre.com> >Date: Mon, 20 Aug 2012 10:55:50 +0200 >Subject: [PATCH] Bug 8044 follow-up: Fix warning and error messages in > translate.pl > >CHARSET is now automatically replaced by UTF-8, and 'update' create the >PO file if it does not exist. >Also do not try to create PO files if POT file creation failed (when >there is no messages to translate for example). > >+ add some verbosity >+ add Locale::Maketext and Locale::Maketext::Lexicon to Koha >dependencies > >Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> >Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> >--- > C4/Installer/PerlDependencies.pm | 10 ++++++++++ > misc/translator/LangInstaller.pm | 41 ++++++++++++++++++++++++++++---------- > 2 files changed, 41 insertions(+), 10 deletions(-) > >diff --git a/C4/Installer/PerlDependencies.pm b/C4/Installer/PerlDependencies.pm >index ca220aa..2deae63 100644 >--- a/C4/Installer/PerlDependencies.pm >+++ b/C4/Installer/PerlDependencies.pm >@@ -689,6 +689,16 @@ our $PERL_DEPS = { > 'required' => '1', > 'min_ver' => '0.22', > }, >+ 'Locale::Maketext' => { >+ 'usage' => 'Core', >+ 'required' => '1', >+ 'min_ver' => '1.19', >+ }, >+ 'Locale::Maketext::Lexicon' => { >+ 'usage' => 'Core', >+ 'required' => '1', >+ 'min_ver' => '0.91', >+ }, > }; > > 1; >diff --git a/misc/translator/LangInstaller.pm b/misc/translator/LangInstaller.pm >index e1d537f..022561e 100644 >--- a/misc/translator/LangInstaller.pm >+++ b/misc/translator/LangInstaller.pm >@@ -70,9 +70,11 @@ sub new { > $self->{cp} = `which cp`; > $self->{msgmerge} = `which msgmerge`; > $self->{xgettext} = `which xgettext`; >+ $self->{sed} = `which sed`; > chomp $self->{cp}; > chomp $self->{msgmerge}; > chomp $self->{xgettext}; >+ chomp $self->{sed}; > > # Get all .pref file names > opendir my $fh, $self->{path_pref_en}; >@@ -415,6 +417,7 @@ sub create_tmpl { > sub create_messages { > my $self = shift; > >+ print "Create messages ($self->{lang})\n" if $self->{verbose}; > system > "$self->{cp} $self->{domain}.pot " . > "$self->{path_po}/$self->{lang}-$self->{domain}.po"; >@@ -423,10 +426,14 @@ sub create_messages { > sub update_messages { > my $self = shift; > >- system >- "$self->{msgmerge} -U " . >- "$self->{path_po}/$self->{lang}-$self->{domain}.po " . >- "$self->{domain}.pot"; >+ my $pofile = "$self->{path_po}/$self->{lang}-$self->{domain}.po"; >+ print "Update messages ($self->{lang})\n" if $self->{verbose}; >+ if ( not -f $pofile ) { >+ print "File $pofile does not exist\n" if $self->{verbose}; >+ $self->create_messages(); >+ } >+ system "$self->{msgmerge} -U $pofile $self->{domain}.pot"; >+ > } > > sub extract_messages { >@@ -458,6 +465,19 @@ sub extract_messages { > if (system($xgettext_cmd) != 0) { > die "system call failed: $xgettext_cmd"; > } >+ >+ if ( -f "$Bin/$self->{domain}.pot" ) { >+ my $replace_charset_cmd = "$self->{sed} --in-place " . >+ "$Bin/$self->{domain}.pot " . >+ "--expression='s/charset=CHARSET/charset=UTF-8/'"; >+ if (system($replace_charset_cmd) != 0) { >+ die "system call failed: $replace_charset_cmd"; >+ } >+ } else { >+ print "No messages found\n" if $self->{verbose}; >+ return; >+ } >+ return 1; > } > > sub remove_pot { >@@ -486,14 +506,14 @@ sub get_all_langs { > sub update { > my ($self, $files) = @_; > my @langs = $self->{lang} ? ($self->{lang}) : $self->get_all_langs(); >- $self->extract_messages(); >+ my $extract_ok = $self->extract_messages(); > for my $lang ( @langs ) { > $self->set_lang( $lang ); > $self->update_tmpl($files) unless $self->{pref_only}; > $self->update_prefs(); >- $self->update_messages(); >+ $self->update_messages() if $extract_ok; > } >- $self->remove_pot(); >+ $self->remove_pot() if $extract_ok; > } > > >@@ -502,9 +522,10 @@ sub create { > return unless $self->{lang}; > $self->create_tmpl($files) unless $self->{pref_only}; > $self->create_prefs(); >- $self->extract_messages(); >- $self->create_messages(); >- $self->remove_pot(); >+ if ($self->extract_messages()) { >+ $self->create_messages(); >+ $self->remove_pot(); >+ } > } > > >-- >1.7.10.4
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 8044
:
9415
|
9416
|
9427
|
9449
|
9910
|
9911
|
11689
|
11690
|
11691
|
11693
|
11694
|
11695
|
11696
|
11697
|
13218
|
13219
|
13220
|
13221
|
17711
|
17712
|
17713
|
17714
|
19100
|
19101
|
19102
|
19103
|
20366
|
20367
|
20368
|
20369
|
20370
|
25964
|
25965
|
25966
|
25967