From 461b61ad8a030c6df2d57d488f014a3413dec2b5 Mon Sep 17 00:00:00 2001 From: Chris Cormack Date: Sat, 24 Oct 2009 11:30:37 +1300 Subject: [PATCH] Fix for Bug 3730 - Wrong ISO 639-2 Language Code for Portuguese in database [Patch originally by Ricardo Dias Marques] Bug 3730 - Wrong ISO 639-2 Language Code for Portuguese in database http://bugs.koha.org/cgi-bin/bugzilla3/show_bug.cgi?id=3730 For 3.0.x head of the Git branch, the ISO 639-2 Language Code for Portuguese in Koha database is wrong. Specifically, in the table "language_rfc4646_to_iso639", when the field "rfc4646_subtag" has the value "pt", the field "iso639_2_code" should have the value of "por" and NOT the current one of "pol" ("pol" refers to "Polish" as correctly also appears for the code "pl", in the row above the "pt" one). In my test setups, this showed some serious sequences for people that choose the Portuguese language in the Web Installer, namely: - very weird look of Staff client with missing Header and Footer, that renders the Staff client unusable - Portuguese translation apparently not getting updated for the OPAC (for people that do an Upgrade from a previous version) This patch is for the 3.0.x branch (I tested it with that branch). For the master branch, I don't have a database setup to create and test a similar patch but Chris Cormack nicely volunteered to do that. Thanks Chris! Signed-off-by: Galen Charlton --- installer/data/mysql/en/mandatory/subtag_registry.sql | 2 +- .../data/mysql/fr-FR/1-Obligatoire/subtag_registry.sql | 2 +- installer/data/mysql/ru-RU/mandatory/subtag_registry.sql | 2 +- installer/data/mysql/uk-UA/mandatory/subtag_registry.sql | 2 +- installer/data/mysql/updatedatabase.pl | 7 +++++++ kohaversion.pl | 2 +- 6 files changed, 12 insertions(+), 5 deletions(-) diff --git a/installer/data/mysql/en/mandatory/subtag_registry.sql b/installer/data/mysql/en/mandatory/subtag_registry.sql index bb7274aac3..f2e064836f 100644 --- a/installer/data/mysql/en/mandatory/subtag_registry.sql +++ b/installer/data/mysql/en/mandatory/subtag_registry.sql @@ -438,7 +438,7 @@ INSERT INTO language_subtag_registry( subtag, type, description, added) VALUES ( 'pt', 'language', 'Portuguese','2005-10-16' ); INSERT INTO language_rfc4646_to_iso639(rfc4646_subtag,iso639_2_code) -VALUES( 'pt','pol'); +VALUES( 'pt','por'); INSERT INTO language_descriptions(subtag, type, lang, description) VALUES( 'pt', 'language', 'pt', 'Português'); diff --git a/installer/data/mysql/fr-FR/1-Obligatoire/subtag_registry.sql b/installer/data/mysql/fr-FR/1-Obligatoire/subtag_registry.sql index 08d6d09e02..0f298c3154 100644 --- a/installer/data/mysql/fr-FR/1-Obligatoire/subtag_registry.sql +++ b/installer/data/mysql/fr-FR/1-Obligatoire/subtag_registry.sql @@ -385,7 +385,7 @@ INSERT INTO language_subtag_registry( subtag, type, description, added) VALUES ( 'pt', 'language', 'Portuguese','2005-10-16' ); INSERT INTO language_rfc4646_to_iso639(rfc4646_subtag,iso639_2_code) -VALUES( 'pt','pol'); +VALUES( 'pt','por'); INSERT INTO language_descriptions(subtag, type, lang, description) VALUES( 'pt', 'language', 'pt', 'Português'); diff --git a/installer/data/mysql/ru-RU/mandatory/subtag_registry.sql b/installer/data/mysql/ru-RU/mandatory/subtag_registry.sql index d96e6a6641..e6bcbc30c4 100644 --- a/installer/data/mysql/ru-RU/mandatory/subtag_registry.sql +++ b/installer/data/mysql/ru-RU/mandatory/subtag_registry.sql @@ -438,7 +438,7 @@ INSERT INTO language_subtag_registry( subtag, type, description, added) VALUES ( 'pt', 'language', 'Portuguese','2005-10-16' ); INSERT INTO language_rfc4646_to_iso639(rfc4646_subtag,iso639_2_code) -VALUES( 'pt','pol'); +VALUES( 'pt','por'); INSERT INTO language_descriptions(subtag, type, lang, description) VALUES( 'pt', 'language', 'pt', 'Português'); diff --git a/installer/data/mysql/uk-UA/mandatory/subtag_registry.sql b/installer/data/mysql/uk-UA/mandatory/subtag_registry.sql index d96e6a6641..e6bcbc30c4 100644 --- a/installer/data/mysql/uk-UA/mandatory/subtag_registry.sql +++ b/installer/data/mysql/uk-UA/mandatory/subtag_registry.sql @@ -438,7 +438,7 @@ INSERT INTO language_subtag_registry( subtag, type, description, added) VALUES ( 'pt', 'language', 'Portuguese','2005-10-16' ); INSERT INTO language_rfc4646_to_iso639(rfc4646_subtag,iso639_2_code) -VALUES( 'pt','pol'); +VALUES( 'pt','por'); INSERT INTO language_descriptions(subtag, type, lang, description) VALUES( 'pt', 'language', 'pt', 'Português'); diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index 08169ab755..32ad48bf91 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -3438,6 +3438,13 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { SetVersion ($DBversion); } +$DBversion = '3.01.00.117'; +if (C4::Context->preference("Version") < TransformToNum($DBversion)) { + $dbh->do("UPDATE language_rfc4646_to_iso639 SET iso639_2_code = 'por' WHERE rfc4646_subtag='pt' "); + print "Upgrade to $DBversion done (corrected ISO 639-2 language code for Portuguese)\n"; + SetVersion ($DBversion); +} + =item DropAllForeignKeys($table) Drop all foreign keys of the table $table diff --git a/kohaversion.pl b/kohaversion.pl index 910f2a61c8..9fc1a85457 100644 --- a/kohaversion.pl +++ b/kohaversion.pl @@ -10,7 +10,7 @@ use strict; sub kohaversion { - our $VERSION = '3.01.00.116'; + our $VERSION = '3.01.00.117'; # version needs to be set this way # so that it can be picked up by Makefile.PL # during install -- 2.39.5