Index: openacs-4/packages/acs-lang/sql/oracle/ad-locales-drop.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/sql/oracle/ad-locales-drop.sql,v
diff -u -r1.4 -r1.4.2.1
--- openacs-4/packages/acs-lang/sql/oracle/ad-locales-drop.sql 8 Jan 2010 17:39:58 -0000 1.4
+++ openacs-4/packages/acs-lang/sql/oracle/ad-locales-drop.sql 14 May 2010 13:15:45 -0000 1.4.2.1
@@ -16,5 +16,4 @@
drop table ad_locale_user_prefs;
drop view enabled_locales;
drop table ad_locales;
-drop table language_codes;
-drop table country_codes;
+
Index: openacs-4/packages/acs-lang/sql/oracle/ad-locales.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/sql/oracle/ad-locales.sql,v
diff -u -r1.36 -r1.36.2.1
--- openacs-4/packages/acs-lang/sql/oracle/ad-locales.sql 22 Mar 2010 00:51:38 -0000 1.36
+++ openacs-4/packages/acs-lang/sql/oracle/ad-locales.sql 14 May 2010 13:15:45 -0000 1.36.2.1
@@ -13,23 +13,6 @@
-- * that gets loaded on server startup, and hence should not get updated.
-- ****************************************************************************
--- The language and country codes tables are filled by after_install
--- and after_upgrade apm callbacks
--- using the iso-3166-1-countries.txt and iso-639-2_utf-8.txt files
-
-create table language_codes (
- iso_639_2 char(3) constraint language_codes_iso_639_2_pk primary key,
- iso_639_1 char(2),
- label varchar(200)
-);
-comment on table language_codes is 'Contains ISO-639-2 language codes and their corresponding ISO-639-1 when it exists.';
-
-create table country_codes (
- label varchar(200),
- country char(2) constraint country_codes_country_pk primary key
-);
-comment on table country_codes is 'Contains ISO-3166 country codes';
-
create table ad_locales (
locale varchar2(30)
constraint ad_locales_locale_pk
Index: openacs-4/packages/acs-lang/sql/oracle/upgrade/upgrade-5.6.0d2-5.6.0d3.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/sql/oracle/upgrade/upgrade-5.6.0d2-5.6.0d3.sql,v
diff -u -r1.2 -r1.2.2.1
--- openacs-4/packages/acs-lang/sql/oracle/upgrade/upgrade-5.6.0d2-5.6.0d3.sql 22 Mar 2010 01:24:07 -0000 1.2
+++ openacs-4/packages/acs-lang/sql/oracle/upgrade/upgrade-5.6.0d2-5.6.0d3.sql 14 May 2010 13:15:45 -0000 1.2.2.1
@@ -1,26 +1,6 @@
--- Create tables for languages and countries
---
--- The tables are filled by after_install and after_upgrade apm callbacks
--- using the iso-3166-1-countries.txt and iso-639-2_utf-8.txt files
-
-
-create table language_codes (
- iso_639_2 char(3) constraint language_codes_iso_639_2_pk primary key,
- iso_639_1 char(2),
- label varchar(200)
-);
-
-comment on table language_codes is 'Contains ISO-639-2 language codes and their corresponding ISO-639-1 when it exists.';
-
-create table country_codes (
- label varchar(200),
- country char(2) constraint country_codes_country_pk primary key
-);
-
-comment on table country_codes is 'Contains ISO-3166 country codes';
-
-- update comment on ad_locales to be more accurate about how to
-- create new locales.
+
comment on table ad_locales is '
An OpenACS locale is identified by a language and country.
Locale definitions in Oracle consist of a language, and optionally
Index: openacs-4/packages/acs-lang/sql/postgresql/ad-locales-drop.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/sql/postgresql/ad-locales-drop.sql,v
diff -u -r1.4 -r1.4.2.1
--- openacs-4/packages/acs-lang/sql/postgresql/ad-locales-drop.sql 8 Jan 2010 17:39:58 -0000 1.4
+++ openacs-4/packages/acs-lang/sql/postgresql/ad-locales-drop.sql 14 May 2010 13:15:45 -0000 1.4.2.1
@@ -16,5 +16,3 @@
drop table ad_locale_user_prefs;
drop view enabled_locales;
drop table ad_locales;
-drop table language_codes;
-drop table country_codes;
Index: openacs-4/packages/acs-lang/sql/postgresql/ad-locales.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/sql/postgresql/ad-locales.sql,v
diff -u -r1.32 -r1.32.2.1
--- openacs-4/packages/acs-lang/sql/postgresql/ad-locales.sql 22 Mar 2010 00:51:38 -0000 1.32
+++ openacs-4/packages/acs-lang/sql/postgresql/ad-locales.sql 14 May 2010 13:15:45 -0000 1.32.2.1
@@ -15,23 +15,6 @@
begin;
--- The language and country codes tables are filled by after_install
--- and after_upgrade apm callbacks
--- using the iso-3166-1-countries.txt and iso-639-2_utf-8.txt files
-
-create table language_codes (
- iso_639_2 char(3) constraint language_codes_iso_639_2_pk primary key,
- iso_639_1 char(2),
- label varchar(200)
-);
-comment on table language_codes is 'Contains ISO-639-2 language codes and their corresponding ISO-639-1 when it exists.';
-
-create table country_codes (
- label varchar(200),
- country char(2) constraint country_codes_country_pk primary key
-);
-comment on table country_codes is 'Contains ISO-3166 country codes';
-
create table ad_locales (
locale varchar(30)
constraint ad_locales_locale_pk
Index: openacs-4/packages/acs-lang/sql/postgresql/upgrade/upgrade-5.6.0d2-5.6.0d3.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/sql/postgresql/upgrade/upgrade-5.6.0d2-5.6.0d3.sql,v
diff -u -r1.2 -r1.2.2.1
--- openacs-4/packages/acs-lang/sql/postgresql/upgrade/upgrade-5.6.0d2-5.6.0d3.sql 22 Mar 2010 01:24:30 -0000 1.2
+++ openacs-4/packages/acs-lang/sql/postgresql/upgrade/upgrade-5.6.0d2-5.6.0d3.sql 14 May 2010 13:15:45 -0000 1.2.2.1
@@ -1,26 +1,6 @@
--- Create tables for languages and countries
---
--- The tables are filled by after_install and after_upgrade apm callbacks
--- using the iso-3166-1-countries.txt and iso-639-2_utf-8.txt files
-
-
-create table language_codes (
- iso_639_2 char(3) constraint language_codes_iso_639_2_pk primary key,
- iso_639_1 char(2),
- label varchar(200)
-);
-
-comment on table language_codes is 'Contains ISO-639-2 language codes and their corresponding ISO-639-1 when it exists.';
-
-create table country_codes (
- label varchar(200),
- country char(2) constraint country_codes_country_pk primary key
-);
-
-comment on table country_codes is 'Contains ISO-3166 country codes';
-
-- update comment on ad_locales to be more accurate about how to
-- create new locales.
+
comment on table ad_locales is '
An OpenACS locale is identified by a language and country.
Locale definitions in Oracle consist of a language, and optionally
Index: openacs-4/packages/acs-lang/tcl/apm-callback-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/tcl/apm-callback-procs.tcl,v
diff -u -r1.1 -r1.1.2.1
--- openacs-4/packages/acs-lang/tcl/apm-callback-procs.tcl 8 Jan 2010 17:39:58 -0000 1.1
+++ openacs-4/packages/acs-lang/tcl/apm-callback-procs.tcl 14 May 2010 13:15:45 -0000 1.1.2.1
@@ -15,10 +15,8 @@
ad_proc -private lang::apm::after_install {
} {
- Add ISO-639-2 codes to ad_locales
+ After install callback
} {
- lang::apm::add_language_codes
- lang::apm::add_country_codes
}
ad_proc -private lang::apm::after_upgrade {
@@ -31,110 +29,5 @@
-from_version_name $from_version_name \
-to_version_name $to_version_name \
-spec {
- 5.6.0d2 5.6.0d3 {
- lang::apm::add_language_codes
- lang::apm::add_country_codes
- }
}
}
-
-## Helper procs
-
-ad_proc -private lang::apm::add_language_codes {
-} {
- Fills language_codes with ISO-639-2 codes
-
- The ISO-639-2 codes are in a text file located at
- acs-lang/resources directory. The file was downloaded from
- http://www.loc.gov/standards/iso639-2/ISO-639-2_utf-8.txt
-
- Separator is "|" and the columns are:
-
-
- - ISO 639-2 Bibliographic code (used if terminology one is empty)
- - ISO 639-2 Terminology code (used if exists)
- - ISO 639-1 code (2 digits)
- - Language name in english
- - Language name in french (ignored)
-
-
-} {
-
- set filename "[acs_root_dir]/packages/acs-lang/resources/iso-639-2_utf-8.txt"
-
- set channel [open $filename]
- set data [read $channel]
- close $channel
-
- set row_list [split $data "\n"]
- foreach row $row_list {
-
- if { $row eq "" } {
- continue
- }
-
- set col_list [split $row "|"]
-
- # Set iso-639-2 code to terminology if exists, otherwise
- # uses the bibliography one (see RFC 4646)
-
- set iso2b [lindex $col_list 0]
- set iso2 [lindex $col_list 1]
- set iso1 [lindex $col_list 2]
- set label [lindex $col_list 3]
-
- if { $iso2 eq "" } {
- set iso2 $iso2b
- }
-
- db_dml insert_iso639 {
- insert into language_codes
- (iso_639_2, iso_639_1, label)
- values
- (:iso2, :iso1, :label)
- }
- }
-}
-
-ad_proc -private lang::apm::add_country_codes {
-} {
- Fills country_codes with ISO-3166 codes
-
- The ISO-3166 codes are in a text file located at
- acs-lang/resources directory. The file was downloaded from
- http://www.iso.org/iso/list-en1-semic-3.txt
-
- Separator is ";" and the columns are:
-
-
- - Country name in english
- - ISO 3166 code
-
-
-} {
-
- set filename "[acs_root_dir]/packages/acs-lang/resources/iso-3166-1-countries.txt"
-
- set channel [open $filename]
- set data [read $channel]
- close $channel
-
- set row_list [split $data "\n"]
- foreach row $row_list {
-
- if { $row eq "" } {
- continue
- }
-
- set col_list [split $row ";"]
- set label [lindex $col_list 0]
- set country [lindex $col_list 1]
-
- db_dml insert_iso3166 {
- insert into country_codes
- (label, country)
- values
- (:label, :country)
- }
- }
-}
Index: openacs-4/packages/acs-lang/tcl/lang-util-procs.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/tcl/lang-util-procs.xql,v
diff -u -r1.7 -r1.7.2.1
--- openacs-4/packages/acs-lang/tcl/lang-util-procs.xql 8 Jan 2010 17:39:58 -0000 1.7
+++ openacs-4/packages/acs-lang/tcl/lang-util-procs.xql 14 May 2010 13:15:45 -0000 1.7.2.1
@@ -45,7 +45,7 @@
select iso_639_2
- from language_codes
+ from language_639_2_codes
where iso_639_1 = :language
@@ -55,7 +55,7 @@
select iso_639_2
- from language_codes
+ from language_639_2_codes
where iso_639_2 = :language
@@ -65,7 +65,7 @@
select label
- from language_codes
+ from language_639_2_codes
where iso_639_1 = :language
@@ -75,7 +75,7 @@
select label
- from language_codes
+ from language_639_2_codes
where iso_639_2 = :language
Index: openacs-4/packages/acs-lang/www/admin/locale-delete.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/locale-delete.adp,v
diff -u -r1.8 -r1.8.18.1
--- openacs-4/packages/acs-lang/www/admin/locale-delete.adp 15 Aug 2003 07:50:44 -0000 1.8
+++ openacs-4/packages/acs-lang/www/admin/locale-delete.adp 14 May 2010 13:15:45 -0000 1.8.18.1
@@ -2,14 +2,11 @@
@page_title@
@context;noquote@
-
+Delete @locale_label@
-Deleting locale @locale_label@ [ @locale@ ]
+Are you sure you want to delete @locale_label@ which locale is @locale@?
-
-
-
Index: openacs-4/packages/acs-lang/www/admin/locale-edit.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/locale-edit.adp,v
diff -u -r1.7 -r1.7.18.1
--- openacs-4/packages/acs-lang/www/admin/locale-edit.adp 14 Aug 2003 16:06:20 -0000 1.7
+++ openacs-4/packages/acs-lang/www/admin/locale-edit.adp 14 May 2010 13:15:46 -0000 1.7.18.1
@@ -1,10 +1,8 @@
- @page_title@
+ doc
@context;noquote@
locale_editing.country
-Please update the necesary fields and press "Submit"
-
-Editing locale @locale_label@ [ @locale@ ]
+Editing locale @locale_label@
Index: openacs-4/packages/acs-lang/www/admin/locale-edit.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/locale-edit.tcl,v
diff -u -r1.9 -r1.9.6.1
--- openacs-4/packages/acs-lang/www/admin/locale-edit.tcl 14 May 2007 20:30:23 -0000 1.9
+++ openacs-4/packages/acs-lang/www/admin/locale-edit.tcl 14 May 2010 13:15:46 -0000 1.9.6.1
@@ -22,8 +22,8 @@
# ns_setformencoding $encoding_charset
# ns_set put [ns_conn outputheaders] "content-type" "text/html; charset=$encoding_charset"
-set page_title "Edit Locale"
-set context [list $page_title]
+set doc(title) "Edit Locale"
+set context [list $doc(title)]
form create locale_editing
@@ -64,14 +64,17 @@
# Greenpeace had a table of contries and languages and their two-digit ISO-code
# but not so in ACS-LANG - here you must provide the two-digit ISO-code
-element create locale_editing country -label "Country (2 digit ISO-code)" \
- -datatype text -widget text -html { maxLength 2 size 2 }
+element create locale_editing locale -label "Locale" \
+ -datatype text -widget inform
-element create locale_editing language -label "Language (2 digit ISO-code)" \
- -datatype text -widget text -html { maxLength 2 size 2 }
+element create locale_editing label -label "Label" -datatype text -widget inform
-element create locale_editing label -label "Label" -datatype text
+element create locale_editing country -label "Country" \
+ -datatype text -widget inform
+element create locale_editing language -label "Language" \
+ -datatype text -widget inform
+
if { [info exists list_nls_language] } {
element create locale_editing nls_language -label "NLS Language" \
-datatype text -widget select -options $list_nls_language
@@ -98,9 +101,6 @@
element create locale_editing default_p -label "Default" \
-datatype text -widget hidden
-element create locale_editing locale -p label "Locale" \
- -datatype text -widget hidden -value $locale
-
if { [form is_request locale_editing] } {
# Finish building the form to present to the user
@@ -111,15 +111,33 @@
mime_charset as locale_mime_charset, default_p as locale_default_p
from ad_locales
where locale = :locale"
+
+ set locale_language [string trim $locale_language]
+
+ element set_properties locale_editing locale -value $locale_locale
element set_properties locale_editing label -value $locale_label
- element set_properties locale_editing language -value $locale_language
- element set_properties locale_editing country -value $locale_country
element set_properties locale_editing nls_language -value $locale_nls_language
element set_properties locale_editing nls_territory -value $locale_nls_territory
element set_properties locale_editing nls_charset -value $locale_nls_charset
element set_properties locale_editing mime_charset -value $locale_mime_charset
element set_properties locale_editing default_p -value $locale_default_p
+ set lang_query "select label from language_639_2_codes"
+
+ if { [string length $locale_language] eq 3 } {
+ append lang_query " where iso_639_2 = :locale_language"
+ } else {
+ append lang_query " where iso_639_1 = :locale_language"
+ }
+
+ element set_properties locale_editing language \
+ -value [db_string get_lang_label $lang_query -default $locale_language]
+
+ element set_properties locale_editing country \
+ -value [db_string get_country_name {
+ select default_name from countries where iso = :locale_country
+ } -default $locale_country]
+
} else {
# If we are not building a request form, we are processing a submission.
@@ -146,7 +164,6 @@
db_transaction {
db_dml update_locale "update ad_locales set
- language = :language, country = :country, label = :label,
nls_language = :nls_language, nls_territory = :nls_territory,
nls_charset = :nls_charset, mime_charset = :mime_charset,
default_p = :default_p
Index: openacs-4/packages/acs-lang/www/admin/locale-new.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/locale-new.xql,v
diff -u -r1.1 -r1.1.2.1
--- openacs-4/packages/acs-lang/www/admin/locale-new.xql 8 Jan 2010 17:39:58 -0000 1.1
+++ openacs-4/packages/acs-lang/www/admin/locale-new.xql 14 May 2010 13:15:46 -0000 1.1.2.1
@@ -4,16 +4,16 @@
- select label, country
- from country_codes
- order by label
+ select default_name, iso
+ from countries
+ order by default_name
select label, coalesce(iso_639_1, iso_639_2)
- from language_codes
+ from language_639_2_codes
order by label