diff --git a/user/src/com/google/gwt/i18n/client/LocaleInfo.java b/user/src/com/google/gwt/i18n/client/LocaleInfo.java
index f60140c..4ebdcaa 100644
--- a/user/src/com/google/gwt/i18n/client/LocaleInfo.java
+++ b/user/src/com/google/gwt/i18n/client/LocaleInfo.java
@@ -66,6 +66,25 @@
     return instance;
   }
 
+  /**
+   * Return the display name of the requested locale in its native locale, if
+   * possible. If no native localization is available, the English name will
+   * be returned, or as a last resort just the locale name will be returned.  If
+   * the locale name is unknown (including an user overrides) or is not a valid
+   * locale property value, null is returned.
+   * 
+   * If the I18N module has not been imported, this will always return null.
+   * 
+   * @param localeName the name of the locale to lookup.
+   * @return the name of the locale in its native locale
+   */
+  public static String getLocaleNativeDisplayName(String localeName) {
+    /*
+     * See the comment from getAvailableLocaleNames() above.
+     */
+    return instance.infoImpl.getLocaleNativeDisplayName(localeName);
+  }
+  
   private final LocaleInfoImpl infoImpl;
   
   private final CldrImpl cldrImpl;
diff --git a/user/src/com/google/gwt/i18n/client/cldr/LocaleNativeDisplayNames-generated.properties b/user/src/com/google/gwt/i18n/client/cldr/LocaleNativeDisplayNames-generated.properties
new file mode 100644
index 0000000..67ab165
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/cldr/LocaleNativeDisplayNames-generated.properties
@@ -0,0 +1,882 @@
+# Do not edit - generated from Unicode CLDR
+#   http://www.unicode.org/cldr/
+#
+# See LocaleNativeDisplayNames-override.properties if you need to make a change
+# to the values generated from CLDR.
+#
+# Source files used:
+#   aa.xml, revision 1.39 (2007/07/19 22:31:38)
+#   aa_DJ.xml, revision 1.36 (2007/07/19 22:31:38)
+#   aa_ER.xml, revision 1.35 (2007/07/19 22:31:38)
+#   aa_ER_SAAHO.xml, revision 1.32 (2007/07/19 22:31:38)
+#   aa_ET.xml, revision 1.36 (2007/07/19 22:31:38)
+#   af.xml, revision 1.60 (2007/07/19 23:30:28)
+#   af_NA.xml, revision 1.16 (2007/07/19 22:31:38)
+#   af_ZA.xml, revision 1.46 (2007/07/19 22:31:38)
+#   ak.xml, revision 1.26 (2007/07/19 22:31:38)
+#   ak_GH.xml, revision 1.14 (2007/07/19 22:31:38)
+#   am.xml, revision 1.67 (2007/07/19 22:31:38)
+#   am_ET.xml, revision 1.47 (2007/07/19 22:31:38)
+#   ar.xml, revision 1.84 (2007/07/24 23:39:15)
+#   ar_AE.xml, revision 1.43 (2007/07/19 22:31:38)
+#   ar_BH.xml, revision 1.43 (2007/07/19 22:31:38)
+#   ar_DZ.xml, revision 1.46 (2007/07/27 18:47:31)
+#   ar_EG.xml, revision 1.46 (2007/07/19 22:31:38)
+#   ar_IQ.xml, revision 1.43 (2007/07/19 22:31:38)
+#   ar_JO.xml, revision 1.44 (2007/07/19 22:31:38)
+#   ar_KW.xml, revision 1.45 (2007/07/19 22:31:38)
+#   ar_LB.xml, revision 1.43 (2007/07/19 22:31:38)
+#   ar_LY.xml, revision 1.43 (2007/07/19 22:31:38)
+#   ar_MA.xml, revision 1.44 (2007/07/27 18:47:31)
+#   ar_OM.xml, revision 1.43 (2007/07/19 22:31:38)
+#   ar_QA.xml, revision 1.44 (2007/07/19 22:31:38)
+#   ar_SA.xml, revision 1.47 (2007/07/19 22:31:38)
+#   ar_SD.xml, revision 1.41 (2007/07/19 22:31:38)
+#   ar_SY.xml, revision 1.46 (2007/07/19 22:31:38)
+#   ar_TN.xml, revision 1.46 (2007/07/27 18:47:31)
+#   ar_YE.xml, revision 1.44 (2007/07/19 22:31:38)
+#   as.xml, revision 1.45 (2007/07/19 22:31:38)
+#   as_IN.xml, revision 1.35 (2007/07/19 22:31:38)
+#   az.xml, revision 1.48 (2007/07/19 22:31:38)
+#   az_AZ.xml, revision 1.36 (2007/07/19 22:31:38)
+#   az_Cyrl.xml, revision 1.23 (2007/07/19 22:31:38)
+#   az_Cyrl_AZ.xml, revision 1.19 (2007/07/19 22:31:38)
+#   az_Latn.xml, revision 1.24 (2007/07/19 22:31:38)
+#   az_Latn_AZ.xml, revision 1.22 (2007/07/19 22:31:38)
+#   be.xml, revision 1.64 (2007/07/23 15:32:12)
+#   be_BY.xml, revision 1.43 (2007/07/19 22:31:38)
+#   bg.xml, revision 1.90 (2007/11/14 16:26:57)
+#   bg_BG.xml, revision 1.50 (2007/07/19 22:31:38)
+#   bn.xml, revision 1.61 (2007/07/19 23:30:28)
+#   bn_BD.xml, revision 1.21 (2007/07/19 22:31:38)
+#   bn_IN.xml, revision 1.52 (2007/07/19 22:31:38)
+#   bo.xml, revision 1.6 (2007/07/19 22:31:38)
+#   bo_CN.xml, revision 1.4 (2007/07/19 22:31:38)
+#   bo_IN.xml, revision 1.3 (2007/07/19 22:31:38)
+#   bs.xml, revision 1.30 (2007/07/19 22:31:38)
+#   bs_BA.xml, revision 1.20 (2007/07/19 22:31:38)
+#   byn.xml, revision 1.49 (2007/07/19 22:31:38)
+#   byn_ER.xml, revision 1.34 (2007/07/19 22:31:38)
+#   ca.xml, revision 1.78 (2007/07/19 22:31:38)
+#   ca_ES.xml, revision 1.46 (2007/07/19 22:31:38)
+#   cch.xml, revision 1.20 (2007/07/19 22:31:38)
+#   cch_NG.xml, revision 1.13 (2007/07/19 22:31:38)
+#   cop.xml, revision 1.18 (2007/07/19 22:31:38)
+#   cop_Arab.xml, revision 1.15 (2007/07/19 22:31:38)
+#   cop_Arab_EG.xml, revision 1.15 (2007/07/19 22:31:38)
+#   cop_Arab_US.xml, revision 1.15 (2007/07/19 22:31:38)
+#   cop_EG.xml, revision 1.17 (2007/07/19 22:31:38)
+#   cop_US.xml, revision 1.15 (2007/07/19 22:31:38)
+#   cs.xml, revision 1.104 (2007/11/14 16:26:57)
+#   cs_CZ.xml, revision 1.46 (2007/07/19 22:31:38)
+#   cy.xml, revision 1.52 (2007/07/19 22:31:38)
+#   cy_GB.xml, revision 1.40 (2007/07/19 22:31:38)
+#   da.xml, revision 1.90 (2007/11/14 16:26:57)
+#   da_DK.xml, revision 1.46 (2007/07/19 22:31:38)
+#   de.xml, revision 1.99 (2007/07/24 23:39:15)
+#   de_AT.xml, revision 1.49 (2007/07/19 22:31:38)
+#   de_BE.xml, revision 1.49 (2007/07/19 22:31:38)
+#   de_CH.xml, revision 1.50 (2007/07/19 22:31:38)
+#   de_DE.xml, revision 1.45 (2007/07/19 22:31:38)
+#   de_LI.xml, revision 1.39 (2007/07/19 22:31:38)
+#   de_LU.xml, revision 1.49 (2007/07/19 22:31:38)
+#   dv.xml, revision 1.39 (2007/07/19 22:31:38)
+#   dv_MV.xml, revision 1.36 (2007/07/19 22:31:38)
+#   dz.xml, revision 1.52 (2007/11/14 16:26:57)
+#   dz_BT.xml, revision 1.39 (2007/07/19 22:31:38)
+#   ee.xml, revision 1.26 (2007/07/19 22:31:38)
+#   ee_GH.xml, revision 1.13 (2007/07/19 22:31:38)
+#   ee_TG.xml, revision 1.16 (2007/07/19 22:31:38)
+#   el.xml, revision 1.84 (2007/07/19 22:31:38)
+#   el_CY.xml, revision 1.22 (2007/07/19 22:31:39)
+#   el_GR.xml, revision 1.48 (2007/07/19 22:31:39)
+#   el_POLYTON.xml, revision 1.4 (2007/07/19 22:31:39)
+#   en.xml, revision 1.161 (2007/11/07 23:36:50)
+#   en_AS.xml, revision 1.34 (2007/07/19 22:31:39)
+#   en_AU.xml, revision 1.46 (2007/08/21 16:11:36)
+#   en_BE.xml, revision 1.52 (2007/07/19 22:31:39)
+#   en_BW.xml, revision 1.42 (2007/07/19 22:31:39)
+#   en_BZ.xml, revision 1.40 (2007/07/19 22:31:39)
+#   en_CA.xml, revision 1.54 (2007/08/21 16:11:36)
+#   en_GB.xml, revision 1.55 (2007/08/21 16:11:36)
+#   en_GU.xml, revision 1.34 (2007/07/19 22:31:39)
+#   en_HK.xml, revision 1.44 (2007/07/19 22:31:39)
+#   en_IE.xml, revision 1.52 (2007/07/19 22:31:39)
+#   en_IN.xml, revision 1.49 (2007/07/19 22:31:39)
+#   en_JM.xml, revision 1.39 (2007/07/19 22:31:39)
+#   en_MH.xml, revision 1.34 (2007/07/19 22:31:39)
+#   en_MP.xml, revision 1.34 (2007/07/19 22:31:39)
+#   en_MT.xml, revision 1.50 (2007/07/19 22:31:39)
+#   en_NA.xml, revision 1.14 (2007/07/19 22:31:39)
+#   en_NZ.xml, revision 1.49 (2007/08/21 16:11:36)
+#   en_PH.xml, revision 1.44 (2007/07/19 22:31:39)
+#   en_PK.xml, revision 1.26 (2007/07/19 22:31:39)
+#   en_SG.xml, revision 1.50 (2007/07/19 22:31:39)
+#   en_TT.xml, revision 1.37 (2007/07/19 22:31:39)
+#   en_UM.xml, revision 1.34 (2007/07/19 22:31:39)
+#   en_US.xml, revision 1.49 (2007/07/19 22:31:39)
+#   en_US_POSIX.xml, revision 1.52 (2007/07/19 22:31:39)
+#   en_VI.xml, revision 1.42 (2007/07/19 22:31:39)
+#   en_ZA.xml, revision 1.50 (2007/08/21 16:11:36)
+#   en_ZW.xml, revision 1.43 (2007/08/21 16:11:36)
+#   eo.xml, revision 1.62 (2007/07/19 22:31:39)
+#   es.xml, revision 1.99 (2007/11/14 16:26:57)
+#   es_AR.xml, revision 1.52 (2007/07/21 21:12:28)
+#   es_BO.xml, revision 1.49 (2007/07/21 21:12:28)
+#   es_CL.xml, revision 1.53 (2007/07/21 21:12:28)
+#   es_CO.xml, revision 1.52 (2007/07/21 21:12:28)
+#   es_CR.xml, revision 1.50 (2007/07/21 21:12:28)
+#   es_DO.xml, revision 1.50 (2007/11/19 23:42:54)
+#   es_EC.xml, revision 1.53 (2007/07/21 21:12:28)
+#   es_ES.xml, revision 1.50 (2007/07/21 21:12:28)
+#   es_GT.xml, revision 1.50 (2007/11/19 23:42:54)
+#   es_HN.xml, revision 1.51 (2007/11/19 23:42:54)
+#   es_MX.xml, revision 1.49 (2007/11/19 23:42:54)
+#   es_NI.xml, revision 1.50 (2007/11/19 23:42:54)
+#   es_PA.xml, revision 1.51 (2007/11/19 23:42:54)
+#   es_PE.xml, revision 1.52 (2007/11/19 23:42:54)
+#   es_PR.xml, revision 1.52 (2007/11/19 23:42:54)
+#   es_PY.xml, revision 1.50 (2007/07/21 21:12:28)
+#   es_SV.xml, revision 1.50 (2007/11/19 23:42:54)
+#   es_US.xml, revision 1.59 (2007/11/19 23:42:54)
+#   es_UY.xml, revision 1.50 (2007/07/21 21:12:28)
+#   es_VE.xml, revision 1.49 (2007/07/21 21:12:28)
+#   et.xml, revision 1.71 (2007/07/19 23:40:49)
+#   et_EE.xml, revision 1.46 (2007/07/19 22:31:39)
+#   eu.xml, revision 1.62 (2007/07/19 22:31:39)
+#   eu_ES.xml, revision 1.45 (2007/07/19 22:31:39)
+#   fa.xml, revision 1.79 (2007/11/14 16:26:57)
+#   fa_AF.xml, revision 1.55 (2007/07/19 22:31:39)
+#   fa_IR.xml, revision 1.50 (2007/07/19 22:31:39)
+#   fi.xml, revision 1.96 (2007/11/14 16:26:57)
+#   fi_FI.xml, revision 1.45 (2007/07/19 22:31:39)
+#   fil.xml, revision 1.8 (2007/11/20 02:39:11)
+#   fo.xml, revision 1.54 (2007/07/19 22:31:39)
+#   fo_FO.xml, revision 1.44 (2007/07/19 22:31:39)
+#   fr.xml, revision 1.107 (2007/11/14 16:26:57)
+#   fr_BE.xml, revision 1.47 (2007/07/19 22:31:39)
+#   fr_CA.xml, revision 1.50 (2007/08/21 16:11:36)
+#   fr_CH.xml, revision 1.47 (2007/07/19 22:31:39)
+#   fr_FR.xml, revision 1.41 (2007/07/19 22:31:39)
+#   fr_LU.xml, revision 1.44 (2007/07/19 22:31:39)
+#   fr_MC.xml, revision 1.36 (2007/07/19 22:31:39)
+#   fur.xml, revision 1.22 (2007/07/19 22:31:39)
+#   fur_IT.xml, revision 1.13 (2007/07/19 22:31:39)
+#   ga.xml, revision 1.61 (2007/07/19 22:31:39)
+#   ga_IE.xml, revision 1.45 (2007/07/19 22:31:39)
+#   gaa.xml, revision 1.20 (2007/07/19 22:31:39)
+#   gaa_GH.xml, revision 1.13 (2007/07/19 22:31:39)
+#   gez.xml, revision 1.50 (2007/07/19 22:31:39)
+#   gez_ER.xml, revision 1.37 (2007/07/19 22:31:39)
+#   gez_ET.xml, revision 1.37 (2007/07/19 22:31:39)
+#   gl.xml, revision 1.52 (2007/07/19 23:30:28)
+#   gl_ES.xml, revision 1.47 (2007/07/19 22:31:39)
+#   gu.xml, revision 1.56 (2007/07/19 22:31:39)
+#   gu_IN.xml, revision 1.53 (2007/07/19 22:31:39)
+#   gv.xml, revision 1.47 (2007/07/19 22:31:39)
+#   gv_GB.xml, revision 1.44 (2007/07/19 22:31:39)
+#   ha.xml, revision 1.23 (2007/07/19 22:31:39)
+#   ha_Arab.xml, revision 1.18 (2007/07/19 22:31:39)
+#   ha_Arab_NG.xml, revision 1.13 (2007/07/19 22:31:39)
+#   ha_GH.xml, revision 1.14 (2007/07/19 22:31:39)
+#   ha_Latn.xml, revision 1.9 (2007/07/19 22:31:39)
+#   ha_Latn_GH.xml, revision 1.9 (2007/07/19 22:31:39)
+#   ha_Latn_NE.xml, revision 1.9 (2007/07/19 22:31:39)
+#   ha_Latn_NG.xml, revision 1.9 (2007/07/19 22:31:39)
+#   ha_NE.xml, revision 1.14 (2007/07/19 22:31:39)
+#   ha_NG.xml, revision 1.14 (2007/07/19 22:31:39)
+#   haw.xml, revision 1.35 (2007/07/19 22:31:39)
+#   haw_US.xml, revision 1.33 (2007/07/19 22:31:39)
+#   he.xml, revision 1.88 (2007/07/24 01:06:03)
+#   he_IL.xml, revision 1.47 (2007/07/19 22:31:39)
+#   hi.xml, revision 1.70 (2007/07/19 22:31:39)
+#   hi_IN.xml, revision 1.52 (2007/07/19 22:31:39)
+#   hr.xml, revision 1.79 (2007/07/19 23:30:28)
+#   hr_HR.xml, revision 1.46 (2007/07/19 22:31:39)
+#   hu.xml, revision 1.89 (2007/11/14 16:26:57)
+#   hu_HU.xml, revision 1.44 (2007/07/19 22:31:39)
+#   hy.xml, revision 1.59 (2007/07/19 23:30:28)
+#   hy_AM.xml, revision 1.43 (2007/07/19 22:31:39)
+#   hy_AM_REVISED.xml, revision 1.43 (2007/07/19 22:31:39)
+#   ia.xml, revision 1.19 (2007/07/19 23:30:28)
+#   id.xml, revision 1.64 (2007/07/19 22:31:39)
+#   id_ID.xml, revision 1.43 (2007/07/19 22:31:39)
+#   ig.xml, revision 1.20 (2007/07/19 22:31:39)
+#   ig_NG.xml, revision 1.12 (2007/07/19 22:31:39)
+#   ii.xml, revision 1.5 (2007/11/28 00:17:37)
+#   ii_CN.xml, revision 1.3 (2007/07/19 22:31:39)
+#   is.xml, revision 1.77 (2007/11/14 16:26:58)
+#   is_IS.xml, revision 1.46 (2007/07/19 22:31:39)
+#   it.xml, revision 1.93 (2007/11/14 16:26:58)
+#   it_CH.xml, revision 1.48 (2007/07/19 22:31:39)
+#   it_IT.xml, revision 1.43 (2007/07/19 22:31:39)
+#   iu.xml, revision 1.32 (2007/07/19 22:31:39)
+#   ja.xml, revision 1.115 (2007/11/14 16:26:58)
+#   ja_JP.xml, revision 1.43 (2007/07/19 22:31:39)
+#   ka.xml, revision 1.47 (2007/11/28 21:17:49)
+#   ka_GE.xml, revision 1.33 (2007/07/19 22:31:39)
+#   kaj.xml, revision 1.17 (2007/07/19 22:31:39)
+#   kaj_NG.xml, revision 1.11 (2007/07/19 22:31:39)
+#   kam.xml, revision 1.20 (2007/07/19 22:31:39)
+#   kam_KE.xml, revision 1.12 (2007/07/19 22:31:39)
+#   kcg.xml, revision 1.18 (2007/07/19 22:31:39)
+#   kcg_NG.xml, revision 1.12 (2007/07/19 22:31:39)
+#   kfo.xml, revision 1.19 (2007/07/19 22:31:39)
+#   kfo_NG.xml, revision 1.12 (2007/07/19 22:31:39)
+#   kk.xml, revision 1.50 (2007/07/19 22:31:39)
+#   kk_KZ.xml, revision 1.37 (2007/07/19 22:31:39)
+#   kl.xml, revision 1.42 (2007/07/19 22:31:39)
+#   kl_GL.xml, revision 1.40 (2007/07/19 22:31:39)
+#   km.xml, revision 1.58 (2007/07/19 22:31:39)
+#   km_KH.xml, revision 1.33 (2007/07/19 22:31:39)
+#   kn.xml, revision 1.57 (2007/07/19 22:31:39)
+#   kn_IN.xml, revision 1.54 (2007/07/19 22:31:39)
+#   ko.xml, revision 1.96 (2007/11/14 16:26:58)
+#   ko_KR.xml, revision 1.53 (2007/07/19 22:31:39)
+#   kok.xml, revision 1.52 (2007/07/19 22:31:39)
+#   kok_IN.xml, revision 1.49 (2007/07/19 22:31:39)
+#   kpe.xml, revision 1.17 (2007/07/19 22:31:39)
+#   kpe_GN.xml, revision 1.14 (2007/07/19 22:31:39)
+#   kpe_LR.xml, revision 1.14 (2007/07/19 22:31:39)
+#   ku.xml, revision 1.18 (2007/07/19 22:31:39)
+#   ku_Arab.xml, revision 1.13 (2007/07/19 22:31:39)
+#   ku_IQ.xml, revision 1.13 (2007/07/19 22:31:39)
+#   ku_IR.xml, revision 1.13 (2007/07/19 22:31:39)
+#   ku_Latn.xml, revision 1.12 (2007/07/19 22:31:39)
+#   ku_Latn_IQ.xml, revision 1.8 (2007/07/19 22:31:39)
+#   ku_Latn_IR.xml, revision 1.8 (2007/07/19 22:31:39)
+#   ku_Latn_SY.xml, revision 1.8 (2007/07/19 22:31:39)
+#   ku_Latn_TR.xml, revision 1.8 (2007/07/19 22:31:39)
+#   ku_SY.xml, revision 1.13 (2007/07/19 22:31:39)
+#   ku_TR.xml, revision 1.13 (2007/07/19 22:31:39)
+#   kw.xml, revision 1.46 (2007/07/19 22:31:39)
+#   kw_GB.xml, revision 1.44 (2007/07/19 22:31:39)
+#   ky.xml, revision 1.35 (2007/07/19 22:31:39)
+#   ky_KG.xml, revision 1.33 (2007/07/19 22:31:39)
+#   ln.xml, revision 1.31 (2007/07/19 23:30:28)
+#   ln_CD.xml, revision 1.12 (2007/07/19 22:31:39)
+#   ln_CG.xml, revision 1.12 (2007/07/19 22:31:39)
+#   lo.xml, revision 1.57 (2007/07/19 22:31:39)
+#   lo_LA.xml, revision 1.36 (2007/07/19 22:31:39)
+#   lt.xml, revision 1.86 (2007/07/19 22:31:39)
+#   lt_LT.xml, revision 1.46 (2007/07/19 22:31:39)
+#   lv.xml, revision 1.70 (2007/07/19 23:40:49)
+#   lv_LV.xml, revision 1.44 (2007/07/19 22:31:39)
+#   mk.xml, revision 1.69 (2007/07/19 22:31:39)
+#   mk_MK.xml, revision 1.40 (2007/07/19 22:31:39)
+#   ml.xml, revision 1.42 (2007/07/26 04:28:12)
+#   ml_IN.xml, revision 1.33 (2007/07/19 22:31:39)
+#   mn.xml, revision 1.40 (2007/07/19 22:31:39)
+#   mn_MN.xml, revision 1.36 (2007/07/19 22:31:39)
+#   mr.xml, revision 1.63 (2007/07/19 22:31:39)
+#   mr_IN.xml, revision 1.54 (2007/07/19 22:31:39)
+#   ms.xml, revision 1.57 (2007/07/19 23:30:28)
+#   ms_BN.xml, revision 1.41 (2007/07/19 22:31:39)
+#   ms_MY.xml, revision 1.42 (2007/07/19 22:31:39)
+#   mt.xml, revision 1.71 (2007/07/19 23:40:49)
+#   mt_MT.xml, revision 1.43 (2007/07/14 23:02:15)
+#   my.xml, revision 1.16 (2007/07/19 22:31:39)
+#   my_MM.xml, revision 1.13 (2007/07/14 23:02:15)
+#   nb.xml, revision 1.85 (2007/07/26 04:29:36)
+#   nb_NO.xml, revision 1.43 (2007/07/14 23:02:15)
+#   ne.xml, revision 1.19 (2007/07/19 02:12:22)
+#   ne_NP.xml, revision 1.11 (2007/07/14 23:02:15)
+#   nl.xml, revision 1.94 (2007/11/14 16:26:58)
+#   nl_BE.xml, revision 1.57 (2007/07/19 22:31:39)
+#   nl_NL.xml, revision 1.42 (2007/07/14 23:02:15)
+#   nn.xml, revision 1.77 (2007/07/19 23:40:49)
+#   nn_NO.xml, revision 1.43 (2007/07/14 23:02:15)
+#   nr.xml, revision 1.18 (2007/07/14 23:02:15)
+#   nr_ZA.xml, revision 1.11 (2007/07/14 23:02:15)
+#   nso.xml, revision 1.19 (2007/07/14 23:02:15)
+#   nso_ZA.xml, revision 1.11 (2007/07/14 23:02:16)
+#   ny.xml, revision 1.20 (2007/07/14 23:02:16)
+#   ny_MW.xml, revision 1.12 (2007/07/14 23:02:16)
+#   om.xml, revision 1.50 (2007/07/19 22:31:39)
+#   om_ET.xml, revision 1.44 (2007/07/14 23:02:16)
+#   om_KE.xml, revision 1.44 (2007/07/14 23:02:16)
+#   or.xml, revision 1.35 (2007/07/19 22:31:39)
+#   or_IN.xml, revision 1.34 (2007/07/14 23:02:16)
+#   pa.xml, revision 1.56 (2007/07/19 23:40:49)
+#   pa_Arab.xml, revision 1.15 (2007/07/14 23:02:16)
+#   pa_Arab_PK.xml, revision 1.10 (2007/07/14 23:02:16)
+#   pa_Guru.xml, revision 1.10 (2007/07/14 23:02:16)
+#   pa_Guru_IN.xml, revision 1.10 (2007/07/14 23:02:16)
+#   pa_IN.xml, revision 1.46 (2007/07/14 23:02:16)
+#   pa_PK.xml, revision 1.11 (2007/07/14 23:02:16)
+#   pl.xml, revision 1.89 (2007/07/20 17:14:05)
+#   pl_PL.xml, revision 1.46 (2007/07/14 23:02:16)
+#   ps.xml, revision 1.50 (2007/07/21 15:33:36)
+#   ps_AF.xml, revision 1.43 (2007/07/14 23:02:16)
+#   pt.xml, revision 1.91 (2007/11/29 18:23:44)
+#   pt_BR.xml, revision 1.48 (2007/07/14 23:02:16)
+#   pt_PT.xml, revision 1.64 (2007/11/14 16:26:58)
+#   ro.xml, revision 1.86 (2007/11/28 00:21:09)
+#   ro_RO.xml, revision 1.43 (2007/07/14 23:02:16)
+#   root.xml, revision 1.124 (2007/11/16 18:12:39)
+#   ru.xml, revision 1.110 (2007/07/20 04:40:45)
+#   ru_RU.xml, revision 1.48 (2007/07/14 23:02:16)
+#   ru_UA.xml, revision 1.48 (2007/07/19 22:31:40)
+#   rw.xml, revision 1.18 (2007/07/19 22:31:40)
+#   rw_RW.xml, revision 1.11 (2007/07/14 23:02:16)
+#   sa.xml, revision 1.39 (2007/07/19 22:31:40)
+#   sa_IN.xml, revision 1.36 (2007/07/14 23:02:16)
+#   se.xml, revision 1.20 (2007/07/19 22:31:40)
+#   se_FI.xml, revision 1.19 (2007/07/19 22:31:40)
+#   se_NO.xml, revision 1.17 (2007/07/14 23:02:16)
+#   sh.xml, revision 1.43 (2007/07/14 23:02:16)
+#   sh_BA.xml, revision 1.19 (2007/07/19 01:02:18)
+#   sh_CS.xml, revision 1.44 (2007/07/19 01:02:18)
+#   sh_YU.xml, revision 1.43 (2007/07/19 01:02:18)
+#   sid.xml, revision 1.39 (2007/07/19 22:31:40)
+#   sid_ET.xml, revision 1.32 (2007/07/14 23:02:16)
+#   sk.xml, revision 1.76 (2007/07/19 22:31:40)
+#   sk_SK.xml, revision 1.43 (2007/07/14 23:02:16)
+#   sl.xml, revision 1.85 (2007/11/28 21:17:49)
+#   sl_SI.xml, revision 1.47 (2007/07/14 23:02:16)
+#   so.xml, revision 1.52 (2007/07/19 23:30:29)
+#   so_DJ.xml, revision 1.45 (2007/07/14 23:02:16)
+#   so_ET.xml, revision 1.45 (2007/07/14 23:02:16)
+#   so_KE.xml, revision 1.44 (2007/07/14 23:02:16)
+#   so_SO.xml, revision 1.44 (2007/07/14 23:02:16)
+#   sq.xml, revision 1.64 (2007/07/19 22:31:40)
+#   sq_AL.xml, revision 1.40 (2007/07/14 23:02:16)
+#   sr.xml, revision 1.88 (2007/07/21 21:40:42)
+#   sr_BA.xml, revision 1.18 (2007/07/19 01:02:18)
+#   sr_CS.xml, revision 1.43 (2007/07/19 01:02:18)
+#   sr_Cyrl.xml, revision 1.34 (2007/07/19 22:31:40)
+#   sr_Cyrl_BA.xml, revision 1.29 (2007/07/24 23:39:15)
+#   sr_Cyrl_CS.xml, revision 1.29 (2007/07/19 01:02:18)
+#   sr_Cyrl_ME.xml, revision 1.5 (2007/07/14 23:02:16)
+#   sr_Cyrl_RS.xml, revision 1.5 (2007/07/14 23:02:16)
+#   sr_Cyrl_YU.xml, revision 1.27 (2007/07/14 23:02:16)
+#   sr_Latn.xml, revision 1.65 (2007/07/21 21:12:28)
+#   sr_Latn_BA.xml, revision 1.25 (2007/07/14 23:02:16)
+#   sr_Latn_CS.xml, revision 1.32 (2007/07/19 01:02:18)
+#   sr_Latn_ME.xml, revision 1.12 (2007/07/21 21:12:28)
+#   sr_Latn_RS.xml, revision 1.12 (2007/07/21 21:12:28)
+#   sr_Latn_YU.xml, revision 1.27 (2007/07/14 23:02:16)
+#   sr_ME.xml, revision 1.6 (2007/07/19 01:02:18)
+#   sr_RS.xml, revision 1.6 (2007/07/19 01:02:18)
+#   sr_YU.xml, revision 1.42 (2007/07/14 23:02:16)
+#   ss.xml, revision 1.17 (2007/07/14 23:02:17)
+#   ss_ZA.xml, revision 1.11 (2007/07/14 23:02:17)
+#   ssy.xml, revision 1.1 (2007/07/19 20:48:11)
+#   st.xml, revision 1.18 (2007/07/15 23:39:11)
+#   st_ZA.xml, revision 1.11 (2007/07/14 23:02:17)
+#   sv.xml, revision 1.109 (2007/11/14 16:26:58)
+#   sv_FI.xml, revision 1.50 (2007/07/19 22:31:40)
+#   sv_SE.xml, revision 1.49 (2007/07/14 23:02:17)
+#   sw.xml, revision 1.60 (2007/07/21 17:23:34)
+#   sw_KE.xml, revision 1.42 (2007/07/14 23:02:17)
+#   sw_TZ.xml, revision 1.48 (2007/07/14 23:02:17)
+#   syr.xml, revision 1.36 (2007/07/19 22:31:40)
+#   syr_SY.xml, revision 1.36 (2007/07/14 23:02:17)
+#   ta.xml, revision 1.64 (2007/07/14 23:02:17)
+#   ta_IN.xml, revision 1.53 (2007/07/14 23:02:17)
+#   te.xml, revision 1.62 (2007/07/21 17:25:02)
+#   te_IN.xml, revision 1.52 (2007/07/14 23:02:17)
+#   tg.xml, revision 1.20 (2007/07/15 23:39:11)
+#   tg_TJ.xml, revision 1.11 (2007/07/14 23:02:17)
+#   th.xml, revision 1.95 (2007/11/14 16:26:58)
+#   th_TH.xml, revision 1.45 (2007/07/14 23:02:17)
+#   ti.xml, revision 1.55 (2007/07/19 22:31:40)
+#   ti_ER.xml, revision 1.45 (2007/07/14 23:02:17)
+#   ti_ET.xml, revision 1.46 (2007/07/14 23:02:17)
+#   tig.xml, revision 1.50 (2007/07/19 22:31:40)
+#   tig_ER.xml, revision 1.32 (2007/07/14 23:02:17)
+#   tn.xml, revision 1.20 (2007/07/14 23:02:17)
+#   tn_ZA.xml, revision 1.11 (2007/07/14 23:02:17)
+#   to.xml, revision 1.5 (2007/07/19 22:31:40)
+#   to_TO.xml, revision 1.3 (2007/07/14 23:02:17)
+#   tr.xml, revision 1.92 (2007/11/14 16:26:58)
+#   tr_TR.xml, revision 1.44 (2007/07/14 23:02:17)
+#   ts.xml, revision 1.18 (2007/07/14 23:02:17)
+#   ts_ZA.xml, revision 1.11 (2007/07/14 23:02:17)
+#   tt.xml, revision 1.35 (2007/07/19 22:31:40)
+#   tt_RU.xml, revision 1.35 (2007/07/14 23:02:17)
+#   ug.xml, revision 1.19 (2007/07/19 22:31:40)
+#   uk.xml, revision 1.95 (2007/07/19 23:30:29)
+#   uk_UA.xml, revision 1.42 (2007/07/14 23:02:17)
+#   und.xml, revision 1.3 (2007/07/19 01:02:18)
+#   und_ZZ.xml, revision 1.4 (2007/07/19 01:46:01)
+#   ur.xml, revision 1.46 (2007/07/21 17:40:15)
+#   ur_IN.xml, revision 1.11 (2007/07/14 23:02:17)
+#   ur_PK.xml, revision 1.31 (2007/07/14 23:02:17)
+#   uz.xml, revision 1.42 (2007/07/19 22:31:40)
+#   uz_AF.xml, revision 1.37 (2007/07/19 01:57:28)
+#   uz_Arab.xml, revision 1.24 (2007/07/19 22:31:40)
+#   uz_Arab_AF.xml, revision 1.18 (2007/07/14 23:02:17)
+#   uz_Cyrl.xml, revision 1.18 (2007/07/14 23:02:17)
+#   uz_Cyrl_UZ.xml, revision 1.17 (2007/07/14 23:02:17)
+#   uz_Latn.xml, revision 1.17 (2007/07/14 23:02:17)
+#   uz_Latn_UZ.xml, revision 1.17 (2007/07/14 23:02:17)
+#   uz_UZ.xml, revision 1.34 (2007/07/19 01:57:28)
+#   ve.xml, revision 1.18 (2007/07/14 23:02:17)
+#   ve_ZA.xml, revision 1.11 (2007/07/14 23:02:17)
+#   vi.xml, revision 1.60 (2007/07/19 23:30:29)
+#   vi_VN.xml, revision 1.37 (2007/07/14 23:02:17)
+#   wal.xml, revision 1.47 (2007/07/19 22:31:40)
+#   wal_ET.xml, revision 1.33 (2007/07/14 23:02:17)
+#   wo.xml, revision 1.21 (2007/07/19 22:31:40)
+#   wo_Arab.xml, revision 1.10 (2007/07/14 23:02:17)
+#   wo_Arab_SN.xml, revision 1.10 (2007/07/14 23:02:17)
+#   wo_Latn.xml, revision 1.10 (2007/07/14 23:02:17)
+#   wo_Latn_SN.xml, revision 1.10 (2007/07/14 23:02:17)
+#   wo_SN.xml, revision 1.13 (2007/07/14 23:02:17)
+#   xh.xml, revision 1.18 (2007/07/14 23:02:17)
+#   xh_ZA.xml, revision 1.11 (2007/07/14 23:02:17)
+#   yo.xml, revision 1.22 (2007/07/15 23:39:12)
+#   yo_NG.xml, revision 1.11 (2007/07/14 23:02:17)
+#   zh.xml, revision 1.105 (2007/11/14 16:26:58)
+#   zh_CN.xml, revision 1.42 (2007/07/14 23:02:17)
+#   zh_HK.xml, revision 1.40 (2007/07/14 23:02:17)
+#   zh_Hans.xml, revision 1.46 (2007/07/19 22:31:40)
+#   zh_Hans_CN.xml, revision 1.34 (2007/07/14 23:02:17)
+#   zh_Hans_SG.xml, revision 1.47 (2007/11/28 21:17:49)
+#   zh_Hant.xml, revision 1.91 (2007/11/29 18:23:45)
+#   zh_Hant_HK.xml, revision 1.58 (2007/07/19 22:31:40)
+#   zh_Hant_MO.xml, revision 1.53 (2007/07/21 21:12:28)
+#   zh_Hant_TW.xml, revision 1.35 (2007/07/14 23:02:17)
+#   zh_MO.xml, revision 1.41 (2007/07/14 23:02:17)
+#   zh_SG.xml, revision 1.41 (2007/07/14 23:02:17)
+#   zh_TW.xml, revision 1.46 (2007/07/14 23:02:17)
+#   zu.xml, revision 1.19 (2007/07/14 23:02:17)
+#   zu_ZA.xml, revision 1.11 (2007/07/14 23:02:17)
+
+aa_DJ=Qafar [Yabuuti]
+aa_ER_SAAHO=Qafar [Eretria - Saho]
+aa_ER=Qafar [Eretria]
+aa_ET=Qafar [Otobbia]
+aa=Qafar
+af_NA=Afrikaans [Namibië]
+af=Afrikaans
+af_ZA=Afrikaans [Suid-Afrika]
+ak_GH=Akan [Ghana]
+ak=Akan
+am_ET=አማርኛ [ኢትዮጵያ]
+am=አማርኛ
+ar_AE=العربية [الامارات العربية المتحدة]
+ar_BH=العربية [البحرين]
+ar_DZ=العربية [الجزائر]
+ar_EG=العربية [مصر]
+ar_IQ=العربية [العراق]
+ar_JO=العربية [الأردن]
+ar_KW=العربية [الكويت]
+ar_LB=العربية [لبنان]
+ar_LY=العربية [ليبيا]
+ar_MA=العربية [المغرب]
+ar_OM=العربية [عمان]
+ar_QA=العربية [قطر]
+ar_SA=العربية [المملكة العربية السعودية]
+ar_SD=العربية [السودان]
+ar_SY=العربية [سوريا]
+ar_TN=العربية [تونس]
+ar=العربية
+ar_YE=العربية [اليمن]
+as_IN=অসমীয়া [ভাৰত]
+as=অসমীয়া
+az_AZ=azərbaycanca [Latin - Azərbaycan]
+az_Cyrl_AZ=Азәрбајҹан [Cyrillic - Азәрбајҹан]
+az_Cyrl=Азәрбајҹан [Cyrillic]
+az_Latn_AZ=azərbaycanca [Latin - Azərbaycan]
+az_Latn=azərbaycanca [Latin]
+az=azərbaycanca
+be_BY=беларуская [Беларусь]
+be=беларуская
+bg_BG=български [България]
+bg=български
+bn_BD=বাংলা [বাংলাদেশ]
+bn_IN=বাংলা [ভারত]
+bn=বাংলা
+bo_CN=པོད་སྐད་ [རྒྱ་ནག]
+bo_IN=པོད་སྐད་ [རྒྱ་གར་]
+bo=པོད་སྐད་
+bs_BA=bosanski [Bosna i Hercegovina]
+bs=bosanski
+byn_ER=ብሊን [ኤርትራ]
+byn=ብሊን
+ca_ES=català [Espanya]
+ca=català
+cch_NG=Atsam [Nigeria]
+cch=Atsam
+cop_Arab_EG=Coptic [Arabic - Egypt]
+cop_Arab_US=Coptic [Arabic - United States]
+cop_Arab=Coptic [Arabic]
+cop_EG=Coptic [Egypt]
+cop_US=Coptic [United States]
+cop=Coptic
+cs_CZ=čeština [Česká republika]
+cs=čeština
+cy_GB=Cymraeg [Prydain Fawr]
+cy=Cymraeg
+da_DK=dansk [Danmark]
+da=dansk
+de_AT=Deutsch [Österreich]
+de_BE=Deutsch [Belgien]
+de_CH=Deutsch [Schweiz]
+de_DE=Deutsch [Deutschland]
+de_LI=Deutsch [Liechtenstein]
+de_LU=Deutsch [Luxemburg]
+de=Deutsch
+dv_MV=ދިވެހިބަސް [ދިވެހި ރާއްޖެ]
+dv=ދިވެހިބަސް
+dz_BT=རྫོང་ཁ [འབྲུག]
+dz=རྫོང་ཁ
+ee_GH=Ewe [Ghana]
+ee_TG=Ewe [Togo]
+ee=Ewe
+el_CY=Ελληνικά [Κύπρος]
+el_GR=Ελληνικά [Ελλάδα]
+el_POLYTON=Ἑλληνικά [Πολυτονικό]
+el=Ελληνικά
+en_AS=English [American Samoa]
+en_AU=Australian English
+en_BE=English [Belgium]
+en_BW=English [Botswana]
+en_BZ=English [Belize]
+en_CA=Canadian English
+en_GB=British English
+en_GU=English [Guam]
+en_HK=English [Hong Kong SAR China]
+en_IE=English [Ireland]
+en_IN=English [India]
+en_JM=English [Jamaica]
+en_MH=English [Marshall Islands]
+en_MP=English [Northern Mariana Islands]
+en_MT=English [Malta]
+en_NA=English [Namibia]
+en_NZ=English [New Zealand]
+en_PH=English [Philippines]
+en_PK=English [Pakistan]
+en_SG=English [Singapore]
+en_TT=English [Trinidad and Tobago]
+en_UM=English [United States Minor Outlying Islands]
+en_US_POSIX=U.S. English [Computer]
+en_US=U.S. English
+en_VI=English [U.S. Virgin Islands]
+en=English
+en_ZA=English [South Africa]
+en_ZW=English [Zimbabwe]
+eo=esperanto
+es_AR=español [Argentina]
+es_BO=español [Bolivia]
+es_CL=español [Chile]
+es_CO=español [Colombia]
+es_CR=español [Costa Rica]
+es_DO=español [República Dominicana]
+es_EC=español [Ecuador]
+es_ES=español de España
+es_GT=español [Guatemala]
+es_HN=español [Honduras]
+es_MX=español [México]
+es_NI=español [Nicaragua]
+es_PA=español [Panamá]
+es_PE=español [Perú]
+es_PR=español [Puerto Rico]
+es_PY=español [Paraguay]
+es_SV=español [El Salvador]
+es_US=español [Estados Unidos]
+es_UY=español [Uruguay]
+es_VE=español [Venezuela]
+es=español
+et_EE=eesti [Eesti]
+et=eesti
+eu_ES=euskara [Espainia]
+eu=euskara
+fa_AF=دری [افغانستان]
+fa_IR=فارسی [ایران]
+fa=فارسی
+fi_FI=suomi [Suomi]
+fil=Filipino
+fi=suomi
+fo_FO=føroyskt [Føroyar]
+fo=føroyskt
+fr_BE=français [Belgique]
+fr_CA=français canadien
+fr_CH=français suisse
+fr_FR=français [France]
+fr_LU=français [Luxembourg]
+fr_MC=français [Monaco]
+fr=français
+fur_IT=furlan [Italie]
+fur=furlan
+gaa_GH=Ga [Ghana]
+gaa=Ga
+ga_IE=Gaeilge [Éire]
+ga=Gaeilge
+gez_ER=ግዕዝኛ [ኤርትራ]
+gez_ET=ግዕዝኛ [ኢትዮጵያ]
+gez=ግዕዝኛ
+gl_ES=galego [España]
+gl=galego
+gu_IN=ગુજરાતી [ભારત]
+gu=ગુજરાતી
+gv_GB=Gaelg [Rywvaneth Unys]
+gv=Gaelg
+ha_Arab_NG=Hausa [Arabic - Nigeria]
+ha_Arab=Hausa [Arabic]
+ha_GH=Hausa [Ghana]
+ha_Latn_GH=Hausa [Latin - Ghana]
+ha_Latn_NE=Hausa [Latin - Niger]
+ha_Latn_NG=Hausa [Latin - Nigeria]
+ha_Latn=Hausa [Latin]
+ha_NE=Hausa [Niger]
+ha_NG=Hausa [Nigeria]
+haw_US=ʻōlelo Hawaiʻi [ʻAmelika Hui Pū ʻIa]
+haw=ʻōlelo Hawaiʻi
+ha=Hausa
+he_IL=עברית [ישראל]
+he=עברית
+hi_IN=हिंदी [भारत]
+hi=हिंदी
+hr_HR=hrvatski [Hrvatska]
+hr=hrvatski
+hu_HU=magyar [Magyarország]
+hu=magyar
+hy_AM_REVISED=Հայերէն [Հայաստանի Հանրապետութիւն - Revised Orthography]
+hy_AM=Հայերէն [Հայաստանի Հանրապետութիւն]
+hy=Հայերէն
+ia=interlingua
+id_ID=Bahasa Indonesia [Indonesia]
+id=Bahasa Indonesia
+ig_NG=Igbo [Nigeria]
+ig=Igbo
+ii_CN=ꆈꌠꉙ [ꍏꇩ]
+ii=ꆈꌠꉙ
+is_IS=íslenska [Ísland]
+is=íslenska
+it_CH=italiano [Svizzera]
+it_IT=italiano [Italia]
+it=italiano
+iu=ᐃᓄᒃᑎᑐᑦ ᑎᑎᕋᐅᓯᖅ
+ja_JP=日本語 [日本]
+ja=日本語
+ka_GE=ქართული [საქართველო]
+kaj_NG=Jju [Nigeria]
+kaj=Jju
+kam_KE=Kamba [Kenya]
+kam=Kamba
+ka=ქართული
+kcg_NG=Tyap [Nigeria]
+kcg=Tyap
+kfo_NG=Koro [Nigeria]
+kfo=Koro
+kk_KZ=Қазақ [Қазақстан]
+kk=Қазақ
+kl_GL=kalaallisut [Kalaallit Nunaat]
+kl=kalaallisut
+km_KH=ភាសាខ្មែរ [កម្ពុជា]
+km=ភាសាខ្មែរ
+kn_IN=ಕನ್ನಡ [ಭಾರತ]
+kn=ಕನ್ನಡ
+kok_IN=कोंकणी [भारत]
+ko_KR=한국어 [대한민국]
+kok=कोंकणी
+ko=한국어
+kpe_GN=Kpelle [Guinea]
+kpe_LR=Kpelle [Liberia]
+kpe=Kpelle
+ku_Arab=كوردی [erebî]
+ku_IQ=kurdî [Latin - Iraq]
+ku_IR=kurdî [Latin - Iran]
+ku_Latn_IQ=kurdî [Latin - Iraq]
+ku_Latn_IR=kurdî [Latin - Iran]
+ku_Latn_SY=kurdî [Latin - Syria]
+ku_Latn_TR=kurdî [Latin - Tirkiye]
+ku_Latn=kurdî [Latin]
+ku_SY=kurdî [Latin - Syria]
+ku_TR=kurdî [Latin - Tirkiye]
+ku=kurdî
+kw_GB=kernewek [Rywvaneth Unys]
+kw=kernewek
+ky_KG=Кыргыз [Кыргызстан]
+ky=Кыргыз
+ln_CD=lingála [Kongó-Kinsásá]
+ln_CG=lingála [Kongó-Brazzaville]
+ln=lingála
+lo_LA=ລາວ [ລາວ]
+lo=ລາວ
+lt_LT=lietuvių [Lietuva]
+lt=lietuvių
+lv_LV=latviešu [Latvija]
+lv=latviešu
+mk_MK=македонски [Македонија]
+mk=македонски
+ml_IN=മലയാളം [ഇന്ത്യ]
+ml=മലയാളം
+mn_MN=монгол [Монгол улс]
+mn=монгол
+mr_IN=मराठी [भारत]
+mr=मराठी
+ms_BN=Bahasa Melayu [Brunei]
+ms_MY=Bahasa Melayu [Malaysia]
+ms=Bahasa Melayu
+mt_MT=Malti [Malta]
+mt=Malti
+my_MM=Burmese [Myanmar]
+my=Burmese
+nb_NO=norsk bokmål [Norge]
+nb=norsk bokmål
+ne_NP=नेपाली [Nepal]
+ne=नेपाली
+nl_BE=Vlaams
+nl_NL=Nederlands [Nederland]
+nl=Nederlands
+nn_NO=nynorsk [Noreg]
+nn=nynorsk
+nr=isiNdebele
+nr_ZA=isiNdebele [South Africa]
+nso=Sesotho sa Leboa
+nso_ZA=Sesotho sa Leboa [South Africa]
+ny_MW=Nyanja [Malawi]
+ny=Nyanja
+om_ET=Oromoo [Itoophiyaa]
+om_KE=Oromoo [Keeniyaa]
+om=Oromoo
+or_IN=ଓଡ଼ିଆ [ଭାରତ]
+or=ଓଡ଼ିଆ
+pa_Arab_PK=پنجاب [Arabic - Pakistan]
+pa_Arab=پنجاب [Arabic]
+pa_Guru_IN=ਪੰਜਾਬੀ [ਗੁਰਮੁਖੀ - ਭਾਰਤ]
+pa_Guru=ਪੰਜਾਬੀ [ਗੁਰਮੁਖੀ]
+pa_IN=ਪੰਜਾਬੀ [ਗੁਰਮੁਖੀ - ਭਾਰਤ]
+pa_PK=ਪੰਜਾਬੀ [Arabic - Pakistan]
+pa=ਪੰਜਾਬੀ
+pl_PL=polski [Polska]
+pl=polski
+ps_AF=پښتو [افغانستان]
+ps=پښتو
+pt_BR=português [Brasil]
+pt_PT=português [Portugal]
+pt=português
+ro_RO=română [România]
+ro=română
+ru_RU=русский [Россия]
+ru_UA=русский [Украина]
+ru=русский
+rw_RW=Kinyarwanda [Rwanda]
+rw=Kinyarwanda
+sa_IN=संस्कृत भाषा [भारतम्]
+sa=संस्कृत भाषा
+se_FI=se [FI]
+se_NO=dávvisámegiella [Norgga]
+se=dávvisámegiella
+sh_BA=Srpski [Latinica - Bosna i Hercegovina]
+sh_CS=Srpski [Latinica - Srbija]
+sh=Srpski [Latinica]
+sh_YU=Srpski [Latinica - Srbija]
+sid_ET=Sidaamu Afo [Itiyoophiya]
+sid=Sidaamu Afo
+sk_SK=slovenský [Slovenská republika]
+sk=slovenský
+sl_SI=slovenščina [Slovenija]
+sl=slovenščina
+so_DJ=Soomaali [Jabuuti]
+so_ET=Soomaali [Itoobiya]
+so_KE=Soomaali [Kiiniya]
+so_SO=Soomaali [Soomaaliya]
+so=Soomaali
+sq_AL=shqipe [Shqipëria]
+sq=shqipe
+sr_BA=српски [Ћирилица - Босна и Херцеговина]
+sr_CS=Српски [Ћирилица - Србија]
+sr_Cyrl_BA=српски [Ћирилица - Босна и Херцеговина]
+sr_Cyrl_CS=Српски [Ћирилица - Србија]
+sr_Cyrl_ME=Српски [Ћирилица - Црна Гора]
+sr_Cyrl_RS=Српски [Ћирилица - Србија]
+sr_Cyrl=Српски [Ћирилица]
+sr_Cyrl_YU=Српски [Ћирилица - Србија]
+sr_Latn_BA=Srpski [Latinica - Bosna i Hercegovina]
+sr_Latn_CS=Srpski [Latinica - Srbija]
+sr_Latn_ME=Srpski [Latinica - Crna Gora]
+sr_Latn_RS=Srpski [Latinica - Srbija]
+sr_Latn=Srpski [Latinica]
+sr_Latn_YU=Srpski [Latinica - Srbija]
+sr_ME=Српски [Ћирилица - Црна Гора]
+sr_RS=Српски [Ћирилица - Србија]
+sr=Српски
+sr_YU=Српски [Ћирилица - Србија]
+ss=Siswati
+ss_ZA=Siswati [South Africa]
+st=Sesotho
+st_ZA=Sesotho [South Africa]
+sv_FI=svenska [Finland]
+sv_SE=svenska [Sverige]
+sv=svenska
+sw_KE=Kiswahili [Kenya]
+sw_TZ=Kiswahili [Tanzania]
+sw=Kiswahili
+syr_SY=ܣܘܪܝܝܐ [ܣܘܪܝܝܐ]
+syr=ܣܘܪܝܝܐ
+ta_IN=தமிழ் [இந்தியா]
+ta=தமிழ்
+te_IN=తెలుగు [భారత దేళం]
+te=తెలుగు
+tg_TJ=Tajik [Tajikistan]
+tg=Tajik
+th_TH=ไทย [ประเทศไทย]
+th=ไทย
+ti_ER=ትግርኛ [Eritrea]
+ti_ET=ትግርኛ [Ethiopia]
+tig_ER=ትግረ [ኤርትራ]
+tig=ትግረ
+ti=ትግርኛ
+tn=Setswana
+tn_ZA=Setswana [South Africa]
+to_TO=lea fakatonga [Tonga]
+to=lea fakatonga
+tr_TR=Türkçe [Türkiye]
+tr=Türkçe
+ts=Xitsonga
+ts_ZA=Xitsonga [South Africa]
+tt_RU=Татар [Россия]
+tt=Татар
+ug=Uighur
+uk_UA=українська [Україна]
+uk=українська
+und=Unknown or Invalid Language
+und_ZZ=Unknown or Invalid Language [Unknown or Invalid Region]
+ur_IN=اردو [بھارت]
+ur_PK=اردو [پاکستان]
+ur=اردو
+uz_AF=Ўзбек [Араб - Афғонистон]
+uz_Arab_AF=اۉزبېک [Араб - افغانستان]
+uz_Arab=اۉزبېک [Араб]
+uz_Cyrl_UZ=Ўзбек [Кирил - Ўзбекистон]
+uz_Cyrl=Ўзбек [Кирил]
+uz_Latn_UZ=o'zbekcha [Lotin - Oʿzbekiston]
+uz_Latn=o'zbekcha [Lotin]
+uz_UZ=Ўзбек [Кирил - Ўзбекистон]
+uz=Ўзбек
+ve=Tshivenḓa
+ve_ZA=Tshivenḓa [South Africa]
+vi_VN=Tiếng Việt [Việt Nam]
+vi=Tiếng Việt
+wal_ET=ወላይታቱ [ኢትዮጵያ]
+wal=ወላይታቱ
+wo_Arab_SN=Wolof [Arabic - Senegal]
+wo_Arab=Wolof [Arabic]
+wo_Latn_SN=Wolof [Latin - Senegal]
+wo_Latn=Wolof [Latin]
+wo_SN=Wolof [Senegal]
+wo=Wolof
+xh=isiXhosa
+xh_ZA=isiXhosa [South Africa]
+yo_NG=Yoruba [Nigeria]
+yo=Yoruba
+zh_CN=中文（简体） [中国]
+zh_Hans_CN=中文（简体） [中国]
+zh_Hans_SG=中文（简体） [新加坡]
+zh_Hans=中文（简体）
+zh_Hant_HK=繁體中文 [中華人民共和國香港特別行政區]
+zh_Hant_MO=繁體中文 [中華人民共和國澳門特別行政區]
+zh_Hant_TW=繁體中文 [臺灣]
+zh_Hant=繁體中文
+zh_HK=中文（繁体） [中国香港特别行政区]
+zh_MO=中文（繁体） [中国澳门特别行政区]
+zh_SG=中文（简体） [新加坡]
+zh_TW=中文（繁体） [台湾]
+zh=中文
+zu=isiZulu
+zu_ZA=isiZulu [South Africa]
diff --git a/user/src/com/google/gwt/i18n/client/cldr/LocaleNativeDisplayNames-override.properties b/user/src/com/google/gwt/i18n/client/cldr/LocaleNativeDisplayNames-override.properties
new file mode 100644
index 0000000..df3e25e
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/cldr/LocaleNativeDisplayNames-override.properties
@@ -0,0 +1,26 @@
+# Copyright 2008 Google, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy of
+# the License at
+# 
+# http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations under
+# the License.
+#
+#
+# Hand-written overrides to machine-generated extract of CLDR data
+# kept in LocaleNativeDisplayNames-generated.properties.
+#
+# An entry in this file with a blank key will essentially delete
+# that entry from the machine-generated version, otherwise anything
+# entered here will replace that entry.
+#
+# These files are searched via the classpath so you can put a different copy
+# earlier on the classpath if you need application or site-specific changes.
+
+ssy=Saho  # no display name included in CLDR
diff --git a/user/src/com/google/gwt/i18n/client/impl/LocaleInfoImpl.java b/user/src/com/google/gwt/i18n/client/impl/LocaleInfoImpl.java
index d391e7c..ee23169 100644
--- a/user/src/com/google/gwt/i18n/client/impl/LocaleInfoImpl.java
+++ b/user/src/com/google/gwt/i18n/client/impl/LocaleInfoImpl.java
@@ -39,4 +39,17 @@
   public String getLocaleName() {
     return null;
   }
