Bugzilla – Attachment 104971 Details for
Bug 24973
Allow to localize and translate system preferences with new yaml based installer
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 24973: Load custom localization file
Bug-24973-Load-custom-localization-file.patch (text/plain), 5.36 KB, created by
Bernardo Gonzalez Kriegel
on 2020-05-15 21:44:38 UTC
(
hide
)
Description:
Bug 24973: Load custom localization file
Filename:
MIME Type:
Creator:
Bernardo Gonzalez Kriegel
Created:
2020-05-15 21:44:38 UTC
Size:
5.36 KB
patch
obsolete
>From e41d19be143bb4359629039019ec5b80de457781 Mon Sep 17 00:00:00 2001 >From: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com> >Date: Fri, 15 May 2020 18:11:16 -0300 >Subject: [PATCH] Bug 24973: Load custom localization file > >This is a working POC patch > >It adds a new localization directory that could >host a custom SQL file for each language, >xx-YY/custom.sql > >This will be the last file to be loaded at >install time, it can be used to set any difference >from default values. > >It can't be deselected at install time. > >To test: >1) Apply the patch >2) Install es-ES translation > ( cd misc/translation; ./translate install es-ES ) >3) Do a clean install using es-ES >4) After all files have been loaded check: > * A new section labeled "Localization data added" > with one file, custom.sql > * Inspect the value of FrameworksLoaded syspref, > last entry must be custom.sql >5) Remove/rename the file or localization dir and > repeat 3/4, install must proceed normally >--- > C4/Installer.pm | 8 +++++++- > .../data/mysql/localization/es-ES/custom.sql | 20 +++++++++++++++++++ > installer/install.pl | 5 ++++- > .../prog/en/modules/installer/step3.tt | 2 ++ > 4 files changed, 33 insertions(+), 2 deletions(-) > create mode 100644 installer/data/mysql/localization/es-ES/custom.sql > >diff --git a/C4/Installer.pm b/C4/Installer.pm >index db247e5243..3624d13226 100644 >--- a/C4/Installer.pm >+++ b/C4/Installer.pm >@@ -312,6 +312,7 @@ moved to a different method. > > sub load_sql_in_order { > my $self = shift; >+ my $langchoice = shift; > my $all_languages = shift; > my @sql_list = @_; > >@@ -346,13 +347,18 @@ sub load_sql_in_order { > push @fnames, C4::Context->config('intranetdir') . "/installer/data/mysql/account_offset_types.sql"; > push @fnames, C4::Context->config('intranetdir') . "/installer/data/mysql/account_credit_types.sql"; > push @fnames, C4::Context->config('intranetdir') . "/installer/data/mysql/account_debit_types.sql"; >+ my $localization_file = C4::Context->config('intranetdir') . >+ "/installer/data/$self->{dbms}/localization/$langchoice/custom.sql"; >+ if ( $langchoice ne 'en' and -f $localization_file ) { >+ push @fnames, $localization_file; >+ } > foreach my $file (@fnames) { > # warn $file; > undef $/; > my $error = $self->load_sql($file); > my @file = split qr(\/|\\), $file; > $lang = $file[ scalar(@file) - 3 ] unless ($lang); >- my $level = $file[ scalar(@file) - 2 ]; >+ my $level = ( $file =~ /(localization)/ ) ? $1 : $file[ scalar(@file) - 2 ]; > unless ($error) { > $systempreference .= "$file[scalar(@file)-1]|" > unless ( index( $systempreference, $file[ scalar(@file) - 1 ] ) >= 0 ); >diff --git a/installer/data/mysql/localization/es-ES/custom.sql b/installer/data/mysql/localization/es-ES/custom.sql >new file mode 100644 >index 0000000000..fc3f926e9a >--- /dev/null >+++ b/installer/data/mysql/localization/es-ES/custom.sql >@@ -0,0 +1,20 @@ >+-- >+-- Custom values that differ from the global defaults >+-- >+-- This file is part of Koha. >+-- >+-- Koha is free software; you can redistribute it and/or modify it >+-- under the terms of the GNU General Public License as published by >+-- the Free Software Foundation; either version 3 of the License, or >+-- (at your option) any later version. >+-- >+-- Koha is distributed in the hope that it will be useful, but >+-- WITHOUT ANY WARRANTY; without even the implied warranty of >+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >+-- GNU General Public License for more details. >+-- >+-- You should have received a copy of the GNU General Public License >+-- along with Koha; if not, see <http://www.gnu.org/licenses>. >+ >+UPDATE systempreferences SET value = '1' WHERE variable = 'opaclanguagesdisplay'; >+ >diff --git a/installer/install.pl b/installer/install.pl >index 5bd3806872..c66158da20 100755 >--- a/installer/install.pl >+++ b/installer/install.pl >@@ -245,9 +245,12 @@ elsif ( $step && $step == 3 ) { > elsif ( $op && $op eq 'addframeworks' ) { > > # 1ST install, 3rd sub-step : insert the SQL files the user has selected >+ my $langchoice = $query->param('fwklanguage'); >+ $langchoice = $query->cookie('KohaOpacLanguage') unless ($langchoice); >+ $langchoice =~ s/[^a-zA-Z_-]*//g; > > my ( $fwk_language, $list ) = >- $installer->load_sql_in_order( $all_languages, >+ $installer->load_sql_in_order( $langchoice, $all_languages, > $query->multi_param('framework') ); > $template->param( > "fwklanguage" => $fwk_language, >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/installer/step3.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/installer/step3.tt >index b89d236b16..685fd7f116 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/installer/step3.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/installer/step3.tt >@@ -173,6 +173,8 @@ > <h3>Optional data added</h3> > [% ELSIF lis.level == 'mysql' %] > <h3>MySQL data added</h3> >+ [% ELSIF lis.level == 'localization' %] >+ <h3>Localization data added</h3> > [% ELSE %] > <h3>[% lis.level FILTER ucfirst | html %] data added</h3> > [% END %] >-- >2.17.1
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 24973
:
103071
|
103072
|
103073
|
103074
|
103075
|
104971
|
105032
|
108130
|
108166
|
108946