Bugzilla – Attachment 12556 Details for
Bug 8633
Translate script hardcoded to prog template
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 8633 Manage OPAC alternate templates
Bug-8633-Manage-OPAC-alternate-templates.patch (text/plain), 6.88 KB, created by
Jared Camins-Esakov
on 2012-09-27 13:38:02 UTC
(
hide
)
Description:
Bug 8633 Manage OPAC alternate templates
Filename:
MIME Type:
Creator:
Jared Camins-Esakov
Created:
2012-09-27 13:38:02 UTC
Size:
6.88 KB
patch
obsolete
>From 8b96605b4746c7943565689ac5042df5096bcf14 Mon Sep 17 00:00:00 2001 >From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Demians?= <f.demians@tamil.fr> >Date: Wed, 19 Sep 2012 15:28:40 +0200 >Subject: [PATCH] Bug 8633 Manage OPAC alternate templates > >Modify /misc/translator/translate script in order to manage properly alternate >OPAC templates. > >To test it with new 'ccsr' template: > >- Create the .po file: > > ./translate create fr-FR > > Result: existing .po files are not modified. A new fr-FR-opac-ccsr.po file is > available. > >- Install all templates : > > ./translate install fr-FR > > Result: A new koha-tmpl/opac-tmpl/ccsr/fr-FR directory contains translated > templates. > >- Update .po files: > > ./translate update fr-FR > > Result: fr-FR .po files are update, include fr-FR-opac-ccsr.po > >Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com> >--- > misc/translator/LangInstaller.pm | 87 ++++++++++++++++++++++--------------- > 1 files changed, 52 insertions(+), 35 deletions(-) > >diff --git a/misc/translator/LangInstaller.pm b/misc/translator/LangInstaller.pm >index f9abda6..00daaf4 100644 >--- a/misc/translator/LangInstaller.pm >+++ b/misc/translator/LangInstaller.pm >@@ -17,8 +17,7 @@ package LangInstaller; > # with Koha; if not, write to the Free Software Foundation, Inc., > # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. > >-use strict; >-use warnings; >+use Modern::Perl; > > use C4::Context; > # WARNING: Any other tested YAML library fails to work properly in this >@@ -29,6 +28,7 @@ use FindBin qw( $Bin ); > > $YAML::Syck::ImplicitTyping = 1; > >+ > sub set_lang { > my ($self, $lang) = @_; > >@@ -63,21 +63,34 @@ sub new { > # Get all available language codes > opendir $fh, $self->{path_po}; > my @langs = map { ($_) =~ /(.*)-i-opac/ } >- grep { $_ =~ /.*-opac-/ } readdir($fh); >+ grep { $_ =~ /.*-opac-t-prog/ } readdir($fh); > closedir $fh; > $self->{langs} = \@langs; > > # Map for both interfaces opac/intranet >- $self->{interface} = { >- opac => { >- dir => $context->config('opachtdocs') . '/prog', >+ my $opachtdocs = $context->config('opachtdocs'); >+ $self->{interface} = [ >+ { >+ name => 'OPAC prog', >+ dir => "$opachtdocs/prog", > suffix => '-i-opac-t-prog-v-3006000.po', > }, >- intranet => { >+ { >+ name => 'Intranet prog', > dir => $context->config('intrahtdocs') . '/prog', > suffix => '-i-staff-t-prog-v-3006000.po', >- } >- }; >+ }, >+ ]; >+ >+ # Alternate opac themes >+ opendir $fh, $context->config('opachtdocs'); >+ for ( grep { not /^\.|\.\.|prog|lib$/ } readdir($fh) ) { >+ push @{$self->{interface}}, { >+ name => "OPAC $_", >+ dir => "$opachtdocs/$_", >+ suffix => "-opac-$_.po", >+ }; >+ } > > bless $self, $class; > } >@@ -211,7 +224,7 @@ sub save_po { > my $self = shift; > # Write .po entries into a file put in Koha standard po directory > Locale::PO->save_file_fromhash( $self->po_filename, $self->{po} ); >- print "Saved in file: ", $self->po_filename, "\n" if $self->{verbose}; >+ say "Saved in file: ", $self->po_filename if $self->{verbose}; > } > > >@@ -291,21 +304,21 @@ sub install_prefs { > > sub install_tmpl { > my $self = shift; >- print "Install templates\n" if $self->{verbose}; >- while ( my ($interface, $tmpl) = each %{$self->{interface}} ) { >+ say "Install templates" if $self->{verbose}; >+ for my $trans ( @{$self->{interface}} ) { > print >- " Install templates '$interface\n", >- " From: $tmpl->{dir}/en/\n", >- " To : $tmpl->{dir}/$self->{lang}\n", >- " With: $self->{path_po}/$self->{lang}$tmpl->{suffix}\n" >+ " Install templates '$trans->{name}'\n", >+ " From: $trans->{dir}/en/\n", >+ " To : $trans->{dir}/$self->{lang}\n", >+ " With: $self->{path_po}/$self->{lang}$trans->{suffix}\n" > if $self->{verbose}; >- my $lang_dir = "$tmpl->{dir}/$self->{lang}"; >+ my $lang_dir = "$trans->{dir}/$self->{lang}"; > mkdir $lang_dir unless -d $lang_dir; > system > "$self->{process} install " . >- "-i $tmpl->{dir}/en/ " . >- "-o $tmpl->{dir}/$self->{lang} ". >- "-s $self->{path_po}/$self->{lang}$tmpl->{suffix} -r" >+ "-i $trans->{dir}/en/ " . >+ "-o $trans->{dir}/$self->{lang} ". >+ "-s $self->{path_po}/$self->{lang}$trans->{suffix} -r" > } > } > >@@ -313,19 +326,19 @@ sub install_tmpl { > sub update_tmpl { > my $self = shift; > >- print "Update templates\n" if $self->{verbose}; >- while ( my ($interface, $tmpl) = each %{$self->{interface}} ) { >+ say "Update templates" if $self->{verbose}; >+ for my $trans ( @{$self->{interface}} ) { > print >- " Update templates '$interface'\n", >- " From: $tmpl->{dir}/en/\n", >- " To : $self->{path_po}/$self->{lang}$tmpl->{suffix}\n" >+ " Update templates '$trans->{name}'\n", >+ " From: $trans->{dir}/en/\n", >+ " To : $self->{path_po}/$self->{lang}$trans->{suffix}\n" > if $self->{verbose}; >- my $lang_dir = "$tmpl->{dir}/$self->{lang}"; >+ my $lang_dir = "$trans->{dir}/$self->{lang}"; > mkdir $lang_dir unless -d $lang_dir; > system > "$self->{process} update " . >- "-i $tmpl->{dir}/en/ " . >- "-s $self->{path_po}/$self->{lang}$tmpl->{suffix} -r" >+ "-i $trans->{dir}/en/ " . >+ "-s $self->{path_po}/$self->{lang}$trans->{suffix} -r" > } > } > >@@ -333,6 +346,10 @@ sub update_tmpl { > sub create_prefs { > my $self = shift; > >+ if ( -e $self->po_filename ) { >+ say "Preferences .po file already exists. Delete it if you want to recreate it."; >+ return; >+ } > $self->get_po_from_prefs(); > $self->save_po(); > } >@@ -341,17 +358,17 @@ sub create_prefs { > sub create_tmpl { > my $self = shift; > >- print "Create templates\n" if $self->{verbose}; >- while ( my ($interface, $tmpl) = each %{$self->{interface}} ) { >+ say "Create templates\n" if $self->{verbose}; >+ for my $trans ( @{$self->{interface}} ) { > print >- " Create templates .po files for '$interface'\n", >- " From: $tmpl->{dir}/en/\n", >- " To : $self->{path_po}/$self->{lang}$tmpl->{suffix}\n" >+ " Create templates .po files for '$trans->{name}'\n", >+ " From: $trans->{dir}/en/\n", >+ " To : $self->{path_po}/$self->{lang}$trans->{suffix}\n" > if $self->{verbose}; > system > "$self->{process} create " . >- "-i $tmpl->{dir}/en/ " . >- "-s $self->{path_po}/$self->{lang}$tmpl->{suffix} -r" >+ "-i $trans->{dir}/en/ " . >+ "-s $self->{path_po}/$self->{lang}$trans->{suffix} -r" > } > } > >-- >1.7.2.5
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 8633
:
12342
| 12556