+  
+  /**
+   * Return the display name of the requested locale in its native locale, if
+   * possible. If no native localization is available, the English name will
+   * be returned, or as a last resort just the locale name will be returned.  If
+   * the locale name is unknown (including an user overrides), null is returned.
+   * 
+   * @param localeName the name of the locale to lookup.
+   * @return the name of the locale in its native locale
+   */
+  public String getLocaleNativeDisplayName(String localeName) {
+    return null;
+  }
 }
diff --git a/user/src/com/google/gwt/i18n/rebind/LocaleInfoGenerator.java b/user/src/com/google/gwt/i18n/rebind/LocaleInfoGenerator.java
index 9542fc4..061cb53 100644
--- a/user/src/com/google/gwt/i18n/rebind/LocaleInfoGenerator.java
+++ b/user/src/com/google/gwt/i18n/rebind/LocaleInfoGenerator.java
@@ -28,7 +28,12 @@
 import com.google.gwt.user.rebind.ClassSourceFileComposerFactory;
 import com.google.gwt.user.rebind.SourceWriter;
 
+import org.apache.tapestry.util.text.LocalizedProperties;
+
+import java.io.IOException;
+import java.io.InputStream;
 import java.io.PrintWriter;
+import java.io.UnsupportedEncodingException;
 
 /**
  * Generator used to generate an implementation of the LocaleInfoImpl class,
@@ -37,6 +42,19 @@
 public class LocaleInfoGenerator extends Generator {
 
   /**
+   * Properties file containing machine-generated locale display names, in
+   * their native locales (if possible).
+   */
+  private static final String GENERATED_LOCALE_NATIVE_DISPLAY_NAMES =
+      "com/google/gwt/i18n/client/cldr/LocaleNativeDisplayNames-generated.properties";
+  /**
+   * Properties file containing hand-made overrides of locale display names,
+   * in their native locales (if possible).
+   */
+  private static final String OVERRIDE_LOCALE_NATIVE_DISPLAY_NAMES =
+      "com/google/gwt/i18n/client/cldr/LocaleNativeDisplayNames-override.properties";
+  
+  /**
    * The token representing the locale property controlling Localization.
    */
   private static final String PROP_LOCALE = "locale";
