Index: components/registry/src/java/org/apache/jetspeed/om/impl/DescriptionImpl.java =================================================================== --- components/registry/src/java/org/apache/jetspeed/om/impl/DescriptionImpl.java (revision 377972) +++ components/registry/src/java/org/apache/jetspeed/om/impl/DescriptionImpl.java (working copy) @@ -103,7 +103,25 @@ public void setLanguage(String lang) { - this.locale = new Locale(lang); + String[] localeArray = lang.split("[-|_]"); + String country = ""; + String variant = ""; + for (int i = 0; i < localeArray.length; i++) + { + if (i == 0) + { + lang = localeArray[i]; + } + else if (i == 1) + { + country = localeArray[i]; + } + else if (i == 2) + { + variant = localeArray[i]; + } + } + this.locale = new Locale(lang, country, variant); } } Index: components/registry/src/java/org/apache/jetspeed/om/impl/DisplayNameImpl.java =================================================================== --- components/registry/src/java/org/apache/jetspeed/om/impl/DisplayNameImpl.java (revision 377972) +++ components/registry/src/java/org/apache/jetspeed/om/impl/DisplayNameImpl.java (working copy) @@ -94,7 +94,25 @@ public void setLanguage(String lang) { - this.locale = new Locale(lang); + String[] localeArray = lang.split("[-|_]"); + String country = ""; + String variant = ""; + for (int i = 0; i < localeArray.length; i++) + { + if (i == 0) + { + lang = localeArray[i]; + } + else if (i == 1) + { + country = localeArray[i]; + } + else if (i == 2) + { + variant = localeArray[i]; + } + } + this.locale = new Locale(lang, country, variant); } }