[Koha-patches] [PATCH] Fix for Bug 3730 - Wrong ISO 639-2 Language Code for Portuguese in database

Chris Cormack chrisc at catalyst.net.nz
Sat Oct 24 00:30:37 CEST 2009


Fix for:

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!
---
 .../data/mysql/en/mandatory/subtag_registry.sql    |    2 +-
 .../mysql/fr-FR/1-Obligatoire/subtag_registry.sql  |    2 +-
 .../data/mysql/ru-RU/mandatory/subtag_registry.sql |    2 +-
 .../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 bb7274a..f2e0648 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 08d6d09..0f298c3 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 d96e6a6..e6bcbc3 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 d96e6a6..e6bcbc3 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 10c3451..8c3ed7b 100755
--- a/installer/data/mysql/updatedatabase.pl
+++ b/installer/data/mysql/updatedatabase.pl
@@ -2675,6 +2675,13 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
     SetVersion ($DBversion);
 }
 
+$DBversion = "3.01.00.062";
+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 ec5684f..fc63d1e 100644
--- a/kohaversion.pl
+++ b/kohaversion.pl
@@ -10,7 +10,7 @@
 use strict;
 
 sub kohaversion {
-    our $VERSION = '3.01.00.061';
+    our $VERSION = '3.01.00.062';
     # version needs to be set this way
     # so that it can be picked up by Makefile.PL
     # during install
-- 
1.6.0.4




More information about the Koha-patches mailing list