@@ -80,16 +98,16 @@
     if (!locale.equals("default")) {
       className += locale;
     }
+    String qualName = packageName + "." + className;
     
     PrintWriter pw = context.tryCreate(logger, packageName, className);
     if (pw != null) {
       ClassSourceFileComposerFactory factory = new ClassSourceFileComposerFactory(
           packageName, className);
       factory.setSuperclass(targetClass.getQualifiedSourceName());
+      factory.addImport("com.google.gwt.core.client.JavaScriptObject");
       SourceWriter writer = factory.createSourceWriter(context, pw);
-      writer.println("public String getLocaleName() {");
-      writer.println("  return \"" + locale + "\";");
-      writer.println("}");
+      writer.println("private JavaScriptObject nativeDisplayNames;");
       writer.println();
       writer.println("public String[] getAvailableLocaleNames() {");
       writer.println("  return new String[] {");
@@ -98,6 +116,62 @@
       }
       writer.println("  };");
       writer.println("}");
+      writer.println();
+      writer.println("public String getLocaleName() {");
+      writer.println("  return \"" + locale + "\";");
+      writer.println("}");
+      writer.println();
+      writer.println("public native String getLocaleNativeDisplayName(String localeName) /*-{");
+      writer.println("  this.@" + qualName + "::ensureNativeDisplayNames()();");
+      writer.println("  return this.@" + qualName + "::nativeDisplayNames[localeName] || null;");
+      writer.println("}-*/;");
+      writer.println();
+      writer.println("private native void ensureNativeDisplayNames() /*-{");
+      writer.println("  if (this.@" + qualName + "::nativeDisplayNames != null) {");
+      writer.println("    return;");
+      writer.println("  }");
+      writer.println("  this.@" + qualName + "::nativeDisplayNames = {");
+      LocalizedProperties displayNames = new LocalizedProperties();
+      LocalizedProperties displayNamesOverride = new LocalizedProperties();
+      ClassLoader classLoader = getClass().getClassLoader();
+      try {
+        InputStream str = classLoader.getResourceAsStream(GENERATED_LOCALE_NATIVE_DISPLAY_NAMES);
+        if (str != null) {
+          displayNames.load(str, "UTF-8");
+        }
+        str = classLoader.getResourceAsStream(OVERRIDE_LOCALE_NATIVE_DISPLAY_NAMES);
+        if (str != null) {
+          displayNamesOverride.load(str, "UTF-8");
+        }
+      } catch (UnsupportedEncodingException e) {
+        // UTF-8 should always be defined
+        logger.log(TreeLogger.ERROR, "UTF-8 encoding is not defined", e);
+        throw new UnableToCompleteException();
+      } catch (IOException e) {
+        logger.log(TreeLogger.ERROR, "Exception reading locale display names", e);
+        throw new UnableToCompleteException();
+      }
+      boolean needComma = false;
+      for (String propval : localeValues) {
+        String displayName = displayNamesOverride.getProperty(propval);
+        if (displayName == null) {
+          displayName = displayNames.getProperty(propval);
+        }
+        if (displayName != null && displayName.length() != 0) {
+          propval.replace("\"", "\\\"");
+          displayName.replace("\"", "\\\"");
+          if (needComma) {
+            writer.println(",");
+          }
+          writer.print("    \"" + propval + "\": \"" + displayName + "\"");
+          needComma = true;
+        }
+      }
+      if (needComma) {
+        writer.println();
+      }
+      writer.println("  };");
+      writer.println("}-*/;");
       writer.commit(logger);
     }
     return packageName + "." + className;
