From 9b477d2e21e0e06a6dc30468e3d7f4d8759732ce Mon Sep 17 00:00:00 2001 From: miker Date: Sun, 27 Jul 2008 16:45:47 +0000 Subject: [PATCH 1/1] removing overly agressive locale normalization git-svn-id: svn://svn.open-ils.org/ILS/trunk@10152 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/src/sql/Pg/002.functions.config.sql | 4 ++-- Open-ILS/src/sql/Pg/002.schema.config.sql | 4 ++-- Open-ILS/src/sql/Pg/950.data.seed-values.sql | 10 +++++----- Open-ILS/web/conify/global/admin.js | 2 +- Open-ILS/web/js/dojo/openils/widget/TranslatorPopup.js | 8 ++++---- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/Open-ILS/src/sql/Pg/002.functions.config.sql b/Open-ILS/src/sql/Pg/002.functions.config.sql index b70da55e3f..42935aa791 100644 --- a/Open-ILS/src/sql/Pg/002.functions.config.sql +++ b/Open-ILS/src/sql/Pg/002.functions.config.sql @@ -68,8 +68,8 @@ $$ LANGUAGE SQL; CREATE OR REPLACE FUNCTION oils_i18n_xlate ( keytable TEXT, keyclass TEXT, keycol TEXT, identcol TEXT, keyvalue TEXT, raw_locale TEXT ) RETURNS TEXT AS $func$ DECLARE - locale TEXT := LOWER( REGEXP_REPLACE( REGEXP_REPLACE( raw_locale, E'[;, ].+$', '' ), E'-', '_', 'g' ) ); - language TEXT := REGEXP_REPLACE( locale, E'_.+$', '' ); + locale TEXT := REGEXP_REPLACE( REGEXP_REPLACE( raw_locale, E'[;, ].+$', '' ), E'_', '-', 'g' ); + language TEXT := REGEXP_REPLACE( locale, E'-.+$', '' ); result config.i18n_core%ROWTYPE; fallback TEXT; keyfield TEXT := keyclass || '.' || keycol; diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql index 431d51afce..80c9ab36d7 100644 --- a/Open-ILS/src/sql/Pg/002.schema.config.sql +++ b/Open-ILS/src/sql/Pg/002.schema.config.sql @@ -446,7 +446,7 @@ CREATE TABLE config.bib_level_map ( CREATE TABLE config.i18n_locale ( code TEXT PRIMARY KEY, - marc_code TEXT NOT NULL REFERENCES config.language_map (code), + marc_code TEXT NOT NULL REFERENCES config.language_map (code) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, name TEXT UNIQUE NOT NULL, description TEXT ); @@ -455,7 +455,7 @@ CREATE TABLE config.i18n_core ( id BIGSERIAL PRIMARY KEY, fq_field TEXT NOT NULL, identity_value TEXT NOT NULL, - translation TEXT NOT NULL REFERENCES config.i18n_locale (code), + translation TEXT NOT NULL REFERENCES config.i18n_locale (code) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, string TEXT NOT NULL ); diff --git a/Open-ILS/src/sql/Pg/950.data.seed-values.sql b/Open-ILS/src/sql/Pg/950.data.seed-values.sql index e08280b569..3a82100b59 100644 --- a/Open-ILS/src/sql/Pg/950.data.seed-values.sql +++ b/Open-ILS/src/sql/Pg/950.data.seed-values.sql @@ -695,15 +695,15 @@ INSERT INTO config.bib_level_map (code, value) VALUES ('s', oils_i18n_gettext('S -- available locales INSERT INTO config.i18n_locale (code,marc_code,name,description) - VALUES ('en_us','eng',oils_i18n_gettext('American English'),oils_i18n_gettext('American English')); + VALUES ('en-US','eng',oils_i18n_gettext('American English'),oils_i18n_gettext('American English')); INSERT INTO config.i18n_locale (code,marc_code,name,description) - VALUES ('en_ca','eng',oils_i18n_gettext('Canadian English'),oils_i18n_gettext('Canadian English')); + VALUES ('en-CA','eng',oils_i18n_gettext('Canadian English'),oils_i18n_gettext('Canadian English')); INSERT INTO config.i18n_locale (code,marc_code,name,description) - VALUES ('fr_ca','fre',oils_i18n_gettext('Canadian Fench'),oils_i18n_gettext('Canadian French')); + VALUES ('fr-CA','fre',oils_i18n_gettext('Canadian Fench'),oils_i18n_gettext('Canadian French')); INSERT INTO config.i18n_locale (code,marc_code,name,description) - VALUES ('es_us','spa',oils_i18n_gettext('American Spanish'),oils_i18n_gettext('American Spanish')); + VALUES ('es-US','spa',oils_i18n_gettext('American Spanish'),oils_i18n_gettext('American Spanish')); INSERT INTO config.i18n_locale (code,marc_code,name,description) - VALUES ('es_mx','spa',oils_i18n_gettext('Mexican Spanish'),oils_i18n_gettext('Mexican Spanish')); + VALUES ('es-MX','spa',oils_i18n_gettext('Mexican Spanish'),oils_i18n_gettext('Mexican Spanish')); --005.schema.actors.sql: diff --git a/Open-ILS/web/conify/global/admin.js b/Open-ILS/web/conify/global/admin.js index a8e7e02864..ac22a21dd1 100644 --- a/Open-ILS/web/conify/global/admin.js +++ b/Open-ILS/web/conify/global/admin.js @@ -1,7 +1,7 @@ var djConfig = { parseOnLoad : true }; if (location.href.match(/^.*conify\/(.+)\/global.*$/, "$1")) { - var _url_locale = location.href.replace(/^.*conify\/(.+)\/global.*$/, "$1").toLowerCase().replace(/_/,'-','g'); + var _url_locale = location.href.replace(/^.*conify\/(.+)\/global.*$/, "$1").replace(/_/,'-','g'); if (_url_locale) djConfig.locale = _url_locale; diff --git a/Open-ILS/web/js/dojo/openils/widget/TranslatorPopup.js b/Open-ILS/web/js/dojo/openils/widget/TranslatorPopup.js index 16a09afcad..c2d9786c13 100644 --- a/Open-ILS/web/js/dojo/openils/widget/TranslatorPopup.js +++ b/Open-ILS/web/js/dojo/openils/widget/TranslatorPopup.js @@ -102,11 +102,11 @@ if(!dojo._hasResource["openils.widget.TranslatorPopup"]) { { store:openils.I18N.localeStore, searchAttr:'locale', labelAttr:'label', - lowercase:true, + lowercase:false, required:true, id:'locale_' + trans_id, value: trans_obj.translation(), - invalidMessage:'Specify locale as {languageCode}_{countryCode}, like en_us', + invalidMessage:'Specify locale as {languageCode}-{countryCode}, as in en-US', regExp:'[a-z_]+' } ); @@ -147,9 +147,9 @@ if(!dojo._hasResource["openils.widget.TranslatorPopup"]) { searchAttr:'locale', labelAttr:'label', id:'i18n_new_locale_' + this._targetObject.classname + '.' + this.field + this.unique, - lowercase:true, + lowercase:false, required:true, - invalidMessage:'Specify locale as {languageCode}_{countryCode}, like en_us', + invalidMessage:'Specify locale as {languageCode}_{countryCode}, as in en-US', regExp:'[a-z_]+' } ); -- 2.43.2