removing overly agressive locale normalization
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sun, 27 Jul 2008 16:45:47 +0000 (16:45 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sun, 27 Jul 2008 16:45:47 +0000 (16:45 +0000)
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
Open-ILS/src/sql/Pg/002.schema.config.sql
Open-ILS/src/sql/Pg/950.data.seed-values.sql
Open-ILS/web/conify/global/admin.js
Open-ILS/web/js/dojo/openils/widget/TranslatorPopup.js

index b70da55..42935aa 100644 (file)
@@ -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;
index 431d51a..80c9ab3 100644 (file)
@@ -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
 );
 
index e08280b..3a82100 100644 (file)
@@ -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:
index a8e7e02..ac22a21 100644 (file)
@@ -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;
 
index 16a09af..c2d9786 100644 (file)
@@ -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_]+'
                                        }
                                );