diff --git a/user/test/com/google/gwt/i18n/client/LocaleInfoTest.java b/user/test/com/google/gwt/i18n/client/LocaleInfoTest.java
index 443df93..2960af4 100644
--- a/user/test/com/google/gwt/i18n/client/LocaleInfoTest.java
+++ b/user/test/com/google/gwt/i18n/client/LocaleInfoTest.java
@@ -36,6 +36,16 @@
     assertArrayEquals(new String[] {
         "default", "piglatin", "piglatin_UK", "piglatin_UK_win"}, locales);
   }
+
+  public void testNativeDisplayNames() {
+    // en isn't in the property set for this module so should return null
+    String displayName = LocaleInfo.getLocaleNativeDisplayName("en");
+    assertNull(displayName);
+    
+    // verify piglatin is known
+    displayName = LocaleInfo.getLocaleNativeDisplayName("piglatin");
+    assertEquals("Igpay Atinlay", displayName);
+  }
   
   public void testRTL() {
     boolean isRTL = LocaleInfo.getCurrentLocale().isRTL();
diff --git a/user/test/com/google/gwt/i18n/client/LocaleInfo_ar_Test.java b/user/test/com/google/gwt/i18n/client/LocaleInfo_ar_Test.java
index d2df01a..39e1181 100644
--- a/user/test/com/google/gwt/i18n/client/LocaleInfo_ar_Test.java
+++ b/user/test/com/google/gwt/i18n/client/LocaleInfo_ar_Test.java
@@ -36,6 +36,12 @@
     assertArrayEquals(new String[] {"ar", "default"}, locales);
   }
 
+  public void testNativeDisplayNames() {
+    // verify ar is known
+    String displayName = LocaleInfo.getLocaleNativeDisplayName("ar");
+    assertEquals("العربية", displayName);
+  }
+  
   public void testRTL() {
     boolean isRTL = LocaleInfo.getCurrentLocale().isRTL();
     assertTrue(isRTL);
diff --git a/user/test/com/google/gwt/i18n/client/cldr/LocaleNativeDisplayNames-override.properties b/user/test/com/google/gwt/i18n/client/cldr/LocaleNativeDisplayNames-override.properties
new file mode 100644
index 0000000..45ec1ce
--- /dev/null
+++ b/user/test/com/google/gwt/i18n/client/cldr/LocaleNativeDisplayNames-override.properties
@@ -0,0 +1,19 @@
+# Copyright 2008 Google, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy of
+# the License at
+# 
+# http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations under
+# the License.
+#
+#
+# This file adds additional locale names to the standard properties files, and
+# demonstrates how a user might define additional locales that are needed.
+
+piglatin=Igpay Atinlay
