Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/SupportedLocale.hbm.xml
===================================================================
diff -u
--- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/SupportedLocale.hbm.xml (revision 0)
+++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/SupportedLocale.hbm.xml (revision 0ff427cbcf60a11b06f033886c617ade68044542)
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: lams_common/db/model/lams_11.clay
===================================================================
diff -u -r8a4d69bf6159f6bcd910eb930d77016e255619e9 -r0ff427cbcf60a11b06f033886c617ade68044542
--- lams_common/db/model/lams_11.clay (.../lams_11.clay) (revision 8a4d69bf6159f6bcd910eb930d77016e255619e9)
+++ lams_common/db/model/lams_11.clay (.../lams_11.clay) (revision 0ff427cbcf60a11b06f033886c617ade68044542)
@@ -2265,8 +2265,8 @@
-
+
@@ -4916,7 +4916,7 @@
-
+
@@ -5000,6 +5000,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: lams_common/db/sql/create_lams_11_tables.sql
===================================================================
diff -u -r8a4d69bf6159f6bcd910eb930d77016e255619e9 -r0ff427cbcf60a11b06f033886c617ade68044542
--- lams_common/db/sql/create_lams_11_tables.sql (.../create_lams_11_tables.sql) (revision 8a4d69bf6159f6bcd910eb930d77016e255619e9)
+++ lams_common/db/sql/create_lams_11_tables.sql (.../create_lams_11_tables.sql) (revision 0ff427cbcf60a11b06f033886c617ade68044542)
@@ -137,6 +137,20 @@
, PRIMARY KEY (organisation_state_id)
)TYPE=InnoDB;
+CREATE TABLE lams_supported_locale (
+ locale_id TINYINT(4) NOT NULL AUTO_INCREMENT
+ , language_iso_code VARCHAR(2) NOT NULL
+ , country_iso_code VARCHAR(2)
+ , description VARCHAR(255) NOT NULL
+ , PRIMARY KEY (locale_id)
+);
+ALTER TABLE lams_supported_locale COMMENT='Describes the valid language/country combinations. Can''t make language_iso_code and country_iso_code a unique key as MySQL considers that "NULL=NULL" is not true.';
+ALTER TABLE lams_supported_locale MODIFY COLUMN language_iso_code VARCHAR(2) NOT NULL
+ COMMENT 'ISO 639-1 Language Code (2 letter version) Java only supports 2 letter properly, not the 3 letter codes.';
+ALTER TABLE lams_supported_locale MODIFY COLUMN country_iso_code VARCHAR(2)
+ COMMENT 'ISO 3166 Country Code';
+
+
CREATE TABLE lams_authentication_method_type (
authentication_method_type_id INT(3) NOT NULL
, description VARCHAR(64) NOT NULL
Index: lams_common/db/sql/insert_types_data.sql
===================================================================
diff -u -r250486f86b66ac04cece0001879c3dc39c96ed98 -r0ff427cbcf60a11b06f033886c617ade68044542
--- lams_common/db/sql/insert_types_data.sql (.../insert_types_data.sql) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
+++ lams_common/db/sql/insert_types_data.sql (.../insert_types_data.sql) (revision 0ff427cbcf60a11b06f033886c617ade68044542)
@@ -161,6 +161,43 @@
'monitoring/gateExportPortfolio?mode=teacher', 'monitoring/gate.do?method=viewGate',
'monitoring/gate.do?method=viewGate', now() );
+-- Supported Locales
+INSERT INTO lams_supported_locale (locale_id, language_iso_code, country_iso_code, description)
+VALUES (1, 'en', 'AU', 'English (Australia) - default');
+INSERT INTO lams_supported_locale (locale_id, language_iso_code, country_iso_code, description)
+VALUES (2, 'es', null, 'Spanish');
+INSERT INTO lams_supported_locale (locale_id, language_iso_code, country_iso_code, description)
+VALUES (3, 'mi', 'NZ', 'Maori (New Zealand)');
+INSERT INTO lams_supported_locale (locale_id, language_iso_code, country_iso_code, description)
+VALUES (4, 'de', null, 'German');
+INSERT INTO lams_supported_locale (locale_id, language_iso_code, country_iso_code, description)
+VALUES (5, 'zh', null, 'Chinese');
+INSERT INTO lams_supported_locale (locale_id, language_iso_code, country_iso_code, description)
+VALUES (6, 'fr', null, 'French');
+INSERT INTO lams_supported_locale (locale_id, language_iso_code, country_iso_code, description)
+VALUES (7, 'it', null, 'Italian');
+INSERT INTO lams_supported_locale (locale_id, language_iso_code, country_iso_code, description)
+VALUES (8, 'no', null, 'Norwegian');
+INSERT INTO lams_supported_locale (locale_id, language_iso_code, country_iso_code, description)
+VALUES (9, 'sw', null, 'Swedish');
+INSERT INTO lams_supported_locale (locale_id, language_iso_code, country_iso_code, description)
+VALUES (10, 'ko', null, 'Korean');
+INSERT INTO lams_supported_locale (locale_id, language_iso_code, country_iso_code, description)
+VALUES (11, 'pl', null, 'Polish');
+INSERT INTO lams_supported_locale (locale_id, language_iso_code, country_iso_code, description)
+VALUES (12, 'pt', 'BR', 'Portuguese (Brazil)');
+INSERT INTO lams_supported_locale (locale_id, language_iso_code, country_iso_code, description)
+VALUES (13, 'hu', null, 'Hungarian');
+INSERT INTO lams_supported_locale (locale_id, language_iso_code, country_iso_code, description)
+VALUES (14, 'bg', null, 'Bulgarian');
+INSERT INTO lams_supported_locale (locale_id, language_iso_code, country_iso_code, description)
+VALUES (15, 'cy', 'GB', 'Welsh (United Kingdom)');
+INSERT INTO lams_supported_locale (locale_id, language_iso_code, country_iso_code, description)
+VALUES (16, 'th', null, 'Thai');
+INSERT INTO lams_supported_locale (locale_id, language_iso_code, country_iso_code, description)
+VALUES (17, 'el', null, 'Greek');
+
+-- to be removed when the admin converted over to use lams_supported_locale
INSERT INTO lams_country VALUES (1, 'AU');
INSERT INTO lams_country VALUES (2, 'US');
INSERT INTO lams_country VALUES (3, 'CN');
Index: lams_common/db/sql/lams_11.sql
===================================================================
diff -u -r8a4d69bf6159f6bcd910eb930d77016e255619e9 -r0ff427cbcf60a11b06f033886c617ade68044542
--- lams_common/db/sql/lams_11.sql (.../lams_11.sql) (revision 8a4d69bf6159f6bcd910eb930d77016e255619e9)
+++ lams_common/db/sql/lams_11.sql (.../lams_11.sql) (revision 0ff427cbcf60a11b06f033886c617ade68044542)
@@ -135,6 +135,16 @@
, PRIMARY KEY (organisation_state_id)
)TYPE=InnoDB;
+CREATE TABLE lams_supported_locale (
+ locale_id TINYINT(4) NOT NULL
+ , language_iso_code VARCHAR(2) NOT NULL
+ , country_iso_code VARCHAR(2) NOT NULL
+ , description VARCHAR(255) NOT NULL
+ , user_id BIGINT(20) NOT NULL
+ , UNIQUE UQ_lams_supported_locale (language_iso_code, country_iso_code)
+ , PRIMARY KEY (locale_id)
+)TYPE=InnoDB;
+
CREATE TABLE lams_authentication_method_type (
authentication_method_type_id INT(3) NOT NULL
, description VARCHAR(64) NOT NULL
@@ -171,7 +181,7 @@
CREATE TABLE lams_workspace (
workspace_id BIGINT(20) NOT NULL AUTO_INCREMENT
- , default_fld_id BIGINT(20) NOT NULL
+ , default_fld_id BIGINT(20)
, def_run_seq_fld_id BIGINT(20)
, name VARCHAR(255)
, PRIMARY KEY (workspace_id)
@@ -224,6 +234,9 @@
, INDEX (html_theme_id)
, CONSTRAINT FK_lams_user_5 FOREIGN KEY (html_theme_id)
REFERENCES lams_css_theme_ve (theme_ve_id) ON DELETE NO ACTION ON UPDATE NO ACTION
+ , INDEX (locale_language, locale_country)
+ , CONSTRAINT FK_lams_user_locale FOREIGN KEY (locale_language, locale_country)
+ REFERENCES lams_supported_locale (language_iso_code, country_iso_code) ON DELETE NO ACTION ON UPDATE NO ACTION
)TYPE=InnoDB;
ALTER TABLE lams_user MODIFY COLUMN locale_language CHAR(2) NOT NULL DEFAULT 'en'
COMMENT 'ISO 639-1 Language Code (2 letter version) Java only supports 2 letter properly, not the 3 letter codes.';
@@ -329,6 +342,9 @@
, INDEX (organisation_state_id)
, CONSTRAINT FK_lams_organisation_4 FOREIGN KEY (organisation_state_id)
REFERENCES lams_organisation_state (organisation_state_id) ON DELETE NO ACTION ON UPDATE NO ACTION
+ , INDEX (locale_language, locale_country)
+ , CONSTRAINT FK_lams_organisation_locale FOREIGN KEY (locale_language, locale_country)
+ REFERENCES lams_supported_locale (language_iso_code, country_iso_code) ON DELETE NO ACTION ON UPDATE NO ACTION
)TYPE=InnoDB;
CREATE TABLE lams_learning_activity (
Index: lams_common/db/sql/lams_supported_locale.sql
===================================================================
diff -u
--- lams_common/db/sql/lams_supported_locale.sql (revision 0)
+++ lams_common/db/sql/lams_supported_locale.sql (revision 0ff427cbcf60a11b06f033886c617ade68044542)
@@ -0,0 +1,13 @@
+CREATE TABLE lams_supported_locale (
+ locale_id TINYINT(4) NOT NULL AUTO_INCREMENT
+ , language_iso_code VARCHAR(2) NOT NULL
+ , country_iso_code VARCHAR(2)
+ , description VARCHAR(255) NOT NULL
+ , PRIMARY KEY (locale_id)
+);
+ALTER TABLE lams_supported_locale COMMENT='Describes the valid language/country combinations. Can''t make language_iso_code and country_iso_code a unique key as MySQL considers that "NULL=NULL" is not true.';
+ALTER TABLE lams_supported_locale MODIFY COLUMN language_iso_code VARCHAR(2) NOT NULL
+ COMMENT 'ISO 639-1 Language Code (2 letter version) Java only supports 2 letter properly, not the 3 letter codes.';
+ALTER TABLE lams_supported_locale MODIFY COLUMN country_iso_code VARCHAR(2)
+ COMMENT 'ISO 3166 Country Code';
+
Index: lams_common/src/java/org/lamsfoundation/lams/commonContext.xml
===================================================================
diff -u -r8a4d69bf6159f6bcd910eb930d77016e255619e9 -r0ff427cbcf60a11b06f033886c617ade68044542
--- lams_common/src/java/org/lamsfoundation/lams/commonContext.xml (.../commonContext.xml) (revision 8a4d69bf6159f6bcd910eb930d77016e255619e9)
+++ lams_common/src/java/org/lamsfoundation/lams/commonContext.xml (.../commonContext.xml) (revision 0ff427cbcf60a11b06f033886c617ade68044542)
@@ -42,6 +42,7 @@
org/lamsfoundation/lams/usermanagement/UserOrganisationRole.hbm.xml
org/lamsfoundation/lams/usermanagement/Workspace.hbm.xml
org/lamsfoundation/lams/usermanagement/WorkspaceFolder.hbm.xml
+ org/lamsfoundation/lams/usermanagement/SupportedLocale.hbm.xml
org/lamsfoundation/lams/learningdesign/Activity.hbm.xml
Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/SupportedLocale.java
===================================================================
diff -u
--- lams_common/src/java/org/lamsfoundation/lams/usermanagement/SupportedLocale.java (revision 0)
+++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/SupportedLocale.java (revision 0ff427cbcf60a11b06f033886c617ade68044542)
@@ -0,0 +1,116 @@
+package org.lamsfoundation.lams.usermanagement;
+
+import java.io.Serializable;
+
+import org.apache.commons.lang.builder.ToStringBuilder;
+
+
+/**
+ * @hibernate.class
+ * table="lams_supported_locale"
+ *
+*/
+public class SupportedLocale implements Serializable {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 4096710015819299886L;
+
+ /** identifier field */
+ private Byte localeId;
+
+ /** persistent field */
+ private String languageIsoCode;
+
+ /** persistent field */
+ private String countryIsoCode;
+
+ /** persistent field */
+ private String description;
+
+ /** full constructor */
+ public SupportedLocale(String languageIsoCode, String countryIsoCode, String description) {
+ this.languageIsoCode = languageIsoCode;
+ this.countryIsoCode = countryIsoCode;
+ this.description = description;
+ }
+
+ /** default constructor */
+ public SupportedLocale() {
+ }
+
+ /**
+ * @hibernate.id
+ * generator-class="native"
+ * type="java.lang.Byte"
+ * column="locale_id"
+ *
+ */
+ public Byte getLocaleId() {
+ return this.localeId;
+ }
+
+ public void setLocaleId(Byte localeId) {
+ this.localeId = localeId;
+ }
+
+ /**
+ * @hibernate.property
+ * column="language_iso_code"
+ * unique="false"
+ * length="2"
+ * not-null="true"
+ *
+ */
+ public String getLanguageIsoCode() {
+ return languageIsoCode;
+ }
+
+ public void setLanguageIsoCode(String languageIsoCode) {
+ this.languageIsoCode = languageIsoCode;
+ }
+
+ /**
+ * @hibernate.property
+ * column="country_iso_code"
+ * unique="false"
+ * length="2"
+ * not-null="false"
+ *
+ */
+ public String getCountryIsoCode() {
+ return countryIsoCode;
+ }
+
+ public void setCountryIsoCode(String countryIsoCode) {
+ this.countryIsoCode = countryIsoCode;
+ }
+
+ /**
+ * @hibernate.property
+ * column="description"
+ * unique="false"
+ * length="255"
+ * not-null="true"
+ *
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public String toString() {
+ return new ToStringBuilder(this)
+ .append("localeId", getLocaleId())
+ .append("languageIsoCode", getLanguageIsoCode())
+ .append("countryIsoCode", getCountryIsoCode())
+ .append("description", getDescription())
+ .toString();
+ }
+
+
+}