Add additional predefined Date/Time formats and the ability to generate custom localized formats.

Public review at: http://gwt-code-reviews.appspot.com/578801

Patch by: jat
Review by: jlabanca


git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@8252 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/build.xml b/dev/build.xml
index 75af45b..cfc3b0c 100755
--- a/dev/build.xml
+++ b/dev/build.xml
@@ -54,6 +54,7 @@
           <include name="apache/ant-1.6.5.jar" />
           <include name="eclipse/jdt-3.4.2.jar" />
           <include name="jetty/jetty-6.1.11.jar" />
+          <include name="icu4j/icu4j-4_4_1.jar" />
           <include name="protobuf/protobuf-2.2.0/protobuf-java-rebased-2.2.0.jar" />
           <include name="tomcat/ant-launcher-1.6.5.jar" />
           <include name="tomcat/catalina-1.0.jar" />
@@ -110,6 +111,7 @@
           <zipfileset src="${gwt.tools.lib}/apache/ant-1.6.5.jar" />
           <zipfileset src="${gwt.tools.lib}/eclipse/jdt-3.4.2.jar" />
           <zipfileset src="${gwt.tools.lib}/jetty/jetty-6.1.11.jar" />
+          <zipfileset src="${gwt.tools.lib}/icu4j/icu4j-4_4_1.jar" />
           <zipfileset src="${gwt.tools.lib}/protobuf/protobuf-2.2.0/protobuf-java-rebased-2.2.0.jar" />
           <zipfileset src="${gwt.tools.lib}/tomcat/ant-launcher-1.6.5.jar" />
           <zipfileset src="${gwt.tools.lib}/tomcat/catalina-1.0.jar" />
diff --git a/eclipse/tools/datetimefmtcreator/.classpath b/eclipse/tools/datetimefmtcreator/.classpath
new file mode 100644
index 0000000..b4f7397
--- /dev/null
+++ b/eclipse/tools/datetimefmtcreator/.classpath
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="core/src"/>
+	<classpathentry kind="src" path="core/test"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry combineaccessrules="false" exported="true" kind="src" path="/gwt-user"/>
+	<classpathentry kind="var" path="GWT_TOOLS/lib/icu4j/icu4j-4_4_1.jar"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/eclipse/tools/datetimefmtcreator/.project b/eclipse/tools/datetimefmtcreator/.project
new file mode 100644
index 0000000..f81421f
--- /dev/null
+++ b/eclipse/tools/datetimefmtcreator/.project
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>gwt-dtfc</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+	<linkedResources>
+		<link>
+			<name>core</name>
+			<type>2</type>
+			<locationURI>GWT_ROOT/tools/datetimefmtcreator</locationURI>
+		</link>
+	</linkedResources>
+</projectDescription>
diff --git a/eclipse/user/.classpath b/eclipse/user/.classpath
index 0765257..88d98c8 100644
--- a/eclipse/user/.classpath
+++ b/eclipse/user/.classpath
@@ -16,6 +16,7 @@
 	<classpathentry kind="var" path="GWT_TOOLS/lib/tomcat/commons-logging-1.0.jar"/>
 	<classpathentry kind="var" path="GWT_TOOLS/lib/apache/commons/commons-io-1.4.jar"/>
 	<classpathentry kind="var" path="GWT_TOOLS/lib/cssparser/cssparser-0.9.5.jar"/>
+	<classpathentry kind="var" path="GWT_TOOLS/lib/icu4j/icu4j-4_4_1.jar"/>
 	<classpathentry kind="var" path="GWT_TOOLS/lib/nekohtml/nekohtml-1.9.13.jar"/>
 	<classpathentry kind="var" path="GWT_TOOLS/lib/selenium/selenium-java-client-driver.jar" sourcepath="/GWT_TOOLS/lib/selenium/selenium-java-client-driver-sources.jar"/>
 	<classpathentry kind="var" path="GWT_TOOLS/lib/xalan/xalan-2.7.1.jar"/>
diff --git a/tools/api-checker/config/gwt20_21userApi.conf b/tools/api-checker/config/gwt20_21userApi.conf
index 43801d2..e7e9d63 100644
--- a/tools/api-checker/config/gwt20_21userApi.conf
+++ b/tools/api-checker/config/gwt20_21userApi.conf
@@ -110,7 +110,7 @@
 # Removing HTTPRequest.
 com.google.gwt.user.client.HTTPRequest MISSING
 
-# Change signature for native long from double[2] to LongEmul{l=int,m=int,h=int} 
+# Change signature for native long from double[2] to LongEmul{l=int,m=int,h=int}
 com.google.gwt.lang.LongLib::RUN_IN_JVM MISSING
 com.google.gwt.lang.LongLib::add([D[D) MISSING
 com.google.gwt.lang.LongLib::and([D[D) MISSING
@@ -138,3 +138,7 @@
 com.google.gwt.lang.LongLib::toString([D) MISSING
 com.google.gwt.lang.LongLib::typeChange(J) MISSING
 com.google.gwt.lang.LongLib::xor([D[D) MISSING
+
+# Add DateTimeFormatInfo, PredefinedFormat overrides
+com.google.gwt.i18n.client.DateTimeFormat::DateTimeFormat(Ljava/lang/String;Lcom/google/gwt/i18n/client/constants/DateTimeConstants;) OVERLOADED_METHOD_CALL
+com.google.gwt.i18n.client.DateTimeFormat::getFormat(Ljava/lang/String;) OVERLOADED_METHOD_CALL
diff --git a/tools/datetimefmtcreator/src/com/google/gwt/tools/datetimefmtcreator/DateTimeFormatCreator.java b/tools/datetimefmtcreator/src/com/google/gwt/tools/datetimefmtcreator/DateTimeFormatCreator.java
new file mode 100644
index 0000000..0315142
--- /dev/null
+++ b/tools/datetimefmtcreator/src/com/google/gwt/tools/datetimefmtcreator/DateTimeFormatCreator.java
@@ -0,0 +1,640 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.tools.datetimefmtcreator;
+
+import com.google.gwt.i18n.client.constants.DateTimeConstantsImpl;
+import com.google.gwt.i18n.rebind.LocaleUtils;
+import com.google.gwt.i18n.shared.GwtLocale;
+import com.google.gwt.i18n.shared.GwtLocaleFactory;
+
+import com.ibm.icu.text.DateTimePatternGenerator;
+import com.ibm.icu.util.ULocale;
+
+import org.apache.tapestry.util.text.LocalizedProperties;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.FilenameFilter;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
+import java.util.Map.Entry;
+import java.util.regex.Pattern;
+
+/**
+ * Generate implementations of DateTimeFormatInfoImpl for all the supported
+ * locales.
+ */
+public class DateTimeFormatCreator {
+
+  private static class DtfiGenerator {
+    
+    private static void buildPatterns(GwtLocale locale,
+        TreeMap<Key, String[]> properties) {
+      ULocale ulocale = new ULocale(ULocale.canonicalize(locale.getAsString()));
+      DateTimePatternGenerator dtpg = DateTimePatternGenerator.getInstance(
+          ulocale);
+      for (Map.Entry<String, String> entry : patterns.entrySet()) {
+        properties.put(new Key(locale, "format" + entry.getKey()), new String[] {
+              dtpg.getBestPattern(entry.getValue())
+            });
+      }
+    }
+
+    private static GwtLocale findEarliestAncestor(GwtLocale locale,
+        Set<GwtLocale> set) {
+      if (set == null) {
+        return null;
+      }
+      for (GwtLocale search : locale.getInheritanceChain()) {
+        if (set.contains(search)) {
+          return search;
+        }
+      }
+      return null;
+    }
+ 
+    private static String quote(String value) {
+      return value.replaceAll("\"", "\\\\\"");
+    }
+
+    private static String[] split(String target) {
+      // We add an artificial end character to avoid the odd split() behavior
+      // that drops the last item if it is only whitespace.
+      target = target + "~";
+
+      // Do not split on escaped commas.
+      String[] args = target.split("(?<![\\\\]),");
+
+      // Now remove the artificial ending we added above.
+      // We have to do it before we escape and trim because otherwise
+      // the artificial trailing '~' would prevent the last item from being
+      // properly trimmed.
+      if (args.length > 0) {
+        int last = args.length - 1;
+        args[last] = args[last].substring(0, args[last].length() - 1);
+      }
+
+      for (int i = 0; i < args.length; i++) {
+        args[i] = args[i].replaceAll("\\\\,", ",").trim();
+      }
+      return args;
+    }
+
+    private File propDir;
+
+    private File src;
+    public DtfiGenerator(File src) {
+      this.src = src;
+      String packageName = DateTimeConstantsImpl.class.getPackage().getName();
+      propDir = new File(src, packageName.replaceAll("\\.", "/"));
+      if (!propDir.exists()) {
+        System.err.println("Can't find directory for " + packageName);
+        return;
+      }
+    }
+
+    public void generate() throws FileNotFoundException,
+        IOException {
+      final Pattern dtcProps = Pattern.compile(
+          "DateTimeConstantsImpl(.*)\\.properties");
+      String[] propFiles = propDir.list(new FilenameFilter() {
+        public boolean accept(File dir, String name) {
+          return dtcProps.matcher(name).matches();
+        }
+      });
+      TreeMap<Key, String[]> properties = new TreeMap<Key, String[]>();
+      GwtLocaleFactory factory = LocaleUtils.getLocaleFactory();
+      collectPropertyData(propFiles, properties, factory);
+      Map<GwtLocale, Set<GwtLocale>> parents = removeInheritedValues(properties);
+      generateSources(properties, parents);
+    }
+
+    private void addLocaleParent(Map<GwtLocale, Set<GwtLocale>> parents,
+        GwtLocale keyLocale, GwtLocale parentLocale) {
+      Set<GwtLocale> parentSet = parents.get(keyLocale);
+      if (parentSet == null) {
+        parentSet = new HashSet<GwtLocale>();
+        parents.put(keyLocale, parentSet);
+      }
+      parentSet.add(parentLocale);
+    }
+
+    @SuppressWarnings("unchecked")
+    private void collectPropertyData(String[] propFiles,
+        TreeMap<Key, String[]> properties, GwtLocaleFactory factory)
+        throws FileNotFoundException, IOException {
+      for (String propFile : propFiles) {
+        if (!propFile.startsWith("DateTimeConstantsImpl")
+            || !propFile.endsWith(".properties")) {
+          continue;
+        }
+        int len = propFile.length();
+        String suffix = propFile.substring(21, len - 11);
+        if (suffix.startsWith("_")) {
+          suffix = suffix.substring(1);
+        }
+        GwtLocale locale = factory.fromString(suffix).getCanonicalForm();
+        File f = new File(propDir, propFile);
+        FileInputStream str = null;
+        try {
+          str = new FileInputStream(f);
+          LocalizedProperties props = new LocalizedProperties();
+          props.load(str);
+          Map<String, String> map = props.getPropertyMap();
+          for (Map.Entry<String, String> entry : map.entrySet()) {
+            String[] value = split(entry.getValue());
+            if ("dateFormats".equals(entry.getKey())
+                || "timeFormats".equals(entry.getKey())
+                || "weekendRange".equals(entry.getKey())) {
+              // split these out into separate fields
+              for (int i = 0; i < value.length; ++i) {
+                Key key = new Key(locale, entry.getKey() + i);
+                properties.put(key, new String[] {value[i]});
+              }
+            } else {
+              Key key = new Key(locale, entry.getKey());
+              properties.put(key, value);
+            }
+          }
+          buildPatterns(locale, properties);
+        } finally {
+          if (str != null) {
+            str.close();
+          }
+        }
+      }
+    }
+
+    private PrintWriter createClassSource(String packageName,
+        String className) throws FileNotFoundException {
+      String path = packageName.replace('.', '/') + "/" + className + ".java";
+      File f = new File(src, path);
+      FileOutputStream ostr = new FileOutputStream(f);
+      PrintWriter out = new PrintWriter(ostr);
+      out.println("/*");
+      out.println(" * Copyright 2010 Google Inc.");
+      out.println(" * ");
+      out.println(" * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not");
+      out.println(" * use this file except in compliance with the License. You may obtain a copy of");
+      out.println(" * the License at");
+      out.println(" * ");
+      out.println(" * http://www.apache.org/licenses/LICENSE-2.0");
+      out.println(" *"); 
+      out.println(" * Unless required by applicable law or agreed to in writing, software");
+      out.println(" * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT");
+      out.println(" * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the");
+      out.println(" * License for the specific language governing permissions and limitations under");
+      out.println(" * the License.");
+      out.println(" */");
+      out.println("package " + packageName + ";");
+      out.println();
+      out.println("// DO NOT EDIT - GENERATED FROM CLDR DATA");
+      out.println();
+      return out;
+    }
+
+    private void generateAlias(GwtLocale locale, GwtLocale parent)
+         throws IOException {
+      System.out.println("Generating alias " + locale);
+      String suffix;
+      if (parent.isDefault()) {
+        suffix = "";
+      } else {
+        suffix = "_" + parent.getAsString();
+      }
+      String packageName = "com.google.gwt.i18n.client.impl.cldr";
+      String className = "DateTimeFormatInfoImpl_" + locale.getAsString();
+      PrintWriter out = null;
+      try {
+        out = createClassSource(packageName, className);
+        out.println("/**");
+        out.println(" * Locale \"" + locale + "\" is an alias for \"" + parent
+            + "\".");
+        out.println(" */");
+        out.println("public class " + className
+            + " extends DateTimeFormatInfoImpl" + suffix + " {");
+        out.println("}");
+      } finally {
+        if (out != null) {
+          out.close();
+        }
+      }
+      
+    }
+
+    private void generateLocale(GwtLocale locale, GwtLocale parent,
+        Map<String, String[]> values) throws IOException {
+      System.out.println("Generating locale " + locale);
+      boolean addOverrides = true;
+      PrintWriter out = null;
+      try {
+        if (locale.isDefault()) {
+          String packageName = "com.google.gwt.i18n.client";
+          String className = "DefaultDateTimeFormatInfo";
+          out = createClassSource(packageName, className);
+          out.println("/**");
+          out.println(" * Default implementation of DateTimeFormatInfo interface, using values from");
+          out.println(" * the CLDR root locale.");
+          out.println(" * <p>");
+          out.println(" * Users who need to create their own DateTimeFormatInfo implementation are");
+          out.println(" * encouraged to extend this class so their implementation won't break when");
+          out.println(" * new methods are added.");
+          out.println(" */");
+          out.println("public class DefaultDateTimeFormatInfo implements DateTimeFormatInfo {");
+          addOverrides = false;
+        } else {
+          String suffix;
+          if (parent.isDefault()) {
+            suffix = "";
+          } else {
+            suffix = "_" + parent.getAsString();
+          }
+          String packageName = "com.google.gwt.i18n.client.impl.cldr";
+          String className = "DateTimeFormatInfoImpl_" + locale.getAsString();
+          out = createClassSource(packageName, className);
+          out.println("/**");
+          out.println(" * Implementation of DateTimeFormatInfo for locale \""
+              + locale + "\".");
+          out.println(" */");
+          out.println("public class " + className
+              + " extends DateTimeFormatInfoImpl" + suffix + " {");
+        }
+        Set<String> keySet = values.keySet();
+        String[] keys = keySet.toArray(new String[keySet.size()]);
+        Arrays.sort(keys, new Comparator<String>() {
+          public int compare(String a, String b) {
+            String mappedA = a;
+            String mappedB = b;
+            FieldMapping field = fieldMap.get(a);
+            if (field != null) {
+              mappedA = field.methodName;
+            }
+            field = fieldMap.get(b);
+            if (field != null) {
+              mappedB = field.methodName;
+            }
+            return mappedA.compareTo(mappedB);
+          }
+        });
+        for (String key : keys) {
+          String[] value = values.get(key);
+          FieldMapping mapping = fieldMap.get(key);
+          Class<?> type = value.length > 1 ? String[].class : String.class;
+          String related = null;
+          String name = key;
+          if (mapping != null) {
+            name = mapping.methodName;
+            type = mapping.type;
+            related = mapping.related;
+          }
+          String[] relatedValue = values.get(related);
+          String relayMethod = null;
+          if (Arrays.equals(value, relatedValue)) {
+            relayMethod = fieldMap.get(related).methodName;
+          }
+          out.println();
+          if (addOverrides) {
+            out.println("  @Override");
+          }
+          out.println("  public " + type.getSimpleName() + " " + name
+              + "() {");
+          out.print("    return ");
+          if (relayMethod != null) {
+            out.println(relayMethod + "();");
+          } else {
+            if (type.isArray()) {
+              out.println("new " + type.getSimpleName() + " { ");
+              out.print("        ");
+            }
+            boolean first = true;
+            for (String oneValue : value) {
+              if (!first) {
+                out.println(",");
+                out.print("        ");
+              }
+              if (type == int.class || type == int[].class) {
+                out.print(Integer.valueOf(oneValue) - 1);
+              } else {
+                out.print("\"" + quote(oneValue) + "\"");
+              }
+              first = false;
+            }
+            if (type.isArray()) {
+              out.println();
+              out.println("    };");
+            } else {
+              out.println(";");
+            }
+          }
+          out.println("  }");
+        }
+        if (locale.isDefault()) {
+          // TODO(jat): actually generate these from CLDR data
+          out.println();
+          out.println("  public String dateFormat() {");
+          out.println("    return dateFormatMedium();");
+          out.println("  }");
+          out.println();
+          out.println("  public String dateTime(String timePattern, String datePattern) {");
+          out.println("    return datePattern + \" \" + timePattern;");
+          out.println("  }");
+          out.println();
+          out.println("  public String dateTimeFull(String timePattern, String datePattern) {");
+          out.println("    return dateTime(timePattern, datePattern);");
+          out.println("  }");
+          out.println();
+          out.println("  public String dateTimeLong(String timePattern, String datePattern) {");
+          out.println("    return dateTime(timePattern, datePattern);");
+          out.println("  }");
+          out.println();
+          out.println("  public String dateTimeMedium(String timePattern, String datePattern) {");
+          out.println("    return dateTime(timePattern, datePattern);");
+          out.println("  }");
+          out.println();
+          out.println("  public String dateTimeShort(String timePattern, String datePattern) {");
+          out.println("    return dateTime(timePattern, datePattern);");
+          out.println("  }");
+          out.println();
+          out.println("  public String timeFormat() {");
+          out.println("    return timeFormatMedium();");
+          out.println("  }");
+        }
+        out.println("}");
+      } finally {
+        if (out != null) {
+          out.close();
+        }
+      }
+    }
+
+   private void generateSources(TreeMap<Key, String[]> properties,
+      Map<GwtLocale, Set<GwtLocale>> parents) throws IOException {
+    Set<GwtLocale> locales = new HashSet<GwtLocale>();
+    // process sorted locales/keys, generating each locale on change
+    GwtLocale lastLocale = null;
+    Map<String, String[]> thisLocale = new HashMap<String, String[]>();
+    for (Entry<Key, String[]> entry : properties.entrySet()) {
+      if (lastLocale != null && lastLocale != entry.getKey().locale) {
+        GwtLocale parent = findEarliestAncestor(lastLocale,
+            parents.get(lastLocale));
+        generateLocale(lastLocale, parent, thisLocale);
+        thisLocale.clear();
+        lastLocale = null;
+      }
+      if (lastLocale == null) {
+        lastLocale = entry.getKey().locale;
+        locales.add(lastLocale);
+      }
+      thisLocale.put(entry.getKey().key, entry.getValue());
+    }
+    if (lastLocale != null) {
+      GwtLocale parent = findEarliestAncestor(lastLocale,
+          parents.get(lastLocale));
+      generateLocale(lastLocale, parent, thisLocale);
+    }
+    Set<GwtLocale> seen = new HashSet<GwtLocale>(locales);
+    for (GwtLocale locale : locales) {
+      for (GwtLocale alias : locale.getAliases()) {
+        if (!seen.contains(alias)) {
+          seen.add(alias);
+//          generateAlias(alias, locale);
+        }
+      }
+    }
+  }
+
+ /**
+     * Check if a given entry within a locale is inherited from a parent.
+     * 
+     * @param properties
+     * @param parents
+     * @param key
+     * @param value
+     * @return true if the value is the same as the first parent defining that
+     *     value
+     */
+    private boolean isInherited(TreeMap<Key, String[]> properties,
+        Map<GwtLocale, Set<GwtLocale>> parents, Key key, String[] value) {
+      GwtLocale keyLocale = key.locale;
+      if (keyLocale.isDefault()) {
+        // never delete entries from default
+        return false;
+      }
+      List<GwtLocale> list = keyLocale.getInheritanceChain();
+      String[] parent = null;
+      for (int i = 1; i < list.size(); ++i) {
+        Key parentKey = new Key(list.get(i), key.key);
+        parent = properties.get(parentKey);
+        if (parent != null) {
+          GwtLocale parentLocale = parentKey.locale;
+          addLocaleParent(parents, keyLocale, parentLocale);
+          break;
+        }
+      }
+      return Arrays.equals(value, parent);
+    }
+
+    /**
+     * Remove inherited values and return a map of inherited-from locales for
+     * each locale.
+     * 
+     * @param properties
+     * @return inheritance map
+     */
+    private Map<GwtLocale, Set<GwtLocale>> removeInheritedValues(
+        TreeMap<Key, String[]> properties) {
+      // remove entries identical to a parent locale
+      Map<GwtLocale, Set<GwtLocale>> parents = new HashMap<GwtLocale, Set<GwtLocale>>();
+      Set<Entry<Key, String[]>> entrySet = properties.entrySet();
+      Iterator<Entry<Key, String[]>> it = entrySet.iterator();
+      while (it.hasNext()) {
+        Entry<Key, String[]> entry = it.next();
+        if (isInherited(properties, parents, entry.getKey(),
+            entry.getValue())) {
+          it.remove();
+        }
+      }
+      return parents;
+    }
+  }
+
+  private static class FieldMapping {
+    public final String methodName;
+    public final Class<?> type;
+    public final String related;
+
+    public FieldMapping(String methodName, Class<?> type) {
+      this(methodName, type, null);
+    }
+
+    public FieldMapping(String methodName, Class<?> type, String related) {
+      this.methodName = methodName;
+      this.type = type;
+      this.related = related;
+    }
+  }
+
+  private static class Key implements Comparable<Key> {
+    public final GwtLocale locale;
+    public final String key;
+
+    public Key(GwtLocale locale, String key) {
+      this.locale = locale;
+      this.key = key;
+    }
+
+    public int compareTo(Key other) {
+      int c = locale.compareTo(other.locale);
+      if (c == 0) {
+        c = key.compareTo(other.key);
+      }
+      return c;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+      if (this == obj) {
+        return true;
+      }
+      if (obj == null || getClass() != obj.getClass()) {
+        return false;
+      }
+      Key other = (Key) obj;
+      return locale.equals(other.locale) && key.equals(other.key);
+    }
+
+    @Override
+    public int hashCode() {
+      return locale.hashCode() * 31 + key.hashCode();
+    }
+
+    @Override
+    public String toString() {
+      return locale.toString() + "/" + key;
+    }
+  }
+
+  private static final Map<String, FieldMapping> fieldMap = new HashMap<String, FieldMapping>();
+
+  private static Map<String, String> patterns = new HashMap<String, String>();
+
+  static {
+    fieldMap.put("ampms", new FieldMapping("ampms", String[].class));
+    fieldMap.put("dateFormats0", new FieldMapping("dateFormatFull",
+        String.class));
+    fieldMap.put("dateFormats1", new FieldMapping("dateFormatLong",
+        String.class));
+    fieldMap.put("dateFormats2", new FieldMapping("dateFormatMedium",
+        String.class));
+    fieldMap.put("dateFormats3", new FieldMapping("dateFormatShort",
+        String.class));
+    fieldMap.put("timeFormats0", new FieldMapping("timeFormatFull",
+        String.class));
+    fieldMap.put("timeFormats1", new FieldMapping("timeFormatLong",
+        String.class));
+    fieldMap.put("timeFormats2", new FieldMapping("timeFormatMedium",
+        String.class));
+    fieldMap.put("timeFormats3", new FieldMapping("timeFormatShort",
+        String.class));
+    fieldMap.put("eraNames", new FieldMapping("erasFull", String[].class));
+    fieldMap.put("eras", new FieldMapping("erasShort", String[].class));
+    fieldMap.put("quarters", new FieldMapping("quartersFull", String[].class));
+    fieldMap.put("shortQuarters", new FieldMapping("quartersShort",
+        String[].class));
+    fieldMap.put("firstDayOfTheWeek", new FieldMapping("firstDayOfTheWeek",
+        Integer.class));
+    fieldMap.put("months", new FieldMapping("monthsFull", String[].class));
+    fieldMap.put("standaloneMonths", new FieldMapping("monthsFullStandalone",
+        String[].class, "months"));
+    fieldMap.put("narrowMonths", new FieldMapping("monthsNarrow",
+        String[].class));
+    fieldMap.put("standaloneNarrowMonths", new FieldMapping(
+        "monthsNarrowStandalone", String[].class, "narrowMonths"));
+    fieldMap.put("shortMonths", new FieldMapping("monthsShort",
+        String[].class));
+    fieldMap.put("standaloneShortMonths", new FieldMapping(
+        "monthsShortStandalone", String[].class, "shortMonths"));
+    fieldMap.put("weekendRange0", new FieldMapping("weekendStart", int.class));
+    fieldMap.put("weekendRange1", new FieldMapping("weekendEnd", int.class));
+    fieldMap.put("firstDayOfTheWeek", new FieldMapping("firstDayOfTheWeek",
+        int.class));
+    fieldMap.put("weekdays", new FieldMapping("weekdaysFull", String[].class));
+    fieldMap.put("standaloneWeekdays", new FieldMapping(
+        "weekdaysFullStandalone", String[].class, "weekdays"));
+    fieldMap.put("shortWeekdays", new FieldMapping("weekdaysShort",
+        String[].class));
+    fieldMap.put("standaloneShortWeekdays", new FieldMapping(
+        "weekdaysShortStandalone", String[].class, "shortWeekdays"));
+    fieldMap.put("narrowWeekdays", new FieldMapping("weekdaysNarrow",
+        String[].class));
+    fieldMap.put("standaloneNarrowWeekdays", new FieldMapping(
+        "weekdaysNarrowStandalone", String[].class, "narrowWeekdays"));
+    
+    // patterns to use with DateTimePatternGenerator
+    patterns.put("Day", "d");
+    patterns.put("Hour12Minute", "hmm");
+    patterns.put("Hour12MinuteSecond", "hmmss");
+    patterns.put("Hour24Minute", "Hmm");
+    patterns.put("Hour24MinuteSecond", "Hmmss");
+    patterns.put("MinuteSecond", "mss");
+    patterns.put("MonthAbbrev", "MMM");
+    patterns.put("MonthAbbrevDay", "MMMd");
+    patterns.put("MonthFull", "MMMM");
+    patterns.put("MonthFullDay", "MMMMd");
+    patterns.put("MonthFullWeekdayDay", "MMMMEEEEd");
+    patterns.put("MonthNumDay", "Md");
+    patterns.put("Year", "y");
+    patterns.put("YearMonthAbbrev", "yMMM");
+    patterns.put("YearMonthAbbrevDay", "yMMMd");
+    patterns.put("YearMonthFull", "yMMMM");
+    patterns.put("YearMonthFullDay", "yMMMMd");
+    patterns.put("YearMonthNum", "yM");
+    patterns.put("YearMonthNumDay", "yMd");
+    patterns.put("YearMonthWeekdayDay", "yMMMEEEd");
+    patterns.put("YearQuarterFull", "yQQQQ");
+    patterns.put("YearQuarterShort", "yQ");
+  }
+
+  /**
+   * @param args
+   * @throws IOException
+   */
+  public static void main(String[] args) throws IOException {
+    if (args.length != 1) {
+      System.err.println("Usage: "
+          + DateTimeFormatCreator.class.getSimpleName() + " gwt-root-dir");
+      return;
+    }
+    File gwt = new File(args[0]);
+    File src = new File(gwt, "user/src");
+    if (!gwt.exists() || !src.exists()) {
+      System.err.println(args[0] + " doesn't appear to be a GWT root directory");
+      return;
+    }
+    new DtfiGenerator(src).generate();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/I18N.gwt.xml b/user/src/com/google/gwt/i18n/I18N.gwt.xml
index 3f0fa0b..23d1c29 100644
--- a/user/src/com/google/gwt/i18n/I18N.gwt.xml
+++ b/user/src/com/google/gwt/i18n/I18N.gwt.xml
@@ -86,6 +86,9 @@
   <generate-with class="com.google.gwt.i18n.rebind.CurrencyListGenerator">
     <when-type-is class="com.google.gwt.i18n.client.CurrencyList" />
   </generate-with>
+  <generate-with class="com.google.gwt.i18n.rebind.CustomDateTimeFormatGenerator">
+    <when-type-assignable class="com.google.gwt.i18n.client.CustomDateTimeFormat" />
+  </generate-with>
   
   <!--
       Set of locales to be selectable at runtime.  Only those which extend
diff --git a/user/src/com/google/gwt/i18n/client/CustomDateTimeFormat.java b/user/src/com/google/gwt/i18n/client/CustomDateTimeFormat.java
new file mode 100644
index 0000000..e204561
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/CustomDateTimeFormat.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client;
+
+/**
+ * Create a custom localized date/time format at compile time. All methods on
+ * subtypes of this interface must take no parameters and return DateTimeFormat
+ * (which will be an initialized instance).
+ */
+public interface CustomDateTimeFormat {
+
+  /**
+   * Annotation containing the pattern skeleton.
+   * 
+   * <p>The order of pattern characters and any literals don't matter, just
+   * which pattern characters are present and their counts.
+   */
+  public @interface Pattern {
+
+    /**
+     * The pattern skeleton for which to generate a localized pattern.  Note
+     * that the order of pattern characters don't matter, as the generated
+     * pattern will be derived from a localized pattern that conveys the same
+     * information.
+     * 
+     * @return the pattern skeleton
+     */
+    String value();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/DateTimeConstantsAdapter.java b/user/src/com/google/gwt/i18n/client/DateTimeConstantsAdapter.java
new file mode 100644
index 0000000..e850237
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/DateTimeConstantsAdapter.java
@@ -0,0 +1,126 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client;
+
+import com.google.gwt.i18n.client.constants.DateTimeConstants;
+
+/**
+ * Adapter that makes a {@link com.google.gwt.i18n.client.DateTimeFormatInfo}
+ * implementation suitable for use with something that wants a
+ * {@link DateTimeConstants}.
+ */
+@SuppressWarnings("deprecation")
+class DateTimeConstantsAdapter implements DateTimeConstants {
+
+  private final DateTimeFormatInfo dtfi;
+  
+  public DateTimeConstantsAdapter(DateTimeFormatInfo dtfi) {
+    this.dtfi = dtfi;
+  }
+
+  public String[] ampms() {
+    return dtfi.ampms();
+  }
+
+  public String[] dateFormats() {
+    return new String[] {
+        dtfi.dateFormatFull(), dtfi.dateFormatLong(), dtfi.dateFormatMedium(),
+        dtfi.dateFormatShort(),
+    };
+  }
+
+  public String[] eraNames() {
+    return dtfi.erasFull();
+  }
+
+  public String[] eras() {
+    return dtfi.erasShort();
+  }
+
+  public String firstDayOfTheWeek() {
+    return String.valueOf(dtfi.firstDayOfTheWeek() + 1);
+  }
+
+  public String[] months() {
+    return dtfi.monthsFull();
+  }
+
+  public String[] narrowMonths() {
+    return dtfi.monthsNarrow();
+  }
+
+  public String[] narrowWeekdays() {
+    return dtfi.weekdaysNarrow();
+  }
+
+  public String[] quarters() {
+    return dtfi.quartersFull();
+  }
+
+  public String[] shortMonths() {
+    return dtfi.monthsShort();
+  }
+
+  public String[] shortQuarters() {
+    return dtfi.quartersShort();
+  }
+
+  public String[] shortWeekdays() {
+    return dtfi.weekdaysShort();
+  }
+
+  public String[] standaloneMonths() {
+    return dtfi.monthsFullStandalone();
+  }
+
+  public String[] standaloneNarrowMonths() {
+    return dtfi.monthsNarrowStandalone();
+  }
+
+  public String[] standaloneNarrowWeekdays() {
+    return dtfi.weekdaysNarrowStandalone();
+  }
+
+  public String[] standaloneShortMonths() {
+    return dtfi.monthsShortStandalone();
+  }
+
+  public String[] standaloneShortWeekdays() {
+    return dtfi.weekdaysShortStandalone();
+  }
+
+  public String[] standaloneWeekdays() {
+    return dtfi.weekdaysFullStandalone();
+  }
+
+  public String[] timeFormats() {
+    return new String[] {
+        dtfi.timeFormatFull(), dtfi.timeFormatLong(), dtfi.timeFormatMedium(),
+        dtfi.dateFormatShort(),
+    };
+  }
+
+  public String[] weekdays() {
+    return dtfi.weekdaysFull();
+  }
+
+  public String[] weekendRange() {
+    return new String[] {
+        String.valueOf(dtfi.weekendStart() + 1),
+        String.valueOf(dtfi.weekendEnd() + 1),
+    };
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/DateTimeFormat.java b/user/src/com/google/gwt/i18n/client/DateTimeFormat.java
index b8a3202..fa1032a 100644
--- a/user/src/com/google/gwt/i18n/client/DateTimeFormat.java
+++ b/user/src/com/google/gwt/i18n/client/DateTimeFormat.java
@@ -18,9 +18,12 @@
 
 import com.google.gwt.i18n.client.constants.DateTimeConstants;
 import com.google.gwt.i18n.client.impl.DateRecord;
+import com.google.gwt.i18n.client.impl.cldr.DateTimeFormatInfoImpl_en;
 
 import java.util.ArrayList;
 import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * Formats and parses dates and times using locale-sensitive patterns.
@@ -244,11 +247,16 @@
  * <td>UTC-7</td>
  * </tr>
  * <tr>
- * <td>Z, ZZ, ZZZ</td>
+ * <td>Z, ZZ</td>
  * <td>-0700</td>
  * <td>-0700</td>
  * </tr>
  * <tr>
+ * <td>ZZZ</td>
+ * <td>-07:00</td>
+ * <td>-07:00</td>
+ * </tr>
+ * <tr>
  * <td>ZZZZ</td>
  * <td>GMT-07:00</td>
  * <td>GMT-07:00</td>
@@ -381,6 +389,67 @@
  */
 @SuppressWarnings("deprecation")
 public class DateTimeFormat {
+
+  /**
+   * Predefined date/time formats -- see {@link CustomDateTimeFormat} if you
+   * need some format that isn't supplied here.
+   */
+  public enum PredefinedFormat {
+    // TODO(jat): Javadoc to explain these formats
+
+    /**
+     * ISO 8601 date format, fixed across all locales.
+     * <p>Example: {@code 2008-10-03T10:29:40.046-04:00}
+     * <p>http://code.google.com/p/google-web-toolkit/issues/detail?id=3068
+     * <p>http://www.iso.org/iso/support/faqs/faqs_widely_used_standards/widely_used_standards_other/date_and_time_format.htm
+     */
+    ISO_8601,
+
+    /**
+     * RFC 2822 date format, fixed across all locales.
+     * <p>Example: {@code Thu, 20 May 2010 17:54:50 -0700}
+     * <p>http://tools.ietf.org/html/rfc2822#section-3.3
+     */
+    RFC_2822,
+
+    DATE_FULL,
+    DATE_LONG,
+    DATE_MEDIUM,
+    DATE_SHORT,
+
+    TIME_FULL,
+    TIME_LONG,
+    TIME_MEDIUM,
+    TIME_SHORT,
+
+    DATE_TIME_FULL,
+    DATE_TIME_LONG,
+    DATE_TIME_MEDIUM,
+    DATE_TIME_SHORT,
+
+    DAY,
+    HOUR_MINUTE,
+    HOUR_MINUTE_SECOND,
+    HOUR24_MINUTE,
+    HOUR24_MINUTE_SECOND,
+    MINUTE_SECOND,
+    MONTH,
+    MONTH_ABBR,
+    MONTH_ABBR_DAY,
+    MONTH_DAY,
+    MONTH_NUM_DAY,
+    MONTH_WEEKDAY_DAY,
+    YEAR,
+    YEAR_MONTH,
+    YEAR_MONTH_ABBR,
+    YEAR_MONTH_ABBR_DAY,
+    YEAR_MONTH_DAY,
+    YEAR_MONTH_NUM,
+    YEAR_MONTH_NUM_DAY,
+    YEAR_QUARTER,
+    YEAR_QUARTER_ABBR,
+  }
+
   /**
    * Class PatternPart holds a "compiled" pattern part.
    */
@@ -396,34 +465,13 @@
     }
   }
 
-  private static final int FULL_DATE_FORMAT = 0;
-  private static final int LONG_DATE_FORMAT = 1;
-  private static final int MEDIUM_DATE_FORMAT = 2;
-  private static final int SHORT_DATE_FORMAT = 3;
-  private static final int FULL_TIME_FORMAT = 0;
-  private static final int LONG_TIME_FORMAT = 1;
-  private static final int MEDIUM_TIME_FORMAT = 2;
-
-  private static final int SHORT_TIME_FORMAT = 3;
   private static final int NUMBER_BASE = 10;
   private static final int JS_START_YEAR = 1900;
 
-  private static DateTimeFormat cachedFullDateFormat;
-  private static DateTimeFormat cachedLongDateFormat;
-  private static DateTimeFormat cachedMediumDateFormat;
-
-  private static DateTimeFormat cachedShortDateFormat;
-  private static DateTimeFormat cachedFullTimeFormat;
-  private static DateTimeFormat cachedLongTimeFormat;
-  private static DateTimeFormat cachedMediumTimeFormat;
-
-  private static DateTimeFormat cachedShortTimeFormat;
-  private static DateTimeFormat cachedFullDateTimeFormat;
-  private static DateTimeFormat cachedLongDateTimeFormat;
-  private static DateTimeFormat cachedMediumDateTimeFormat;
-  private static DateTimeFormat cachedShortDateTimeFormat;
+  private static final Map<String, DateTimeFormat> cache;
 
   private static final int NUM_MILLISECONDS_IN_DAY = 24 * 60 * 60000;
+
   private static final String PATTERN_CHARS = "GyMLdkHmsSEcDahKzZv";
 
   // Note: M & L must be the first two characters
@@ -435,12 +483,162 @@
 
   private static final int MINUTES_PER_HOUR = 60;
 
+  private static final String RFC2822_PATTERN = "EEE, d MMM yyyy HH:mm:ss Z";
+  private static final String ISO8601_PATTERN = "yyyy-MM-dd'T'HH:mm:ss.SSSZZZ";
+
+  static {
+    cache = new HashMap<String, DateTimeFormat>();
+  }
+
+  /**
+   * Get a DateTimeFormat instance for a predefined format.
+   * 
+   * <p>See {@link CustomDateTimeFormat} if you need a localized format that is
+   * not supported here.
+   * 
+   * @param predef {@link PredefinedFormat} describing desired format
+   * @return a DateTimeFormat instance for the specified format
+   */
+  public static DateTimeFormat getFormat(PredefinedFormat predef) {
+    if (usesFixedEnglishStrings(predef)) {
+      String pattern;
+      switch (predef) {
+        case RFC_2822:
+          pattern = RFC2822_PATTERN;
+          break;
+        case ISO_8601:
+          pattern = ISO8601_PATTERN;
+          break;
+        default:
+          throw new IllegalStateException("Unexpected predef type " + predef);
+      }
+      return getFormat(pattern, new DateTimeFormatInfoImpl_en());
+    }
+    DateTimeFormatInfo dtfi = getDefaultDateTimeFormatInfo();
+    String pattern;
+    switch (predef) {
+      case DATE_FULL:
+        pattern = dtfi.dateFormatFull();
+        break;
+      case DATE_LONG:
+        pattern = dtfi.dateFormatLong();
+        break;
+      case DATE_MEDIUM:
+        pattern = dtfi.dateFormatMedium();
+        break;
+      case DATE_SHORT:
+        pattern = dtfi.dateFormatShort();
+        break;
+      case DATE_TIME_FULL:
+        pattern = dtfi.dateTimeFull(dtfi.timeFormatFull(),
+            dtfi.dateFormatFull());
+        break;
+      case DATE_TIME_LONG:
+        pattern = dtfi.dateTimeLong(dtfi.timeFormatLong(),
+            dtfi.dateFormatLong());
+        break;
+      case DATE_TIME_MEDIUM:
+        pattern = dtfi.dateTimeMedium(dtfi.timeFormatMedium(),
+            dtfi.dateFormatMedium());
+        break;
+      case DATE_TIME_SHORT:
+        pattern = dtfi.dateTimeShort(dtfi.timeFormatShort(),
+            dtfi.dateFormatShort());
+        break;
+      case DAY:
+        pattern = dtfi.formatDay();
+        break;
+      case HOUR24_MINUTE:
+        pattern = dtfi.formatHour24Minute();
+        break;
+      case HOUR24_MINUTE_SECOND:
+        pattern = dtfi.formatHour24MinuteSecond();
+        break;
+      case HOUR_MINUTE:
+        pattern = dtfi.formatHour12Minute();
+        break;
+      case HOUR_MINUTE_SECOND:
+        pattern = dtfi.formatHour12MinuteSecond();
+        break;
+      case MINUTE_SECOND:
+        pattern = dtfi.formatMinuteSecond();
+        break;
+      case MONTH:
+        pattern = dtfi.formatMonthFull();
+        break;
+      case MONTH_ABBR:
+        pattern = dtfi.formatMonthAbbrev();
+        break;
+      case MONTH_ABBR_DAY:
+        pattern = dtfi.formatMonthAbbrevDay();
+        break;
+      case MONTH_DAY:
+        pattern = dtfi.formatMonthFullDay();
+        break;
+      case MONTH_NUM_DAY:
+        pattern = dtfi.formatMonthNumDay();
+        break;
+      case MONTH_WEEKDAY_DAY:
+        pattern = dtfi.formatMonthFullWeekdayDay();
+        break;
+      case TIME_FULL:
+        pattern = dtfi.timeFormatFull();
+        break;
+      case TIME_LONG:
+        pattern = dtfi.timeFormatLong();
+        break;
+      case TIME_MEDIUM:
+        pattern = dtfi.timeFormatMedium();
+        break;
+      case TIME_SHORT:
+        pattern = dtfi.timeFormatShort();
+        break;
+      case YEAR:
+        pattern = dtfi.formatYear();
+        break;
+      case YEAR_MONTH:
+        pattern = dtfi.formatYearMonthFull();
+        break;
+      case YEAR_MONTH_ABBR:
+        pattern = dtfi.formatYearMonthAbbrev();
+        break;
+      case YEAR_MONTH_ABBR_DAY:
+        pattern = dtfi.formatYearMonthAbbrevDay();
+        break;
+      case YEAR_MONTH_DAY:
+        pattern = dtfi.formatYearMonthFullDay();
+        break;
+      case YEAR_MONTH_NUM:
+        pattern = dtfi.formatYearMonthNum();
+        break;
+      case YEAR_MONTH_NUM_DAY:
+        pattern = dtfi.formatYearMonthNumDay();
+        break;
+      case YEAR_QUARTER:
+        pattern = dtfi.formatYearQuarterFull();
+        break;
+      case YEAR_QUARTER_ABBR:
+        pattern = dtfi.formatYearQuarterShort();
+        break;
+      default:
+        throw new IllegalArgumentException("Unexpected predefined format "
+            + predef);
+    }
+    return getFormat(pattern, dtfi);
+  }
+
   /**
    * Returns a DateTimeFormat object using the specified pattern. If you need to
    * format or parse repeatedly using the same pattern, it is highly recommended
    * that you cache the returned <code>DateTimeFormat</code> object and reuse it
    * rather than calling this method repeatedly.
    * 
+   * <p>Note that the pattern supplied is used as-is -- for example, if you
+   * supply "MM/dd/yyyy" as the pattern, that is the order you will get the
+   * fields, even in locales where the order is different.  It is recommended to
+   * use {@link #getFormat(PredefinedFormat)} instead -- if you use this method,
+   * you are taking responsibility for localizing the patterns yourself.
+   * 
    * @param pattern string to specify how the date should be formatted
    * 
    * @return a <code>DateTimeFormat</code> object that can be used for format or
@@ -450,165 +648,149 @@
    *           parsed
    */
   public static DateTimeFormat getFormat(String pattern) {
-    return new DateTimeFormat(pattern, getDefaultDateTimeConstants());
+    return getFormat(pattern, getDefaultDateTimeFormatInfo());
   }
 
   /**
    * Retrieve the DateTimeFormat object for full date format. The pattern for
    * this format is predefined for each locale.
    * 
-   * @return A DateTimeFormat object.
+   * @return A DateTimeFormat object
+   * @deprecated use {@link #getFormat(PredefinedFormat)} with
+   *     {@link PredefinedFormat#DATE_FULL} instead
    */
+  @Deprecated
   public static DateTimeFormat getFullDateFormat() {
-    if (cachedFullDateFormat == null) {
-      String pattern = getDefaultDateTimeConstants().dateFormats()[FULL_DATE_FORMAT];
-      cachedFullDateFormat = new DateTimeFormat(pattern);
-    }
-    return cachedFullDateFormat;
+    return getFormat(PredefinedFormat.DATE_FULL);
   }
 
   /**
    * Retrieve the DateTimeFormat object for full date and time format. The
    * pattern for this format is predefined for each locale.
    * 
-   * @return A DateTimeFormat object.
+   * @return A DateTimeFormat object
+   * @deprecated use {@link #getFormat(PredefinedFormat)} with
+   *     {@link PredefinedFormat#DATE_TIME_FULL} instead
    */
+  @Deprecated
   public static DateTimeFormat getFullDateTimeFormat() {
-    if (cachedFullDateTimeFormat == null) {
-      String pattern = getDefaultDateTimeConstants().dateFormats()[FULL_DATE_FORMAT]
-          + " " + getDefaultDateTimeConstants().timeFormats()[FULL_TIME_FORMAT];
-      cachedFullDateTimeFormat = new DateTimeFormat(pattern);
-    }
-    return cachedFullDateTimeFormat;
+    return getFormat(PredefinedFormat.DATE_TIME_FULL);
   }
 
   /**
    * Retrieve the DateTimeFormat object for full time format. The pattern for
    * this format is predefined for each locale.
    * 
-   * @return A DateTimeFormat object.
+   * @return A DateTimeFormat object
+   * @deprecated use {@link #getFormat(PredefinedFormat)} with
+   *     {@link PredefinedFormat#TIME_FULL} instead
    */
+  @Deprecated
   public static DateTimeFormat getFullTimeFormat() {
-    if (cachedFullTimeFormat == null) {
-      String pattern = getDefaultDateTimeConstants().timeFormats()[FULL_TIME_FORMAT];
-      cachedFullTimeFormat = new DateTimeFormat(pattern);
-    }
-    return cachedFullTimeFormat;
+    return getFormat(PredefinedFormat.TIME_FULL);
   }
 
   /**
    * Retrieve the DateTimeFormat object for long date format. The pattern for
    * this format is predefined for each locale.
    * 
-   * @return A DateTimeFormat object.
+   * @return A DateTimeFormat object
+   * @deprecated use {@link #getFormat(PredefinedFormat)} with
+   *     {@link PredefinedFormat#DATE_LONG} instead
    */
+  @Deprecated
   public static DateTimeFormat getLongDateFormat() {
-    if (cachedLongDateFormat == null) {
-      String pattern = getDefaultDateTimeConstants().dateFormats()[LONG_DATE_FORMAT];
-      cachedLongDateFormat = new DateTimeFormat(pattern);
-    }
-    return cachedLongDateFormat;
+    return getFormat(PredefinedFormat.DATE_LONG);
   }
 
   /**
    * Retrieve the DateTimeFormat object for long date and time format. The
    * pattern for this format is predefined for each locale.
    * 
-   * @return A DateTimeFormat object.
+   * @return A DateTimeFormat object
+   * @deprecated use {@link #getFormat(PredefinedFormat)} with
+   *     {@link PredefinedFormat#DATE_TIME_LONG} instead
    */
+  @Deprecated
   public static DateTimeFormat getLongDateTimeFormat() {
-    if (cachedLongDateTimeFormat == null) {
-      String pattern = getDefaultDateTimeConstants().dateFormats()[LONG_DATE_FORMAT]
-          + " " + getDefaultDateTimeConstants().timeFormats()[LONG_TIME_FORMAT];
-      cachedLongDateTimeFormat = new DateTimeFormat(pattern);
-    }
-    return cachedLongDateTimeFormat;
+    return getFormat(PredefinedFormat.DATE_TIME_LONG);
   }
 
   /**
    * Retrieve the DateTimeFormat object for long time format. The pattern for
    * this format is predefined for each locale.
    * 
-   * @return A DateTimeFormat object.
+   * @return A DateTimeFormat object
+   * @deprecated use {@link #getFormat(PredefinedFormat)} with
+   *     {@link PredefinedFormat#TIME_LONG} instead
    */
+  @Deprecated
   public static DateTimeFormat getLongTimeFormat() {
-    if (cachedLongTimeFormat == null) {
-      String pattern = getDefaultDateTimeConstants().timeFormats()[LONG_TIME_FORMAT];
-      cachedLongTimeFormat = new DateTimeFormat(pattern);
-    }
-    return cachedLongTimeFormat;
+    return getFormat(PredefinedFormat.TIME_LONG);
   }
 
   /**
    * Retrieve the DateTimeFormat object for medium date format. The pattern for
    * this format is predefined for each locale.
    * 
-   * @return A DateTimeFormat object.
+   * @return A DateTimeFormat object
+   * @deprecated use {@link #getFormat(PredefinedFormat)} with
+   *     {@link PredefinedFormat#DATE_MEDIUM} instead
    */
+  @Deprecated
   public static DateTimeFormat getMediumDateFormat() {
-    if (cachedMediumDateFormat == null) {
-      String pattern = getDefaultDateTimeConstants().dateFormats()[MEDIUM_DATE_FORMAT];
-      cachedMediumDateFormat = new DateTimeFormat(pattern);
-    }
-    return cachedMediumDateFormat;
+    return getFormat(PredefinedFormat.DATE_MEDIUM);
   }
 
   /**
    * Retrieve the DateTimeFormat object for medium date and time format. The
    * pattern for this format is predefined for each locale.
    * 
-   * @return A DateTimeFormat object.
+   * @return A DateTimeFormat object
+   *     {@link PredefinedFormat#DATE_TIME_MEDIUM} instead
    */
+  @Deprecated
   public static DateTimeFormat getMediumDateTimeFormat() {
-    if (cachedMediumDateTimeFormat == null) {
-      String pattern = getDefaultDateTimeConstants().dateFormats()[MEDIUM_DATE_FORMAT]
-          + " " + getDefaultDateTimeConstants().timeFormats()[MEDIUM_TIME_FORMAT];
-      cachedMediumDateTimeFormat = new DateTimeFormat(pattern);
-    }
-    return cachedMediumDateTimeFormat;
+    return getFormat(PredefinedFormat.DATE_TIME_MEDIUM);
   }
 
   /**
    * Retrieve the DateTimeFormat object for medium time format. The pattern for
    * this format is predefined for each locale.
    * 
-   * @return A DateTimeFormat object.
+   * @return A DateTimeFormat object
+   * @deprecated use {@link #getFormat(PredefinedFormat)} with
+   *     {@link PredefinedFormat#TIME_MEDIUM} instead
    */
+  @Deprecated
   public static DateTimeFormat getMediumTimeFormat() {
-    if (cachedMediumTimeFormat == null) {
-      String pattern = getDefaultDateTimeConstants().timeFormats()[MEDIUM_TIME_FORMAT];
-      cachedMediumTimeFormat = new DateTimeFormat(pattern);
-    }
-    return cachedMediumTimeFormat;
+    return getFormat(PredefinedFormat.TIME_MEDIUM);
   }
 
   /**
    * Retrieve the DateTimeFormat object for short date format. The pattern for
    * this format is predefined for each locale.
    * 
-   * @return A DateTimeFormat object.
+   * @return A DateTimeFormat object
+   * @deprecated use {@link #getFormat(PredefinedFormat)} with
+   *     {@link PredefinedFormat#DATE_SHORT} instead
    */
+  @Deprecated
   public static DateTimeFormat getShortDateFormat() {
-    if (cachedShortDateFormat == null) {
-      String pattern = getDefaultDateTimeConstants().dateFormats()[SHORT_DATE_FORMAT];
-      cachedShortDateFormat = new DateTimeFormat(pattern);
-    }
-    return cachedShortDateFormat;
+    return getFormat(PredefinedFormat.DATE_SHORT);
   }
 
   /**
    * Retrieve the DateTimeFormat object for short date and time format. The
    * pattern for this format is predefined for each locale.
    * 
-   * @return A DateTimeFormat object.
+   * @return A DateTimeFormat object
+   * @deprecated use {@link #getFormat(PredefinedFormat)} with
+   *     {@link PredefinedFormat#DATE_TIME_SHORT} instead
    */
+  @Deprecated
   public static DateTimeFormat getShortDateTimeFormat() {
-    if (cachedShortDateTimeFormat == null) {
-      String pattern = getDefaultDateTimeConstants().dateFormats()[SHORT_DATE_FORMAT]
-          + " " + getDefaultDateTimeConstants().timeFormats()[SHORT_TIME_FORMAT];
-      cachedShortDateTimeFormat = new DateTimeFormat(pattern);
-    }
-    return cachedShortDateTimeFormat;
+    return getFormat(PredefinedFormat.DATE_TIME_SHORT);
   }
 
   /**
@@ -616,22 +798,63 @@
    * this format is predefined for each locale.
    * 
    * @return A DateTimeFormat object.
+   * @deprecated use {@link #getFormat(PredefinedFormat)} with
+   *     {@link PredefinedFormat#TIME_SHORT} instead
    */
+  @Deprecated
   public static DateTimeFormat getShortTimeFormat() {
-    if (cachedShortTimeFormat == null) {
-      String pattern = getDefaultDateTimeConstants().timeFormats()[SHORT_TIME_FORMAT];
-      cachedShortTimeFormat = new DateTimeFormat(pattern);
-    }
-    return cachedShortTimeFormat;
+    return getFormat(PredefinedFormat.TIME_SHORT);
   }
 
-  private static DateTimeConstants getDefaultDateTimeConstants() {
-    return LocaleInfo.getCurrentLocale().getDateTimeConstants();
+  /**
+   * Internal factory method that provides caching.
+   * 
+   * @param pattern
+   * @param dtfi
+   * @return DateTimeFormat instance
+   */
+  protected static DateTimeFormat getFormat(String pattern,
+      DateTimeFormatInfo dtfi) {
+    DateTimeFormatInfo defaultDtfi = getDefaultDateTimeFormatInfo();
+    DateTimeFormat dtf = null;
+    if (dtfi == defaultDtfi) {
+      dtf = cache.get(pattern);
+    }
+    if (dtf == null) {
+      dtf = new DateTimeFormat(pattern, dtfi);
+      if (dtfi == defaultDtfi) {
+        cache.put(pattern, dtf);
+      }
+    }
+    return dtf;
+  }
+
+  private static DateTimeFormatInfo getDefaultDateTimeFormatInfo() {
+    return LocaleInfo.getCurrentLocale().getDateTimeFormatInfo();
+  }
+
+  /**
+   * Returns true if the predefined format is one that specifies always using
+   * English names/separators.
+   * <p>This should be a method on PredefinedFormat, but that would defeat the
+   * enum optimizations GWT is currently capable of.
+   * @param predef
+   * @return true if the specified format requires English names/separators
+   */
+  private static boolean usesFixedEnglishStrings(PredefinedFormat predef) {
+    switch (predef) {
+      case RFC_2822:
+        return true;
+      case ISO_8601:
+        return true;
+      default:
+        return false;
+    }
   }
 
   private final ArrayList<PatternPart> patternParts = new ArrayList<PatternPart>();
 
-  private final DateTimeConstants dateTimeConstants;
+  private final DateTimeFormatInfo dateTimeFormatInfo;
 
   private final String pattern;
 
@@ -642,7 +865,7 @@
    * @param pattern string pattern specification
    */
   protected DateTimeFormat(String pattern) {
-    this(pattern, getDefaultDateTimeConstants());
+    this(pattern, getDefaultDateTimeFormatInfo());
   }
 
   /**
@@ -651,10 +874,23 @@
    * 
    * @param pattern string pattern specification
    * @param dateTimeConstants locale specific symbol collection
+   * @deprecated use {@link #DateTimeFormat(String, DateTimeFormatInfo)}
    */
+  @Deprecated
   protected DateTimeFormat(String pattern, DateTimeConstants dateTimeConstants) {
+    this(pattern, new DateTimeFormatInfoAdapter(dateTimeConstants));
+  }
+
+  /**
+   * Constructs a format object using the specified pattern and user-supplied
+   * date time constants.
+   * 
+   * @param pattern string pattern specification
+   * @param dtfi DateTimeFormatInfo instance to use
+   */
+  protected DateTimeFormat(String pattern, DateTimeFormatInfo dtfi) {
     this.pattern = pattern;
-    this.dateTimeConstants = dateTimeConstants;
+    this.dateTimeFormatInfo = dtfi;
 
     /*
      * Even though the pattern is only compiled for use in parsing and parsing
@@ -940,9 +1176,9 @@
    */
   private void formatAmPm(StringBuffer buf, Date date) {
     if (date.getHours() >= 12 && date.getHours() < 24) {
-      buf.append(dateTimeConstants.ampms()[1]);
+      buf.append(dateTimeFormatInfo.ampms()[1]);
     } else {
-      buf.append(dateTimeConstants.ampms()[0]);
+      buf.append(dateTimeFormatInfo.ampms()[0]);
     }
   }
 
@@ -970,11 +1206,11 @@
   private void formatDayOfWeek(StringBuffer buf, int count, Date date) {
     int value = date.getDay();
     if (count == 5) {
-      buf.append(dateTimeConstants.narrowWeekdays()[value]);
+      buf.append(dateTimeFormatInfo.weekdaysNarrow()[value]);
     } else if (count == 4) {
-      buf.append(dateTimeConstants.weekdays()[value]);
+      buf.append(dateTimeFormatInfo.weekdaysFull()[value]);
     } else {
-      buf.append(dateTimeConstants.shortWeekdays()[value]);
+      buf.append(dateTimeFormatInfo.weekdaysShort()[value]);
     }
   }
 
@@ -989,9 +1225,9 @@
   private void formatEra(StringBuffer buf, int count, Date date) {
     int value = date.getYear() >= -JS_START_YEAR ? 1 : 0;
     if (count >= 4) {
-      buf.append(dateTimeConstants.eraNames()[value]);
+      buf.append(dateTimeFormatInfo.erasFull()[value]);
     } else {
-      buf.append(dateTimeConstants.eras()[value]);
+      buf.append(dateTimeFormatInfo.erasShort()[value]);
     }
   }
 
@@ -1060,13 +1296,13 @@
     int value = date.getMonth();
     switch (count) {
       case 5:
-        buf.append(dateTimeConstants.narrowMonths()[value]);
+        buf.append(dateTimeFormatInfo.monthsNarrow()[value]);
         break;
       case 4:
-        buf.append(dateTimeConstants.months()[value]);
+        buf.append(dateTimeFormatInfo.monthsFull()[value]);
         break;
       case 3:
-        buf.append(dateTimeConstants.shortMonths()[value]);
+        buf.append(dateTimeFormatInfo.monthsShort()[value]);
         break;
       default:
         zeroPaddingNumber(buf, value + 1, count);
@@ -1084,9 +1320,9 @@
   private void formatQuarter(StringBuffer buf, int count, Date date) {
     int value = date.getMonth() / 3;
     if (count < 4) {
-      buf.append(dateTimeConstants.shortQuarters()[value]);
+      buf.append(dateTimeFormatInfo.quartersShort()[value]);
     } else {
-      buf.append(dateTimeConstants.quarters()[value]);
+      buf.append(dateTimeFormatInfo.quartersFull()[value]);
     }
   }
 
@@ -1114,11 +1350,11 @@
   private void formatStandaloneDay(StringBuffer buf, int count, Date date) {
     int value = date.getDay();
     if (count == 5) {
-      buf.append(dateTimeConstants.standaloneNarrowWeekdays()[value]);
+      buf.append(dateTimeFormatInfo.weekdaysNarrowStandalone()[value]);
     } else if (count == 4) {
-      buf.append(dateTimeConstants.standaloneWeekdays()[value]);
+      buf.append(dateTimeFormatInfo.weekdaysFullStandalone()[value]);
     } else if (count == 3) {
-      buf.append(dateTimeConstants.standaloneShortWeekdays()[value]);
+      buf.append(dateTimeFormatInfo.weekdaysShortStandalone()[value]);
     } else {
       zeroPaddingNumber(buf, value, 1);
     }
@@ -1135,11 +1371,11 @@
   private void formatStandaloneMonth(StringBuffer buf, int count, Date date) {
     int value = date.getMonth();
     if (count == 5) {
-      buf.append(dateTimeConstants.standaloneNarrowMonths()[value]);
+      buf.append(dateTimeFormatInfo.monthsNarrowStandalone()[value]);
     } else if (count == 4) {
-      buf.append(dateTimeConstants.standaloneMonths()[value]);
+      buf.append(dateTimeFormatInfo.monthsFullStandalone()[value]);
     } else if (count == 3) {
-      buf.append(dateTimeConstants.standaloneShortMonths()[value]);
+      buf.append(dateTimeFormatInfo.monthsShortStandalone()[value]);
     } else {
       zeroPaddingNumber(buf, value + 1, count);
     }
@@ -1172,8 +1408,10 @@
    */
   private void formatTimeZoneRFC(StringBuffer buf, int count, Date date,
       TimeZone timeZone) {
-    if (count < 4) {
+    if (count < 3) {
       buf.append(timeZone.getRFCTimeZoneString(date));
+    } else if (count == 3) {
+      buf.append(timeZone.getISOTimeZoneString(date));
     } else {
       buf.append(timeZone.getGMTString(date));
     }
@@ -1732,7 +1970,7 @@
 
     switch (ch) {
       case 'G': // era
-        value = matchString(text, start, dateTimeConstants.eras(), pos);
+        value = matchString(text, start, dateTimeFormatInfo.erasFull(), pos);
         cal.setEra(value);
         return true;
       case 'M': // month
@@ -1744,7 +1982,7 @@
       case 'c': // standalone day of week
         return subParseStandaloneDay(text, pos, start, cal);
       case 'a': // AM/PM
-        value = matchString(text, start, dateTimeConstants.ampms(), pos);
+        value = matchString(text, start, dateTimeFormatInfo.ampms(), pos);
         cal.setAmpm(value);
         return true;
       case 'y': // year
@@ -1817,9 +2055,9 @@
     // 'E' - DAY_OF_WEEK
     // Want to be able to parse both short and long forms.
     // Try count == 4 (DDDD) first:
-    value = matchString(text, start, dateTimeConstants.weekdays(), pos);
+    value = matchString(text, start, dateTimeFormatInfo.weekdaysFull(), pos);
     if (value < 0) {
-      value = matchString(text, start, dateTimeConstants.shortWeekdays(), pos);
+      value = matchString(text, start, dateTimeFormatInfo.weekdaysShort(), pos);
     }
     if (value < 0) {
       return false;
@@ -1877,9 +2115,9 @@
     if (value < 0) {
       // Want to be able to parse both short and long forms.
       // Try count == 4 first:
-      value = matchString(text, start, dateTimeConstants.months(), pos);
+      value = matchString(text, start, dateTimeFormatInfo.monthsFull(), pos);
       if (value < 0) { // count == 4 failed, now try count == 3.
-        value = matchString(text, start, dateTimeConstants.shortMonths(), pos);
+        value = matchString(text, start, dateTimeFormatInfo.monthsShort(), pos);
       }
       if (value < 0) {
         return false;
@@ -1910,11 +2148,11 @@
     // 'c' - DAY_OF_WEEK
     // Want to be able to parse both short and long forms.
     // Try count == 4 (cccc) first:
-    value = matchString(text, start, dateTimeConstants.standaloneWeekdays(),
+    value = matchString(text, start, dateTimeFormatInfo.weekdaysFullStandalone(),
         pos);
     if (value < 0) {
       value = matchString(text, start,
-          dateTimeConstants.standaloneShortWeekdays(), pos);
+          dateTimeFormatInfo.weekdaysShortStandalone(), pos);
     }
     if (value < 0) {
       return false;
@@ -1942,10 +2180,10 @@
       // Want to be able to parse both short and long forms.
       // Try count == 4 first:
       value = matchString(text, start,
-          dateTimeConstants.standaloneMonths(), pos);
+          dateTimeFormatInfo.monthsFullStandalone(), pos);
       if (value < 0) { // count == 4 failed, now try count == 3.
         value = matchString(text, start,
-            dateTimeConstants.standaloneShortMonths(), pos);
+            dateTimeFormatInfo.monthsShortStandalone(), pos);
       }
       if (value < 0) {
         return false;
diff --git a/user/src/com/google/gwt/i18n/client/DateTimeFormatInfo.java b/user/src/com/google/gwt/i18n/client/DateTimeFormatInfo.java
new file mode 100644
index 0000000..0386b57
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/DateTimeFormatInfo.java
@@ -0,0 +1,352 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client;
+
+/**
+ * Information required for formatting and parsing localized date/time values.
+ * 
+ * <p>Implementors should subclass {@link DefaultDateTimeFormatInfo} so when
+ * methods are added they will get reasonable defaults and not break.  See the
+ * same class for example values returned by these methods.
+ */
+public interface DateTimeFormatInfo {
+
+  /**
+   * @return array of strings containing abbreviations for Ante Meridiem and
+   * Post Meridiem.
+   */
+  String[] ampms();
+
+  /**
+   * @return a safe default date format.
+   */
+  String dateFormat();
+
+  /**
+   * @return a "full" date format.
+   */
+  String dateFormatFull();
+
+  /**
+   * @return a "long" date format.
+   */
+  String dateFormatLong();
+
+  /**
+   * @return a "medium" date format.
+   */
+  String dateFormatMedium();
+
+  /**
+   * @return a "short" date format.
+   */
+  String dateFormatShort();
+
+  /**
+   * Construct a date/time format from a date format pattern and a time format
+   * pattern, using the locale default joining.
+   * @param timePattern
+   * @param datePattern
+   * 
+   * @return a date/time format
+   */
+  String dateTime(String timePattern, String datePattern);
+
+  /**
+   * Construct a date/time format from a date format pattern and a time format
+   * pattern, using "full" joining.
+   * @param timePattern
+   * @param datePattern
+   * 
+   * @return a date/time format
+   */
+  String dateTimeFull(String timePattern, String datePattern);
+
+  /**
+   * Construct a date/time format from a date format pattern and a time format
+   * pattern, using "full" joining.
+   * @param timePattern
+   * @param datePattern
+   * 
+   * @return a date/time format
+   */
+  String dateTimeLong(String timePattern, String datePattern);
+
+  /**
+   * Construct a date/time format from a date format pattern and a time format
+   * pattern, using "full" joining.
+   * @param timePattern
+   * @param datePattern
+   * 
+   * @return a date/time format
+   */
+  String dateTimeMedium(String timePattern, String datePattern);
+
+  /**
+   * Construct a date/time format from a date format pattern and a time format
+   * pattern, using "full" joining.
+   * 
+   * @param datePattern
+   * @param timePattern
+   * @return a date/time format
+   */
+  String dateTimeShort(String datePattern, String timePattern);
+
+  /**
+   * @return an array of the full era names.
+   */
+  String[] erasFull();
+
+  /**
+   * @return abbreviations of the era names.
+   */
+  String[] erasShort();
+
+  /**
+   * @return the day which generally comes first in a weekly calendar view, as
+   *     an index into the return value of {@link #weekdaysFull()}.
+   */
+  int firstDayOfTheWeek();
+
+  /**
+   * @return localized format equivalent to the "d" skeleton pattern.
+   */
+  String formatDay();
+
+  /**
+   * @return localized format equivalent to the "hm" skeleton pattern.
+   */
+  String formatHour12Minute();
+
+  /**
+   * @return localized format equivalent to the "hms" skeleton pattern.
+   */
+  String formatHour12MinuteSecond();
+
+  /**
+   * @return localized format equivalent to the "Hm" skeleton pattern.
+   */
+  String formatHour24Minute();
+
+  /**
+   * @return localized format equivalent to the "Hms" skeleton pattern.
+   */
+  String formatHour24MinuteSecond();
+
+  /**
+   * @return localized format equivalent to the "ms" skeleton pattern.
+   */
+  String formatMinuteSecond();
+
+  /**
+   * @return localized format equivalent to the "MMM" skeleton pattern.
+   */
+  String formatMonthAbbrev();
+
+  /**
+   * @return localized format equivalent to the "MMMd" skeleton pattern.
+   */
+  String formatMonthAbbrevDay();
+
+  /**
+   * @return localized format equivalent to the "MMMM" skeleton pattern.
+   */
+  String formatMonthFull();
+
+  /**
+   * @return localized format equivalent to the "MMMMd" skeleton pattern.
+   */
+  String formatMonthFullDay();
+
+  /**
+   * @return localized format equivalent to the "MMMMEEEEd" skeleton pattern.
+   */
+  String formatMonthFullWeekdayDay();
+
+  /**
+   * @return localized format equivalent to the "Md" skeleton pattern.
+   */
+  String formatMonthNumDay();
+
+  /**
+   * @return localized format equivalent to the "y" skeleton pattern.
+   */
+  String formatYear();
+
+  /**
+   * @return localized format equivalent to the "yMMM" skeleton pattern.
+   */
+  String formatYearMonthAbbrev();
+
+  /**
+   * @return localized format equivalent to the "yMMMd" skeleton pattern.
+   */
+  String formatYearMonthAbbrevDay();
+
+  /**
+   * @return localized format equivalent to the "yMMMM" skeleton pattern.
+   */
+  String formatYearMonthFull();
+
+  /**
+   * @return localized format equivalent to the "yMMMMd" skeleton pattern.
+   */
+  String formatYearMonthFullDay();
+
+  /**
+   * @return localized format equivalent to the "yM" skeleton pattern.
+   */
+  String formatYearMonthNum();
+
+  /**
+   * @return localized format equivalent to the "yMd" skeleton pattern.
+   */
+  String formatYearMonthNumDay();
+
+  /**
+   * @return localized format equivalent to the "yMMMEEEd" skeleton pattern.
+   */
+  String formatYearMonthWeekdayDay();
+
+  /**
+   * @return localized format equivalent to the "yQQQQ" skeleton pattern.
+   */
+  String formatYearQuarterFull();
+
+  /**
+   * @return localized format equivalent to the "yQ" skeleton pattern.
+   */
+  String formatYearQuarterShort();
+
+  /**
+   * @return an array of full month names.
+   */
+  String[] monthsFull();
+
+  /**
+   * @return an array of month names for use in a stand-alone context.
+   */
+  String[] monthsFullStandalone();
+
+  /**
+   * @return an array of the shortest abbreviations for months, typically a
+   *     single character and not guaranteed to be unique.
+   */
+  String[] monthsNarrow();
+
+  /**
+   * @return an array of the shortest abbreviations for months suitable for use
+   *     in a stand-alone context, typically a single character and not
+   *     guaranteed to be unique.
+   */
+  String[] monthsNarrowStandalone();
+
+  /**
+   * @return an array of month abbreviations.
+   */
+  String[] monthsShort();
+
+  /**
+   * @return an array of month abbreviations, suitable for use in a stand-alone
+   *     context.
+   */
+  String[] monthsShortStandalone();
+
+  /**
+   * @return an array of full quarter names.
+   */
+  String[] quartersFull();
+
+  /**
+   * @return an array of abbreviations for quarters.
+   */
+  String[] quartersShort();
+
+  /**
+   * @return a safe default time format.
+   */
+  String timeFormat();
+
+  /**
+   * @return a "full" time format.
+   */
+  String timeFormatFull();
+
+  /**
+   * @return a "long" time format.
+   */
+  String timeFormatLong();
+
+  /**
+   * @return a "medium" time format.
+   */
+  String timeFormatMedium();
+
+  /**
+   * @return a "short" time format.
+   */
+  String timeFormatShort();
+
+  /**
+   * @return an array of the full names of weekdays.
+   */
+  String[] weekdaysFull();
+
+  /**
+   * @return an array of the full names of weekdays, suitable for use in a
+   *     stand-alone context.
+   */
+  String[] weekdaysFullStandalone();
+
+  /**
+   * @return an array of the shortest abbreviations for weekdays, typically a
+   *     single character and not guaranteed to be unique.
+   */
+  String[] weekdaysNarrow();
+
+  /**
+   * @return an array of the shortest abbreviations for weekdays suitable for
+   *     use in a stand-alone context, typically a single character and not
+   *     guaranteed to be unique.
+   */
+  String[] weekdaysNarrowStandalone();
+
+  /**
+   * @return an array of abbreviations for weekdays.
+   */
+  String[] weekdaysShort();
+
+  /**
+   * @return an array of abbreviations for weekdays, suitable for use in a
+   *     stand-alone context.
+   */
+  String[] weekdaysShortStandalone();
+
+  /**
+   * @return the day which starts the weekend, as an index into the return value
+   *     of {@link #weekdaysFull()}.
+   */
+  int weekendEnd();
+
+  /**
+   * @return the day which ends the weekend, as an index into the return value
+   *     of {@link #weekdaysFull()}.  Note that this value may be numerically less
+   *     than {@link #weekendEnd()} - for example, {@link #weekendEnd()} of 6
+   *     and {@link #weekendStart()} of 0 means Saturday and Sunday are the
+   *     weekend.
+   */
+  int weekendStart();
+}
\ No newline at end of file
diff --git a/user/src/com/google/gwt/i18n/client/DateTimeFormatInfoAdapter.java b/user/src/com/google/gwt/i18n/client/DateTimeFormatInfoAdapter.java
new file mode 100644
index 0000000..d73759f
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/DateTimeFormatInfoAdapter.java
@@ -0,0 +1,176 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client;
+
+import com.google.gwt.i18n.client.constants.DateTimeConstants;
+
+/**
+ * Adapter that makes a {@link DateTimeConstants} implementation suitable for
+ * use with something that wants a
+ * {@link com.google.gwt.i18n.client.DateTimeFormatInfo}.  Values not present
+ * in {@link DateTimeConstants} receive default values.
+ */
+@SuppressWarnings("deprecation")
+class DateTimeFormatInfoAdapter extends DefaultDateTimeFormatInfo {
+
+  private final DateTimeConstants dtc;
+
+  public DateTimeFormatInfoAdapter(DateTimeConstants dtc) {
+    this.dtc = dtc;
+  }
+
+  // CHECKSTYLE_OFF
+
+  @Override
+  public String[] ampms() {
+    return dtc.ampms();
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return dtc.dateFormats()[0];
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return dtc.dateFormats()[1];
+  }
+  
+  @Override
+  public String dateFormatMedium() {
+    return dtc.dateFormats()[2];
+  }
+  
+  @Override
+  public String dateFormatShort() {
+    return dtc.dateFormats()[3];
+  }
+
+  @Override
+  public String[] erasFull() {
+    return dtc.eraNames();
+  }
+
+  @Override
+  public String[] erasShort() {
+    return dtc.eras();
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return Integer.valueOf(dtc.firstDayOfTheWeek()) - 1;
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return dtc.months();
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return dtc.standaloneMonths();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return dtc.narrowMonths();
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return dtc.standaloneNarrowMonths();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return dtc.shortMonths();
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return dtc.standaloneShortMonths();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return dtc.quarters();
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return dtc.shortQuarters();
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return dtc.timeFormats()[0];
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return dtc.timeFormats()[1];
+  }
+  
+  @Override
+  public String timeFormatMedium() {
+    return dtc.timeFormats()[2];
+  }
+  
+  @Override
+  public String timeFormatShort() {
+    return dtc.timeFormats()[3];
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return dtc.weekdays();
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return dtc.standaloneWeekdays();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return dtc.narrowWeekdays();
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return dtc.standaloneNarrowWeekdays();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return dtc.shortWeekdays();
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return dtc.standaloneShortWeekdays();
+  }
+
+  @Override
+  public int weekendEnd() {
+    return Integer.valueOf(dtc.weekendRange()[1]) - 1;
+  }
+
+  @Override
+  public int weekendStart() {
+    return Integer.valueOf(dtc.weekendRange()[0]) - 1;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/DefaultDateTimeFormatInfo.java b/user/src/com/google/gwt/i18n/client/DefaultDateTimeFormatInfo.java
new file mode 100644
index 0000000..fadf489
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/DefaultDateTimeFormatInfo.java
@@ -0,0 +1,339 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Default implementation of DateTimeFormatInfo interface, using values from
+ * the CLDR root locale.
+ * <p>
+ * Users who need to create their own DateTimeFormatInfo implementation are
+ * encouraged to extend this class so their implementation won't break when
+ * new methods are added.
+ */
+public class DefaultDateTimeFormatInfo implements DateTimeFormatInfo {
+
+  public String[] ampms() {
+    return new String[] { 
+        "AM",
+        "PM"
+    };
+  }
+
+  public String dateFormat() {
+    return dateFormatMedium();
+  }
+
+  public String dateFormatFull() {
+    return "EEEE, MMMM d, y";
+  }
+
+  public String dateFormatLong() {
+    return "MMMM d, y";
+  }
+
+  public String dateFormatMedium() {
+    return "MMM d, y";
+  }
+
+  public String dateFormatShort() {
+    return "M/d/yy";
+  }
+
+  public String dateTime(String timePattern, String datePattern) {
+    return datePattern + " " + timePattern;
+  }
+
+  public String dateTimeFull(String timePattern, String datePattern) {
+    return dateTime(timePattern, datePattern);
+  }
+
+  public String dateTimeLong(String timePattern, String datePattern) {
+    return dateTime(timePattern, datePattern);
+  }
+
+  public String dateTimeMedium(String timePattern, String datePattern) {
+    return dateTime(timePattern, datePattern);
+  }
+
+  public String dateTimeShort(String timePattern, String datePattern) {
+    return dateTime(timePattern, datePattern);
+  }
+
+  public String[] erasFull() {
+    return new String[] { 
+        "Before Christ",
+        "Anno Domini"
+    };
+  }
+
+  public String[] erasShort() {
+    return new String[] { 
+        "BC",
+        "AD"
+    };
+  }
+
+  public int firstDayOfTheWeek() {
+    return 0;
+  }
+
+  public String formatDay() {
+    return "d";
+  }
+
+  public String formatHour12Minute() {
+    return "h:mm a";
+  }
+
+  public String formatHour12MinuteSecond() {
+    return "h:mm:ss a";
+  }
+
+  public String formatHour24Minute() {
+    return "HH:mm";
+  }
+
+  public String formatHour24MinuteSecond() {
+    return "HH:mm:ss";
+  }
+
+  public String formatMinuteSecond() {
+    return "mm:ss";
+  }
+
+  public String formatMonthAbbrev() {
+    return "LLL";
+  }
+
+  public String formatMonthAbbrevDay() {
+    return "MMM d";
+  }
+
+  public String formatMonthFull() {
+    return "LLLL";
+  }
+
+  public String formatMonthFullDay() {
+    return "MMMM d";
+  }
+
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE MMMM d";
+  }
+
+  public String formatMonthNumDay() {
+    return "M-d";
+  }
+
+  public String formatYear() {
+    return "y";
+  }
+
+  public String formatYearMonthAbbrev() {
+    return "y MMM";
+  }
+
+  public String formatYearMonthAbbrevDay() {
+    return "y MMM d";
+  }
+
+  public String formatYearMonthFull() {
+    return "y MMMM";
+  }
+
+  public String formatYearMonthFullDay() {
+    return "y MMMM d";
+  }
+
+  public String formatYearMonthNum() {
+    return "y-M";
+  }
+
+  public String formatYearMonthNumDay() {
+    return "y-M-d";
+  }
+
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, y MMM d";
+  }
+
+  public String formatYearQuarterFull() {
+    return "y QQQQ";
+  }
+
+  public String formatYearQuarterShort() {
+    return "y Q";
+  }
+
+  public String[] monthsFull() {
+    return new String[] { 
+        "January",
+        "February",
+        "March",
+        "April",
+        "May",
+        "June",
+        "July",
+        "August",
+        "September",
+        "October",
+        "November",
+        "December"
+    };
+  }
+
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "J",
+        "F",
+        "M",
+        "A",
+        "M",
+        "J",
+        "J",
+        "A",
+        "S",
+        "O",
+        "N",
+        "D"
+    };
+  }
+
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  public String[] monthsShort() {
+    return new String[] { 
+        "Jan",
+        "Feb",
+        "Mar",
+        "Apr",
+        "May",
+        "Jun",
+        "Jul",
+        "Aug",
+        "Sep",
+        "Oct",
+        "Nov",
+        "Dec"
+    };
+  }
+
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  public String[] quartersFull() {
+    return new String[] { 
+        "1st quarter",
+        "2nd quarter",
+        "3rd quarter",
+        "4th quarter"
+    };
+  }
+
+  public String[] quartersShort() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  public String timeFormat() {
+    return timeFormatMedium();
+  }
+
+  public String timeFormatFull() {
+    return "h:mm:ss a zzzz";
+  }
+
+  public String timeFormatLong() {
+    return "h:mm:ss a z";
+  }
+
+  public String timeFormatMedium() {
+    return "h:mm:ss a";
+  }
+
+  public String timeFormatShort() {
+    return "h:mm a";
+  }
+
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Sunday",
+        "Monday",
+        "Tuesday",
+        "Wednesday",
+        "Thursday",
+        "Friday",
+        "Saturday"
+    };
+  }
+
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "S",
+        "M",
+        "T",
+        "W",
+        "T",
+        "F",
+        "S"
+    };
+  }
+
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Sun",
+        "Mon",
+        "Tue",
+        "Wed",
+        "Thu",
+        "Fri",
+        "Sat"
+    };
+  }
+
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+
+  public int weekendEnd() {
+    return 0;
+  }
+
+  public int weekendStart() {
+    return 6;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/LocaleInfo.java b/user/src/com/google/gwt/i18n/client/LocaleInfo.java
index dac341e..da0025a 100644
--- a/user/src/com/google/gwt/i18n/client/LocaleInfo.java
+++ b/user/src/com/google/gwt/i18n/client/LocaleInfo.java
@@ -25,6 +25,7 @@
  * Provides access to the currently-active locale and the list of available
  * locales.
  */
+@SuppressWarnings("deprecation")
 public class LocaleInfo {
 
   /**
@@ -98,6 +99,8 @@
   private final CldrImpl cldrImpl;
 
   private DateTimeConstants dateTimeConstants;
+
+  private DateTimeFormatInfo dateTimeFormatInfo;
   
   private NumberConstants numberConstants;
 
@@ -120,7 +123,7 @@
     this.infoImpl = impl;
     this.cldrImpl = cldr;
   }
-  
+
   /**
    * @return a DateTimeConstants instance for this locale.
    */
@@ -128,7 +131,15 @@
     ensureDateTimeConstants();
     return dateTimeConstants;
   }
-  
+
+  /**
+   * @return a DateTimeConstants instance for this locale.
+   */
+  public final DateTimeFormatInfo getDateTimeFormatInfo() {
+    ensureDateTimeFormatInfo();
+    return dateTimeFormatInfo;
+  }
+
   /**
    * @return the name of this locale, such as "default, "en_US", etc
    */
@@ -153,7 +164,14 @@
 
   private void ensureDateTimeConstants() {
     if (dateTimeConstants == null) {
-      dateTimeConstants = infoImpl.getDateTimeConstants();
+      ensureDateTimeFormatInfo();
+      dateTimeConstants = new DateTimeConstantsAdapter(dateTimeFormatInfo);
+    }
+  }
+
+  private void ensureDateTimeFormatInfo() {
+    if (dateTimeFormatInfo == null) {
+      dateTimeFormatInfo = infoImpl.getDateTimeFormatInfo();
     }
   }
   
diff --git a/user/src/com/google/gwt/i18n/client/TimeZone.java b/user/src/com/google/gwt/i18n/client/TimeZone.java
index 47902ac..4334a81 100644
--- a/user/src/com/google/gwt/i18n/client/TimeZone.java
+++ b/user/src/com/google/gwt/i18n/client/TimeZone.java
@@ -43,6 +43,25 @@
   private static final int DLT_LONG_NAME = 3;
 
   /**
+   * This factory method provides a decent fallback to create a time zone object
+   * just based on a given time zone offset.
+   * 
+   * @param timeZoneOffsetInMinutes time zone offset in minutes
+   * @return a new time zone object
+   */
+  public static TimeZone createTimeZone(int timeZoneOffsetInMinutes) {
+    TimeZone tz = new TimeZone();
+    tz.standardOffset = timeZoneOffsetInMinutes;
+    tz.timezoneID = composePOSIXTimeZoneID(timeZoneOffsetInMinutes);
+    tz.tzNames = new String[2]; 
+    tz.tzNames[0] = composeUTCString(timeZoneOffsetInMinutes);
+    tz.tzNames[1] = composeUTCString(timeZoneOffsetInMinutes);
+    tz.transitionPoints = null;
+    tz.adjustments = null;
+    return tz;
+  }
+
+  /**
    * This factory method creates a time zone instance from a JSON string that
    * contains the time zone information for desired time zone. Applications can
    * get such a string from the TimeZoneConstants class, or it can request the
@@ -50,8 +69,8 @@
    * string from the data provided in the TimeZoneConstant.properties file,
    * which was carefully prepared from CLDR and Olson time zone database.
    * 
-   * @param tzJSON JSON string that contains time zone data.
-   * @return a new time zone object. 
+   * @param tzJSON JSON string that contains time zone data
+   * @return a new time zone object
    */
   public static TimeZone createTimeZone(String tzJSON) {
     TimeZoneInfo tzData = TimeZoneInfo.buildTimeZoneData(tzJSON);
@@ -92,25 +111,6 @@
   }
 
   /**
-   * This factory method provides a decent fallback to create a time zone object
-   * just based on a given time zone offset.
-   * 
-   * @param timeZoneOffsetInMinutes time zone offset in minutes.
-   * @return a new time zone object.
-   */
-  public static TimeZone createTimeZone(int timeZoneOffsetInMinutes) {
-    TimeZone tz = new TimeZone();
-    tz.standardOffset = timeZoneOffsetInMinutes;
-    tz.timezoneID = composePOSIXTimeZoneID(timeZoneOffsetInMinutes);
-    tz.tzNames = new String[2]; 
-    tz.tzNames[0] = composeUTCString(timeZoneOffsetInMinutes);
-    tz.tzNames[1] = composeUTCString(timeZoneOffsetInMinutes);
-    tz.transitionPoints = null;
-    tz.adjustments = null;
-    return tz;
-  }
-
-  /**
    * In GMT representation, +/- has reverse sign of time zone offset.
    * when offset == 480, it should output GMT-08:00.
    */
@@ -181,8 +181,8 @@
    * date. If daylight savings time is in effect on the given date, the number
    * will be positive, otherwise 0.
    * 
-   * @param date the date to check.
-   * @return offset amount.
+   * @param date the date to check
+   * @return offset amount
    */
   public int getDaylightAdjustment(Date date) {
     if (transitionPoints == null) {
@@ -201,7 +201,7 @@
    * Return the GMT representation of this time zone object.
    * 
    * @param date The date from which the time information should be extracted
-   * @return A GMT representation of the time given by the date.
+   * @return A GMT representation of the time given by the date
    */
   public String getGMTString(Date date) {
     return composeGMTString(getOffset(date));
@@ -212,19 +212,39 @@
    * been instantiated from a time zone offset, the POSIX time zone id will be
    * returned.
    * 
-   * @return time zone id.
+   * @return time zone id
    */
   public String getID() {
     return timezoneID;
   }
 
   /**
+   * To get ISO-style (+00:00) representation of the time zone for given date.
+   *
+   * @param date The date for which time to retrieve RFC time zone string
+   * @return ISO-style time zone string
+   */
+  public String getISOTimeZoneString(Date date) {
+    int offset = -getOffset(date);
+    char data[] = {'+', '0', '0', ':', '0', '0'};
+    if (offset < 0) {
+      data[0] = '-';
+      offset = -offset; // suppress the '-' sign for text display.
+    }
+    data[1] += (offset / 60) / 10;
+    data[2] += (offset / 60) % 10;
+    data[4] += (offset % 60) / 10;
+    data[5] += offset % 10;
+    return new String(data);
+  }
+
+  /**
    * Returns the long version of the time zone name for the given date; the
    * result of this method will be different if daylight savings time is in
    * effect.
    * 
    * @param date The date for which the long time zone name is returned
-   * @return long time zone name.
+   * @return long time zone name
    */
   public String getLongName(Date date) {
     return tzNames[isDaylightTime(date) ? DLT_LONG_NAME : STD_LONG_NAME]; 
@@ -235,8 +255,8 @@
    * To be consistent with JDK/Javascript API, west of Greenwich will be
    * positive.
    * 
-   *  @param date The date for which time to retrieve time zone offset.
-   *  @return time zone offset in minutes. 
+   *  @param date The date for which time to retrieve time zone offset
+   *  @return time zone offset in minutes
    */
   public int getOffset(Date date) {
     return standardOffset - getDaylightAdjustment(date);
@@ -244,8 +264,8 @@
 
   /**
    * To get RFC representation of certain time zone name for given date.
-   * @param date The date for which time to retrieve RFC time zone string.
-   * @return RFC time zone string.
+   * @param date The date for which time to retrieve RFC time zone string
+   * @return RFC time zone string
    */
   public String getRFCTimeZoneString(Date date) {
     int offset = -getOffset(date);
@@ -264,17 +284,15 @@
   /**
    * Returns the short time zone name for a given date.
    * 
-   * @param date The date for which time to retrieve short time zone.
-   * @return short time zone name.
+   * @param date The date for which time to retrieve short time zone
+   * @return short time zone name
    */
   public String getShortName(Date date) {
     return tzNames[isDaylightTime(date) ? DLT_SHORT_NAME : STD_SHORT_NAME]; 
   }
 
   /**
-   * Returns the standard time zone offset in minutes.
-   * 
-   * @return the standard time zone offset, in minutes
+   * @return the standard time zone offset, in minutes.
    */
   public int getStandardOffset() {
     return standardOffset;
@@ -284,8 +302,8 @@
    * Check whether the given date and time falls within a daylight savings time
    * period.
    * 
-   * @param date and time to check.
-   * @return true if daylight savings time is in effect.
+   * @param date and time to check
+   * @return true if daylight savings time is in effect
    */
   public boolean isDaylightTime(Date date) {
     return getDaylightAdjustment(date) > 0;
diff --git a/user/src/com/google/gwt/i18n/client/constants/DateTimeConstants.java b/user/src/com/google/gwt/i18n/client/constants/DateTimeConstants.java
index 998803b..48b79aa 100644
--- a/user/src/com/google/gwt/i18n/client/constants/DateTimeConstants.java
+++ b/user/src/com/google/gwt/i18n/client/constants/DateTimeConstants.java
@@ -24,7 +24,10 @@
  * 
  * If you previously were using GWT.create on this interface, you should
  * use LocaleInfo.getDateTimeConstants() instead.
+ * 
+ * @deprecated use DateTimeFormatInfo instead
  */
+@Deprecated
 public interface DateTimeConstants {
   String[] ampms();
 
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 7142858..d36b23a 100644
--- a/user/src/com/google/gwt/i18n/client/impl/LocaleInfoImpl.java
+++ b/user/src/com/google/gwt/i18n/client/impl/LocaleInfoImpl.java
@@ -16,10 +16,10 @@
 package com.google.gwt.i18n.client.impl;
 
 import com.google.gwt.core.client.GWT;
-import com.google.gwt.i18n.client.constants.DateTimeConstants;
-import com.google.gwt.i18n.client.constants.DateTimeConstantsImpl;
+import com.google.gwt.i18n.client.DateTimeFormatInfo;
 import com.google.gwt.i18n.client.constants.NumberConstants;
 import com.google.gwt.i18n.client.constants.NumberConstantsImpl;
+import com.google.gwt.i18n.client.impl.cldr.DateTimeFormatInfoImpl;
 
 /**
  * Implementation detail of LocaleInfo -- not a public API and subject to
@@ -48,15 +48,15 @@
   }
   
   /**
-   * Create a DateTimeConstants instance appropriate for this locale.
+   * Create a {@link DateTimeFormatInfo} instance appropriate for this locale.
    * 
    * Note that the caller takes care of any caching so subclasses need not
    * bother.
    * 
-   * @return a DateTimeConstants instance
+   * @return a {@link DateTimeFormatInfo} instance
    */
-  public DateTimeConstants getDateTimeConstants() {
-    return GWT.create(DateTimeConstantsImpl.class);
+  public DateTimeFormatInfo getDateTimeFormatInfo() {
+    return GWT.create(DateTimeFormatInfoImpl.class);
   }
 
   /**
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl.java
new file mode 100644
index 0000000..b4c9e4d
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl.java
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+import com.google.gwt.i18n.client.DefaultDateTimeFormatInfo;
+import com.google.gwt.i18n.client.Localizable;
+
+/**
+ * {@link com.google.gwt.i18n.client.DateTimeFormatInfo} implementation based on
+ * Unicode CLDR data.
+ */
+public class DateTimeFormatInfoImpl extends DefaultDateTimeFormatInfo
+    implements Localizable {
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_aa.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_aa.java
new file mode 100644
index 0000000..dac1771
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_aa.java
@@ -0,0 +1,261 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "aa".
+ */
+public class DateTimeFormatInfoImpl_aa extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "saaku",
+        "carra"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, MMMM dd, y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd-MMM-y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "Yaasuusuk Duma",
+        "Yaasuusuk Wadir"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "Yaasuusuk Duma",
+        "Yaasuusuk Wadir"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Qunxa Garablu",
+        "Kudo",
+        "Ciggilta Kudo",
+        "Agda Baxis",
+        "Caxah Alsa",
+        "Qasa Dirri",
+        "Qado Dirri",
+        "Liiqen",
+        "Waysu",
+        "Diteli",
+        "Ximoli",
+        "Kaxxa Garablu"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "Q",
+        "N",
+        "C",
+        "A",
+        "C",
+        "Q",
+        "Q",
+        "L",
+        "W",
+        "D",
+        "X",
+        "K"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Qun",
+        "Nah",
+        "Cig",
+        "Agd",
+        "Cax",
+        "Qas",
+        "Qad",
+        "Leq",
+        "Way",
+        "Dit",
+        "Xim",
+        "Kax"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Acaada",
+        "Etleeni",
+        "Talaata",
+        "Arbaqa",
+        "Kamiisi",
+        "Gumqata",
+        "Sabti"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "A",
+        "E",
+        "T",
+        "A",
+        "K",
+        "G",
+        "S"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Aca",
+        "Etl",
+        "Tal",
+        "Arb",
+        "Kam",
+        "Gum",
+        "Sab"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_aa_DJ.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_aa_DJ.java
new file mode 100644
index 0000000..904d1c3
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_aa_DJ.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "aa_DJ".
+ */
+public class DateTimeFormatInfoImpl_aa_DJ extends DateTimeFormatInfoImpl_aa {
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 6;
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Qunxa Garablu",
+        "Naharsi Kudo",
+        "Ciggilta Kudo",
+        "Agda Baxisso",
+        "Caxah Alsa",
+        "Qasa Dirri",
+        "Qado Dirri",
+        "Leqeeni",
+        "Waysu",
+        "Diteli",
+        "Ximoli",
+        "Kaxxa Garablu"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_aa_ER.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_aa_ER.java
new file mode 100644
index 0000000..fe4d24f
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_aa_ER.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "aa_ER".
+ */
+public class DateTimeFormatInfoImpl_aa_ER extends DateTimeFormatInfoImpl_aa {
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 6;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_aa_ER_SAAHO.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_aa_ER_SAAHO.java
new file mode 100644
index 0000000..ac569e7
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_aa_ER_SAAHO.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "aa_ER_SAAHO".
+ */
+public class DateTimeFormatInfoImpl_aa_ER_SAAHO extends DateTimeFormatInfoImpl_aa_ER {
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Naba Sambat",
+        "Sani",
+        "Salus",
+        "Rabuq",
+        "Camus",
+        "Jumqata",
+        "Qunxa Sambat"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Nab",
+        "San",
+        "Sal",
+        "Rab",
+        "Cam",
+        "Jum",
+        "Qun"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_aa_ET.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_aa_ET.java
new file mode 100644
index 0000000..fe6f258
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_aa_ET.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "aa_ET".
+ */
+public class DateTimeFormatInfoImpl_aa_ET extends DateTimeFormatInfoImpl_aa {
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 6;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_af.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_af.java
new file mode 100644
index 0000000..a730dbb
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_af.java
@@ -0,0 +1,266 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "af".
+ */
+public class DateTimeFormatInfoImpl_af extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "vm.",
+        "nm."
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yyyy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "voor Christus",
+        "na Christus"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "v.C.",
+        "n.C."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE d MMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Januarie",
+        "Februarie",
+        "Maart",
+        "April",
+        "Mei",
+        "Junie",
+        "Julie",
+        "Augustus",
+        "September",
+        "Oktober",
+        "November",
+        "Desember"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Jan",
+        "Feb",
+        "Mar",
+        "Apr",
+        "Mei",
+        "Jun",
+        "Jul",
+        "Aug",
+        "Sep",
+        "Okt",
+        "Nov",
+        "Des"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1ste kwartaal",
+        "2de kwartaal",
+        "3de kwartaal",
+        "4de kwartaal"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "K1",
+        "K2",
+        "K3",
+        "K4"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Sondag",
+        "Maandag",
+        "Dinsdag",
+        "Woensdag",
+        "Donderdag",
+        "Vrydag",
+        "Saterdag"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "So",
+        "Ma",
+        "Di",
+        "Wo",
+        "Do",
+        "Vr",
+        "Sa"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_af_NA.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_af_NA.java
new file mode 100644
index 0000000..329c45e
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_af_NA.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "af_NA".
+ */
+public class DateTimeFormatInfoImpl_af_NA extends DateTimeFormatInfoImpl_af {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yyyy-MM-dd";
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ak.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ak.java
new file mode 100644
index 0000000..d697b55
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ak.java
@@ -0,0 +1,266 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ak".
+ */
+public class DateTimeFormatInfoImpl_ak extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "AN",
+        "EW"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "Ansa Kristo",
+        "Kristo Ekyiri"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "AK",
+        "KE"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM yyyy";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM yyyy";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/yyyy";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "y/M/d";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ yyyy";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q yyyy";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Sanda-Ɔpɛpɔn",
+        "Kwakwar-Ɔgyefuo",
+        "Ebɔw-Ɔbenem",
+        "Ebɔbira-Oforisuo",
+        "Esusow Aketseaba-Kɔtɔnimba",
+        "Obirade-Ayɛwohomumu",
+        "Ayɛwoho-Kitawonsa",
+        "Difuu-Ɔsandaa",
+        "Fankwa-Ɛbɔ",
+        "Ɔbɛsɛ-Ahinime",
+        "Ɔberɛfɛw-Obubuo",
+        "Mumu-Ɔpɛnimba"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "S-Ɔ",
+        "K-Ɔ",
+        "E-Ɔ",
+        "E-O",
+        "E-K",
+        "O-A",
+        "A-K",
+        "D-Ɔ",
+        "F-Ɛ",
+        "Ɔ-A",
+        "Ɔ-O",
+        "M-Ɔ"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Kwesida",
+        "Dwowda",
+        "Benada",
+        "Wukuda",
+        "Yawda",
+        "Fida",
+        "Memeneda"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "K",
+        "D",
+        "B",
+        "W",
+        "Y",
+        "F",
+        "M"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Kwe",
+        "Dwo",
+        "Ben",
+        "Wuk",
+        "Yaw",
+        "Fia",
+        "Mem"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_am.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_am.java
new file mode 100644
index 0000000..9ed1410
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_am.java
@@ -0,0 +1,271 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "am".
+ */
+public class DateTimeFormatInfoImpl_am extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "ጡዋት",
+        "ከሳዓት"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE፣ dd MMMM ቀን y G";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "MMM d y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "ዓ/ዓ",
+        "ዓ/ም"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "ዓ/ዓ",
+        "ዓ/ም"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 6;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d MMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "ጃንዩወሪ",
+        "ፌብሩወሪ",
+        "ማርች",
+        "ኤፕረል",
+        "ሜይ",
+        "ጁን",
+        "ጁላይ",
+        "ኦገስት",
+        "ሴፕቴምበር",
+        "ኦክተውበር",
+        "ኖቬምበር",
+        "ዲሴምበር"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "ጃ",
+        "ፌ",
+        "ማ",
+        "ኤ",
+        "ሜ",
+        "ጁ",
+        "ጁ",
+        "ኦ",
+        "ሴ",
+        "ኦ",
+        "ኖ",
+        "ዲ"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "ጃንዩ",
+        "ፌብሩ",
+        "ማርች",
+        "ኤፕረ",
+        "ሜይ",
+        "ጁን",
+        "ጁላይ",
+        "ኦገስ",
+        "ሴፕቴ",
+        "ኦክተ",
+        "ኖቬም",
+        "ዲሴም"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "hh:mm:ss a zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "hh:mm:ss a z";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "እሑድ",
+        "ሰኞ",
+        "ማክሰኞ",
+        "ረቡዕ",
+        "ሐሙስ",
+        "ዓርብ",
+        "ቅዳሜ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "እ",
+        "ሰ",
+        "ማ",
+        "ረ",
+        "ሐ",
+        "ዓ",
+        "ቅ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "እሑድ",
+        "ሰኞ",
+        "ማክሰ",
+        "ረቡዕ",
+        "ሐሙስ",
+        "ዓርብ",
+        "ቅዳሜ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar.java
new file mode 100644
index 0000000..2620620
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar.java
@@ -0,0 +1,301 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ar".
+ */
+public class DateTimeFormatInfoImpl_ar extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "ص",
+        "م"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE، d MMMM، y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM، y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd‏/MM‏/yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d‏/M‏/yyyy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "قبل الميلاد",
+        "ميلادي"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "ق.م",
+        "م"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 6;
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE d MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d‏/M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM، y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM، y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M‏/yyyy";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d‏/M‏/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE، d MMM، y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "yyyy QQQQ";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "yyyy Q";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "يناير",
+        "فبراير",
+        "مارس",
+        "أبريل",
+        "مايو",
+        "يونيو",
+        "يوليو",
+        "أغسطس",
+        "سبتمبر",
+        "أكتوبر",
+        "نوفمبر",
+        "ديسمبر"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "ي",
+        "ف",
+        "م",
+        "أ",
+        "و",
+        "ن",
+        "ل",
+        "غ",
+        "س",
+        "ك",
+        "ب",
+        "د"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "يناير",
+        "فبراير",
+        "مارس",
+        "أبريل",
+        "مايو",
+        "يونيو",
+        "يوليو",
+        "أغسطس",
+        "سبتمبر",
+        "أكتوبر",
+        "نوفمبر",
+        "ديسمبر"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "الربع الأول",
+        "الربع الثاني",
+        "الربع الثالث",
+        "الربع الرابع"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "الربع الأول",
+        "الربع الثاني",
+        "الربع الثالث",
+        "الربع الرابع"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "zzzz h:mm:ss a";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "z h:mm:ss a";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "الأحد",
+        "الإثنين",
+        "الثلاثاء",
+        "الأربعاء",
+        "الخميس",
+        "الجمعة",
+        "السبت"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "ح",
+        "ن",
+        "ث",
+        "ر",
+        "خ",
+        "ج",
+        "س"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "أحد",
+        "إثنين",
+        "ثلاثاء",
+        "أربعاء",
+        "خميس",
+        "جمعة",
+        "سبت"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+
+  @Override
+  public int weekendEnd() {
+    return 6;
+  }
+
+  @Override
+  public int weekendStart() {
+    return 5;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_AE.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_AE.java
new file mode 100644
index 0000000..6788ee5
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_AE.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ar_AE".
+ */
+public class DateTimeFormatInfoImpl_ar_AE extends DateTimeFormatInfoImpl_ar {
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_DZ.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_DZ.java
new file mode 100644
index 0000000..e195eac
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_DZ.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ar_DZ".
+ */
+public class DateTimeFormatInfoImpl_ar_DZ extends DateTimeFormatInfoImpl_ar {
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "yyyy/M";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "y/M/d";
+  }
+
+  @Override
+  public int weekendEnd() {
+    return 5;
+  }
+
+  @Override
+  public int weekendStart() {
+    return 4;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_JO.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_JO.java
new file mode 100644
index 0000000..0a716b0
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_JO.java
@@ -0,0 +1,88 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ar_JO".
+ */
+public class DateTimeFormatInfoImpl_ar_JO extends DateTimeFormatInfoImpl_ar {
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "كانون الثاني",
+        "شباط",
+        "آذار",
+        "نيسان",
+        "أيار",
+        "حزيران",
+        "تموز",
+        "آب",
+        "أيلول",
+        "تشرين الأول",
+        "تشرين الثاني",
+        "كانون الأول"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "كانون الثاني",
+        "شباط",
+        "آذار",
+        "نيسان",
+        "أيار",
+        "حزيران",
+        "تموز",
+        "آب",
+        "أيلول",
+        "تشرين الأول",
+        "تشرين الثاني",
+        "كانون الأول"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "الأحد",
+        "الاثنين",
+        "الثلاثاء",
+        "الأربعاء",
+        "الخميس",
+        "الجمعة",
+        "السبت"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_KW.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_KW.java
new file mode 100644
index 0000000..4cddde8
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_KW.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ar_KW".
+ */
+public class DateTimeFormatInfoImpl_ar_KW extends DateTimeFormatInfoImpl_ar {
+
+  @Override
+  public int weekendEnd() {
+    return 5;
+  }
+
+  @Override
+  public int weekendStart() {
+    return 4;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_LB.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_LB.java
new file mode 100644
index 0000000..7df8334
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_LB.java
@@ -0,0 +1,103 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ar_LB".
+ */
+public class DateTimeFormatInfoImpl_ar_LB extends DateTimeFormatInfoImpl_ar {
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "كانون الثاني",
+        "شباط",
+        "آذار",
+        "نيسان",
+        "نوار",
+        "حزيران",
+        "تموز",
+        "آب",
+        "أيلول",
+        "تشرين الأول",
+        "تشرين الثاني",
+        "كانون الأول"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "كانون الثاني",
+        "شباط",
+        "آذار",
+        "نيسان",
+        "نوار",
+        "حزيران",
+        "تموز",
+        "آب",
+        "أيلول",
+        "تشرين الأول",
+        "تشرين الثاني",
+        "كانون الأول"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "الأحد",
+        "الاثنين",
+        "الثلاثاء",
+        "الأربعاء",
+        "الخميس",
+        "الجمعة",
+        "السبت"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+
+  @Override
+  public int weekendEnd() {
+    return 0;
+  }
+
+  @Override
+  public int weekendStart() {
+    return 6;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_OM.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_OM.java
new file mode 100644
index 0000000..1e30156
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_OM.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ar_OM".
+ */
+public class DateTimeFormatInfoImpl_ar_OM extends DateTimeFormatInfoImpl_ar {
+
+  @Override
+  public int weekendEnd() {
+    return 5;
+  }
+
+  @Override
+  public int weekendStart() {
+    return 4;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_QA.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_QA.java
new file mode 100644
index 0000000..2080b58
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_QA.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ar_QA".
+ */
+public class DateTimeFormatInfoImpl_ar_QA extends DateTimeFormatInfoImpl_ar {
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "الأحد",
+        "الاثنين",
+        "الثلاثاء",
+        "الأربعاء",
+        "الخميس",
+        "الجمعة",
+        "السبت"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_SA.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_SA.java
new file mode 100644
index 0000000..6480a79
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_SA.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ar_SA".
+ */
+public class DateTimeFormatInfoImpl_ar_SA extends DateTimeFormatInfoImpl_ar {
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "الأحد",
+        "الاثنين",
+        "الثلاثاء",
+        "الأربعاء",
+        "الخميس",
+        "الجمعة",
+        "السبت"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+
+  @Override
+  public int weekendEnd() {
+    return 5;
+  }
+
+  @Override
+  public int weekendStart() {
+    return 4;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_SD.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_SD.java
new file mode 100644
index 0000000..e3540e3
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_SD.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ar_SD".
+ */
+public class DateTimeFormatInfoImpl_ar_SD extends DateTimeFormatInfoImpl_ar {
+
+  @Override
+  public int weekendEnd() {
+    return 5;
+  }
+
+  @Override
+  public int weekendStart() {
+    return 4;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_SY.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_SY.java
new file mode 100644
index 0000000..9d76a60
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_SY.java
@@ -0,0 +1,93 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ar_SY".
+ */
+public class DateTimeFormatInfoImpl_ar_SY extends DateTimeFormatInfoImpl_ar {
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 0;
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "كانون الثاني",
+        "شباط",
+        "آذار",
+        "نيسان",
+        "نوار",
+        "حزيران",
+        "تموز",
+        "آب",
+        "أيلول",
+        "تشرين الأول",
+        "تشرين الثاني",
+        "كانون الأول"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "كانون الثاني",
+        "شباط",
+        "آذار",
+        "نيسان",
+        "نوار",
+        "حزيران",
+        "تموز",
+        "آب",
+        "أيلول",
+        "تشرين الأول",
+        "تشرين الثاني",
+        "كانون الأول"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "الأحد",
+        "الاثنين",
+        "الثلاثاء",
+        "الأربعاء",
+        "الخميس",
+        "الجمعة",
+        "السبت"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_TN.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_TN.java
new file mode 100644
index 0000000..f7f06ec
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_TN.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ar_TN".
+ */
+public class DateTimeFormatInfoImpl_ar_TN extends DateTimeFormatInfoImpl_ar {
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "yyyy/M";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "y/M/d";
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "الأحد",
+        "الاثنين",
+        "الثلاثاء",
+        "الأربعاء",
+        "الخميس",
+        "الجمعة",
+        "السبت"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_YE.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_YE.java
new file mode 100644
index 0000000..9ae25c7
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ar_YE.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ar_YE".
+ */
+public class DateTimeFormatInfoImpl_ar_YE extends DateTimeFormatInfoImpl_ar {
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "الأحد",
+        "الاثنين",
+        "الثلاثاء",
+        "الأربعاء",
+        "الخميس",
+        "الجمعة",
+        "السبت"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+
+  @Override
+  public int weekendEnd() {
+    return 5;
+  }
+
+  @Override
+  public int weekendStart() {
+    return 4;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_as.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_as.java
new file mode 100644
index 0000000..e9c6c7d
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_as.java
@@ -0,0 +1,226 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "as".
+ */
+public class DateTimeFormatInfoImpl_as extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "পূৰ্বা",
+        "অপ"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d MMMM, y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM, y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd-MM-yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d-M-yyyy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "জানুয়াৰী",
+        "ফেব্ৰুয়াৰী",
+        "মাৰ্চ",
+        "এপ্ৰিল",
+        "মে",
+        "জুন",
+        "জুলাই",
+        "আগষ্ট",
+        "সেপ্টেম্বৰ",
+        "অক্টোবৰ",
+        "নভেম্বৰ",
+        "ডিসেম্বৰ"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "জানু",
+        "ফেব্ৰু",
+        "মাৰ্চ",
+        "এপ্ৰিল",
+        "মে",
+        "জুন",
+        "জুলাই",
+        "আগ",
+        "সেপ্ট",
+        "অক্টো",
+        "নভে",
+        "ডিসে"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "h.mm.ss a zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "h.mm.ss a z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "h.mm.ss a";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "h.mm. a";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "দেওবাৰ",
+        "সোমবাৰ",
+        "মঙ্গলবাৰ",
+        "বুধবাৰ",
+        "বৃহষ্পতিবাৰ",
+        "শুক্ৰবাৰ",
+        "শনিবাৰ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "ৰবি",
+        "সোম",
+        "মঙ্গল",
+        "বুধ",
+        "বৃহষ্পতি",
+        "শুক্ৰ",
+        "শনি"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+
+  @Override
+  public int weekendStart() {
+    return 0;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_az.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_az.java
new file mode 100644
index 0000000..99d207f
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_az.java
@@ -0,0 +1,238 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "az".
+ */
+public class DateTimeFormatInfoImpl_az extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d, MMMM, y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM , y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM, y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "eramızdan əvvəl",
+        "bizim eramızın"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "e.ə.",
+        "b.e."
+    };
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM , y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM , y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d, MMM, y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Yanvar",
+        "Fevral",
+        "Mart",
+        "Aprel",
+        "May",
+        "İyun",
+        "İyul",
+        "Avqust",
+        "Sentyabr",
+        "Oktyabr",
+        "Noyabr",
+        "Dekabr"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "yan",
+        "fev",
+        "mar",
+        "apr",
+        "may",
+        "iyn",
+        "iyl",
+        "avq",
+        "sen",
+        "okt",
+        "noy",
+        "dek"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1-ci kvartal",
+        "2-ci kvartal",
+        "3-cü kvartal",
+        "4-cü kvartal"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "1-ci kv.",
+        "2-ci kv.",
+        "3-cü kv.",
+        "4-cü kv."
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "bazar",
+        "bazar ertəsi",
+        "çərşənbə axşamı",
+        "çərşənbə",
+        "cümə axşamı",
+        "cümə",
+        "şənbə"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "7",
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "B.",
+        "B.E.",
+        "Ç.A.",
+        "Ç.",
+        "C.A.",
+        "C",
+        "Ş."
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_az_Cyrl.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_az_Cyrl.java
new file mode 100644
index 0000000..5f3b9e9
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_az_Cyrl.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "az_Cyrl".
+ */
+public class DateTimeFormatInfoImpl_az_Cyrl extends DateTimeFormatInfoImpl_az {
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "јанвар",
+        "феврал",
+        "март",
+        "апрел",
+        "май",
+        "ијун",
+        "ијул",
+        "август",
+        "сентјабр",
+        "октјабр",
+        "нојабр",
+        "декабр"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "базар",
+        "базар ертәси",
+        "чәршәнбә ахшамы",
+        "чәршәнбә",
+        "ҹүмә ахшамы",
+        "ҹүмә",
+        "шәнбә"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_be.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_be.java
new file mode 100644
index 0000000..a39bc0b
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_be.java
@@ -0,0 +1,350 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "be".
+ */
+public class DateTimeFormatInfoImpl_be extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "да палудня",
+        "пасля палудня"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d.M.yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d.M.yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "да н.э.",
+        "н.э."
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "да н.е.",
+        "н.е."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatHour12Minute() {
+    return "h.mm a";
+  }
+
+  @Override
+  public String formatHour12MinuteSecond() {
+    return "h.mm.ss a";
+  }
+
+  @Override
+  public String formatHour24Minute() {
+    return "HH.mm";
+  }
+
+  @Override
+  public String formatHour24MinuteSecond() {
+    return "HH.mm.ss";
+  }
+
+  @Override
+  public String formatMinuteSecond() {
+    return "mm.ss";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, d MMMM";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "MM/yyyy";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d.M.y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d MMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ 'кв'. y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q 'кв'. y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "студзень",
+        "люты",
+        "сакавік",
+        "красавік",
+        "май",
+        "чэрвень",
+        "ліпень",
+        "жнівень",
+        "верасень",
+        "кастрычнік",
+        "лістапад",
+        "снежань"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return new String[] { 
+        "студзень",
+        "люты",
+        "сакавік",
+        "красавік",
+        "травень",
+        "чэрвень",
+        "ліпень",
+        "жнівень",
+        "верасень",
+        "кастрычнік",
+        "лістапад",
+        "снежань"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "с",
+        "л",
+        "с",
+        "к",
+        "т",
+        "ч",
+        "л",
+        "ж",
+        "в",
+        "к",
+        "л",
+        "с"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return new String[] { 
+        "с",
+        "л",
+        "с",
+        "к",
+        "м",
+        "ч",
+        "л",
+        "ж",
+        "в",
+        "к",
+        "л",
+        "с"
+    };
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "сту",
+        "лют",
+        "сак",
+        "кра",
+        "май",
+        "чэр",
+        "ліп",
+        "жні",
+        "вер",
+        "кас",
+        "ліс",
+        "сне"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return new String[] { 
+        "сту",
+        "лют",
+        "сак",
+        "кра",
+        "тра",
+        "чэр",
+        "ліп",
+        "жні",
+        "вер",
+        "кас",
+        "ліс",
+        "сне"
+    };
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1-шы квартал",
+        "2-гі квартал",
+        "3-ці квартал",
+        "4-ты квартал"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "1-шы кв.",
+        "2-гі кв.",
+        "3-ці кв.",
+        "4-ты кв."
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH.mm.ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH.mm.ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH.mm.ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH.mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "нядзеля",
+        "панядзелак",
+        "аўторак",
+        "серада",
+        "чацвер",
+        "пятніца",
+        "субота"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "н",
+        "п",
+        "а",
+        "с",
+        "ч",
+        "п",
+        "с"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "нд",
+        "пн",
+        "аў",
+        "ср",
+        "чц",
+        "пт",
+        "сб"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_bg.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_bg.java
new file mode 100644
index 0000000..1e164d6
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_bg.java
@@ -0,0 +1,301 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "bg".
+ */
+public class DateTimeFormatInfoImpl_bg extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "пр. об.",
+        "сл. об."
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "dd MMMM y, EEEE";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd.MM.yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd.MM.yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "пр.Хр.",
+        "сл.Хр."
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "пр. н. е.",
+        "от н. е."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "d MMMM, EEEE";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d.M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M.y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d.M.y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "d MMM y, EEE";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "януари",
+        "февруари",
+        "март",
+        "април",
+        "май",
+        "юни",
+        "юли",
+        "август",
+        "септември",
+        "октомври",
+        "ноември",
+        "декември"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "я",
+        "ф",
+        "м",
+        "а",
+        "м",
+        "ю",
+        "ю",
+        "а",
+        "с",
+        "о",
+        "н",
+        "д"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "ян.",
+        "февр.",
+        "март",
+        "апр.",
+        "май",
+        "юни",
+        "юли",
+        "авг.",
+        "септ.",
+        "окт.",
+        "ноем.",
+        "дек."
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1-во тримесечие",
+        "2-ро тримесечие",
+        "3-то тримесечие",
+        "4-то тримесечие"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "I трим.",
+        "II трим.",
+        "III трим.",
+        "IV трим."
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "неделя",
+        "понеделник",
+        "вторник",
+        "сряда",
+        "четвъртък",
+        "петък",
+        "събота"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "н",
+        "п",
+        "в",
+        "с",
+        "ч",
+        "п",
+        "с"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "нд",
+        "пн",
+        "вт",
+        "ср",
+        "чт",
+        "пт",
+        "сб"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_bn.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_bn.java
new file mode 100644
index 0000000..1579092
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_bn.java
@@ -0,0 +1,281 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "bn".
+ */
+public class DateTimeFormatInfoImpl_bn extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "am",
+        "pm"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d MMMM, y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM, y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM, y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d/M/yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "খৃষ্টপূর্ব",
+        "খৃষ্টাব্দ"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "খৃষ্টপূর্ব",
+        "খৃষ্টাব্দ"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE d MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d-M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/yyyy";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d MMM, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "জানুয়ারী",
+        "ফেব্রুয়ারী",
+        "মার্চ",
+        "এপ্রিল",
+        "মে",
+        "জুন",
+        "জুলাই",
+        "আগস্ট",
+        "সেপ্টেম্বর",
+        "অক্টোবর",
+        "নভেম্বর",
+        "ডিসেম্বর"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "জা",
+        "ফে",
+        "মা",
+        "এ",
+        "মে",
+        "জুন",
+        "জু",
+        "আ",
+        "সে",
+        "অ",
+        "ন",
+        "ডি"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "জানুয়ারী",
+        "ফেব্রুয়ারী",
+        "মার্চ",
+        "এপ্রিল",
+        "মে",
+        "জুন",
+        "জুলাই",
+        "আগস্ট",
+        "সেপ্টেম্বর",
+        "অক্টোবর",
+        "নভেম্বর",
+        "ডিসেম্বর"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "প্রথম চতুর্থাংশ",
+        "দ্বিতীয় চতুর্থাংশ",
+        "তৃতীয় চতুর্থাংশ",
+        "চতুর্থ চতুর্থাংশ"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "চতুর্থাংশ ১",
+        "চতুর্থাংশ ২",
+        "চতুর্থাংশ ৩",
+        "চতুর্থাংশ ৪"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "রবিবার",
+        "সোমবার",
+        "মঙ্গলবার",
+        "বুধবার",
+        "বৃহষ্পতিবার",
+        "শুক্রবার",
+        "শনিবার"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "র",
+        "সো",
+        "ম",
+        "বু",
+        "বৃ",
+        "শু",
+        "শ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "রবি",
+        "সোম",
+        "মঙ্গল",
+        "বুধ",
+        "বৃহস্পতি",
+        "শুক্র",
+        "শনি"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_bn_IN.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_bn_IN.java
new file mode 100644
index 0000000..33d396b
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_bn_IN.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "bn_IN".
+ */
+public class DateTimeFormatInfoImpl_bn_IN extends DateTimeFormatInfoImpl_bn {
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 0;
+  }
+
+  @Override
+  public int weekendStart() {
+    return 0;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_bo.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_bo.java
new file mode 100644
index 0000000..a655f4e
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_bo.java
@@ -0,0 +1,241 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "bo".
+ */
+public class DateTimeFormatInfoImpl_bo extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "སྔ་དྲོ་",
+        "ཕྱི་དྲོ་"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "སྦྱི་ལོ་y MMMMའི་ཙེས་dད";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y ལོ་འི་MMMཙེས་d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yyyy-MM-dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "སྤྱི་ལོ་སྔོན།",
+        "སྤྱི་ལོ།"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "སྤྱི་ལོ་སྔོན།",
+        "སྤྱི་ལོ།"
+    };
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "སྦྱི་ལོ་y MMMའི་ཙེས་dད";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "སྦྱི་ལོ་y MMMMའི་ཙེས་dད";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "ཟླ་བ་དང་པོ་",
+        "ཟླ་བ་གཉིས་པ་",
+        "ཟླ་བ་སུམ་པ་",
+        "ཟླ་བ་བཞི་པ་",
+        "ཟླ་བ་ལྔ་པ་",
+        "ཟླ་བ་དྲུག་པ་",
+        "ཟླ་བ་བདུན་པ་",
+        "ཟླ་བ་བརྒྱད་པ་",
+        "ཟླ་བ་དགུ་པ་",
+        "ཟླ་བ་བཅུ་པ་",
+        "ཟླ་བ་བཅུ་གཅིག་པ་",
+        "ཟླ་བ་བཅུ་གཉིས་པ་"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "ཟླ་༡",
+        "ཟླ་༢",
+        "ཟླ་༣",
+        "ཟླ་༤",
+        "ཟླ་༥",
+        "ཟླ་༦",
+        "ཟླ་༧",
+        "ཟླ་༨",
+        "ཟླ་༩",
+        "ཟླ་༡༠",
+        "ཟླ་༡༡",
+        "ཟླ་༡༢"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "དུས་ཚིགས་དང་པོ།",
+        "དུས་ཚིགས་གཉིས་པ།",
+        "་དུས་ཚིགས་གསུམ་པ།",
+        "དུས་ཚིགས་བཞི་པ།"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "དུས་ཚིགས་དང་པོ།",
+        "དུས་ཚིགས་གཉིས་པ།",
+        "་དུས་ཚིགས་གསུམ་པ།",
+        "དུས་ཚིགས་བཞི་པ།"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "གཟའ་ཉི་མ་",
+        "གཟའ་ཟླ་བ་",
+        "གཟའ་མིག་དམར་",
+        "གཟའ་ཧླག་པ་",
+        "གཟའ་ཕུར་བུ་",
+        "གཟའ་སངས་",
+        "གཟའ་སྤེན་པ་"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "ཉི",
+        "ཟླ",
+        "མི",
+        "ཧླ",
+        "ཕུ",
+        "ས",
+        "སྤེ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "ཉི་མ་",
+        "ཟླ་བ་",
+        "མིག་དམར་",
+        "ཧླག་པ་",
+        "ཕུར་བུ་",
+        "སངས་",
+        "སྤེན་པ་"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_bo_IN.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_bo_IN.java
new file mode 100644
index 0000000..d2ed265
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_bo_IN.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "bo_IN".
+ */
+public class DateTimeFormatInfoImpl_bo_IN extends DateTimeFormatInfoImpl_bo {
+
+  @Override
+  public int weekendStart() {
+    return 0;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_bs.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_bs.java
new file mode 100644
index 0000000..156eb4d
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_bs.java
@@ -0,0 +1,275 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "bs".
+ */
+public class DateTimeFormatInfoImpl_bs extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BC",
+        "AD"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Januar",
+        "Februar",
+        "Mart",
+        "April",
+        "Maj",
+        "Juni",
+        "Juli",
+        "Avgust",
+        "Septembar",
+        "Oktobar",
+        "Novembar",
+        "Decembar"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Jan",
+        "Feb",
+        "Mar",
+        "Apr",
+        "Maj",
+        "Jun",
+        "Jul",
+        "Avg",
+        "Sep",
+        "Okt",
+        "Nov",
+        "Dec"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Prvi kvartal",
+        "Drugi kvartal",
+        "Treći kvartal",
+        "Četvrti kvartal"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "K1",
+        "K2",
+        "K3",
+        "K4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Nedjelja",
+        "Ponedjeljak",
+        "Utorak",
+        "Srijeda",
+        "Četvrtak",
+        "Petak",
+        "Subota"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Ned",
+        "Pon",
+        "Uto",
+        "Sri",
+        "Čet",
+        "Pet",
+        "Sub"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_byn.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_byn.java
new file mode 100644
index 0000000..587bd9b
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_byn.java
@@ -0,0 +1,261 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "byn".
+ */
+public class DateTimeFormatInfoImpl_byn extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "ፋዱስ ጃብ",
+        "ፋዱስ ደምቢ"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE፡ dd MMMM ግርጋ y G";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd-MMM-y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "ይጅ",
+        "ኣድ"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "ይጅ",
+        "ኣድ"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "ልደትሪ",
+        "ካብኽብቲ",
+        "ክብላ",
+        "ፋጅኺሪ",
+        "ክቢቅሪ",
+        "ምኪኤል ትጟኒሪ",
+        "ኰርኩ",
+        "ማርያም ትሪ",
+        "ያኸኒ መሳቅለሪ",
+        "መተሉ",
+        "ምኪኤል መሽወሪ",
+        "ተሕሳስሪ"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "ል",
+        "ካ",
+        "ክ",
+        "ፋ",
+        "ክ",
+        "ም",
+        "ኰ",
+        "ማ",
+        "ያ",
+        "መ",
+        "ም",
+        "ተ"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "ልደት",
+        "ካብኽ",
+        "ክብላ",
+        "ፋጅኺ",
+        "ክቢቅ",
+        "ም/ት",
+        "ኰር",
+        "ማርያ",
+        "ያኸኒ",
+        "መተሉ",
+        "ም/ም",
+        "ተሕሳ"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "ሰንበር ቅዳዅ",
+        "ሰኑ",
+        "ሰሊጝ",
+        "ለጓ ወሪ ለብዋ",
+        "ኣምድ",
+        "ኣርብ",
+        "ሰንበር ሽጓዅ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "ሰ",
+        "ሰ",
+        "ሰ",
+        "ለ",
+        "ኣ",
+        "ኣ",
+        "ሰ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "ሰ/ቅ",
+        "ሰኑ",
+        "ሰሊጝ",
+        "ለጓ",
+        "ኣምድ",
+        "ኣርብ",
+        "ሰ/ሽ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_byn_ER.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_byn_ER.java
new file mode 100644
index 0000000..e2cc679
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_byn_ER.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "byn_ER".
+ */
+public class DateTimeFormatInfoImpl_byn_ER extends DateTimeFormatInfoImpl_byn {
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 6;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ca.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ca.java
new file mode 100644
index 0000000..407cf3f
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ca.java
@@ -0,0 +1,332 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ca".
+ */
+public class DateTimeFormatInfoImpl_ca extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "a.m.",
+        "p.m."
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE d MMMM 'de' y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM 'de' y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd/MM/yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "aC",
+        "dC"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "aC",
+        "dC"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatHour24Minute() {
+    return "H:mm";
+  }
+
+  @Override
+  public String formatHour24MinuteSecond() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE d MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d/M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "LLL y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM 'de' y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "LLLL y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM 'de' y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/yyyy";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE d MMM 'de' y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ yyyy";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q yyyy";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "de gener",
+        "de febrer",
+        "de març",
+        "d’abril",
+        "de maig",
+        "de juny",
+        "de juliol",
+        "d’agost",
+        "de setembre",
+        "d’octubre",
+        "de novembre",
+        "de desembre"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return new String[] { 
+        "gener",
+        "febrer",
+        "març",
+        "abril",
+        "maig",
+        "juny",
+        "juliol",
+        "agost",
+        "setembre",
+        "octubre",
+        "novembre",
+        "desembre"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "g",
+        "f",
+        "m",
+        "a",
+        "m",
+        "j",
+        "j",
+        "a",
+        "s",
+        "o",
+        "n",
+        "d"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "gen.",
+        "febr.",
+        "març",
+        "abr.",
+        "maig",
+        "juny",
+        "jul.",
+        "ag.",
+        "set.",
+        "oct.",
+        "nov.",
+        "des."
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1r trimestre",
+        "2n trimestre",
+        "3r trimestre",
+        "4t trimestre"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "1T",
+        "2T",
+        "3T",
+        "4T"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "H:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "H:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "H:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "diumenge",
+        "dilluns",
+        "dimarts",
+        "dimecres",
+        "dijous",
+        "divendres",
+        "dissabte"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "g",
+        "l",
+        "t",
+        "c",
+        "j",
+        "v",
+        "s"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "dg.",
+        "dl.",
+        "dt.",
+        "dc.",
+        "dj.",
+        "dv.",
+        "ds."
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return new String[] { 
+        "dg",
+        "dl",
+        "dt",
+        "dc",
+        "dj",
+        "dv",
+        "ds"
+    };
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_cch.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_cch.java
new file mode 100644
index 0000000..68bec90
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_cch.java
@@ -0,0 +1,273 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "cch".
+ */
+public class DateTimeFormatInfoImpl_cch extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "Gabanin Miladi",
+        "Miladi"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "GM",
+        "M"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Pen Dyon",
+        "Pen Ba'a",
+        "Pen Atat",
+        "Pen Anas",
+        "Pen Atyon",
+        "Pen Achirim",
+        "Pen Atariba",
+        "Pen Awurr",
+        "Pen Shadon",
+        "Pen Shakur",
+        "Pen Kur Naba",
+        "Pen Kur Natat"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Dyon",
+        "Baa",
+        "Atat",
+        "Anas",
+        "Atyo",
+        "Achi",
+        "Atar",
+        "Awur",
+        "Shad",
+        "Shak",
+        "Naba",
+        "Nata"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Wai Yoka Bawai",
+        "Wai Tunga",
+        "Toki Gitung",
+        "Tsam Kasuwa",
+        "Wai Na Nas",
+        "Wai Na Tiyon",
+        "Wai Na Chirim"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Yok",
+        "Tung",
+        "T. Tung",
+        "Tsan",
+        "Nas",
+        "Nat",
+        "Chir"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_cop.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_cop.java
new file mode 100644
index 0000000..66b6710
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_cop.java
@@ -0,0 +1,273 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "cop".
+ */
+public class DateTimeFormatInfoImpl_cop extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_cs.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_cs.java
new file mode 100644
index 0000000..0ce2c9e
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_cs.java
@@ -0,0 +1,282 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "cs".
+ */
+public class DateTimeFormatInfoImpl_cs extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "dop.",
+        "odp."
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d. MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d. MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d.M.yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d.M.yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "př.Kr.",
+        "po Kr."
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "př.Kr.",
+        "po Kr."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatHour24Minute() {
+    return "H:mm";
+  }
+
+  @Override
+  public String formatHour24MinuteSecond() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d. MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d. MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d.M.y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d. MMM y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "ledna",
+        "února",
+        "března",
+        "dubna",
+        "května",
+        "června",
+        "července",
+        "srpna",
+        "září",
+        "října",
+        "listopadu",
+        "prosince"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return new String[] { 
+        "leden",
+        "únor",
+        "březen",
+        "duben",
+        "květen",
+        "červen",
+        "červenec",
+        "srpen",
+        "září",
+        "říjen",
+        "listopad",
+        "prosinec"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "l",
+        "ú",
+        "b",
+        "d",
+        "k",
+        "č",
+        "č",
+        "s",
+        "z",
+        "ř",
+        "l",
+        "p"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return new String[] { 
+        "1.",
+        "2.",
+        "3.",
+        "4.",
+        "5.",
+        "6.",
+        "7.",
+        "8.",
+        "9.",
+        "10.",
+        "11.",
+        "12."
+    };
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1. čtvrtletí",
+        "2. čtvrtletí",
+        "3. čtvrtletí",
+        "4. čtvrtletí"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "H:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "neděle",
+        "pondělí",
+        "úterý",
+        "středa",
+        "čtvrtek",
+        "pátek",
+        "sobota"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "N",
+        "P",
+        "Ú",
+        "S",
+        "Č",
+        "P",
+        "S"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "ne",
+        "po",
+        "út",
+        "st",
+        "čt",
+        "pá",
+        "so"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_cy.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_cy.java
new file mode 100644
index 0000000..2b5ed00
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_cy.java
@@ -0,0 +1,247 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "cy".
+ */
+public class DateTimeFormatInfoImpl_cy extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yyyy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "Cyn Crist",
+        "Oed Crist"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "CC",
+        "OC"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d/M";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Ionawr",
+        "Chwefror",
+        "Mawrth",
+        "Ebrill",
+        "Mai",
+        "Mehefin",
+        "Gorffenaf",
+        "Awst",
+        "Medi",
+        "Hydref",
+        "Tachwedd",
+        "Rhagfyr"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return new String[] { 
+        "Ionawr",
+        "Chwefror",
+        "Mawrth",
+        "Ebrill",
+        "Mai",
+        "Mehefin",
+        "Gorffennaf",
+        "Awst",
+        "Medi",
+        "Hydref",
+        "Tachwedd",
+        "Rhagfyr"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "I",
+        "C",
+        "M",
+        "E",
+        "M",
+        "M",
+        "G",
+        "A",
+        "M",
+        "H",
+        "T",
+        "R"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Ion",
+        "Chwef",
+        "Mawrth",
+        "Ebrill",
+        "Mai",
+        "Meh",
+        "Gorff",
+        "Awst",
+        "Medi",
+        "Hyd",
+        "Tach",
+        "Rhag"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return new String[] { 
+        "Ion",
+        "Chwe",
+        "Maw",
+        "Ebr",
+        "Mai",
+        "Meh",
+        "Gor",
+        "Awst",
+        "Medi",
+        "Hyd",
+        "Tach",
+        "Rhag"
+    };
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Chwarter 1af",
+        "2il chwarter",
+        "3ydd chwarter",
+        "4ydd chwarter"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "Ch1",
+        "Ch2",
+        "Ch3",
+        "Ch4"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Dydd Sul",
+        "Dydd Llun",
+        "Dydd Mawrth",
+        "Dydd Mercher",
+        "Dydd Iau",
+        "Dydd Gwener",
+        "Dydd Sadwrn"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "S",
+        "L",
+        "M",
+        "M",
+        "I",
+        "G",
+        "S"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Sul",
+        "Llun",
+        "Maw",
+        "Mer",
+        "Iau",
+        "Gwen",
+        "Sad"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return new String[] { 
+        "Sul",
+        "Llun",
+        "Maw",
+        "Mer",
+        "Iau",
+        "Gwe",
+        "Sad"
+    };
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_da.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_da.java
new file mode 100644
index 0000000..33f68e6
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_da.java
@@ -0,0 +1,326 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "da".
+ */
+public class DateTimeFormatInfoImpl_da extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "f.m.",
+        "e.m."
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE 'den' d. MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d. MMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd/MM/yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "f.Kr.",
+        "e.Kr."
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "f.Kr.",
+        "e.Kr."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatHour12Minute() {
+    return "h.mm a";
+  }
+
+  @Override
+  public String formatHour12MinuteSecond() {
+    return "h.mm.ss a";
+  }
+
+  @Override
+  public String formatHour24Minute() {
+    return "HH.mm";
+  }
+
+  @Override
+  public String formatHour24MinuteSecond() {
+    return "HH.mm.ss";
+  }
+
+  @Override
+  public String formatMinuteSecond() {
+    return "mm.ss";
+  }
+
+  @Override
+  public String formatMonthAbbrev() {
+    return "MMM";
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d. MMM";
+  }
+
+  @Override
+  public String formatMonthFull() {
+    return "MMMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d. MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE d MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d/M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d. MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d. MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE 'den' d. MMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ yyyy";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q yyyy";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "januar",
+        "februar",
+        "marts",
+        "april",
+        "maj",
+        "juni",
+        "juli",
+        "august",
+        "september",
+        "oktober",
+        "november",
+        "december"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "jan.",
+        "feb.",
+        "mar.",
+        "apr.",
+        "maj",
+        "jun.",
+        "jul.",
+        "aug.",
+        "sep.",
+        "okt.",
+        "nov.",
+        "dec."
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return new String[] { 
+        "jan",
+        "feb",
+        "mar",
+        "apr",
+        "maj",
+        "jun",
+        "jul",
+        "aug",
+        "sep",
+        "okt",
+        "nov",
+        "dec"
+    };
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1. kvartal",
+        "2. kvartal",
+        "3. kvartal",
+        "4. kvartal"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "K1",
+        "K2",
+        "K3",
+        "K4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH.mm.ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH.mm.ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH.mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "søndag",
+        "mandag",
+        "tirsdag",
+        "onsdag",
+        "torsdag",
+        "fredag",
+        "lørdag"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "S",
+        "M",
+        "T",
+        "O",
+        "T",
+        "F",
+        "L"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "søn",
+        "man",
+        "tir",
+        "ons",
+        "tor",
+        "fre",
+        "lør"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_de.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_de.java
new file mode 100644
index 0000000..bd11109
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_de.java
@@ -0,0 +1,268 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "de".
+ */
+public class DateTimeFormatInfoImpl_de extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "vorm.",
+        "nachm."
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d. MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d. MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd.MM.yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd.MM.yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "v. Chr.",
+        "n. Chr."
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "v. Chr.",
+        "n. Chr."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d. MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d. MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE d. MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d.M.";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d. MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d. MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M.y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d.M.y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d. MMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Januar",
+        "Februar",
+        "März",
+        "April",
+        "Mai",
+        "Juni",
+        "Juli",
+        "August",
+        "September",
+        "Oktober",
+        "November",
+        "Dezember"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Jan",
+        "Feb",
+        "Mär",
+        "Apr",
+        "Mai",
+        "Jun",
+        "Jul",
+        "Aug",
+        "Sep",
+        "Okt",
+        "Nov",
+        "Dez"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1. Quartal",
+        "2. Quartal",
+        "3. Quartal",
+        "4. Quartal"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Sonntag",
+        "Montag",
+        "Dienstag",
+        "Mittwoch",
+        "Donnerstag",
+        "Freitag",
+        "Samstag"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "S",
+        "M",
+        "D",
+        "M",
+        "D",
+        "F",
+        "S"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "So.",
+        "Mo.",
+        "Di.",
+        "Mi.",
+        "Do.",
+        "Fr.",
+        "Sa."
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_de_AT.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_de_AT.java
new file mode 100644
index 0000000..88af1d5
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_de_AT.java
@@ -0,0 +1,80 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "de_AT".
+ */
+public class DateTimeFormatInfoImpl_de_AT extends DateTimeFormatInfoImpl_de {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, dd. MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd. MMMM y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Jänner",
+        "Februar",
+        "März",
+        "April",
+        "Mai",
+        "Juni",
+        "Juli",
+        "August",
+        "September",
+        "Oktober",
+        "November",
+        "Dezember"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Jän",
+        "Feb",
+        "Mär",
+        "Apr",
+        "Mai",
+        "Jun",
+        "Jul",
+        "Aug",
+        "Sep",
+        "Okt",
+        "Nov",
+        "Dez"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_de_BE.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_de_BE.java
new file mode 100644
index 0000000..83ec93f
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_de_BE.java
@@ -0,0 +1,77 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "de_BE".
+ */
+public class DateTimeFormatInfoImpl_de_BE extends DateTimeFormatInfoImpl_de {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d/MM/yy";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE d MMM y";
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH 'h' mm 'min' ss 's' zzzz";
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Son",
+        "Mon",
+        "Die",
+        "Mit",
+        "Don",
+        "Fre",
+        "Sam"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_dv.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_dv.java
new file mode 100644
index 0000000..0c278e2
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_dv.java
@@ -0,0 +1,273 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "dv".
+ */
+public class DateTimeFormatInfoImpl_dv extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd-MM-yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d-M-yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 5;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "hh:mm:ss a zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "hh:mm:ss a z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "hh:mm:ss a";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "hh:mm a";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_dz.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_dz.java
new file mode 100644
index 0000000..110526d
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_dz.java
@@ -0,0 +1,291 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "dz".
+ */
+public class DateTimeFormatInfoImpl_dz extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "སྔ་ཆ་",
+        "ཕྱི་ཆ་"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "སྤྱི་ལོ་y ཟླ་ MMMM ཚེས་ dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "སྤྱི་ལོ་y ཟླ་ MMMM ཚེས་ dd";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "སྤྱི་ལོ་y ཟླ་ MMM ཚེས་ dd";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yyyy-MM-dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "སྤྱི་ཟླཝ་དངཔ་",
+        "སྤྱི་ཟླཝ་གཉིས་པ་",
+        "སྤྱི་ཟླཝ་གསུམ་པ་",
+        "སྤྱི་ཟླཝ་བཞི་པ་",
+        "སྤྱི་ཟླཝ་ལྔ་པ་",
+        "སྤྱི་ཟླཝ་དྲུག་པ་",
+        "སྤྱི་ཟླཝ་བདུན་པ་",
+        "སྤྱི་ཟླཝ་བརྒྱད་པ་",
+        "སྤྱི་ཟླཝ་དགུ་པ་",
+        "སྤྱི་ཟླཝ་བཅུ་པ་",
+        "སྤྱི་ཟླཝ་བཅུ་གཅིག་པ་",
+        "སྤྱི་ཟླཝ་བཅུ་གཉིས་པ་"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "ཟླ་ ༡",
+        "ཟླ་ ༢",
+        "ཟླ་ ༣",
+        "ཟླ་ ༤",
+        "ཟླ་ ༥",
+        "ཟླ་ ༦",
+        "ཟླ་ ༧",
+        "ཟླ་ ༨",
+        "ཟླ་ ༩",
+        "ཟླ་ ༡༠",
+        "ཟླ་ ༡༡",
+        "ཟླ་ ༡༢"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "བཞི་དཔྱ་དང་པ་",
+        "བཞི་དཔྱ་གཉིས་པ་",
+        "བཞི་དཔྱ་གསུམ་པ་",
+        "བཞི་དཔྱ་བཞི་པ་"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "བཞི་དཔྱ་༡",
+        "བཞི་དཔྱ་༢",
+        "བཞི་དཔྱ་༣",
+        "བཞི་དཔྱ་༤"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "ཆུ་ཚོད་ h སྐར་མ་ mm སྐར་ཆཱ་ ss a zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "ཆུ་ཚོད་ h སྐར་མ་ mm སྐར་ཆཱ་ ss a z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "ཆུ་ཚོད་h:mm:ss a";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "ཆུ་ཚོད་ h སྐར་མ་ mm a";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "གཟའ་ཟླ་བ་",
+        "གཟའ་མིག་དམར་",
+        "གཟའ་ལྷག་པ་",
+        "གཟའ་ཕུར་བུ་",
+        "གཟའ་པ་སངས་",
+        "གཟའ་སྤེན་པ་",
+        "གཟའ་ཉི་མ་"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "ཟླ་",
+        "མིར་",
+        "ལྷག་",
+        "ཕུར་",
+        "སངས་",
+        "སྤེན་",
+        "ཉི་"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ee.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ee.java
new file mode 100644
index 0000000..20cae88
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ee.java
@@ -0,0 +1,281 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ee".
+ */
+public class DateTimeFormatInfoImpl_ee extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "AN",
+        "EW"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "Hafi Yesu Va Do ŋgɔ na Yesu",
+        "Yesu Ŋɔli"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "HY",
+        "YŊ"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d MMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Dzove",
+        "Dzodze",
+        "Tedoxe",
+        "Afɔfiɛ",
+        "Dama",
+        "Masa",
+        "Siamlɔm",
+        "Deasiamime",
+        "Anyɔnyɔ",
+        "Kele",
+        "Adeɛmekpɔxe",
+        "Dzome"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "D",
+        "D",
+        "T",
+        "A",
+        "D",
+        "M",
+        "S",
+        "D",
+        "A",
+        "K",
+        "A",
+        "D"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Dzv",
+        "Dzd",
+        "Ted",
+        "Afɔ",
+        "Dam",
+        "Mas",
+        "Sia",
+        "Dea",
+        "Any",
+        "Kel",
+        "Ade",
+        "Dzm"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Kɔsiɖa",
+        "Dzoɖa",
+        "Braɖa",
+        "Kuɖa",
+        "Yawoɖa",
+        "Fiɖa",
+        "Memleɖa"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "K",
+        "D",
+        "B",
+        "K",
+        "Y",
+        "F",
+        "M"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Kɔs Kwe",
+        "Dzo",
+        "Bra",
+        "Kuɖ",
+        "Yaw",
+        "Fiɖ",
+        "Mem"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_el.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_el.java
new file mode 100644
index 0000000..02f5f9c
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_el.java
@@ -0,0 +1,284 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "el".
+ */
+public class DateTimeFormatInfoImpl_el extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "π.μ.",
+        "μ.μ."
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yyyy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "π.Χ.",
+        "μ.Χ."
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "π.Χ.",
+        "μ.Χ."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, d MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d/M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/yyyy";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d MMM y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Ιανουαρίου",
+        "Φεβρουαρίου",
+        "Μαρτίου",
+        "Απριλίου",
+        "Μαΐου",
+        "Ιουνίου",
+        "Ιουλίου",
+        "Αυγούστου",
+        "Σεπτεμβρίου",
+        "Οκτωβρίου",
+        "Νοεμβρίου",
+        "Δεκεμβρίου"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return new String[] { 
+        "Ιανουάριος",
+        "Φεβρουάριος",
+        "Μάρτιος",
+        "Απρίλιος",
+        "Μάιος",
+        "Ιούνιος",
+        "Ιούλιος",
+        "Αύγουστος",
+        "Σεπτέμβριος",
+        "Οκτώβριος",
+        "Νοέμβριος",
+        "Δεκέμβριος"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "Ι",
+        "Φ",
+        "Μ",
+        "Α",
+        "Μ",
+        "Ι",
+        "Ι",
+        "Α",
+        "Σ",
+        "Ο",
+        "Ν",
+        "Δ"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Ιαν",
+        "Φεβ",
+        "Μαρ",
+        "Απρ",
+        "Μαϊ",
+        "Ιουν",
+        "Ιουλ",
+        "Αυγ",
+        "Σεπ",
+        "Οκτ",
+        "Νοε",
+        "Δεκ"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1ο τρίμηνο",
+        "2ο τρίμηνο",
+        "3ο τρίμηνο",
+        "4ο τρίμηνο"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "Τ1",
+        "Τ2",
+        "Τ3",
+        "Τ4"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Κυριακή",
+        "Δευτέρα",
+        "Τρίτη",
+        "Τετάρτη",
+        "Πέμπτη",
+        "Παρασκευή",
+        "Σάββατο"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "Κ",
+        "Δ",
+        "Τ",
+        "Τ",
+        "Π",
+        "Π",
+        "Σ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Κυρ",
+        "Δευ",
+        "Τρι",
+        "Τετ",
+        "Πεμ",
+        "Παρ",
+        "Σαβ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_el_POLYTON.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_el_POLYTON.java
new file mode 100644
index 0000000..dc1e9cd
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_el_POLYTON.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "el_POLYTON".
+ */
+public class DateTimeFormatInfoImpl_el_POLYTON extends DateTimeFormatInfoImpl_el {
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Ἰανουαρίου",
+        "Φεβρουαρίου",
+        "Μαρτίου",
+        "Ἀπριλίου",
+        "Μαΐου",
+        "Ἰουνίου",
+        "Ἰουλίου",
+        "Αὐγούστου",
+        "Σεπτεμβρίου",
+        "Ὀκτωβρίου",
+        "Νοεμβρίου",
+        "Δεκεμβρίου"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return new String[] { 
+        "Ἰανουάριος",
+        "Φεβρουάριος",
+        "Μάρτιος",
+        "Ἀπρίλιος",
+        "Μάιος",
+        "Ἰούνιος",
+        "Ἰούλιος",
+        "Αὔγουστος",
+        "Σεπτέμβριος",
+        "Ὀκτώβριος",
+        "Νοέμβριος",
+        "Δεκέμβριος"
+    };
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Ἰαν",
+        "Φεβ",
+        "Μαρ",
+        "Ἀπρ",
+        "Μαϊ",
+        "Ἰουν",
+        "Ἰουλ",
+        "Αὐγ",
+        "Σεπ",
+        "Ὀκτ",
+        "Νοε",
+        "Δεκ"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en.java
new file mode 100644
index 0000000..38b4bc1
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "en".
+ */
+public class DateTimeFormatInfoImpl_en extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_AU.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_AU.java
new file mode 100644
index 0000000..d6340a9
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_AU.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "en_AU".
+ */
+public class DateTimeFormatInfoImpl_en_AU extends DateTimeFormatInfoImpl_en {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd/MM/yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d/MM/yy";
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, d MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d/M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d MMM y";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_BE.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_BE.java
new file mode 100644
index 0000000..413a4a4
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_BE.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "en_BE".
+ */
+public class DateTimeFormatInfoImpl_en_BE extends DateTimeFormatInfoImpl_en {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yy";
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE d MMM y";
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH 'h' mm 'min' ss 's' zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_BW.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_BW.java
new file mode 100644
index 0000000..2d5b53b
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_BW.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "en_BW".
+ */
+public class DateTimeFormatInfoImpl_en_BW extends DateTimeFormatInfoImpl_en {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yy";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE d MMM y";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_BZ.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_BZ.java
new file mode 100644
index 0000000..c0c484a
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_BZ.java
@@ -0,0 +1,69 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "en_BZ".
+ */
+public class DateTimeFormatInfoImpl_en_BZ extends DateTimeFormatInfoImpl_en {
+
+  @Override
+  public String dateFormatFull() {
+    return "dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd-MMM-y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yy";
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_CA.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_CA.java
new file mode 100644
index 0000000..da0777c
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_CA.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "en_CA".
+ */
+public class DateTimeFormatInfoImpl_en_CA extends DateTimeFormatInfoImpl_en {
+
+  @Override
+  public String dateFormatMedium() {
+    return "yyyy-MM-dd";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy-MM-dd";
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, d MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M-d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM-y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM-y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM, y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "y-M-d";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d MMM, y";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_Dsrt.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_Dsrt.java
new file mode 100644
index 0000000..fa5d701
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_Dsrt.java
@@ -0,0 +1,196 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "en_Dsrt".
+ */
+public class DateTimeFormatInfoImpl_en_Dsrt extends DateTimeFormatInfoImpl_en {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "𐐈𐐣",
+        "𐐑𐐣"
+    };
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "𐐒𐐲𐑁𐐬𐑉 𐐗𐑉𐐴𐑅𐐻",
+        "𐐈𐑌𐐬 𐐔𐐱𐑋𐐮𐑌𐐨"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "𐐒𐐗",
+        "𐐈𐐔"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "𐐖𐐰𐑌𐐷𐐭𐐯𐑉𐐨",
+        "𐐙𐐯𐐺𐑉𐐭𐐯𐑉𐐨",
+        "𐐣𐐪𐑉𐐽",
+        "𐐁𐐹𐑉𐐮𐑊",
+        "𐐣𐐩",
+        "𐐖𐐭𐑌",
+        "𐐖𐐭𐑊𐐴",
+        "𐐂𐑀𐐲𐑅𐐻",
+        "𐐝𐐯𐐹𐐻𐐯𐑋𐐺𐐲𐑉",
+        "𐐉𐐿𐐻𐐬𐐺𐐲𐑉",
+        "𐐤𐐬𐑂𐐯𐑋𐐺𐐲𐑉",
+        "𐐔𐐨𐑅𐐯𐑋𐐺𐐲𐑉"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "𐐖",
+        "𐐙",
+        "𐐣",
+        "𐐁",
+        "𐐣",
+        "𐐖",
+        "𐐖",
+        "𐐂",
+        "𐐝",
+        "𐐉",
+        "𐐤",
+        "𐐔"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "𐐖𐐰𐑌",
+        "𐐙𐐯𐐺",
+        "𐐣𐐪𐑉",
+        "𐐁𐐹𐑉",
+        "𐐣𐐩",
+        "𐐖𐐭𐑌",
+        "𐐖𐐭𐑊",
+        "𐐂𐑀",
+        "𐐝𐐯𐐹",
+        "𐐉𐐿𐐻",
+        "𐐤𐐬𐑂",
+        "𐐔𐐨𐑅"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1𐑅𐐻 𐐿𐐶𐐪𐑉𐐻𐐲𐑉",
+        "2𐑌𐐼 𐐿𐐶𐐪𐑉𐐻𐐲𐑉",
+        "3𐑉𐐼 𐐿𐐶𐐪𐑉𐐻𐐲𐑉",
+        "4𐑉𐑃 𐐿𐐶𐐪𐑉𐐻𐐲𐑉"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "𐐗1",
+        "𐐗2",
+        "𐐗3",
+        "𐐗4"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "𐐝𐐲𐑌𐐼𐐩",
+        "𐐣𐐲𐑌𐐼𐐩",
+        "𐐓𐐭𐑆𐐼𐐩",
+        "𐐎𐐯𐑌𐑆𐐼𐐩",
+        "𐐛𐐲𐑉𐑆𐐼𐐩",
+        "𐐙𐑉𐐴𐐼𐐩",
+        "𐐝𐐰𐐻𐐲𐑉𐐼𐐩"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "𐐝",
+        "𐐣",
+        "𐐓",
+        "𐐎",
+        "𐐛",
+        "𐐙",
+        "𐐝"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "𐐝𐐲𐑌",
+        "𐐣𐐲𐑌",
+        "𐐓𐐭𐑆",
+        "𐐎𐐯𐑌",
+        "𐐛𐐲𐑉",
+        "𐐙𐑉𐐴",
+        "𐐝𐐰𐐻"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_Dsrt_US.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_Dsrt_US.java
new file mode 100644
index 0000000..aad32a2
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_Dsrt_US.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "en_Dsrt_US".
+ */
+public class DateTimeFormatInfoImpl_en_Dsrt_US extends DateTimeFormatInfoImpl_en_Dsrt {
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 0;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_GB.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_GB.java
new file mode 100644
index 0000000..fc7d84a
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_GB.java
@@ -0,0 +1,109 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "en_GB".
+ */
+public class DateTimeFormatInfoImpl_en_GB extends DateTimeFormatInfoImpl_en {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yyyy";
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE d MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d/M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d MMM y";
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_IE.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_IE.java
new file mode 100644
index 0000000..153c5e9
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_IE.java
@@ -0,0 +1,107 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "en_IE".
+ */
+public class DateTimeFormatInfoImpl_en_IE extends DateTimeFormatInfoImpl_en {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "a.m.",
+        "p.m."
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yyyy";
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d/M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE d MMM y";
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_IN.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_IN.java
new file mode 100644
index 0000000..5302930
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_IN.java
@@ -0,0 +1,69 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "en_IN".
+ */
+public class DateTimeFormatInfoImpl_en_IN extends DateTimeFormatInfoImpl_en {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd-MMM-y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yy";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE d MMM y";
+  }
+
+  @Override
+  public int weekendStart() {
+    return 0;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_MT.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_MT.java
new file mode 100644
index 0000000..5903483
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_MT.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "en_MT".
+ */
+public class DateTimeFormatInfoImpl_en_MT extends DateTimeFormatInfoImpl_en {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yyyy";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d MMM y";
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_NA.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_NA.java
new file mode 100644
index 0000000..88903ae
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_NA.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "en_NA".
+ */
+public class DateTimeFormatInfoImpl_en_NA extends DateTimeFormatInfoImpl_en {
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_NZ.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_NZ.java
new file mode 100644
index 0000000..85433ae
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_NZ.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "en_NZ".
+ */
+public class DateTimeFormatInfoImpl_en_NZ extends DateTimeFormatInfoImpl_en {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d/MM/yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d/MM/yy";
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d/M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d MMM y";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_PK.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_PK.java
new file mode 100644
index 0000000..4224eac
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_PK.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "en_PK".
+ */
+public class DateTimeFormatInfoImpl_en_PK extends DateTimeFormatInfoImpl_en {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd-MMM-y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yy";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_Shaw.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_Shaw.java
new file mode 100644
index 0000000..5985cc6
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_Shaw.java
@@ -0,0 +1,196 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "en_Shaw".
+ */
+public class DateTimeFormatInfoImpl_en_Shaw extends DateTimeFormatInfoImpl_en {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "𐑨𐑥",
+        "𐑐𐑥"
+    };
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "𐑚𐑰𐑓𐑪𐑮 ·𐑒𐑮𐑲𐑕𐑑",
+        "𐑨𐑙𐑴 𐑛𐑪𐑥𐑦𐑙𐑰"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "𐑚·𐑒",
+        "𐑨𐑛"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "·𐑡𐑨𐑙𐑘𐑭𐑢𐑺𐑰",
+        "·𐑓𐑧𐑚𐑘𐑵𐑢𐑺𐑰",
+        "·𐑥𐑸𐑗",
+        "·𐑱𐑐𐑮𐑭𐑤",
+        "·𐑥𐑱",
+        "·𐑡𐑵𐑯",
+        "·𐑡𐑫𐑤𐑲",
+        "·𐑪𐑜𐑭𐑕𐑑",
+        "·𐑕𐑧𐑐𐑑𐑧𐑥𐑚𐑸",
+        "·𐑷𐑒𐑑𐑴𐑚𐑸",
+        "·𐑯𐑴𐑝𐑧𐑥𐑚𐑸",
+        "·𐑛𐑭𐑕𐑧𐑥𐑚𐑸"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "𐑡",
+        "𐑓",
+        "𐑥",
+        "𐑱",
+        "𐑥",
+        "𐑡",
+        "𐑡",
+        "𐑪",
+        "𐑕",
+        "𐑷",
+        "𐑯",
+        "𐑛"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "·𐑡𐑨",
+        "·𐑓𐑧",
+        "·𐑥𐑸",
+        "·𐑱𐑐",
+        "·𐑥𐑱",
+        "·𐑡𐑵",
+        "·𐑡𐑫",
+        "·𐑪𐑜",
+        "·𐑕𐑧",
+        "·𐑷𐑒",
+        "·𐑯𐑴",
+        "·𐑛𐑭"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1𐑕𐑑 𐑒𐑢𐑸𐑛𐑸",
+        "2𐑯𐑛 𐑒𐑢𐑸𐑛𐑸",
+        "3𐑻𐑛 𐑒𐑢𐑸𐑛𐑸",
+        "4𐑹𐑔 𐑒𐑢𐑸𐑛𐑸"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "𐑒1",
+        "𐑒2",
+        "𐑒3",
+        "𐑒4"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "·𐑕𐑭𐑙𐑛𐑱",
+        "·𐑥𐑭𐑙𐑛𐑱",
+        "·𐑑𐑵𐑟𐑛𐑱",
+        "·𐑢𐑧𐑙𐑟𐑛𐑱",
+        "·𐑔𐑻𐑟𐑛𐑱",
+        "·𐑓𐑮𐑲𐑛𐑱",
+        "·𐑕𐑨𐑛𐑻𐑛𐑱"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "𐑕",
+        "𐑥",
+        "𐑑",
+        "𐑢",
+        "𐑔",
+        "𐑓",
+        "𐑕"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "·𐑕𐑭",
+        "·𐑥𐑭",
+        "·𐑑𐑵",
+        "·𐑢𐑧",
+        "·𐑔𐑻",
+        "·𐑓𐑮",
+        "·𐑕𐑨"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_ZA.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_ZA.java
new file mode 100644
index 0000000..8cfd0c6
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_ZA.java
@@ -0,0 +1,69 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "en_ZA".
+ */
+public class DateTimeFormatInfoImpl_en_ZA extends DateTimeFormatInfoImpl_en {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yyyy/MM/dd";
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "y/M/d";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE d MMM y";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_ZW.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_ZW.java
new file mode 100644
index 0000000..30de83f
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_en_ZW.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "en_ZW".
+ */
+public class DateTimeFormatInfoImpl_en_ZW extends DateTimeFormatInfoImpl_en {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd MMM,y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d/M/yyyy";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE d MMM y";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_eo.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_eo.java
new file mode 100644
index 0000000..77bc04b
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_eo.java
@@ -0,0 +1,251 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "eo".
+ */
+public class DateTimeFormatInfoImpl_eo extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "atm",
+        "ptm"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d-'a' 'de' MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y-MMMM-dd";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y-MMM-dd";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy-MM-dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "aK",
+        "pK"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "aK",
+        "pK"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "y-MMM-d";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "y-MMMM-d";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d-'a' 'de' MMM y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "januaro",
+        "februaro",
+        "marto",
+        "aprilo",
+        "majo",
+        "junio",
+        "julio",
+        "aŭgusto",
+        "septembro",
+        "oktobro",
+        "novembro",
+        "decembro"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "jan",
+        "feb",
+        "mar",
+        "apr",
+        "maj",
+        "jun",
+        "jul",
+        "aŭg",
+        "sep",
+        "okt",
+        "nov",
+        "dec"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1a kvaronjaro",
+        "2a kvaronjaro",
+        "3a kvaronjaro",
+        "4a kvaronjaro"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "K1",
+        "K2",
+        "K3",
+        "K4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "H-'a' 'horo' 'kaj' m:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "dimanĉo",
+        "lundo",
+        "mardo",
+        "merkredo",
+        "ĵaŭdo",
+        "vendredo",
+        "sabato"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "di",
+        "lu",
+        "ma",
+        "me",
+        "ĵa",
+        "ve",
+        "sa"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es.java
new file mode 100644
index 0000000..4bc43f9
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es.java
@@ -0,0 +1,311 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "es".
+ */
+public class DateTimeFormatInfoImpl_es extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "a.m.",
+        "p.m."
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE d 'de' MMMM 'de' y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d 'de' MMMM 'de' y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd/MM/yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "antes de Cristo",
+        "anno Dómini"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "a.C.",
+        "d.C."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatHour12Minute() {
+    return "hh:mm a";
+  }
+
+  @Override
+  public String formatHour12MinuteSecond() {
+    return "hh:mm:ss a";
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d 'de' MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d 'de' MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE d MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d/M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d 'de' MMM 'de' y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d 'de' MMMM 'de' y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE d 'de' MMM 'de' y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "enero",
+        "febrero",
+        "marzo",
+        "abril",
+        "mayo",
+        "junio",
+        "julio",
+        "agosto",
+        "septiembre",
+        "octubre",
+        "noviembre",
+        "diciembre"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "E",
+        "F",
+        "M",
+        "A",
+        "M",
+        "J",
+        "J",
+        "A",
+        "S",
+        "O",
+        "N",
+        "D"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "ene",
+        "feb",
+        "mar",
+        "abr",
+        "may",
+        "jun",
+        "jul",
+        "ago",
+        "sep",
+        "oct",
+        "nov",
+        "dic"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1er trimestre",
+        "2º trimestre",
+        "3er trimestre",
+        "4º trimestre"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "T1",
+        "T2",
+        "T3",
+        "T4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "domingo",
+        "lunes",
+        "martes",
+        "miércoles",
+        "jueves",
+        "viernes",
+        "sábado"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "D",
+        "L",
+        "M",
+        "M",
+        "J",
+        "V",
+        "S"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "dom",
+        "lun",
+        "mar",
+        "mié",
+        "jue",
+        "vie",
+        "sáb"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es_AR.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es_AR.java
new file mode 100644
index 0000000..7de9ea3
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es_AR.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "es_AR".
+ */
+public class DateTimeFormatInfoImpl_es_AR extends DateTimeFormatInfoImpl_es {
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M-yyyy";
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH'h'''mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "H:mm:ss z";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es_CL.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es_CL.java
new file mode 100644
index 0000000..ccb93d0
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es_CL.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "es_CL".
+ */
+public class DateTimeFormatInfoImpl_es_CL extends DateTimeFormatInfoImpl_es {
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd-MM-yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd-MM-yy";
+  }
+
+  @Override
+  public String formatHour24Minute() {
+    return "H:mm";
+  }
+
+  @Override
+  public String formatHour24MinuteSecond() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d-M-y";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "H:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "H:mm";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es_CO.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es_CO.java
new file mode 100644
index 0000000..c420522
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es_CO.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "es_CO".
+ */
+public class DateTimeFormatInfoImpl_es_CO extends DateTimeFormatInfoImpl_es {
+
+  @Override
+  public String dateFormatMedium() {
+    return "d/MM/yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d/MM/yy";
+  }
+
+  @Override
+  public String formatHour24Minute() {
+    return "H:mm";
+  }
+
+  @Override
+  public String formatHour24MinuteSecond() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "H:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "H:mm";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es_EC.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es_EC.java
new file mode 100644
index 0000000..352e816
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es_EC.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "es_EC".
+ */
+public class DateTimeFormatInfoImpl_es_EC extends DateTimeFormatInfoImpl_es {
+
+  @Override
+  public String formatHour24Minute() {
+    return "H:mm";
+  }
+
+  @Override
+  public String formatHour24MinuteSecond() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "H:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "H:mm";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es_GT.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es_GT.java
new file mode 100644
index 0000000..94850c6
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es_GT.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "es_GT".
+ */
+public class DateTimeFormatInfoImpl_es_GT extends DateTimeFormatInfoImpl_es {
+
+  @Override
+  public String dateFormatMedium() {
+    return "d/MM/yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d/MM/yy";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es_HN.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es_HN.java
new file mode 100644
index 0000000..e2349f5
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es_HN.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "es_HN".
+ */
+public class DateTimeFormatInfoImpl_es_HN extends DateTimeFormatInfoImpl_es {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE dd 'de' MMMM 'de' y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd 'de' MMMM 'de' y";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es_PA.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es_PA.java
new file mode 100644
index 0000000..0f2f7d8
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es_PA.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "es_PA".
+ */
+public class DateTimeFormatInfoImpl_es_PA extends DateTimeFormatInfoImpl_es {
+
+  @Override
+  public String dateFormatMedium() {
+    return "MM/dd/yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "MM/dd/yy";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es_PE.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es_PE.java
new file mode 100644
index 0000000..12d27b3
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es_PE.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "es_PE".
+ */
+public class DateTimeFormatInfoImpl_es_PE extends DateTimeFormatInfoImpl_es {
+
+  @Override
+  public String dateFormatShort() {
+    return "d/MM/yy";
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH'H'mm''ss\" zzzz";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es_PR.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es_PR.java
new file mode 100644
index 0000000..1ddbf2a
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es_PR.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "es_PR".
+ */
+public class DateTimeFormatInfoImpl_es_PR extends DateTimeFormatInfoImpl_es {
+
+  @Override
+  public String dateFormatMedium() {
+    return "MM/dd/yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "MM/dd/yy";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es_US.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es_US.java
new file mode 100644
index 0000000..fcb1510
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_es_US.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "es_US".
+ */
+public class DateTimeFormatInfoImpl_es_US extends DateTimeFormatInfoImpl_es {
+
+  @Override
+  public String dateFormatMedium() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "M/d/yy";
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 0;
+  }
+
+  @Override
+  public String formatHour12Minute() {
+    return "h:mm a";
+  }
+
+  @Override
+  public String formatHour12MinuteSecond() {
+    return "h:mm:ss a";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "h:mm:ss a zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "h:mm:ss a z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "h:mm:ss a";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "h:mm a";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_et.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_et.java
new file mode 100644
index 0000000..e721a73
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_et.java
@@ -0,0 +1,313 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "et".
+ */
+public class DateTimeFormatInfoImpl_et extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d, MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd.MM.yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd.MM.yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "enne meie aega",
+        "meie aja järgi"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "e.m.a.",
+        "m.a.j."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatHour12MinuteSecond() {
+    return "h:mm.ss a";
+  }
+
+  @Override
+  public String formatHour24Minute() {
+    return "H:mm";
+  }
+
+  @Override
+  public String formatHour24MinuteSecond() {
+    return "H:mm.ss";
+  }
+
+  @Override
+  public String formatMinuteSecond() {
+    return "mm.ss";
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d. MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d. MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, d. MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d.M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d. MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d. MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M.y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d.M.y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d. MMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ. y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q. y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "jaanuar",
+        "veebruar",
+        "märts",
+        "aprill",
+        "mai",
+        "juuni",
+        "juuli",
+        "august",
+        "september",
+        "oktoober",
+        "november",
+        "detsember"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "jaan",
+        "veebr",
+        "märts",
+        "apr",
+        "mai",
+        "juuni",
+        "juuli",
+        "aug",
+        "sept",
+        "okt",
+        "nov",
+        "dets"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1. kvartal",
+        "2. kvartal",
+        "3. kvartal",
+        "4. kvartal"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "K1",
+        "K2",
+        "K3",
+        "K4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "H:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "H:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "H:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "pühapäev",
+        "esmaspäev",
+        "teisipäev",
+        "kolmapäev",
+        "neljapäev",
+        "reede",
+        "laupäev"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "P",
+        "E",
+        "T",
+        "K",
+        "N",
+        "R",
+        "L"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_eu.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_eu.java
new file mode 100644
index 0000000..caf4d38
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_eu.java
@@ -0,0 +1,253 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "eu".
+ */
+public class DateTimeFormatInfoImpl_eu extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y'eko' MMMM'ren' dd'a'";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y'eko' MMM'ren' dd'a'";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yyyy-MM-dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "y'eko' MMM'ren' d'a'";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "y'eko' MMMM'ren' d'a'";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, y'eko' MMM'ren' d'a'";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "urtarrila",
+        "otsaila",
+        "martxoa",
+        "apirila",
+        "maiatza",
+        "ekaina",
+        "uztaila",
+        "abuztua",
+        "iraila",
+        "urria",
+        "azaroa",
+        "abendua"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "U",
+        "O",
+        "M",
+        "A",
+        "M",
+        "E",
+        "U",
+        "A",
+        "I",
+        "U",
+        "A",
+        "A"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "urt",
+        "ots",
+        "mar",
+        "api",
+        "mai",
+        "eka",
+        "uzt",
+        "abu",
+        "ira",
+        "urr",
+        "aza",
+        "abe"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1. hiruhilekoa",
+        "2. hiruhilekoa",
+        "3. hiruhilekoa",
+        "4. hiruhilekoa"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "1Hh",
+        "2Hh",
+        "3Hh",
+        "4Hh"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "igandea",
+        "astelehena",
+        "asteartea",
+        "asteazkena",
+        "osteguna",
+        "ostirala",
+        "larunbata"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "ig",
+        "al",
+        "as",
+        "az",
+        "og",
+        "or",
+        "lr"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_fa.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_fa.java
new file mode 100644
index 0000000..dc90aee
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_fa.java
@@ -0,0 +1,347 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "fa".
+ */
+public class DateTimeFormatInfoImpl_fa extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "قبل از ظهر",
+        "بعد از ظهر"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "yyyy/M/d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/M/d";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "قبل از میلاد",
+        "میلادی"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "ق.م.",
+        "م."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 6;
+  }
+
+  @Override
+  public String formatHour24Minute() {
+    return "H:mm";
+  }
+
+  @Override
+  public String formatHour24MinuteSecond() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d LLL";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d LLLL";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE d LLLL";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "yyyy/M";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "yyyy QQQQ";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "yyyy Q";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "ژانویهٔ",
+        "فوریهٔ",
+        "مارس",
+        "آوریل",
+        "مهٔ",
+        "ژوئن",
+        "ژوئیهٔ",
+        "اوت",
+        "سپتامبر",
+        "اکتبر",
+        "نوامبر",
+        "دسامبر"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return new String[] { 
+        "ژانویه",
+        "فوریه",
+        "مارس",
+        "آوریل",
+        "مه",
+        "ژوئن",
+        "ژوئیه",
+        "اوت",
+        "سپتامبر",
+        "اکتبر",
+        "نوامبر",
+        "دسامبر"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "ژ",
+        "ف",
+        "م",
+        "آ",
+        "م",
+        "ژ",
+        "ژ",
+        "ا",
+        "س",
+        "ا",
+        "ن",
+        "د"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "ژانویهٔ",
+        "فوریهٔ",
+        "مارس",
+        "آوریل",
+        "مهٔ",
+        "ژوئن",
+        "ژوئیهٔ",
+        "اوت",
+        "سپتامبر",
+        "اکتبر",
+        "نوامبر",
+        "دسامبر"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return new String[] { 
+        "ژانویه",
+        "فوریه",
+        "مارس",
+        "آوریل",
+        "مه",
+        "ژوئن",
+        "ژوئیه",
+        "اوت",
+        "سپتامبر",
+        "اکتبر",
+        "نوامبر",
+        "دسامبر"
+    };
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "سه‌ماههٔ اول",
+        "سه‌ماههٔ دوم",
+        "سه‌ماههٔ سوم",
+        "سه‌ماههٔ چهارم"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "س‌م۱",
+        "س‌م۲",
+        "س‌م۳",
+        "س‌م۴"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "H:mm:ss (zzzz)";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "H:mm:ss (z)";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "H:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "یکشنبه",
+        "دوشنبه",
+        "سه‌شنبه",
+        "چهارشنبه",
+        "پنجشنبه",
+        "جمعه",
+        "شنبه"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "ی",
+        "د",
+        "س",
+        "چ",
+        "پ",
+        "ج",
+        "ش"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "یکشنبه",
+        "دوشنبه",
+        "سه‌شنبه",
+        "چهارشنبه",
+        "پنجشنبه",
+        "جمعه",
+        "شنبه"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+
+  @Override
+  public int weekendEnd() {
+    return 5;
+  }
+
+  @Override
+  public int weekendStart() {
+    return 4;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_fa_AF.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_fa_AF.java
new file mode 100644
index 0000000..3f1119e
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_fa_AF.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "fa_AF".
+ */
+public class DateTimeFormatInfoImpl_fa_AF extends DateTimeFormatInfoImpl_fa {
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "جنوری",
+        "فبروری",
+        "مارچ",
+        "اپریل",
+        "می",
+        "جون",
+        "جولای",
+        "اگست",
+        "سپتمبر",
+        "اکتوبر",
+        "نومبر",
+        "دسمبر"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "ج",
+        "ف",
+        "م",
+        "ا",
+        "م",
+        "ج",
+        "ج",
+        "ا",
+        "س",
+        "ا",
+        "ن",
+        "د"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "جنو",
+        "فوریهٔ",
+        "مارس",
+        "آوریل",
+        "مـی",
+        "جون",
+        "جول",
+        "اوت",
+        "سپتامبر",
+        "اکتبر",
+        "نوامبر",
+        "دسم"
+    };
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_fi.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_fi.java
new file mode 100644
index 0000000..6611c93
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_fi.java
@@ -0,0 +1,360 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "fi".
+ */
+public class DateTimeFormatInfoImpl_fi extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "ap.",
+        "ip."
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE d. MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d. MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d.M.yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d.M.yyyy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "ennen Kristuksen syntymää",
+        "jälkeen Kristuksen syntymän"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "eKr.",
+        "jKr."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatHour12Minute() {
+    return "h.mm a";
+  }
+
+  @Override
+  public String formatHour12MinuteSecond() {
+    return "h.mm.ss a";
+  }
+
+  @Override
+  public String formatHour24Minute() {
+    return "H.mm";
+  }
+
+  @Override
+  public String formatHour24MinuteSecond() {
+    return "H.mm.ss";
+  }
+
+  @Override
+  public String formatMinuteSecond() {
+    return "mm.ss";
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d. MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d. MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE d. MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d.M.";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "LLL y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d. MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "LLLL y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d. MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "L.yyyy";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d.M.y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE d. MMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ/yyyy";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q/yyyy";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "tammikuuta",
+        "helmikuuta",
+        "maaliskuuta",
+        "huhtikuuta",
+        "toukokuuta",
+        "kesäkuuta",
+        "heinäkuuta",
+        "elokuuta",
+        "syyskuuta",
+        "lokakuuta",
+        "marraskuuta",
+        "joulukuuta"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return new String[] { 
+        "tammikuu",
+        "helmikuu",
+        "maaliskuu",
+        "huhtikuu",
+        "toukokuu",
+        "kesäkuu",
+        "heinäkuu",
+        "elokuu",
+        "syyskuu",
+        "lokakuu",
+        "marraskuu",
+        "joulukuu"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "T",
+        "H",
+        "M",
+        "H",
+        "T",
+        "K",
+        "H",
+        "E",
+        "S",
+        "L",
+        "M",
+        "J"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "tammikuuta",
+        "helmikuuta",
+        "maaliskuuta",
+        "huhtikuuta",
+        "toukokuuta",
+        "kesäkuuta",
+        "heinäkuuta",
+        "elokuuta",
+        "syyskuuta",
+        "lokakuuta",
+        "marraskuuta",
+        "joulukuuta"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return new String[] { 
+        "tammi",
+        "helmi",
+        "maalis",
+        "huhti",
+        "touko",
+        "kesä",
+        "heinä",
+        "elo",
+        "syys",
+        "loka",
+        "marras",
+        "joulu"
+    };
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1. neljännes",
+        "2. neljännes",
+        "3. neljännes",
+        "4. neljännes"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "1. nelj.",
+        "2. nelj.",
+        "3. nelj.",
+        "4. nelj."
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "H.mm.ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "H.mm.ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "H.mm.ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "H.mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "sunnuntaina",
+        "maanantaina",
+        "tiistaina",
+        "keskiviikkona",
+        "torstaina",
+        "perjantaina",
+        "lauantaina"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return new String[] { 
+        "sunnuntai",
+        "maanantai",
+        "tiistai",
+        "keskiviikko",
+        "torstai",
+        "perjantai",
+        "lauantai"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "S",
+        "M",
+        "T",
+        "K",
+        "T",
+        "P",
+        "L"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "su",
+        "ma",
+        "ti",
+        "ke",
+        "to",
+        "pe",
+        "la"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_fil.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_fil.java
new file mode 100644
index 0000000..55715a0
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_fil.java
@@ -0,0 +1,231 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "fil".
+ */
+public class DateTimeFormatInfoImpl_fil extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, MMMM dd y";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "yyyy-M";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Enero",
+        "Pebrero",
+        "Marso",
+        "Abril",
+        "Mayo",
+        "Hunyo",
+        "Hulyo",
+        "Agosto",
+        "Setyembre",
+        "Oktubre",
+        "Nobyembre",
+        "Disyembre"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "E",
+        "P",
+        "M",
+        "A",
+        "M",
+        "H",
+        "H",
+        "A",
+        "S",
+        "O",
+        "N",
+        "D"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Ene",
+        "Peb",
+        "Mar",
+        "Abr",
+        "May",
+        "Hun",
+        "Hul",
+        "Ago",
+        "Set",
+        "Okt",
+        "Nob",
+        "Dis"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Linggo",
+        "Lunes",
+        "Martes",
+        "Miyerkules",
+        "Huwebes",
+        "Biyernes",
+        "Sabado"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "L",
+        "L",
+        "M",
+        "M",
+        "H",
+        "B",
+        "S"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Lin",
+        "Lun",
+        "Mar",
+        "Mye",
+        "Huw",
+        "Bye",
+        "Sab"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return new String[] { 
+        "Lin",
+        "Lun",
+        "Mar",
+        "Miy",
+        "Huw",
+        "Biy",
+        "Sab"
+    };
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_fo.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_fo.java
new file mode 100644
index 0000000..79ccf51
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_fo.java
@@ -0,0 +1,243 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "fo".
+ */
+public class DateTimeFormatInfoImpl_fo extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d. MMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd-MM-yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd-MM-yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "fyrir Krist",
+        "eftir Krist"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "f.Kr.",
+        "e.Kr."
+    };
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d. MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d. MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d-M-y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE d MMM y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "januar",
+        "februar",
+        "mars",
+        "apríl",
+        "mai",
+        "juni",
+        "juli",
+        "august",
+        "september",
+        "oktober",
+        "november",
+        "desember"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "jan",
+        "feb",
+        "mar",
+        "apr",
+        "mai",
+        "jun",
+        "jul",
+        "aug",
+        "sep",
+        "okt",
+        "nov",
+        "des"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1. kvartal",
+        "2. kvartal",
+        "3. kvartal",
+        "4. kvartal"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "K1",
+        "K2",
+        "K3",
+        "K4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "sunnudagur",
+        "mánadagur",
+        "týsdagur",
+        "mikudagur",
+        "hósdagur",
+        "fríggjadagur",
+        "leygardagur"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "sun",
+        "mán",
+        "týs",
+        "mik",
+        "hós",
+        "frí",
+        "ley"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_fr.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_fr.java
new file mode 100644
index 0000000..569cf0a
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_fr.java
@@ -0,0 +1,270 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "fr".
+ */
+public class DateTimeFormatInfoImpl_fr extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "avant Jésus-Christ",
+        "après Jésus-Christ"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "av. J.-C.",
+        "ap. J.-C."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE d MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d/M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/yyyy";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE d MMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "'T'QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "'T'Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "janvier",
+        "février",
+        "mars",
+        "avril",
+        "mai",
+        "juin",
+        "juillet",
+        "août",
+        "septembre",
+        "octobre",
+        "novembre",
+        "décembre"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "janv.",
+        "févr.",
+        "mars",
+        "avr.",
+        "mai",
+        "juin",
+        "juil.",
+        "août",
+        "sept.",
+        "oct.",
+        "nov.",
+        "déc."
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1er trimestre",
+        "2e trimestre",
+        "3e trimestre",
+        "4e trimestre"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "T1",
+        "T2",
+        "T3",
+        "T4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "dimanche",
+        "lundi",
+        "mardi",
+        "mercredi",
+        "jeudi",
+        "vendredi",
+        "samedi"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "D",
+        "L",
+        "M",
+        "M",
+        "J",
+        "V",
+        "S"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "dim.",
+        "lun.",
+        "mar.",
+        "mer.",
+        "jeu.",
+        "ven.",
+        "sam."
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_fr_BE.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_fr_BE.java
new file mode 100644
index 0000000..cf5d04c
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_fr_BE.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "fr_BE".
+ */
+public class DateTimeFormatInfoImpl_fr_BE extends DateTimeFormatInfoImpl_fr {
+
+  @Override
+  public String dateFormatShort() {
+    return "d/MM/yy";
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "H 'h' mm 'min' ss 's' zzzz";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_fr_CA.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_fr_CA.java
new file mode 100644
index 0000000..235cdc0
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_fr_CA.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "fr_CA".
+ */
+public class DateTimeFormatInfoImpl_fr_CA extends DateTimeFormatInfoImpl_fr {
+
+  @Override
+  public String dateFormatMedium() {
+    return "yyyy-MM-dd";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy-MM-dd";
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 0;
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M-d";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "yyyy-MM";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "y-M-d";
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH 'h' mm 'min' ss 's' zzzz";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_fr_CH.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_fr_CH.java
new file mode 100644
index 0000000..a485768
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_fr_CH.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "fr_CH".
+ */
+public class DateTimeFormatInfoImpl_fr_CH extends DateTimeFormatInfoImpl_fr {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d MMMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd.MM.yy";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d.M.y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d MMM y";
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH.mm:ss 'h' zzzz";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_fur.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_fur.java
new file mode 100644
index 0000000..6204feb
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_fur.java
@@ -0,0 +1,291 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "fur".
+ */
+public class DateTimeFormatInfoImpl_fur extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "a.",
+        "p."
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE d 'di' MMMM 'dal' y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d 'di' MMMM 'dal' y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd/MM/yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "pdC",
+        "ddC"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "pdC",
+        "ddC"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Zenâr",
+        "Fevrâr",
+        "Març",
+        "Avrîl",
+        "Mai",
+        "Jugn",
+        "Lui",
+        "Avost",
+        "Setembar",
+        "Otubar",
+        "Novembar",
+        "Dicembar"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "Z",
+        "F",
+        "M",
+        "A",
+        "M",
+        "J",
+        "L",
+        "A",
+        "S",
+        "O",
+        "N",
+        "D"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Zen",
+        "Fev",
+        "Mar",
+        "Avr",
+        "Mai",
+        "Jug",
+        "Lui",
+        "Avo",
+        "Set",
+        "Otu",
+        "Nov",
+        "Dic"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Prin trimestri",
+        "Secont trimestri",
+        "Tierç trimestri",
+        "Cuart trimestri"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "T1",
+        "T2",
+        "T3",
+        "T4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "domenie",
+        "lunis",
+        "martars",
+        "miercus",
+        "joibe",
+        "vinars",
+        "sabide"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "D",
+        "L",
+        "M",
+        "M",
+        "J",
+        "V",
+        "S"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "dom",
+        "lun",
+        "mar",
+        "mie",
+        "joi",
+        "vin",
+        "sab"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ga.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ga.java
new file mode 100644
index 0000000..644aa7e
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ga.java
@@ -0,0 +1,251 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ga".
+ */
+public class DateTimeFormatInfoImpl_ga extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "a.m.",
+        "p.m."
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yyyy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "Roimh Chríost",
+        "Anno Domini"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "RC",
+        "AD"
+    };
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE d MMM y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Eanáir",
+        "Feabhra",
+        "Márta",
+        "Aibreán",
+        "Bealtaine",
+        "Meitheamh",
+        "Iúil",
+        "Lúnasa",
+        "Meán Fómhair",
+        "Deireadh Fómhair",
+        "Samhain",
+        "Nollaig"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "E",
+        "F",
+        "M",
+        "A",
+        "B",
+        "M",
+        "I",
+        "L",
+        "M",
+        "D",
+        "S",
+        "N"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Ean",
+        "Feabh",
+        "Márta",
+        "Aib",
+        "Beal",
+        "Meith",
+        "Iúil",
+        "Lún",
+        "MFómh",
+        "DFómh",
+        "Samh",
+        "Noll"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1ú ráithe",
+        "2ú ráithe",
+        "3ú ráithe",
+        "4ú ráithe"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "R1",
+        "R2",
+        "R3",
+        "R4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Dé Domhnaigh",
+        "Dé Luain",
+        "Dé Máirt",
+        "Dé Céadaoin",
+        "Déardaoin",
+        "Dé hAoine",
+        "Dé Sathairn"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "D",
+        "L",
+        "M",
+        "C",
+        "D",
+        "A",
+        "S"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Domh",
+        "Luan",
+        "Máirt",
+        "Céad",
+        "Déar",
+        "Aoine",
+        "Sath"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_gaa.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_gaa.java
new file mode 100644
index 0000000..b87e890
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_gaa.java
@@ -0,0 +1,281 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "gaa".
+ */
+public class DateTimeFormatInfoImpl_gaa extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "LB",
+        "SN"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "Dani Jesu",
+        "KJ"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "DJ",
+        "KJ"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Aharabata",
+        "Oflo",
+        "Ochokrikri",
+        "Abeibee",
+        "Agbeinaa",
+        "Otukwadan",
+        "Maawe",
+        "Manyawale",
+        "Gbo",
+        "Anton",
+        "Alemle",
+        "Afuabee"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Aha",
+        "Ofl",
+        "Och",
+        "Abe",
+        "Agb",
+        "Otu",
+        "Maa",
+        "Man",
+        "Gbo",
+        "Ant",
+        "Ale",
+        "Afu"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Hogbaa",
+        "Dzu",
+        "Dzufo",
+        "Sho",
+        "Soo",
+        "Sohaa",
+        "Ho"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Ho",
+        "Dzu",
+        "Dzf",
+        "Sho",
+        "Soo",
+        "Soh",
+        "Ho"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_gez.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_gez.java
new file mode 100644
index 0000000..6c8dd70
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_gez.java
@@ -0,0 +1,261 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "gez".
+ */
+public class DateTimeFormatInfoImpl_gez extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "ጽባሕ",
+        "ምሴት"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE፥ dd MMMM መዓልት y G";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd-MMM-y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "ዓ/ዓ",
+        "ዓ/ም"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "ዓ/ዓ",
+        "ዓ/ም"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "ጠሐረ",
+        "ከተተ",
+        "መገበ",
+        "አኀዘ",
+        "ግንባት",
+        "ሠንየ",
+        "ሐመለ",
+        "ነሐሰ",
+        "ከረመ",
+        "ጠቀመ",
+        "ኀደረ",
+        "ኀሠሠ"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "ጠ",
+        "ከ",
+        "መ",
+        "አ",
+        "ግ",
+        "ሠ",
+        "ሐ",
+        "ነ",
+        "ከ",
+        "ጠ",
+        "ኀ",
+        "ኀ"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "ጠሐረ",
+        "ከተተ",
+        "መገበ",
+        "አኀዘ",
+        "ግንባ",
+        "ሠንየ",
+        "ሐመለ",
+        "ነሐሰ",
+        "ከረመ",
+        "ጠቀመ",
+        "ኀደረ",
+        "ኀሠሠ"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "እኁድ",
+        "ሰኑይ",
+        "ሠሉስ",
+        "ራብዕ",
+        "ሐሙስ",
+        "ዓርበ",
+        "ቀዳሚት"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "እ",
+        "ሰ",
+        "ሠ",
+        "ራ",
+        "ሐ",
+        "ዓ",
+        "ቀ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "እኁድ",
+        "ሰኑይ",
+        "ሠሉስ",
+        "ራብዕ",
+        "ሐሙስ",
+        "ዓርበ",
+        "ቀዳሚ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_gez_ER.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_gez_ER.java
new file mode 100644
index 0000000..a44e92a
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_gez_ER.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "gez_ER".
+ */
+public class DateTimeFormatInfoImpl_gez_ER extends DateTimeFormatInfoImpl_gez {
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 6;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_gez_ET.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_gez_ET.java
new file mode 100644
index 0000000..a50c815
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_gez_ET.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "gez_ET".
+ */
+public class DateTimeFormatInfoImpl_gez_ET extends DateTimeFormatInfoImpl_gez {
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 6;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_gl.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_gl.java
new file mode 100644
index 0000000..5b57e0e
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_gl.java
@@ -0,0 +1,293 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "gl".
+ */
+public class DateTimeFormatInfoImpl_gl extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM, y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "antes de Cristo",
+        "despois de Cristo"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "a.C.",
+        "d.C."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE d MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d/M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M-yyyy";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE d MMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ yyyy";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q yyyy";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Xaneiro",
+        "Febreiro",
+        "Marzo",
+        "Abril",
+        "Maio",
+        "Xuño",
+        "Xullo",
+        "Agosto",
+        "Setembro",
+        "Outubro",
+        "Novembro",
+        "Decembro"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "X",
+        "F",
+        "M",
+        "A",
+        "M",
+        "X",
+        "X",
+        "A",
+        "S",
+        "O",
+        "N",
+        "D"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Xan",
+        "Feb",
+        "Mar",
+        "Abr",
+        "Mai",
+        "Xuñ",
+        "Xul",
+        "Ago",
+        "Set",
+        "Out",
+        "Nov",
+        "Dec"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1o trimestre",
+        "2o trimestre",
+        "3o trimestre",
+        "4o trimestre"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "T1",
+        "T2",
+        "T3",
+        "T4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Domingo",
+        "Luns",
+        "Martes",
+        "Mércores",
+        "Xoves",
+        "Venres",
+        "Sábado"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "D",
+        "L",
+        "M",
+        "M",
+        "X",
+        "V",
+        "S"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Dom",
+        "Lun",
+        "Mar",
+        "Mér",
+        "Xov",
+        "Ven",
+        "Sáb"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_gsw.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_gsw.java
new file mode 100644
index 0000000..2db6b47
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_gsw.java
@@ -0,0 +1,268 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "gsw".
+ */
+public class DateTimeFormatInfoImpl_gsw extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "vorm.",
+        "nam."
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d. MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d. MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd.MM.yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd.MM.yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "v. Chr.",
+        "n. Chr."
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "v. Chr.",
+        "n. Chr."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d. MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d. MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE d. MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d.M.";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d. MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d. MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "yyyy-M";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d.M.y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d. MMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ yyyy";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q yyyy";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Januar",
+        "Februar",
+        "März",
+        "April",
+        "Mai",
+        "Juni",
+        "Juli",
+        "Auguscht",
+        "Septämber",
+        "Oktoober",
+        "Novämber",
+        "Dezämber"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Jan",
+        "Feb",
+        "Mär",
+        "Apr",
+        "Mai",
+        "Jun",
+        "Jul",
+        "Aug",
+        "Sep",
+        "Okt",
+        "Nov",
+        "Dez"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1. Quartal",
+        "2. Quartal",
+        "3. Quartal",
+        "4. Quartal"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Sunntig",
+        "Määntig",
+        "Ziischtig",
+        "Mittwuch",
+        "Dunschtig",
+        "Friitig",
+        "Samschtig"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "S",
+        "M",
+        "D",
+        "M",
+        "D",
+        "F",
+        "S"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Su.",
+        "Mä.",
+        "Zi.",
+        "Mi.",
+        "Du.",
+        "Fr.",
+        "Sa."
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_gu.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_gu.java
new file mode 100644
index 0000000..5ec5432
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_gu.java
@@ -0,0 +1,306 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "gu".
+ */
+public class DateTimeFormatInfoImpl_gu extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "am",
+        "pm"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d MMMM, y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM, y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM, y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d-MM-yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "ઈસવીસન પૂર્વે",
+        "ઇસવીસન"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String formatHour12Minute() {
+    return "hh:mm a";
+  }
+
+  @Override
+  public String formatHour12MinuteSecond() {
+    return "hh:mm:ss a";
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d-M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M-y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d-M-y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d MMM, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "જાન્યુઆરી",
+        "ફેબ્રુઆરી",
+        "માર્ચ",
+        "એપ્રિલ",
+        "મે",
+        "જૂન",
+        "જુલાઈ",
+        "ઑગસ્ટ",
+        "સપ્ટેમ્બર",
+        "ઑક્ટ્બર",
+        "નવેમ્બર",
+        "ડિસેમ્બર"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "જા",
+        "ફે",
+        "મા",
+        "એ",
+        "મે",
+        "જૂ",
+        "જુ",
+        "ઑ",
+        "સ",
+        "ઑ",
+        "ન",
+        "ડિ"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "જાન્યુ",
+        "ફેબ્રુ",
+        "માર્ચ",
+        "એપ્રિલ",
+        "મે",
+        "જૂન",
+        "જુલાઈ",
+        "ઑગસ્ટ",
+        "સપ્ટે",
+        "ઑક્ટો",
+        "નવે",
+        "ડિસે"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "પહલી ત્રિમાસિક",
+        "બીજી ત્રિમાસિક",
+        "ત્રીજી ત્રિમાસિક",
+        "ચૌથી ત્રિમાસિક"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "ત્રિમાસિક ૧",
+        "ત્રિમાસિક ૨",
+        "ત્રિમાસિક ૩",
+        "ત્રિમાસિક ૪"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "hh:mm:ss a zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "hh:mm:ss a z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "hh:mm:ss a";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "hh:mm a";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "રવિવાર",
+        "સોમવાર",
+        "મંગળવાર",
+        "બુધવાર",
+        "ગુરુવાર",
+        "શુક્રવાર",
+        "શનિવાર"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "ર",
+        "સો",
+        "મં",
+        "બુ",
+        "ગુ",
+        "શુ",
+        "શ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "રવિ",
+        "સોમ",
+        "મંગળ",
+        "બુધ",
+        "ગુરુ",
+        "શુક્ર",
+        "શનિ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+
+  @Override
+  public int weekendStart() {
+    return 0;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_gv.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_gv.java
new file mode 100644
index 0000000..1ac269b
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_gv.java
@@ -0,0 +1,226 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "gv".
+ */
+public class DateTimeFormatInfoImpl_gv extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "a.m.",
+        "p.m."
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "MMM dd, y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "RC",
+        "AD"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "RC",
+        "AD"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Jerrey-geuree",
+        "Toshiaght-arree",
+        "Mayrnt",
+        "Averil",
+        "Boaldyn",
+        "Mean-souree",
+        "Jerrey-souree",
+        "Luanistyn",
+        "Mean-fouyir",
+        "Jerrey-fouyir",
+        "Mee Houney",
+        "Mee ny Nollick"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "J-guer",
+        "T-arree",
+        "Mayrnt",
+        "Avrril",
+        "Boaldyn",
+        "M-souree",
+        "J-souree",
+        "Luanistyn",
+        "M-fouyir",
+        "J-fouyir",
+        "M.Houney",
+        "M.Nollick"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Jedoonee",
+        "Jelhein",
+        "Jemayrt",
+        "Jercean",
+        "Jerdein",
+        "Jeheiney",
+        "Jesarn"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Jed",
+        "Jel",
+        "Jem",
+        "Jerc",
+        "Jerd",
+        "Jeh",
+        "Jes"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ha.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ha.java
new file mode 100644
index 0000000..ba11f8d
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ha.java
@@ -0,0 +1,273 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ha".
+ */
+public class DateTimeFormatInfoImpl_ha extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d MMMM, y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM, y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM, y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d/M/yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "Gabanin Miladi",
+        "Miladi"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "GM",
+        "M"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d MMM, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Janairu",
+        "Fabrairu",
+        "Maris",
+        "Afrilu",
+        "Mayu",
+        "Yuni",
+        "Yuli",
+        "Augusta",
+        "Satumba",
+        "Oktoba",
+        "Nuwamba",
+        "Disamba"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "J",
+        "F",
+        "M",
+        "A",
+        "M",
+        "Y",
+        "Y",
+        "A",
+        "S",
+        "O",
+        "N",
+        "D"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Jan",
+        "Fab",
+        "Mar",
+        "Afr",
+        "May",
+        "Yun",
+        "Yul",
+        "Aug",
+        "Sat",
+        "Okt",
+        "Nuw",
+        "Dis"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Lahadi",
+        "Litini",
+        "Talata",
+        "Laraba",
+        "Alhamis",
+        "Jumma'a",
+        "Asabar"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "L",
+        "L",
+        "T",
+        "L",
+        "A",
+        "J",
+        "A"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Lah",
+        "Lit",
+        "Tal",
+        "Lar",
+        "Alh",
+        "Jum",
+        "Asa"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ha_Arab.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ha_Arab.java
new file mode 100644
index 0000000..7d99ba8
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ha_Arab.java
@@ -0,0 +1,130 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ha_Arab".
+ */
+public class DateTimeFormatInfoImpl_ha_Arab extends DateTimeFormatInfoImpl_ha {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "A.M.",
+        "P.M."
+    };
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "غَبَنِنْ مِلَدِ",
+        "مِلَدِ"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "غَبَنِنْ مِلَدِ",
+        "مِلَدِ"
+    };
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "جَنَيْرُ",
+        "ڢَبْرَيْرُ",
+        "مَرِسْ",
+        "أَڢْرِلُ",
+        "مَيُ",
+        "يُونِ",
+        "يُولِ",
+        "أَغُسْتَ",
+        "سَتُمْبَ",
+        "أُكْتوُبَ",
+        "نُوَمْبَ",
+        "دِسَمْبَ"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "جَن",
+        "ڢَب",
+        "مَر",
+        "أَڢْر",
+        "مَي",
+        "يُون",
+        "يُول",
+        "أَغُ",
+        "سَت",
+        "أُكْت",
+        "نُو",
+        "دِس"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "لَحَدِ",
+        "لِتِنِنْ",
+        "تَلَتَ",
+        "لَرَبَ",
+        "أَلْحَمِسْ",
+        "جُمَعَ",
+        "أَسَبَرْ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "لَح",
+        "لِت",
+        "تَل",
+        "لَر",
+        "أَلْح",
+        "جُم",
+        "أَسَ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ha_SD.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ha_SD.java
new file mode 100644
index 0000000..735eabd
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ha_SD.java
@@ -0,0 +1,145 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ha_SD".
+ */
+public class DateTimeFormatInfoImpl_ha_SD extends DateTimeFormatInfoImpl_ha {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "A.M.",
+        "P.M."
+    };
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "غَبَنِنْ مِلَدِ",
+        "مِلَدِ"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "غَبَنِنْ مِلَدِ",
+        "مِلَدِ"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 6;
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "جَنَيْرُ",
+        "ڢَبْرَيْرُ",
+        "مَرِسْ",
+        "أَڢْرِلُ",
+        "مَيُ",
+        "يُونِ",
+        "يُولِ",
+        "أَغُسْتَ",
+        "سَتُمْبَ",
+        "أُكْتوُبَ",
+        "نُوَمْبَ",
+        "دِسَمْبَ"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "جَن",
+        "ڢَب",
+        "مَر",
+        "أَڢْر",
+        "مَي",
+        "يُون",
+        "يُول",
+        "أَغُ",
+        "سَت",
+        "أُكْت",
+        "نُو",
+        "دِس"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "لَحَدِ",
+        "لِتِنِنْ",
+        "تَلَتَ",
+        "لَرَبَ",
+        "أَلْحَمِسْ",
+        "جُمَعَ",
+        "أَسَبَرْ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "لَح",
+        "لِت",
+        "تَل",
+        "لَر",
+        "أَلْح",
+        "جُم",
+        "أَسَ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+
+  @Override
+  public int weekendEnd() {
+    return 5;
+  }
+
+  @Override
+  public int weekendStart() {
+    return 4;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_haw.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_haw.java
new file mode 100644
index 0000000..5f0ebca
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_haw.java
@@ -0,0 +1,198 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "haw".
+ */
+public class DateTimeFormatInfoImpl_haw extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d/M/yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Ianuali",
+        "Pepeluali",
+        "Malaki",
+        "ʻApelila",
+        "Mei",
+        "Iune",
+        "Iulai",
+        "ʻAukake",
+        "Kepakemapa",
+        "ʻOkakopa",
+        "Nowemapa",
+        "Kekemapa"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Ian.",
+        "Pep.",
+        "Mal.",
+        "ʻAp.",
+        "Mei",
+        "Iun.",
+        "Iul.",
+        "ʻAu.",
+        "Kep.",
+        "ʻOk.",
+        "Now.",
+        "Kek."
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Lāpule",
+        "Poʻakahi",
+        "Poʻalua",
+        "Poʻakolu",
+        "Poʻahā",
+        "Poʻalima",
+        "Poʻaono"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "LP",
+        "P1",
+        "P2",
+        "P3",
+        "P4",
+        "P5",
+        "P6"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_haw_US.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_haw_US.java
new file mode 100644
index 0000000..297f3e5
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_haw_US.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "haw_US".
+ */
+public class DateTimeFormatInfoImpl_haw_US extends DateTimeFormatInfoImpl_haw {
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 0;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_he.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_he.java
new file mode 100644
index 0000000..22e8538
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_he.java
@@ -0,0 +1,306 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "he".
+ */
+public class DateTimeFormatInfoImpl_he extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "לפנה\"צ",
+        "אחה\"צ"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d בMMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d בMMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd/MM/yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "לפני הספירה",
+        "לספירה"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "לפנה״ס",
+        "לסה״נ"
+    };
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d בMMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d בMMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, d בMMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d/M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d בMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d בMMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M.yyyy";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d בMMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "yyyy QQQQ";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "yyyy Q";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "ינואר",
+        "פברואר",
+        "מרס",
+        "אפריל",
+        "מאי",
+        "יוני",
+        "יולי",
+        "אוגוסט",
+        "ספטמבר",
+        "אוקטובר",
+        "נובמבר",
+        "דצמבר"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "ינו",
+        "פבר",
+        "מרס",
+        "אפר",
+        "מאי",
+        "יונ",
+        "יול",
+        "אוג",
+        "ספט",
+        "אוק",
+        "נוב",
+        "דצמ"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "רבעון 1",
+        "רבעון 2",
+        "רבעון 3",
+        "רבעון 4"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "רבעון 1",
+        "רבעון 2",
+        "רבעון 3",
+        "רבעון 4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "יום ראשון",
+        "יום שני",
+        "יום שלישי",
+        "יום רביעי",
+        "יום חמישי",
+        "יום שישי",
+        "יום שבת"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "א",
+        "ב",
+        "ג",
+        "ד",
+        "ה",
+        "ו",
+        "ש"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "יום א'",
+        "יום ב'",
+        "יום ג'",
+        "יום ד'",
+        "יום ה'",
+        "יום ו'",
+        "שבת"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+
+  @Override
+  public int weekendEnd() {
+    return 6;
+  }
+
+  @Override
+  public int weekendStart() {
+    return 5;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_hi.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_hi.java
new file mode 100644
index 0000000..454cc7f
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_hi.java
@@ -0,0 +1,263 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "hi".
+ */
+public class DateTimeFormatInfoImpl_hi extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd-MM-yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d-M-yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "ईसापूर्व",
+        "सन"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "ईसापूर्व",
+        "सन"
+    };
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, d MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d-M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M-y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d-M-y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d MMM y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "जनवरी",
+        "फरवरी",
+        "मार्च",
+        "अप्रैल",
+        "मई",
+        "जून",
+        "जुलाई",
+        "अगस्त",
+        "सितम्बर",
+        "अक्तूबर",
+        "नवम्बर",
+        "दिसम्बर"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "ज",
+        "फ़",
+        "मा",
+        "अ",
+        "म",
+        "जू",
+        "जु",
+        "अ",
+        "सि",
+        "अ",
+        "न",
+        "दि"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "जनवरी",
+        "फरवरी",
+        "मार्च",
+        "अप्रैल",
+        "मई",
+        "जून",
+        "जुलाई",
+        "अगस्त",
+        "सितम्बर",
+        "अक्तूबर",
+        "नवम्बर",
+        "दिसम्बर"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "प्रथम चौथाई",
+        "द्वितीय चौथाई",
+        "तृतीय चौथाई",
+        "चतुर्थ चौथाई"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "प्रथम चौथाई",
+        "द्वितीय चौथाई",
+        "तृतीय चौथाई",
+        "चतुर्थ चौथाई"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "रविवार",
+        "सोमवार",
+        "मंगलवार",
+        "बुधवार",
+        "गुरुवार",
+        "शुक्रवार",
+        "शनिवार"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "र",
+        "सो",
+        "मं",
+        "बु",
+        "गु",
+        "शु",
+        "श"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "रवि",
+        "सोम",
+        "मंगल",
+        "बुध",
+        "गुरु",
+        "शुक्र",
+        "शनि"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+
+  @Override
+  public int weekendStart() {
+    return 0;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_hr.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_hr.java
new file mode 100644
index 0000000..9440857
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_hr.java
@@ -0,0 +1,326 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "hr".
+ */
+public class DateTimeFormatInfoImpl_hr extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d. MMMM y.";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d. MMMM y.";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d.M.yyyy.";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd.MM.yyyy.";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "Prije Krista",
+        "Poslije Krista"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "pr.n.e.",
+        "AD"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatHour12Minute() {
+    return "hh:mm a";
+  }
+
+  @Override
+  public String formatHour12MinuteSecond() {
+    return "hh:mm:ss a";
+  }
+
+  @Override
+  public String formatMonthAbbrev() {
+    return "LLL.";
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d. MMM";
+  }
+
+  @Override
+  public String formatMonthFull() {
+    return "LLLL.";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d. MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, d.MMMM.";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d.M.";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM.y.";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d. MMM y.";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM.y.";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d. MMMM y.";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M.yyyy.";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d. M. y.";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d. MMM y.";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ. yyyy.";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q. yyyy.";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "siječnja",
+        "veljače",
+        "ožujka",
+        "travnja",
+        "svibnja",
+        "lipnja",
+        "srpnja",
+        "kolovoza",
+        "rujna",
+        "listopada",
+        "studenoga",
+        "prosinca"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return new String[] { 
+        "siječanj",
+        "veljača",
+        "ožujak",
+        "travanj",
+        "svibanj",
+        "lipanj",
+        "srpanj",
+        "kolovoz",
+        "rujan",
+        "listopad",
+        "studeni",
+        "prosinac"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1.",
+        "2.",
+        "3.",
+        "4.",
+        "5.",
+        "6.",
+        "7.",
+        "8.",
+        "9.",
+        "10.",
+        "11.",
+        "12."
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "01.",
+        "02.",
+        "03.",
+        "04.",
+        "05.",
+        "06.",
+        "07.",
+        "08.",
+        "09.",
+        "10.",
+        "11.",
+        "12."
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1. kvartal",
+        "2. kvartal",
+        "3. kvartal",
+        "4. kvartal"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "1kv",
+        "2kv",
+        "3kv",
+        "4kv"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "nedjelja",
+        "ponedjeljak",
+        "utorak",
+        "srijeda",
+        "četvrtak",
+        "petak",
+        "subota"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "n",
+        "p",
+        "u",
+        "s",
+        "č",
+        "p",
+        "s"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "ned",
+        "pon",
+        "uto",
+        "sri",
+        "čet",
+        "pet",
+        "sub"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_hu.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_hu.java
new file mode 100644
index 0000000..3e19d46
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_hu.java
@@ -0,0 +1,306 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "hu".
+ */
+public class DateTimeFormatInfoImpl_hu extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "de.",
+        "du."
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "y. MMMM d., EEEE";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y. MMMM d.";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "yyyy.MM.dd.";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yyyy.MM.dd.";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "időszámításunk előtt",
+        "időszámításunk szerint"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "i. e.",
+        "i. sz."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatHour24Minute() {
+    return "H:mm";
+  }
+
+  @Override
+  public String formatHour24MinuteSecond() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "MMM d.";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "MMMM d.";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M.d.";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "y. MMM";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "y. MMM d.";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "y. MMMM";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "y. MMMM d.";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "y.M";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "y.M.d.";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "y. MMM d., EEE";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "y/QQQQ";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "y/Q";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "január",
+        "február",
+        "március",
+        "április",
+        "május",
+        "június",
+        "július",
+        "augusztus",
+        "szeptember",
+        "október",
+        "november",
+        "december"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "J",
+        "F",
+        "M",
+        "Á",
+        "M",
+        "J",
+        "J",
+        "A",
+        "Sz",
+        "O",
+        "N",
+        "D"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "jan.",
+        "febr.",
+        "márc.",
+        "ápr.",
+        "máj.",
+        "jún.",
+        "júl.",
+        "aug.",
+        "szept.",
+        "okt.",
+        "nov.",
+        "dec."
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "I. negyedév",
+        "II. negyedév",
+        "III. negyedév",
+        "IV. negyedév"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "N1",
+        "N2",
+        "N3",
+        "N4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "H:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "H:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "H:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "vasárnap",
+        "hétfő",
+        "kedd",
+        "szerda",
+        "csütörtök",
+        "péntek",
+        "szombat"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "V",
+        "H",
+        "K",
+        "Sz",
+        "Cs",
+        "P",
+        "Sz"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "V",
+        "H",
+        "K",
+        "Sze",
+        "Cs",
+        "P",
+        "Szo"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_hy.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_hy.java
new file mode 100644
index 0000000..cca8a18
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_hy.java
@@ -0,0 +1,236 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "hy".
+ */
+public class DateTimeFormatInfoImpl_hy extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "Առ․",
+        "Եր․"
+    };
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "MMMM dd, y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "MM/dd/yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "Ք․Ա․",
+        "Ք․Ե․"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "Ք․Ա․",
+        "Ք․Ե․"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Յունուար",
+        "Փետրուար",
+        "Մարտ",
+        "Ապրիլ",
+        "Մայիս",
+        "Յունիս",
+        "Յուլիս",
+        "Օգոստոս",
+        "Սեպտեմբեր",
+        "Հոկտեմբեր",
+        "Նոյեմբեր",
+        "Դեկտեմբեր"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Յնր",
+        "Փտր",
+        "Մրտ",
+        "Ապր",
+        "Մյս",
+        "Յնս",
+        "Յլս",
+        "Օգս",
+        "Սեպ",
+        "Հոկ",
+        "Նոյ",
+        "Դեկ"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Կիրակի",
+        "Երկուշաբթի",
+        "Երեքշաբթի",
+        "Չորեքշաբթի",
+        "Հինգշաբթի",
+        "Ուրբաթ",
+        "Շաբաթ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Կիր",
+        "Երկ",
+        "Երք",
+        "Չոր",
+        "Հնգ",
+        "Ուր",
+        "Շաբ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ia.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ia.java
new file mode 100644
index 0000000..b3619f8
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ia.java
@@ -0,0 +1,291 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ia".
+ */
+public class DateTimeFormatInfoImpl_ia extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "a.m.",
+        "p.m."
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "ante Christo",
+        "post Christo"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "a.Chr.",
+        "p.Chr."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "januario",
+        "februario",
+        "martio",
+        "april",
+        "maio",
+        "junio",
+        "julio",
+        "augusto",
+        "septembre",
+        "octobre",
+        "novembre",
+        "decembre"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "jan",
+        "feb",
+        "mar",
+        "apr",
+        "mai",
+        "jun",
+        "jul",
+        "aug",
+        "sep",
+        "oct",
+        "nov",
+        "dec"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1-me trimestre",
+        "2-nde trimestre",
+        "3-tie trimestre",
+        "4-te trimestre"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "T1",
+        "T2",
+        "T3",
+        "T4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "dominica",
+        "lunedi",
+        "martedi",
+        "mercuridi",
+        "jovedi",
+        "venerdi",
+        "sabbato"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "dom",
+        "lun",
+        "mar",
+        "mer",
+        "jov",
+        "ven",
+        "sab"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_id.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_id.java
new file mode 100644
index 0000000..1a3269a
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_id.java
@@ -0,0 +1,288 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "id".
+ */
+public class DateTimeFormatInfoImpl_id extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, dd MMMM yyyy";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM yyyy";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatHour24Minute() {
+    return "HH.mm";
+  }
+
+  @Override
+  public String formatHour24MinuteSecond() {
+    return "HH.mm.ss";
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE d MMMM";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d MMM y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Januari",
+        "Februari",
+        "Maret",
+        "April",
+        "Mei",
+        "Juni",
+        "Juli",
+        "Agustus",
+        "September",
+        "Oktober",
+        "November",
+        "Desember"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Jan",
+        "Feb",
+        "Mar",
+        "Apr",
+        "Mei",
+        "Jun",
+        "Jul",
+        "Agu",
+        "Sep",
+        "Okt",
+        "Nov",
+        "Des"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "kuartal pertama",
+        "kuartal kedua",
+        "kuartal ketiga",
+        "kuartal keempat"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "K1",
+        "K2",
+        "K3",
+        "K4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "H:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Minggu",
+        "Senin",
+        "Selasa",
+        "Rabu",
+        "Kamis",
+        "Jumat",
+        "Sabtu"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Min",
+        "Sen",
+        "Sel",
+        "Rab",
+        "Kam",
+        "Jum",
+        "Sab"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ig.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ig.java
new file mode 100644
index 0000000..0ad72ea
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ig.java
@@ -0,0 +1,281 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ig".
+ */
+public class DateTimeFormatInfoImpl_ig extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "A.M.",
+        "P.M."
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "Tupu Kristi",
+        "Afọ Kristi"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "T.K.",
+        "A.K."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d MMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Jenụwarị",
+        "Febrụwarị",
+        "Maachị",
+        "Eprel",
+        "Mee",
+        "Juun",
+        "Julaị",
+        "Ọgọọst",
+        "Septemba",
+        "Ọktoba",
+        "Novemba",
+        "Disemba"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Jen",
+        "Feb",
+        "Maa",
+        "Epr",
+        "Mee",
+        "Juu",
+        "Jul",
+        "Ọgọ",
+        "Sep",
+        "Ọkt",
+        "Nov",
+        "Dis"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Mbọsị Ụka",
+        "Mọnde",
+        "Tiuzdee",
+        "Wenezdee",
+        "Tọọzdee",
+        "Fraịdee",
+        "Satọdee"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Ụka",
+        "Mọn",
+        "Tiu",
+        "Wen",
+        "Tọọ",
+        "Fraị",
+        "Sat"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ii.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ii.java
new file mode 100644
index 0000000..c53a35e
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ii.java
@@ -0,0 +1,236 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ii".
+ */
+public class DateTimeFormatInfoImpl_ii extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "ꎸꄑ",
+        "ꁯꋒ"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yyyy-MM-dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "ꃅꋊꂿ",
+        "ꃅꋊꊂ"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "ꃅꋊꂿ",
+        "ꃅꋊꊂ"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "ꋍꆪ",
+        "ꑍꆪ",
+        "ꌕꆪ",
+        "ꇖꆪ",
+        "ꉬꆪ",
+        "ꃘꆪ",
+        "ꏃꆪ",
+        "ꉆꆪ",
+        "ꈬꆪ",
+        "ꊰꆪ",
+        "ꊰꊪꆪ",
+        "ꊰꑋꆪ"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "ꃅꑌ",
+        "ꃅꎸ",
+        "ꃅꍵ",
+        "ꃅꋆ"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "ꃅꑌ",
+        "ꃅꎸ",
+        "ꃅꍵ",
+        "ꃅꋆ"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "ꑭꆏꑍ",
+        "ꆏꊂꋍ",
+        "ꆏꊂꑍ",
+        "ꆏꊂꌕ",
+        "ꆏꊂꇖ",
+        "ꆏꊂꉬ",
+        "ꆏꊂꃘ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "ꆏ",
+        "ꋍ",
+        "ꑍ",
+        "ꌕ",
+        "ꇖ",
+        "ꉬ",
+        "ꃘ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "ꆏꑍ",
+        "ꆏꋍ",
+        "ꆏꑍ",
+        "ꆏꌕ",
+        "ꆏꇖ",
+        "ꆏꉬ",
+        "ꆏꃘ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ii_CN.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ii_CN.java
new file mode 100644
index 0000000..652bef0
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ii_CN.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ii_CN".
+ */
+public class DateTimeFormatInfoImpl_ii_CN extends DateTimeFormatInfoImpl_ii {
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 0;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_is.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_is.java
new file mode 100644
index 0000000..7853afa
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_is.java
@@ -0,0 +1,296 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "is".
+ */
+public class DateTimeFormatInfoImpl_is extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "f.h.",
+        "e.h."
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d. MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d. MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d.M.yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d.M.yyyy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "fyrir Krist",
+        "eftir Krist"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "fyrir Krist",
+        "eftir Krist"
+    };
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d. MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d. MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE d. MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d.M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d. MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d. MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M. yyyy";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d.M.y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d. MMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ. yyyy";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q. yyyy";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "janúar",
+        "febrúar",
+        "mars",
+        "apríl",
+        "maí",
+        "júní",
+        "júlí",
+        "ágúst",
+        "september",
+        "október",
+        "nóvember",
+        "desember"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "j",
+        "f",
+        "m",
+        "a",
+        "m",
+        "j",
+        "j",
+        "á",
+        "s",
+        "o",
+        "n",
+        "d"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "jan",
+        "feb",
+        "mar",
+        "apr",
+        "maí",
+        "jún",
+        "júl",
+        "ágú",
+        "sep",
+        "okt",
+        "nóv",
+        "des"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1st fjórðungur",
+        "2nd fjórðungur",
+        "3rd fjórðungur",
+        "4th fjórðungur"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "F1",
+        "F2",
+        "F3",
+        "F4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "sunnudagur",
+        "mánudagur",
+        "þriðjudagur",
+        "miðvikudagur",
+        "fimmtudagur",
+        "föstudagur",
+        "laugardagur"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "s",
+        "m",
+        "þ",
+        "m",
+        "f",
+        "f",
+        "l"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "sun",
+        "mán",
+        "þri",
+        "mið",
+        "fim",
+        "fös",
+        "lau"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_it.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_it.java
new file mode 100644
index 0000000..e8c6cc9
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_it.java
@@ -0,0 +1,332 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "it".
+ */
+public class DateTimeFormatInfoImpl_it extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "m.",
+        "p."
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd/MMM/y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "a.C.",
+        "d.C"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "aC",
+        "dC"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatHour12Minute() {
+    return "hh:mm a";
+  }
+
+  @Override
+  public String formatHour12MinuteSecond() {
+    return "hh:mm:ss a";
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE d MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d/M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE d MMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ-yyyy";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q-yyyy";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "gennaio",
+        "febbraio",
+        "marzo",
+        "aprile",
+        "maggio",
+        "giugno",
+        "luglio",
+        "agosto",
+        "settembre",
+        "ottobre",
+        "novembre",
+        "dicembre"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return new String[] { 
+        "Gennaio",
+        "Febbraio",
+        "Marzo",
+        "Aprile",
+        "Maggio",
+        "Giugno",
+        "Luglio",
+        "Agosto",
+        "Settembre",
+        "Ottobre",
+        "Novembre",
+        "Dicembre"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "G",
+        "F",
+        "M",
+        "A",
+        "M",
+        "G",
+        "L",
+        "A",
+        "S",
+        "O",
+        "N",
+        "D"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "gen",
+        "feb",
+        "mar",
+        "apr",
+        "mag",
+        "giu",
+        "lug",
+        "ago",
+        "set",
+        "ott",
+        "nov",
+        "dic"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1o trimestre",
+        "2o trimestre",
+        "3o trimestre",
+        "4o trimestre"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "T1",
+        "T2",
+        "T3",
+        "T4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH.mm.ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH.mm.ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH.mm.ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH.mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "domenica",
+        "lunedì",
+        "martedì",
+        "mercoledì",
+        "giovedì",
+        "venerdì",
+        "sabato"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return new String[] { 
+        "Domenica",
+        "Lunedì",
+        "Martedì",
+        "Mercoledì",
+        "Giovedì",
+        "Venerdì",
+        "Sabato"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "D",
+        "L",
+        "M",
+        "M",
+        "G",
+        "V",
+        "S"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "dom",
+        "lun",
+        "mar",
+        "mer",
+        "gio",
+        "ven",
+        "sab"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_it_CH.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_it_CH.java
new file mode 100644
index 0000000..582ab1a
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_it_CH.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "it_CH".
+ */
+public class DateTimeFormatInfoImpl_it_CH extends DateTimeFormatInfoImpl_it {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d-MMM-y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd.MM.yy";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d.M.y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d MMM y";
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH.mm:ss 'h' zzzz";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_iu.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_iu.java
new file mode 100644
index 0000000..5b5eb61
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_iu.java
@@ -0,0 +1,268 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "iu".
+ */
+public class DateTimeFormatInfoImpl_iu extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "ᔭᓐᓄᐊᓕ",
+        "ᕕᕝᕗᐊᓕ",
+        "ᒫᑦᓯ",
+        "ᐊᐃᑉᐳᓗ",
+        "ᒪᐃ",
+        "ᔫᓂ",
+        "ᔪᓚᐃ",
+        "ᐊᐅᒡᒍᓯ",
+        "ᓰᑦᑏᕝᕙ",
+        "ᐆᑦᑑᕝᕙ",
+        "ᓅᕙᐃᕝᕙ",
+        "ᑏᓰᕝᕙ"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "ᔭᓐᓄᐊᓕ",
+        "ᕕᕝᕗᐊᓕ",
+        "ᒫᑦᓯ",
+        "ᐊᐃᑉᐳᓗ",
+        "ᒪᐃ",
+        "ᔫᓂ",
+        "ᔪᓚᐃ",
+        "ᐊᐅᒡᒍᓯ",
+        "ᓰᑦᑏᕝᕙ",
+        "ᐆᑦᑑᕝᕙ",
+        "ᓅᕙᐃᕝᕙ",
+        "ᑏᓰᕝᕙ"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "ᓈᑦᓰᖑᔭ",
+        "ᓇᒡᒐᔾᔭᐅ",
+        "ᓇᒡᒐᔾᔭᐅᓕᖅᑭ",
+        "ᐱᖓᑦᓯᖅ",
+        "ᓯᑕᒻᒥᖅ",
+        "ᑕᓪᓕᕐᒥᖅ",
+        "ᓈᑦᓰᖑᔭᓕᖅᕿ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "ᓈᑦᓰᖑᔭ",
+        "ᓇᒡᒐᔾᔭᐅ",
+        "ᓇᒡᒐᔾᔭᐅᓕᖅᑭ",
+        "ᐱᖓᑦᓯᖅ",
+        "ᓯᑕᒻᒥᖅ",
+        "ᑕᓪᓕᕐᒥᖅ",
+        "ᓈᑦᓰᖑᔭᓕᖅᕿ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ja.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ja.java
new file mode 100644
index 0000000..0db7ea1
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ja.java
@@ -0,0 +1,306 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ja".
+ */
+public class DateTimeFormatInfoImpl_ja extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "午前",
+        "午後"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "y年M月d日EEEE";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y年M月d日";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "yyyy/MM/dd";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "紀元前",
+        "西暦"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "紀元前",
+        "西暦"
+    };
+  }
+
+  @Override
+  public String formatHour12Minute() {
+    return "ah:mm";
+  }
+
+  @Override
+  public String formatHour12MinuteSecond() {
+    return "ah:mm:ss";
+  }
+
+  @Override
+  public String formatHour24Minute() {
+    return "H:mm";
+  }
+
+  @Override
+  public String formatHour24MinuteSecond() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "M月d日";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "M月d日";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "M月d日(EEEE)";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "y年M月";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "y年M月d日";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "y年M月";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "y年M月d日";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "y/M";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "y年M月d日";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "y年M月d日(EEE)";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "y/QQQQ";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "y/Q";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "1月",
+        "2月",
+        "3月",
+        "4月",
+        "5月",
+        "6月",
+        "7月",
+        "8月",
+        "9月",
+        "10月",
+        "11月",
+        "12月"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "1月",
+        "2月",
+        "3月",
+        "4月",
+        "5月",
+        "6月",
+        "7月",
+        "8月",
+        "9月",
+        "10月",
+        "11月",
+        "12月"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "第1四半期",
+        "第2四半期",
+        "第3四半期",
+        "第4四半期"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "H時mm分ss秒 zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "H:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "日曜日",
+        "月曜日",
+        "火曜日",
+        "水曜日",
+        "木曜日",
+        "金曜日",
+        "土曜日"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "日",
+        "月",
+        "火",
+        "水",
+        "木",
+        "金",
+        "土"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "日",
+        "月",
+        "火",
+        "水",
+        "木",
+        "金",
+        "土"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ka.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ka.java
new file mode 100644
index 0000000..2463504
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ka.java
@@ -0,0 +1,231 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ka".
+ */
+public class DateTimeFormatInfoImpl_ka extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "დილის",
+        "საღამოს"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "ჩვენს წელთაღრიცხვამდე",
+        "ჩვენი წელთაღრიცხვით"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "ჩვენს წელთაღრიცხვამდე",
+        "ჩვენი წელთაღრიცხვით"
+    };
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "იანვარი",
+        "თებერვალი",
+        "მარტი",
+        "აპრილი",
+        "მაისი",
+        "ივნისი",
+        "ივლისი",
+        "აგვისტო",
+        "სექტემბერი",
+        "ოქტომბერი",
+        "ნოემბერი",
+        "დეკემბერი"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "ი",
+        "თ",
+        "მ",
+        "ა",
+        "მ",
+        "ი",
+        "ი",
+        "ა",
+        "ს",
+        "ო",
+        "ნ",
+        "დ"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "იან",
+        "თებ",
+        "მარ",
+        "აპრ",
+        "მაი",
+        "ივნ",
+        "ივლ",
+        "აგვ",
+        "სექ",
+        "ოქტ",
+        "ნოე",
+        "დეკ"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1-ლი კვარტალი",
+        "მე-2 კვარტალი",
+        "მე-3 კვარტალი",
+        "მე-4 კვარტალი"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "I კვ.",
+        "II კვ.",
+        "III კვ.",
+        "IV კვ."
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "კვირა",
+        "ორშაბათი",
+        "სამშაბათი",
+        "ოთხშაბათი",
+        "ხუთშაბათი",
+        "პარასკევი",
+        "შაბათი"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "კ",
+        "ო",
+        "ს",
+        "ო",
+        "ხ",
+        "პ",
+        "შ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "კვი",
+        "ორშ",
+        "სამ",
+        "ოთხ",
+        "ხუთ",
+        "პარ",
+        "შაბ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kaj.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kaj.java
new file mode 100644
index 0000000..eba6fce
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kaj.java
@@ -0,0 +1,281 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "kaj".
+ */
+public class DateTimeFormatInfoImpl_kaj extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "A.M.",
+        "P.M."
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "Gabanin Miladi",
+        "Miladi"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "G.M.",
+        "M."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Hywan A̱yrnig",
+        "Hywan A̱hwa",
+        "Hywan A̱tat",
+        "Hywan A̱naai",
+        "Hywan A̱pfwon",
+        "Hywan A̱kitat",
+        "Hywan A̱tyirin",
+        "Hywan A̱ninai",
+        "Hywan A̱kumviriyin",
+        "Hywan Swak",
+        "Hywan Swak B'a̱yrnig",
+        "Hywan Swak B'a̱hwa"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "A̱yr",
+        "A̱hw",
+        "A̱ta",
+        "A̱na",
+        "A̱pf",
+        "A̱ki",
+        "A̱ty",
+        "A̱ni",
+        "A̱ku",
+        "Swa",
+        "Sby",
+        "Sbh"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Ladi",
+        "Lintani",
+        "Talata",
+        "Larba",
+        "Lamit",
+        "Juma",
+        "Asabar"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Lad",
+        "Lin",
+        "Tal",
+        "Lar",
+        "Lam",
+        "Jum",
+        "Asa"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kam.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kam.java
new file mode 100644
index 0000000..0024114
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kam.java
@@ -0,0 +1,273 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "kam".
+ */
+public class DateTimeFormatInfoImpl_kam extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "mbee wa yesu",
+        "IY"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "MY",
+        "IY"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d MMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Mwei wa mbee",
+        "Mwei wa keli",
+        "Mwei wa katatu",
+        "Mwei wa kanne",
+        "Mwei wa katano",
+        "Mwei wa thanthatu",
+        "Mwei wa muonza",
+        "Mwei wa nyanya",
+        "Mwei wa kenda",
+        "Mwei wa ikumi",
+        "Mwei wa ikumi na imwe",
+        "Mwei wa ikumi na ili"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Mwei wa mbee",
+        "Mwei wa keli",
+        "Mwei wa katatu",
+        "Mwei wa kanne",
+        "Mwei wa katano",
+        "Mwei wa thanthatu",
+        "Mwei wa muonza",
+        "Mwei wa nyanya",
+        "Mwei wa kenda",
+        "Mwei wa ikumi",
+        "Mwei wa ikumi na imwe",
+        "Mwei wa ikumi na ili"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Jumapili",
+        "Jumatatu",
+        "Jumanne",
+        "Jumatano",
+        "Alamisi",
+        "Ijumaa",
+        "Jumamosi"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Jpl",
+        "Jtt",
+        "Jnn",
+        "Jtn",
+        "Alh",
+        "Ijm",
+        "Jms"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kam_KE.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kam_KE.java
new file mode 100644
index 0000000..d4841e0
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kam_KE.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "kam_KE".
+ */
+public class DateTimeFormatInfoImpl_kam_KE extends DateTimeFormatInfoImpl_kam {
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 6;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kcg.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kcg.java
new file mode 100644
index 0000000..23f186a
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kcg.java
@@ -0,0 +1,273 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "kcg".
+ */
+public class DateTimeFormatInfoImpl_kcg extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "Gabanin Miladi",
+        "Miladi"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "GM",
+        "M"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Zwat Juwung",
+        "Zwat Swiyang",
+        "Zwat Tsat",
+        "Zwat Nyai",
+        "Zwat Tswon",
+        "Zwat Ataah",
+        "Zwat Anatat",
+        "Zwat Arinai",
+        "Zwat Akubunyung",
+        "Zwat Swag",
+        "Zwat Mangjuwang",
+        "Zwat Swag-Ma-Suyang"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Juw",
+        "Swi",
+        "Tsa",
+        "Nya",
+        "Tsw",
+        "Ata",
+        "Ana",
+        "Ari",
+        "Aku",
+        "Swa",
+        "Man",
+        "Mas"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Ladi",
+        "Tanii",
+        "Talata",
+        "Larba",
+        "Lamit",
+        "Juma",
+        "Asabat"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Lad",
+        "Tan",
+        "Tal",
+        "Lar",
+        "Lam",
+        "Jum",
+        "Asa"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kfo.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kfo.java
new file mode 100644
index 0000000..1355bd1
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kfo.java
@@ -0,0 +1,273 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "kfo".
+ */
+public class DateTimeFormatInfoImpl_kfo extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "Kafi Mar Wenom",
+        "Bayan Chi Wenom"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "KMW",
+        "BCW"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Fai Weyene",
+        "Fai Fani",
+        "Fai Tataka",
+        "Fai Nangra",
+        "Fai Tuyo",
+        "Fai Tsoyi",
+        "Fai Tafaka",
+        "Fai Warachi",
+        "Fai Kunobok",
+        "Fai Bansok",
+        "Fai Kom",
+        "Fai Sauk"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Wey",
+        "Fan",
+        "Tat",
+        "Nan",
+        "Tuy",
+        "Tso",
+        "Taf",
+        "War",
+        "Kun",
+        "Ban",
+        "Kom",
+        "Sau"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Lahadi",
+        "Je-Kubacha",
+        "Je-Gbai",
+        "Tansati",
+        "Je-Yei",
+        "Je-Koye",
+        "Sati"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Lah",
+        "Kub",
+        "Gba",
+        "Tan",
+        "Yei",
+        "Koy",
+        "Sat"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kk.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kk.java
new file mode 100644
index 0000000..dde211f
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kk.java
@@ -0,0 +1,238 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "kk".
+ */
+public class DateTimeFormatInfoImpl_kk extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d MMMM y 'ж'.";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y 'ж'.";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd.MM.yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd.MM.yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y 'ж'.";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y 'ж'.";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d.M.y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d MMM y 'ж'.";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "қаңтар",
+        "ақпан",
+        "наурыз",
+        "сәуір",
+        "мамыр",
+        "маусым",
+        "шілде",
+        "тамыз",
+        "қыркүйек",
+        "қазан",
+        "қараша",
+        "желтоқсан"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "қаң.",
+        "ақп.",
+        "нау.",
+        "сәу.",
+        "мам.",
+        "мау.",
+        "шіл.",
+        "там.",
+        "қыр.",
+        "қаз.",
+        "қар.",
+        "желт."
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "жексені",
+        "дуйсенбі",
+        "сейсенбі",
+        "сәренбі",
+        "бейсенбі",
+        "жұма",
+        "сенбі"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "жс.",
+        "дс.",
+        "сс.",
+        "ср.",
+        "бс.",
+        "жм.",
+        "сһ."
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kl.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kl.java
new file mode 100644
index 0000000..171fd46
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kl.java
@@ -0,0 +1,193 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "kl".
+ */
+public class DateTimeFormatInfoImpl_kl extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "MMM dd, y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "januari",
+        "februari",
+        "martsi",
+        "aprili",
+        "maji",
+        "juni",
+        "juli",
+        "augustusi",
+        "septemberi",
+        "oktoberi",
+        "novemberi",
+        "decemberi"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "jan",
+        "feb",
+        "mar",
+        "apr",
+        "maj",
+        "jun",
+        "jul",
+        "aug",
+        "sep",
+        "okt",
+        "nov",
+        "dec"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "sabaat",
+        "ataasinngorneq",
+        "marlunngorneq",
+        "pingasunngorneq",
+        "sisamanngorneq",
+        "tallimanngorneq",
+        "arfininngorneq"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "sab",
+        "ata",
+        "mar",
+        "pin",
+        "sis",
+        "tal",
+        "arf"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_km.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_km.java
new file mode 100644
index 0000000..98816a5
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_km.java
@@ -0,0 +1,251 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "km".
+ */
+public class DateTimeFormatInfoImpl_km extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "ព្រឹក",
+        "ល្ងាច"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE ថ្ងៃ d ខែ MMMM ឆ្នាំ y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d ខែ MMMM ឆ្នាំ y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d/M/yyyy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "មុន​គ្រិស្តសករាជ",
+        "គ្រិស្តសករាជ"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "មុន​គ.ស.",
+        "គ.ស."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatHour24Minute() {
+    return "H:mm";
+  }
+
+  @Override
+  public String formatHour24MinuteSecond() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "មករា",
+        "កុម្ភៈ",
+        "មិនា",
+        "មេសា",
+        "ឧសភា",
+        "មិថុនា",
+        "កក្កដា",
+        "សីហា",
+        "កញ្ញា",
+        "តុលា",
+        "វិច្ឆិកា",
+        "ធ្នូ"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "១",
+        "២",
+        "៣",
+        "៤",
+        "៥",
+        "៦",
+        "៧",
+        "៨",
+        "៩",
+        "១០",
+        "១១",
+        "១២"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "ត្រីមាសទី១",
+        "ត្រីមាសទី២",
+        "ត្រីមាសទី៣",
+        "ត្រីមាសទី៤"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "ត្រី១",
+        "ត្រី២",
+        "ត្រី៣",
+        "ត្រី៤"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "H ម៉ោង m នាទី ss វិនាទី​ zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "H ម៉ោង m នាទី ss វិនាទី​z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "H:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "ថ្ងៃអាទិត្យ",
+        "​ថ្ងៃច័ន្ទ",
+        "ថ្ងៃអង្គារ",
+        "ថ្ងៃពុធ",
+        "ថ្ងៃព្រហស្បតិ៍",
+        "ថ្ងៃសុក្រ",
+        "ថ្ងៃសៅរ៍"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "អា",
+        "ច",
+        "អ",
+        "ពុ",
+        "ព្រ",
+        "សុ",
+        "ស"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kn.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kn.java
new file mode 100644
index 0000000..68f1a8d
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kn.java
@@ -0,0 +1,296 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "kn".
+ */
+public class DateTimeFormatInfoImpl_kn extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "am",
+        "pm"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d-M-yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "ಈಸಪೂವ೯.",
+        "ಕ್ರಿಸ್ತ ಶಕ"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String formatHour12Minute() {
+    return "hh:mm a";
+  }
+
+  @Override
+  public String formatHour12MinuteSecond() {
+    return "hh:mm:ss a";
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d-M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M-y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d-M-y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE d MMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "ಜನವರೀ",
+        "ಫೆಬ್ರವರೀ",
+        "ಮಾರ್ಚ್",
+        "ಎಪ್ರಿಲ್",
+        "ಮೆ",
+        "ಜೂನ್",
+        "ಜುಲೈ",
+        "ಆಗಸ್ಟ್",
+        "ಸಪ್ಟೆಂಬರ್",
+        "ಅಕ್ಟೋಬರ್",
+        "ನವೆಂಬರ್",
+        "ಡಿಸೆಂಬರ್"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "ಜ",
+        "ಫೆ",
+        "ಮಾ",
+        "ಎ",
+        "ಮೇ",
+        "ಜೂ",
+        "ಜು",
+        "ಆ",
+        "ಸೆ",
+        "ಅ",
+        "ನ",
+        "ಡಿ"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "ಜನವರೀ",
+        "ಫೆಬ್ರವರೀ",
+        "ಮಾರ್ಚ್",
+        "ಎಪ್ರಿಲ್",
+        "ಮೆ",
+        "ಜೂನ್",
+        "ಜುಲೈ",
+        "ಆಗಸ್ಟ್",
+        "ಸಪ್ಟೆಂಬರ್",
+        "ಅಕ್ಟೋಬರ್",
+        "ನವೆಂಬರ್",
+        "ಡಿಸೆಂಬರ್"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "ಒಂದು 1",
+        "ಎರಡು 2",
+        "ಮೂರು 3",
+        "ನಾಲೃಕ 4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "hh:mm:ss a zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "hh:mm:ss a z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "hh:mm:ss a";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "hh:mm a";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "ರವಿವಾರ",
+        "ಸೋಮವಾರ",
+        "ಮಂಗಳವಾರ",
+        "ಬುಧವಾರ",
+        "ಗುರುವಾರ",
+        "ಶುಕ್ರವಾರ",
+        "ಶನಿವಾರ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "ರ",
+        "ಸೋ",
+        "ಮಂ",
+        "ಬು",
+        "ಗು",
+        "ಶು",
+        "ಶ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "ರ.",
+        "ಸೋ.",
+        "ಮಂ.",
+        "ಬು.",
+        "ಗು.",
+        "ಶು.",
+        "ಶನಿ."
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+
+  @Override
+  public int weekendStart() {
+    return 0;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ko.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ko.java
new file mode 100644
index 0000000..5146982
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ko.java
@@ -0,0 +1,306 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ko".
+ */
+public class DateTimeFormatInfoImpl_ko extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "오전",
+        "오후"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "y년 M월 d일 EEEE";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y년 M월 d일";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "yyyy. M. d.";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy. M. d.";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "서력기원전",
+        "서력기원"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "기원전",
+        "서기"
+    };
+  }
+
+  @Override
+  public String formatHour12Minute() {
+    return "a h:mm";
+  }
+
+  @Override
+  public String formatHour12MinuteSecond() {
+    return "a h:mm:ss";
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "MMM d일";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "MMMM d일";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "MMMM d일 (EEEE)";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M. d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "y년 MMM";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "y년 MMM d일";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "y년 MMMM";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "y년 MMMM d일";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "yyyy. M.";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "y년 M월 d일";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "y년 MMM d일 EEE";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "y년 QQQQ분기";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "y년 Q분기";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "1월",
+        "2월",
+        "3월",
+        "4월",
+        "5월",
+        "6월",
+        "7월",
+        "8월",
+        "9월",
+        "10월",
+        "11월",
+        "12월"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1월",
+        "2월",
+        "3월",
+        "4월",
+        "5월",
+        "6월",
+        "7월",
+        "8월",
+        "9월",
+        "10월",
+        "11월",
+        "12월"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "1월",
+        "2월",
+        "3월",
+        "4월",
+        "5월",
+        "6월",
+        "7월",
+        "8월",
+        "9월",
+        "10월",
+        "11월",
+        "12월"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "제 1/4분기",
+        "제 2/4분기",
+        "제 3/4분기",
+        "제 4/4분기"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "1분기",
+        "2분기",
+        "3분기",
+        "4분기"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "a hh시 mm분 ss초 zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "a hh시 mm분 ss초 z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "a h:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "a h:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "일요일",
+        "월요일",
+        "화요일",
+        "수요일",
+        "목요일",
+        "금요일",
+        "토요일"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "일",
+        "월",
+        "화",
+        "수",
+        "목",
+        "금",
+        "토"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "일",
+        "월",
+        "화",
+        "수",
+        "목",
+        "금",
+        "토"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kok.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kok.java
new file mode 100644
index 0000000..2e14bcb
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kok.java
@@ -0,0 +1,206 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "kok".
+ */
+public class DateTimeFormatInfoImpl_kok extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "म.पू.",
+        "म.नं."
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd-MM-yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d-M-yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "क्रिस्तपूर्व",
+        "क्रिस्तशखा"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "क्रिस्तपूर्व",
+        "क्रिस्तशखा"
+    };
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "जानेवारी",
+        "फेब्रुवारी",
+        "मार्च",
+        "एप्रिल",
+        "मे",
+        "जून",
+        "जुलै",
+        "ओगस्ट",
+        "सेप्टेंबर",
+        "ओक्टोबर",
+        "नोव्हेंबर",
+        "डिसेंबर"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "जानेवारी",
+        "फेबृवारी",
+        "मार्च",
+        "एप्रिल",
+        "मे",
+        "जून",
+        "जुलै",
+        "ओगस्ट",
+        "सेप्टेंबर",
+        "ओक्टोबर",
+        "नोव्हेंबर",
+        "डिसेंबर"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "आदित्यवार",
+        "सोमवार",
+        "मंगळार",
+        "बुधवार",
+        "गुरुवार",
+        "शुक्रवार",
+        "शनिवार"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "रवि",
+        "सोम",
+        "मंगळ",
+        "बुध",
+        "गुरु",
+        "शुक्र",
+        "शनि"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+
+  @Override
+  public int weekendStart() {
+    return 0;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kpe.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kpe.java
new file mode 100644
index 0000000..23db0bd
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kpe.java
@@ -0,0 +1,273 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "kpe".
+ */
+public class DateTimeFormatInfoImpl_kpe extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ku.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ku.java
new file mode 100644
index 0000000..d8bccce
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ku.java
@@ -0,0 +1,283 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ku".
+ */
+public class DateTimeFormatInfoImpl_ku extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yyyy-MM-dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 6;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "یەکشەممە",
+        "دووشەممە",
+        "سێشەممە",
+        "چوارشەممە",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "ی",
+        "د",
+        "س",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "یەکشەممە",
+        "دووشەممە",
+        "سێشەممە",
+        "چوارشەممە",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+
+  @Override
+  public int weekendEnd() {
+    return 6;
+  }
+
+  @Override
+  public int weekendStart() {
+    return 5;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ku_IR.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ku_IR.java
new file mode 100644
index 0000000..cfdeb09
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ku_IR.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ku_IR".
+ */
+public class DateTimeFormatInfoImpl_ku_IR extends DateTimeFormatInfoImpl_ku {
+
+  @Override
+  public int weekendEnd() {
+    return 5;
+  }
+
+  @Override
+  public int weekendStart() {
+    return 4;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ku_Latn.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ku_Latn.java
new file mode 100644
index 0000000..721894b
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ku_Latn.java
@@ -0,0 +1,211 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ku_Latn".
+ */
+public class DateTimeFormatInfoImpl_ku_Latn extends DateTimeFormatInfoImpl_ku {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "BN",
+        "PN"
+    };
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BZ",
+        "PZ"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BZ",
+        "PZ"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "çile",
+        "sibat",
+        "adar",
+        "nîsan",
+        "gulan",
+        "hezîran",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "ç",
+        "s",
+        "a",
+        "n",
+        "g",
+        "h",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "çil",
+        "sib",
+        "adr",
+        "nîs",
+        "gul",
+        "hez",
+        "tîr",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Ç1",
+        "Ç2",
+        "Ç3",
+        "Ç4"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "Ç1",
+        "Ç2",
+        "Ç3",
+        "Ç4"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "yekşem",
+        "duşem",
+        "şê",
+        "çarşem",
+        "pêncşem",
+        "în",
+        "şemî"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "y",
+        "d",
+        "s",
+        "ç",
+        "p",
+        "î",
+        "ş"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "yş",
+        "dş",
+        "sş",
+        "çş",
+        "pş",
+        "în",
+        "ş"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+
+  @Override
+  public int weekendEnd() {
+    return 0;
+  }
+
+  @Override
+  public int weekendStart() {
+    return 6;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ku_SY.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ku_SY.java
new file mode 100644
index 0000000..e7aa08e
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ku_SY.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ku_SY".
+ */
+public class DateTimeFormatInfoImpl_ku_SY extends DateTimeFormatInfoImpl_ku {
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 0;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ku_TR.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ku_TR.java
new file mode 100644
index 0000000..d82e6df
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ku_TR.java
@@ -0,0 +1,211 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ku_TR".
+ */
+public class DateTimeFormatInfoImpl_ku_TR extends DateTimeFormatInfoImpl_ku {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "BN",
+        "PN"
+    };
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BZ",
+        "PZ"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BZ",
+        "PZ"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "çile",
+        "sibat",
+        "adar",
+        "nîsan",
+        "gulan",
+        "hezîran",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "ç",
+        "s",
+        "a",
+        "n",
+        "g",
+        "h",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "çil",
+        "sib",
+        "adr",
+        "nîs",
+        "gul",
+        "hez",
+        "tîr",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Ç1",
+        "Ç2",
+        "Ç3",
+        "Ç4"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "Ç1",
+        "Ç2",
+        "Ç3",
+        "Ç4"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "yekşem",
+        "duşem",
+        "şê",
+        "çarşem",
+        "pêncşem",
+        "în",
+        "şemî"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "y",
+        "d",
+        "s",
+        "ç",
+        "p",
+        "î",
+        "ş"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "yş",
+        "dş",
+        "sş",
+        "çş",
+        "pş",
+        "în",
+        "ş"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+
+  @Override
+  public int weekendEnd() {
+    return 0;
+  }
+
+  @Override
+  public int weekendStart() {
+    return 6;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kw.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kw.java
new file mode 100644
index 0000000..f6205d5
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_kw.java
@@ -0,0 +1,226 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "kw".
+ */
+public class DateTimeFormatInfoImpl_kw extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "a.m.",
+        "p.m."
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yyyy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "RC",
+        "AD"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "RC",
+        "AD"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Mys Genver",
+        "Mys Whevrel",
+        "Mys Merth",
+        "Mys Ebrel",
+        "Mys Me",
+        "Mys Efan",
+        "Mys Gortheren",
+        "Mye Est",
+        "Mys Gwyngala",
+        "Mys Hedra",
+        "Mys Du",
+        "Mys Kevardhu"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Gen",
+        "Whe",
+        "Mer",
+        "Ebr",
+        "Me",
+        "Efn",
+        "Gor",
+        "Est",
+        "Gwn",
+        "Hed",
+        "Du",
+        "Kev"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "De Sul",
+        "De Lun",
+        "De Merth",
+        "De Merher",
+        "De Yow",
+        "De Gwener",
+        "De Sadorn"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Sul",
+        "Lun",
+        "Mth",
+        "Mhr",
+        "Yow",
+        "Gwe",
+        "Sad"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ky.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ky.java
new file mode 100644
index 0000000..ce2f22b
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ky.java
@@ -0,0 +1,268 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ky".
+ */
+public class DateTimeFormatInfoImpl_ky extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ln.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ln.java
new file mode 100644
index 0000000..c0922fb
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ln.java
@@ -0,0 +1,283 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ln".
+ */
+public class DateTimeFormatInfoImpl_ln extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "libosó ya Y.-K.",
+        "nsima ya Y.-K."
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "libosó ya Y.-K.",
+        "nsima ya Y.-K."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "sánzá ya yambo",
+        "sánzá ya míbalé",
+        "sánzá ya mísáto",
+        "sánzá ya mínei",
+        "sánzá ya mítáno",
+        "sánzá ya motóbá",
+        "sánzá ya nsambo",
+        "sánzá ya mwambe",
+        "sánzá ya libwa",
+        "sánzá ya zómi",
+        "sánzá ya zómi na mɔ̌kɔ́",
+        "sánzá ya zómi na míbalé"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "s1",
+        "s2",
+        "s3",
+        "s4",
+        "s5",
+        "s6",
+        "s7",
+        "s8",
+        "s9",
+        "s10",
+        "s11",
+        "s12"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "sánzá mísáto ya yambo",
+        "sánzá mísáto ya míbalé",
+        "sánzá mísáto ya mísáto",
+        "sánzá mísáto ya mínei"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "SM1",
+        "SM2",
+        "SM3",
+        "SM4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "eyenga",
+        "mokɔlɔ ya libosó",
+        "mokɔlɔ ya míbalé",
+        "mokɔlɔ ya mísáto",
+        "mokɔlɔ ya mínéi",
+        "mokɔlɔ ya mítáno",
+        "mpɔ́sɔ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "eye",
+        "m1",
+        "m2",
+        "m3",
+        "m4",
+        "m5",
+        "mps"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_lo.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_lo.java
new file mode 100644
index 0000000..7aac147
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_lo.java
@@ -0,0 +1,276 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "lo".
+ */
+public class DateTimeFormatInfoImpl_lo extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "ກ່ອນທ່ຽງ",
+        "ຫລັງທ່ຽງ"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEEທີ d MMMM G y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d/M/yyyy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "ປີກ່ອນຄິດສະການທີ່",
+        "ຄ.ສ."
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "ປີກ່ອນຄິດສະການທີ່",
+        "ຄ.ສ."
+    };
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "ມັງກອນ",
+        "ກຸມພາ",
+        "ມີນາ",
+        "ເມສາ",
+        "ພຶດສະພາ",
+        "ມິຖຸນາ",
+        "ກໍລະກົດ",
+        "ສິງຫາ",
+        "ກັນຍາ",
+        "ຕຸລາ",
+        "ພະຈິກ",
+        "ທັນວາ"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "ມ.ກ.",
+        "ກ.ພ.",
+        "ມີ.ນ.",
+        "ມ.ສ..",
+        "ພ.ພ.",
+        "ມິ.ຖ.",
+        "ກ.ລ.",
+        "ສ.ຫ.",
+        "ກ.ຍ.",
+        "ຕ.ລ.",
+        "ພ.ຈ.",
+        "ທ.ວ."
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "Hໂມງ mນາທີ ss ວິນາທີzzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "H ໂມງ mນາທີss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "H:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "ວັນອາທິດ",
+        "ວັນຈັນ",
+        "ວັນອັງຄານ",
+        "ວັນພຸດ",
+        "ວັນພະຫັດ",
+        "ວັນສຸກ",
+        "ວັນເສົາ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "ອາ.",
+        "ຈ.",
+        "ອ.",
+        "ພ.",
+        "ພຫ.",
+        "ສກ.",
+        "ສ."
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_lt.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_lt.java
new file mode 100644
index 0000000..156fc9b
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_lt.java
@@ -0,0 +1,309 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "lt".
+ */
+public class DateTimeFormatInfoImpl_lt extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "priešpiet",
+        "popiet"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "y 'm'. MMMM d 'd'.,EEEE";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y 'm'. MMMM d 'd'.";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "yyyy.MM.dd";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yyyy-MM-dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "prieš Kristų",
+        "po Kristaus"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "pr. Kr.",
+        "po Kr."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatHour12Minute() {
+    return "hh:mm a";
+  }
+
+  @Override
+  public String formatHour12MinuteSecond() {
+    return "hh:mm:ss a";
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "MMM-d";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "MMMM-d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M.d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "y 'm'. MMM d 'd'.";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "y 'm'. MMMM d 'd'.";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "y.M";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "y.M.d";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "y 'm'. MMM d 'd'.,EEE";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "sausio",
+        "vasario",
+        "kovo",
+        "balandžio",
+        "gegužės",
+        "birželio",
+        "liepos",
+        "rugpjūčio",
+        "rugsėjo",
+        "spalio",
+        "lapkričio",
+        "gruodžio"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return new String[] { 
+        "Sausis",
+        "Vasaris",
+        "Kovas",
+        "Balandis",
+        "Gegužė",
+        "Birželis",
+        "Liepa",
+        "Rugpjūtis",
+        "Rugsėjis",
+        "Spalis",
+        "Lapkritis",
+        "Gruodis"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "S",
+        "V",
+        "K",
+        "B",
+        "G",
+        "B",
+        "L",
+        "R",
+        "R",
+        "S",
+        "L",
+        "G"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Sau",
+        "Vas",
+        "Kov",
+        "Bal",
+        "Geg",
+        "Bir",
+        "Lie",
+        "Rgp",
+        "Rgs",
+        "Spl",
+        "Lap",
+        "Grd"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "pirmas ketvirtis",
+        "antras ketvirtis",
+        "trečias ketvirtis",
+        "ketvirtas ketvirtis"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "K1",
+        "K2",
+        "K3",
+        "K4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "sekmadienis",
+        "pirmadienis",
+        "antradienis",
+        "trečiadienis",
+        "ketvirtadienis",
+        "penktadienis",
+        "šeštadienis"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "S",
+        "P",
+        "A",
+        "T",
+        "K",
+        "P",
+        "Š"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Sk",
+        "Pr",
+        "An",
+        "Tr",
+        "Kt",
+        "Pn",
+        "Št"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_lv.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_lv.java
new file mode 100644
index 0000000..61c5a72
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_lv.java
@@ -0,0 +1,270 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "lv".
+ */
+public class DateTimeFormatInfoImpl_lv extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y. 'gada' d. MMMM";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y. 'gada' d. MMMM";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y. 'gada' d. MMM";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd.MM.yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "pirms mūsu ēras",
+        "mūsu ērā"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "p.m.ē.",
+        "m.ē."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d. MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d. MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, d. MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "dd.mm.";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "yyyy. 'g'. MMM";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "y. 'gada' d. MMM";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "yyyy. 'g'. MMMM";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "y. 'gada' d. MMMM";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "mm.yyyy.";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d.M.y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, y. 'gada' d. MMM";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ yyyy";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q yyyy";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "janvāris",
+        "februāris",
+        "marts",
+        "aprīlis",
+        "maijs",
+        "jūnijs",
+        "jūlijs",
+        "augusts",
+        "septembris",
+        "oktobris",
+        "novembris",
+        "decembris"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "janv.",
+        "febr.",
+        "marts",
+        "apr.",
+        "maijs",
+        "jūn.",
+        "jūl.",
+        "aug.",
+        "sept.",
+        "okt.",
+        "nov.",
+        "dec."
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1. ceturksnis",
+        "2. ceturksnis",
+        "3. ceturksnis",
+        "4. ceturksnis"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "C1",
+        "C2",
+        "C3",
+        "C4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "svētdiena",
+        "pirmdiena",
+        "otrdiena",
+        "trešdiena",
+        "ceturtdiena",
+        "piektdiena",
+        "sestdiena"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "S",
+        "P",
+        "O",
+        "T",
+        "C",
+        "P",
+        "S"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Sv",
+        "Pr",
+        "Ot",
+        "Tr",
+        "Ce",
+        "Pk",
+        "Se"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_mk.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_mk.java
new file mode 100644
index 0000000..180cec5
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_mk.java
@@ -0,0 +1,246 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "mk".
+ */
+public class DateTimeFormatInfoImpl_mk extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "претпладне",
+        "попладне"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd.M.yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd.M.yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "пр.н.е.",
+        "ае."
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "пр.н.е.",
+        "ае."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d.M.y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d MMM y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "јануари",
+        "февруари",
+        "март",
+        "април",
+        "мај",
+        "јуни",
+        "јули",
+        "август",
+        "септември",
+        "октомври",
+        "ноември",
+        "декември"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "ј",
+        "ф",
+        "м",
+        "а",
+        "м",
+        "ј",
+        "ј",
+        "а",
+        "с",
+        "о",
+        "н",
+        "д"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "јан.",
+        "фев.",
+        "мар.",
+        "апр.",
+        "мај",
+        "јун.",
+        "јул.",
+        "авг.",
+        "септ.",
+        "окт.",
+        "ноем.",
+        "декем."
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "недела",
+        "понеделник",
+        "вторник",
+        "среда",
+        "четврток",
+        "петок",
+        "сабота"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "н",
+        "п",
+        "в",
+        "с",
+        "ч",
+        "п",
+        "с"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "нед.",
+        "пон.",
+        "вт.",
+        "сре.",
+        "чет.",
+        "пет.",
+        "саб."
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ml.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ml.java
new file mode 100644
index 0000000..6cb460e
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ml.java
@@ -0,0 +1,251 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ml".
+ */
+public class DateTimeFormatInfoImpl_ml extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "am",
+        "pm"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "y, MMMM d, EEEE";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y, MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y, MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "ക്രിസ്തുവിനു് മുമ്പ്‌",
+        "ക്രിസ്തുവിന് പിന്‍പ്"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "ക്രി.മു.",
+        "ക്രി.പി."
+    };
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "MMMM d, EEEE";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d-M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "y, MMM d";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "y, MMMM d";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M-y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "y, MMM d, EEE";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "yyyy QQQQ";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "yyyy Q";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "ജനുവരി",
+        "ഫെബ്രുവരി",
+        "മാര്‍ച്ച്",
+        "ഏപ്രില്‍",
+        "മേയ്",
+        "ജൂണ്‍",
+        "ജൂലൈ",
+        "ഓഗസ്റ്റ്",
+        "സെപ്റ്റംബര്‍",
+        "ഒക്ടോബര്‍",
+        "നവംബര്‍",
+        "ഡിസംബര്‍"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "ജ",
+        "ഫെ",
+        "മാ",
+        "ഏ",
+        "മേ",
+        "ജൂ",
+        "ജൂ",
+        "ഓ",
+        "സെ",
+        "ഒ",
+        "ന",
+        "ഡി"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "ജനു",
+        "ഫെബ്രു",
+        "മാര്‍",
+        "ഏപ്രി",
+        "മേയ്",
+        "ജൂണ്‍",
+        "ജൂലൈ",
+        "ഓഗ",
+        "സെപ്റ്റം",
+        "ഒക്ടോ",
+        "നവം",
+        "ഡിസം"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "ഒന്നാം പാദം",
+        "രണ്ടാം പാദം",
+        "മൂന്നാം പാദം",
+        "നാലാം പാദം"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "ഞായറാഴ്ച",
+        "തിങ്കളാഴ്ച",
+        "ചൊവ്വാഴ്ച",
+        "ബുധനാഴ്ച",
+        "വ്യാഴാഴ്ച",
+        "വെള്ളിയാഴ്ച",
+        "ശനിയാഴ്ച"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "ഞാ",
+        "തി",
+        "ചൊ",
+        "ബു",
+        "വ്യാ",
+        "വെ",
+        "ശ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "ഞായര്‍",
+        "തിങ്കള്‍",
+        "ചൊവ്വ",
+        "ബുധന്‍",
+        "വ്യാഴം",
+        "വെള്ളി",
+        "ശനി"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+
+  @Override
+  public int weekendStart() {
+    return 0;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_mn.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_mn.java
new file mode 100644
index 0000000..f3d3726
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_mn.java
@@ -0,0 +1,278 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "mn".
+ */
+public class DateTimeFormatInfoImpl_mn extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "манай эриний өмнөх",
+        "манай эриний"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "м.э.ө",
+        "м.э."
+    };
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Хулгана",
+        "Үхэр",
+        "Бар",
+        "Туулай",
+        "Луу",
+        "Могой",
+        "Морь",
+        "Хонь",
+        "Бич",
+        "Тахиа",
+        "Нохой",
+        "Гахай"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "хул",
+        "үхэ",
+        "бар",
+        "туу",
+        "луу",
+        "мог",
+        "мор",
+        "хон",
+        "бич",
+        "тах",
+        "нох",
+        "гах"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "дөрөвний нэг",
+        "дөрөвний хоёр",
+        "дөрөвний гурав",
+        "дөрөвний дөрөв"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "1/4",
+        "2/4",
+        "3/4",
+        "4/4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "ням",
+        "даваа",
+        "мягмар",
+        "лхагва",
+        "пүрэв",
+        "баасан",
+        "бямба"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Ня",
+        "Да",
+        "Мя",
+        "Лх",
+        "Пү",
+        "Ба",
+        "Бя"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_mr.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_mr.java
new file mode 100644
index 0000000..f408178
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_mr.java
@@ -0,0 +1,306 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "mr".
+ */
+public class DateTimeFormatInfoImpl_mr extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "am",
+        "pm"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d-M-yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "ईसवीसनपूर्व",
+        "ईसवीसन"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "ई.स.पू.",
+        "ई.स."
+    };
+  }
+
+  @Override
+  public String formatHour12Minute() {
+    return "h-mm a";
+  }
+
+  @Override
+  public String formatHour12MinuteSecond() {
+    return "h-mm-ss a";
+  }
+
+  @Override
+  public String formatHour24Minute() {
+    return "H-mm";
+  }
+
+  @Override
+  public String formatHour24MinuteSecond() {
+    return "H-mm-ss";
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d-M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M-y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d-M-y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE d MMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "जानेवारी",
+        "फेब्रुवारी",
+        "मार्च",
+        "एप्रिल",
+        "मे",
+        "जून",
+        "जुलै",
+        "ऑगस्ट",
+        "सप्टेंबर",
+        "ऑक्टोबर",
+        "नोव्हेंबर",
+        "डिसेंबर"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "जा",
+        "फे",
+        "मा",
+        "ए",
+        "मे",
+        "जू",
+        "जु",
+        "ऑ",
+        "स",
+        "ऑ",
+        "नो",
+        "डि"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "जानेवारी",
+        "फेब्रुवारी",
+        "मार्च",
+        "एप्रिल",
+        "मे",
+        "जून",
+        "जुलै",
+        "ऑगस्ट",
+        "सप्टेंबर",
+        "ऑक्टोबर",
+        "नोव्हेंबर",
+        "डिसेंबर"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "प्रथम तिमाही",
+        "द्वितीय तिमाही",
+        "तृतीय तिमाही",
+        "चतुर्थ तिमाही"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "h-mm-ss a zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "h-mm-ss a z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "h-mm-ss a";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "h-mm a";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "रविवार",
+        "सोमवार",
+        "मंगळवार",
+        "बुधवार",
+        "गुरुवार",
+        "शुक्रवार",
+        "शनिवार"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "र",
+        "सो",
+        "मं",
+        "बु",
+        "गु",
+        "शु",
+        "श"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "रवि",
+        "सोम",
+        "मंगळ",
+        "बुध",
+        "गुरु",
+        "शुक्र",
+        "शनि"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+
+  @Override
+  public int weekendStart() {
+    return 0;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ms.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ms.java
new file mode 100644
index 0000000..61646d6
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ms.java
@@ -0,0 +1,248 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ms".
+ */
+public class DateTimeFormatInfoImpl_ms extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE dd MMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yyyy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "S.M.",
+        "T.M."
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "S.M.",
+        "T.M."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, d MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d-M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M-y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Januari",
+        "Februari",
+        "Mac",
+        "April",
+        "Mei",
+        "Jun",
+        "Julai",
+        "Ogos",
+        "September",
+        "Oktober",
+        "November",
+        "Disember"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Jan",
+        "Feb",
+        "Mac",
+        "Apr",
+        "Mei",
+        "Jun",
+        "Jul",
+        "Ogos",
+        "Sep",
+        "Okt",
+        "Nov",
+        "Dis"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "suku pertama",
+        "suku kedua",
+        "suku ketiga",
+        "suku keempat"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "S1",
+        "S2",
+        "S3",
+        "S4"
+    };
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "h:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Ahad",
+        "Isnin",
+        "Selasa",
+        "Rabu",
+        "Khamis",
+        "Jumaat",
+        "Sabtu"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Ahd",
+        "Isn",
+        "Sel",
+        "Rab",
+        "Kha",
+        "Jum",
+        "Sab"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ms_BN.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ms_BN.java
new file mode 100644
index 0000000..9cc4899
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ms_BN.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ms_BN".
+ */
+public class DateTimeFormatInfoImpl_ms_BN extends DateTimeFormatInfoImpl_ms {
+
+  @Override
+  public String dateFormatFull() {
+    return "dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd/MM/yyyy";
+  }
+
+  @Override
+  public String formatHour24Minute() {
+    return "H:mm";
+  }
+
+  @Override
+  public String formatHour24MinuteSecond() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d MMM y";
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "h:mm:ss aa zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "H:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "H:mm";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_mt.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_mt.java
new file mode 100644
index 0000000..01cd209
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_mt.java
@@ -0,0 +1,251 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "mt".
+ */
+public class DateTimeFormatInfoImpl_mt extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "QN",
+        "WN"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d 'ta'’ MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d 'ta'’ MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yyyy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "Qabel Kristu",
+        "Wara Kristu"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "QK",
+        "WK"
+    };
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d 'ta'’ MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d 'ta'’ MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d 'ta'’ MMM y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Jannar",
+        "Frar",
+        "Marzu",
+        "April",
+        "Mejju",
+        "Ġunju",
+        "Lulju",
+        "Awwissu",
+        "Settembru",
+        "Ottubru",
+        "Novembru",
+        "Diċembru"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "J",
+        "F",
+        "M",
+        "A",
+        "M",
+        "Ġ",
+        "L",
+        "A",
+        "S",
+        "O",
+        "N",
+        "D"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Jan",
+        "Fra",
+        "Mar",
+        "Apr",
+        "Mej",
+        "Ġun",
+        "Lul",
+        "Aww",
+        "Set",
+        "Ott",
+        "Nov",
+        "Diċ"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "K1",
+        "K2",
+        "K3",
+        "K4"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "K1",
+        "K2",
+        "K3",
+        "K4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Il-Ħadd",
+        "It-Tnejn",
+        "It-Tlieta",
+        "L-Erbgħa",
+        "Il-Ħamis",
+        "Il-Ġimgħa",
+        "Is-Sibt"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "Ħ",
+        "T",
+        "T",
+        "E",
+        "Ħ",
+        "Ġ",
+        "S"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Ħad",
+        "Tne",
+        "Tli",
+        "Erb",
+        "Ħam",
+        "Ġim",
+        "Sib"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_my.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_my.java
new file mode 100644
index 0000000..1601343
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_my.java
@@ -0,0 +1,291 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "my".
+ */
+public class DateTimeFormatInfoImpl_my extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "နံနက်",
+        "ညနေ"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "ခရစ်တော် မပေါ်မီကာလ",
+        "ခရစ်တော် ပေါ်ထွန်းပြီးကာလ"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "ဘီစီ",
+        "အေဒီ"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "ဇန်နဝါရီ",
+        "ဖေဖော်ဝါရီ",
+        "မတ်",
+        "ဧပြီ",
+        "မေ",
+        "ဇွန်",
+        "ဇူလိုင်",
+        "ဩဂုတ်",
+        "စက်တင်ဘာ",
+        "အောက်တိုဘာ",
+        "နိုဝင်ဘာ",
+        "ဒီဇင်ဘာ"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "ဇ",
+        "ဖ",
+        "မ",
+        "ဧ",
+        "မ",
+        "ဇ",
+        "ဇ",
+        "ဩ",
+        "စ",
+        "အ",
+        "န",
+        "ဒ"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "ဇန်",
+        "ဖေ",
+        "မတ်",
+        "ဧ",
+        "မေ",
+        "ဇွန်",
+        "ဇူ",
+        "ဩ",
+        "စက်",
+        "အောက်",
+        "နို",
+        "ဒီ"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "ပထမ သုံးလပတ်",
+        "ဒုတိယ သုံးလပတ်",
+        "တတိယ သုံးလပတ်",
+        "စတုတ္ထ သုံးလပတ်"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "ပ-စိတ်",
+        "ဒု-စိတ်",
+        "တ-စိတ်",
+        "စ-စိတ်"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "တနင်္ဂနွေ",
+        "တနင်္လာ",
+        "အင်္ဂါ",
+        "ဗုဒ္ဓဟူး",
+        "ကြာသပတေး",
+        "သောကြာ",
+        "စနေ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "တ",
+        "တ",
+        "အ",
+        "ဗ",
+        "က",
+        "သ",
+        "စ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "နွေ",
+        "လာ",
+        "ဂါ",
+        "ဟူး",
+        "တေး",
+        "ကြာ",
+        "နေ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_nb.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_nb.java
new file mode 100644
index 0000000..5c6afc7
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_nb.java
@@ -0,0 +1,275 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "nb".
+ */
+public class DateTimeFormatInfoImpl_nb extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE d. MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d. MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d. MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd.MM.yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "f.Kr.",
+        "e.Kr."
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "f.Kr.",
+        "e.Kr."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMinuteSecond() {
+    return "mm.ss";
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d. MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d. MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE d. MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d.M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d. MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d. MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d.M.y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE d. MMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ yyyy";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q yyyy";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "januar",
+        "februar",
+        "mars",
+        "april",
+        "mai",
+        "juni",
+        "juli",
+        "august",
+        "september",
+        "oktober",
+        "november",
+        "desember"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "jan.",
+        "feb.",
+        "mars",
+        "apr.",
+        "mai",
+        "juni",
+        "juli",
+        "aug.",
+        "sep.",
+        "okt.",
+        "nov.",
+        "des."
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1. kvartal",
+        "2. kvartal",
+        "3. kvartal",
+        "4. kvartal"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "K1",
+        "K2",
+        "K3",
+        "K4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "'kl'. HH.mm.ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH.mm.ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH.mm.ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH.mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "søndag",
+        "mandag",
+        "tirsdag",
+        "onsdag",
+        "torsdag",
+        "fredag",
+        "lørdag"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "S",
+        "M",
+        "T",
+        "O",
+        "T",
+        "F",
+        "L"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "søn.",
+        "man.",
+        "tir.",
+        "ons.",
+        "tor.",
+        "fre.",
+        "lør."
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_nds.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_nds.java
new file mode 100644
index 0000000..ddee894
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_nds.java
@@ -0,0 +1,273 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "nds".
+ */
+public class DateTimeFormatInfoImpl_nds extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yyyy-MM-dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ne.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ne.java
new file mode 100644
index 0000000..f4a36a1
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ne.java
@@ -0,0 +1,226 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ne".
+ */
+public class DateTimeFormatInfoImpl_ne extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "पूर्व मध्यान्ह",
+        "उत्तर मध्यान्ह"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "ईसा पूर्व",
+        "सन्"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "ईसा पूर्व",
+        "सन्"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "जनवरी",
+        "फेब्रुअरी",
+        "मार्च",
+        "अप्रिल",
+        "मे",
+        "जुन",
+        "जुलाई",
+        "अगस्त",
+        "सेप्टेम्बर",
+        "अक्टोबर",
+        "नोभेम्बर",
+        "डिसेम्बर"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "१",
+        "२",
+        "३",
+        "४",
+        "५",
+        "६",
+        "७",
+        "८",
+        "९",
+        "१०",
+        "११",
+        "१२"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "जन",
+        "फेब",
+        "मार्च",
+        "अप्रि",
+        "मे",
+        "जुन",
+        "जुला",
+        "अग",
+        "सेप्ट",
+        "अक्टो",
+        "नोभे",
+        "डिसे"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "पहिलो सत्र",
+        "दोस्रो सत्र",
+        "तेस्रो सत्र",
+        "चौथो सत्र"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "आइतबार",
+        "सोमबार",
+        "मङ्गलबार",
+        "बुधबार",
+        "बिहीबार",
+        "शुक्रबार",
+        "शनिबार"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "१",
+        "२",
+        "३",
+        "४",
+        "५",
+        "६",
+        "७"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "आइत",
+        "सोम",
+        "मङ्गल",
+        "बुध",
+        "बिही",
+        "शुक्र",
+        "शनि"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ne_IN.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ne_IN.java
new file mode 100644
index 0000000..c7186cc
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ne_IN.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ne_IN".
+ */
+public class DateTimeFormatInfoImpl_ne_IN extends DateTimeFormatInfoImpl_ne {
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 0;
+  }
+
+  @Override
+  public int weekendStart() {
+    return 0;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_nl.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_nl.java
new file mode 100644
index 0000000..d1fce42
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_nl.java
@@ -0,0 +1,270 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "nl".
+ */
+public class DateTimeFormatInfoImpl_nl extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd-MM-yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "Voor Christus",
+        "Anno Domini"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "v. Chr.",
+        "n. Chr."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE d MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d-M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M-y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d-M-y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE d MMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ yyyy";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q yyyy";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "januari",
+        "februari",
+        "maart",
+        "april",
+        "mei",
+        "juni",
+        "juli",
+        "augustus",
+        "september",
+        "oktober",
+        "november",
+        "december"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "jan.",
+        "feb.",
+        "mrt.",
+        "apr.",
+        "mei",
+        "jun.",
+        "jul.",
+        "aug.",
+        "sep.",
+        "okt.",
+        "nov.",
+        "dec."
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1e kwartaal",
+        "2e kwartaal",
+        "3e kwartaal",
+        "4e kwartaal"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "K1",
+        "K2",
+        "K3",
+        "K4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "zondag",
+        "maandag",
+        "dinsdag",
+        "woensdag",
+        "donderdag",
+        "vrijdag",
+        "zaterdag"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "Z",
+        "M",
+        "D",
+        "W",
+        "D",
+        "V",
+        "Z"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "zo",
+        "ma",
+        "di",
+        "wo",
+        "do",
+        "vr",
+        "za"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_nl_BE.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_nl_BE.java
new file mode 100644
index 0000000..860c1b6
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_nl_BE.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "nl_BE".
+ */
+public class DateTimeFormatInfoImpl_nl_BE extends DateTimeFormatInfoImpl_nl {
+
+  @Override
+  public String dateFormatMedium() {
+    return "d-MMM-y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d/MM/yy";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_nn.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_nn.java
new file mode 100644
index 0000000..f158adb
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_nn.java
@@ -0,0 +1,273 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "nn".
+ */
+public class DateTimeFormatInfoImpl_nn extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "formiddag",
+        "ettermiddag"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE d. MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d. MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d. MMM. y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd.MM.yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "f.Kr.",
+        "e.Kr."
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "f.Kr.",
+        "e.Kr."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d. MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d. MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d.M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d. MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d. MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M.y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d.M.y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE d. MMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "januar",
+        "februar",
+        "mars",
+        "april",
+        "mai",
+        "juni",
+        "juli",
+        "august",
+        "september",
+        "oktober",
+        "november",
+        "desember"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "jan",
+        "feb",
+        "mar",
+        "apr",
+        "mai",
+        "jun",
+        "jul",
+        "aug",
+        "sep",
+        "okt",
+        "nov",
+        "des"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1. kvartal",
+        "2. kvartal",
+        "3. kvartal",
+        "4. kvartal"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "K1",
+        "K2",
+        "K3",
+        "K4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "'kl'. HH.mm.ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH.mm.ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH.mm.ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH.mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "søndag",
+        "måndag",
+        "tysdag",
+        "onsdag",
+        "torsdag",
+        "fredag",
+        "laurdag"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "S",
+        "M",
+        "T",
+        "O",
+        "T",
+        "F",
+        "L"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "sø.",
+        "må.",
+        "ty.",
+        "on.",
+        "to.",
+        "fr.",
+        "la."
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_nr.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_nr.java
new file mode 100644
index 0000000..9fbd015
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_nr.java
@@ -0,0 +1,265 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "nr".
+ */
+public class DateTimeFormatInfoImpl_nr extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BC",
+        "AD"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Janabari",
+        "uFeberbari",
+        "uMatjhi",
+        "u-Apreli",
+        "Meyi",
+        "Juni",
+        "Julayi",
+        "Arhostosi",
+        "Septemba",
+        "Oktoba",
+        "Usinyikhaba",
+        "Disemba"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Jan",
+        "Feb",
+        "Mat",
+        "Apr",
+        "Mey",
+        "Jun",
+        "Jul",
+        "Arh",
+        "Sep",
+        "Okt",
+        "Usi",
+        "Dis"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "uSonto",
+        "uMvulo",
+        "uLesibili",
+        "Lesithathu",
+        "uLesine",
+        "ngoLesihlanu",
+        "umGqibelo"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Son",
+        "Mvu",
+        "Bil",
+        "Tha",
+        "Ne",
+        "Hla",
+        "Gqi"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_nso.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_nso.java
new file mode 100644
index 0000000..7ba539a
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_nso.java
@@ -0,0 +1,265 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "nso".
+ */
+public class DateTimeFormatInfoImpl_nso extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BC",
+        "AD"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Janaware",
+        "Feberware",
+        "Matšhe",
+        "Aporele",
+        "Mei",
+        "June",
+        "Julae",
+        "Agostose",
+        "Setemere",
+        "Oktobore",
+        "Nofemere",
+        "Disemere"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Jan",
+        "Feb",
+        "Mat",
+        "Apo",
+        "Mei",
+        "Jun",
+        "Jul",
+        "Ago",
+        "Set",
+        "Okt",
+        "Nof",
+        "Dis"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Sontaga",
+        "Mosupalogo",
+        "Labobedi",
+        "Laboraro",
+        "Labone",
+        "Labohlano",
+        "Mokibelo"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Son",
+        "Mos",
+        "Bed",
+        "Rar",
+        "Ne",
+        "Hla",
+        "Mok"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ny.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ny.java
new file mode 100644
index 0000000..44e0544
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ny.java
@@ -0,0 +1,265 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ny".
+ */
+public class DateTimeFormatInfoImpl_ny extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BC",
+        "AD"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Januwale",
+        "Febuluwale",
+        "Malichi",
+        "Epulo",
+        "Mei",
+        "Juni",
+        "Julai",
+        "Ogasiti",
+        "Seputemba",
+        "Okutoba",
+        "Novemba",
+        "Disemba"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Jan",
+        "Feb",
+        "Mal",
+        "Epu",
+        "Mei",
+        "Jun",
+        "Jul",
+        "Oga",
+        "Sep",
+        "Oku",
+        "Nov",
+        "Dis"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Lamulungu",
+        "Lolemba",
+        "Lachiwiri",
+        "Lachitatu",
+        "Lachinayi",
+        "Lachisanu",
+        "Loweruka"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Mul",
+        "Lem",
+        "Wir",
+        "Tat",
+        "Nai",
+        "San",
+        "Wer"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_oc.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_oc.java
new file mode 100644
index 0000000..dacb4e2
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_oc.java
@@ -0,0 +1,273 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "oc".
+ */
+public class DateTimeFormatInfoImpl_oc extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yyyy-MM-dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "genièr",
+        "febrièr",
+        "març",
+        "abril",
+        "mai",
+        "junh",
+        "julhet",
+        "agost",
+        "setembre",
+        "octòbre",
+        "novembre",
+        "dezembre"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "genièr",
+        "febrièr",
+        "març",
+        "abril",
+        "mai",
+        "junh",
+        "julhet",
+        "agost",
+        "setembre",
+        "octòbre",
+        "novembre",
+        "dezembre"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Dimenge",
+        "diluns",
+        "dimarç",
+        "dimècres",
+        "dijòus",
+        "divèndres",
+        "dissabte"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Dimenge",
+        "diluns",
+        "dimarç",
+        "dimècres",
+        "dijòus",
+        "divèndres",
+        "dissabte"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_om.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_om.java
new file mode 100644
index 0000000..9021ff1
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_om.java
@@ -0,0 +1,220 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "om".
+ */
+public class DateTimeFormatInfoImpl_om extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "WD",
+        "WB"
+    };
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd-MMM-y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "KD",
+        "KB"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "KD",
+        "KB"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d/M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Amajjii",
+        "Guraandhala",
+        "Bitooteessa",
+        "Elba",
+        "Caamsa",
+        "Waxabajjii",
+        "Adooleessa",
+        "Hagayya",
+        "Fuulbana",
+        "Onkololeessa",
+        "Sadaasa",
+        "Muddee"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Ama",
+        "Gur",
+        "Bit",
+        "Elb",
+        "Cam",
+        "Wax",
+        "Ado",
+        "Hag",
+        "Ful",
+        "Onk",
+        "Sad",
+        "Mud"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Dilbata",
+        "Wiixata",
+        "Qibxata",
+        "Roobii",
+        "Kamiisa",
+        "Jimaata",
+        "Sanbata"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Dil",
+        "Wix",
+        "Qib",
+        "Rob",
+        "Kam",
+        "Jim",
+        "San"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_om_ET.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_om_ET.java
new file mode 100644
index 0000000..590b08a
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_om_ET.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "om_ET".
+ */
+public class DateTimeFormatInfoImpl_om_ET extends DateTimeFormatInfoImpl_om {
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 6;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_om_KE.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_om_KE.java
new file mode 100644
index 0000000..ea3c47a
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_om_KE.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "om_KE".
+ */
+public class DateTimeFormatInfoImpl_om_KE extends DateTimeFormatInfoImpl_om {
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 6;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_or.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_or.java
new file mode 100644
index 0000000..2425b34
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_or.java
@@ -0,0 +1,256 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "or".
+ */
+public class DateTimeFormatInfoImpl_or extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "am",
+        "pm"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d-M-yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d-M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M-y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d-M-y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d MMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "ଜାନୁଆରୀ",
+        "ଫେବ୍ରୁୟାରୀ",
+        "ମାର୍ଚ୍ଚ",
+        "ଅପ୍ରେଲ",
+        "ମେ",
+        "ଜୁନ",
+        "ଜୁଲାଇ",
+        "ଅଗଷ୍ଟ",
+        "ସେପ୍ଟେମ୍ବର",
+        "ଅକ୍ଟୋବର",
+        "ନଭେମ୍ବର",
+        "ଡିସେମ୍ବର"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "ଜା",
+        "ଫେ",
+        "ମା",
+        "ଅ",
+        "ମେ",
+        "ଜୁ",
+        "ଜୁ",
+        "ଅ",
+        "ସେ",
+        "ଅ",
+        "ନ",
+        "ଡି"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "ଜାନୁଆରୀ",
+        "ଫେବ୍ରୁୟାରୀ",
+        "ମାର୍ଚ୍ଚ",
+        "ଅପ୍ରେଲ",
+        "ମେ",
+        "ଜୁନ",
+        "ଜୁଲାଇ",
+        "ଅଗଷ୍ଟ",
+        "ସେପ୍ଟେମ୍ବର",
+        "ଅକ୍ଟୋବର",
+        "ନଭେମ୍ବର",
+        "ଡିସେମ୍ବର"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "ରବିବାର",
+        "ସୋମବାର",
+        "ମଙ୍ଗଳବାର",
+        "ବୁଧବାର",
+        "ଗୁରୁବାର",
+        "ଶୁକ୍ରବାର",
+        "ଶନିବାର"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "ର",
+        "ସୋ",
+        "ମ",
+        "ବୁ",
+        "ଗୁ",
+        "ଶୁ",
+        "ଶ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "ରବି",
+        "ସୋମ",
+        "ମଙ୍ଗଳ",
+        "ବୁଧ",
+        "ଗୁରୁ",
+        "ଶୁକ୍ର",
+        "ଶନି"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+
+  @Override
+  public int weekendStart() {
+    return 0;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_pa.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_pa.java
new file mode 100644
index 0000000..344b975
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_pa.java
@@ -0,0 +1,251 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "pa".
+ */
+public class DateTimeFormatInfoImpl_pa extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "ਸਵੇਰੇ",
+        "ਸ਼ਾਮ"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yyyy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "ਈਸਾਪੂਰਵ",
+        "ਸੰਨ"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d/M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d MMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "ਜਨਵਰੀ",
+        "ਫ਼ਰਵਰੀ",
+        "ਮਾਰਚ",
+        "ਅਪ੍ਰੈਲ",
+        "ਮਈ",
+        "ਜੂਨ",
+        "ਜੁਲਾਈ",
+        "ਅਗਸਤ",
+        "ਸਤੰਬਰ",
+        "ਅਕਤੂਬਰ",
+        "ਨਵੰਬਰ",
+        "ਦਸੰਬਰ"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "ਜ",
+        "ਫ",
+        "ਮਾ",
+        "ਅ",
+        "ਮ",
+        "ਜੂ",
+        "ਜੁ",
+        "ਅ",
+        "ਸ",
+        "ਅ",
+        "ਨ",
+        "ਦ"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "ਜਨਵਰੀ",
+        "ਫ਼ਰਵਰੀ",
+        "ਮਾਰਚ",
+        "ਅਪ੍ਰੈਲ",
+        "ਮਈ",
+        "ਜੂਨ",
+        "ਜੁਲਾਈ",
+        "ਅਗਸਤ",
+        "ਸਤੰਬਰ",
+        "ਅਕਤੂਬਰ",
+        "ਨਵੰਬਰ",
+        "ਦਸੰਬਰ"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "ਪਹਿਲਾਂ ਚੌਥਾਈ",
+        "ਦੂਜਾ ਚੌਥਾਈ",
+        "ਤੀਜਾ ਚੌਥਾਈ",
+        "ਚੌਥਾ ਚੌਥਾਈ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "ਐਤਵਾਰ",
+        "ਸੋਮਵਾਰ",
+        "ਮੰਗਲਵਾਰ",
+        "ਬੁਧਵਾਰ",
+        "ਵੀਰਵਾਰ",
+        "ਸ਼ੁੱਕਰਵਾਰ",
+        "ਸ਼ਨੀਚਰਵਾਰ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "ਐ",
+        "ਸੋ",
+        "ਮੰ",
+        "ਬੁੱ",
+        "ਵੀ",
+        "ਸ਼ੁੱ",
+        "ਸ਼"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "ਐਤ.",
+        "ਸੋਮ.",
+        "ਮੰਗਲ.",
+        "ਬੁਧ.",
+        "ਵੀਰ.",
+        "ਸ਼ੁਕਰ.",
+        "ਸ਼ਨੀ."
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+
+  @Override
+  public int weekendStart() {
+    return 0;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_pa_Arab.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_pa_Arab.java
new file mode 100644
index 0000000..a272627
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_pa_Arab.java
@@ -0,0 +1,116 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "pa_Arab".
+ */
+public class DateTimeFormatInfoImpl_pa_Arab extends DateTimeFormatInfoImpl_pa {
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "ايساپورو",
+        "سں"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "جنوری",
+        "فروری",
+        "مارچ",
+        "اپریل",
+        "مئ",
+        "جون",
+        "جولائی",
+        "اگست",
+        "ستمبر",
+        "اکتوبر",
+        "نومبر",
+        "دسمبر"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "جنوری",
+        "فروری",
+        "مارچ",
+        "اپریل",
+        "مئ",
+        "جون",
+        "جولائی",
+        "اگست",
+        "ستمبر",
+        "اکتوبر",
+        "نومبر",
+        "دسمبر"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "چوتھاي پہلاں",
+        "چوتھاي دوجا",
+        "چوتھاي تيجا",
+        "چوتھاي چوتھا"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "اتوار",
+        "پیر",
+        "منگل",
+        "بُدھ",
+        "جمعرات",
+        "جمعہ",
+        "ہفتہ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public int weekendStart() {
+    return 6;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_pa_Arab_PK.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_pa_Arab_PK.java
new file mode 100644
index 0000000..84a4754
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_pa_Arab_PK.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "pa_Arab_PK".
+ */
+public class DateTimeFormatInfoImpl_pa_Arab_PK extends DateTimeFormatInfoImpl_pa_Arab {
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 0;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_pa_PK.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_pa_PK.java
new file mode 100644
index 0000000..f01a6df
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_pa_PK.java
@@ -0,0 +1,111 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "pa_PK".
+ */
+public class DateTimeFormatInfoImpl_pa_PK extends DateTimeFormatInfoImpl_pa {
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "ايساپورو",
+        "سں"
+    };
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "جنوری",
+        "فروری",
+        "مارچ",
+        "اپریل",
+        "مئ",
+        "جون",
+        "جولائی",
+        "اگست",
+        "ستمبر",
+        "اکتوبر",
+        "نومبر",
+        "دسمبر"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "جنوری",
+        "فروری",
+        "مارچ",
+        "اپریل",
+        "مئ",
+        "جون",
+        "جولائی",
+        "اگست",
+        "ستمبر",
+        "اکتوبر",
+        "نومبر",
+        "دسمبر"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "چوتھاي پہلاں",
+        "چوتھاي دوجا",
+        "چوتھاي تيجا",
+        "چوتھاي چوتھا"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "اتوار",
+        "پیر",
+        "منگل",
+        "بُدھ",
+        "جمعرات",
+        "جمعہ",
+        "ہفتہ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public int weekendStart() {
+    return 6;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_pl.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_pl.java
new file mode 100644
index 0000000..fbe52a9
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_pl.java
@@ -0,0 +1,316 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "pl".
+ */
+public class DateTimeFormatInfoImpl_pl extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd-MM-yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd-MM-yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "p.n.e.",
+        "n.e."
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "p.n.e.",
+        "n.e."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatHour12Minute() {
+    return "hh:mm a";
+  }
+
+  @Override
+  public String formatHour12MinuteSecond() {
+    return "hh:mm:ss a";
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "d MMMM EEEE";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d-M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "LLL y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "LLLL y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M-y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d-M-y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d MMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "yyyy QQQQ";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "yyyy Q";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "stycznia",
+        "lutego",
+        "marca",
+        "kwietnia",
+        "maja",
+        "czerwca",
+        "lipca",
+        "sierpnia",
+        "września",
+        "października",
+        "listopada",
+        "grudnia"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return new String[] { 
+        "styczeń",
+        "luty",
+        "marzec",
+        "kwiecień",
+        "maj",
+        "czerwiec",
+        "lipiec",
+        "sierpień",
+        "wrzesień",
+        "październik",
+        "listopad",
+        "grudzień"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "s",
+        "l",
+        "m",
+        "k",
+        "m",
+        "c",
+        "l",
+        "s",
+        "w",
+        "p",
+        "l",
+        "g"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "sty",
+        "lut",
+        "mar",
+        "kwi",
+        "maj",
+        "cze",
+        "lip",
+        "sie",
+        "wrz",
+        "paź",
+        "lis",
+        "gru"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "I kwartał",
+        "II kwartał",
+        "III kwartał",
+        "IV kwartał"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "K1",
+        "K2",
+        "K3",
+        "K4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "niedziela",
+        "poniedziałek",
+        "wtorek",
+        "środa",
+        "czwartek",
+        "piątek",
+        "sobota"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "N",
+        "P",
+        "W",
+        "Ś",
+        "C",
+        "P",
+        "S"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "niedz.",
+        "pon.",
+        "wt.",
+        "śr.",
+        "czw.",
+        "pt.",
+        "sob."
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ps.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ps.java
new file mode 100644
index 0000000..3e30994
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ps.java
@@ -0,0 +1,266 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ps".
+ */
+public class DateTimeFormatInfoImpl_ps extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "غ.م.",
+        "غ.و."
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE د y د MMMM d";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "د y د MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yyyy/M/d";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "ق.م.",
+        "م."
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "ق.م.",
+        "م."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 6;
+  }
+
+  @Override
+  public String formatHour24Minute() {
+    return "H:mm";
+  }
+
+  @Override
+  public String formatHour24MinuteSecond() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "د y د MMM d";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "د y د MMMM d";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "y/M/d";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE د y د MMM d";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "جنوري",
+        "فبروري",
+        "مارچ",
+        "اپریل",
+        "می",
+        "جون",
+        "جولای",
+        "اګست",
+        "سپتمبر",
+        "اکتوبر",
+        "نومبر",
+        "دسمبر"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "مـی",
+        "جون",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "H:mm:ss (zzzz)";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "H:mm:ss (z)";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "H:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "یکشنبه",
+        "دوشنبه",
+        "سه‌شنبه",
+        "چهارشنبه",
+        "پنجشنبه",
+        "جمعه",
+        "شنبه"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+
+  @Override
+  public int weekendEnd() {
+    return 5;
+  }
+
+  @Override
+  public int weekendStart() {
+    return 4;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_pt.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_pt.java
new file mode 100644
index 0000000..abe5ec1
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_pt.java
@@ -0,0 +1,275 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "pt".
+ */
+public class DateTimeFormatInfoImpl_pt extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d 'de' MMMM 'de' y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d 'de' MMMM 'de' y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd/MM/yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "Antes de Cristo",
+        "Ano do Senhor"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "a.C.",
+        "d.C."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMinuteSecond() {
+    return "mm'min'ss's'";
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d 'de' MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d 'de' MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, d 'de' MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d/M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM 'de' y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d 'de' MMM 'de' y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM 'de' y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d 'de' MMMM 'de' y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "MM/yyyy";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d 'de' MMM 'de' y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "yyyy QQQQ";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "yyyy Q";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "janeiro",
+        "fevereiro",
+        "março",
+        "abril",
+        "maio",
+        "junho",
+        "julho",
+        "agosto",
+        "setembro",
+        "outubro",
+        "novembro",
+        "dezembro"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "jan",
+        "fev",
+        "mar",
+        "abr",
+        "mai",
+        "jun",
+        "jul",
+        "ago",
+        "set",
+        "out",
+        "nov",
+        "dez"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1º trimestre",
+        "2º trimestre",
+        "3º trimestre",
+        "4º trimestre"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "T1",
+        "T2",
+        "T3",
+        "T4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH'h'mm'min'ss's' zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH'h'mm'min'ss's' z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "domingo",
+        "segunda-feira",
+        "terça-feira",
+        "quarta-feira",
+        "quinta-feira",
+        "sexta-feira",
+        "sábado"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "D",
+        "S",
+        "T",
+        "Q",
+        "Q",
+        "S",
+        "S"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "dom",
+        "seg",
+        "ter",
+        "qua",
+        "qui",
+        "sex",
+        "sáb"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_pt_PT.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_pt_PT.java
new file mode 100644
index 0000000..a59307e
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_pt_PT.java
@@ -0,0 +1,113 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "pt_PT".
+ */
+public class DateTimeFormatInfoImpl_pt_PT extends DateTimeFormatInfoImpl_pt {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "Antes do meio-dia",
+        "Depois do meio-dia"
+    };
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d 'de' MMM 'de' yyyy";
+  }
+
+  @Override
+  public String formatHour12Minute() {
+    return "h:mm";
+  }
+
+  @Override
+  public String formatHour12MinuteSecond() {
+    return "h:mm:ss";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQ 'de' yyyy";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "QQQ 'de' yyyy";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Janeiro",
+        "Fevereiro",
+        "Março",
+        "Abril",
+        "Maio",
+        "Junho",
+        "Julho",
+        "Agosto",
+        "Setembro",
+        "Outubro",
+        "Novembro",
+        "Dezembro"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Jan",
+        "Fev",
+        "Mar",
+        "Abr",
+        "Mai",
+        "Jun",
+        "Jul",
+        "Ago",
+        "Set",
+        "Out",
+        "Nov",
+        "Dez"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1.º trimestre",
+        "2.º trimestre",
+        "3.º trimestre",
+        "4.º trimestre"
+    };
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ro.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ro.java
new file mode 100644
index 0000000..b3d634d
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ro.java
@@ -0,0 +1,293 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ro".
+ */
+public class DateTimeFormatInfoImpl_ro extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd.MM.yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd.MM.yyyy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "înainte de Hristos",
+        "după Hristos"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "î.Hr.",
+        "d.Hr."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, d MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d.M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M.yyyy";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d.M.y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d MMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "'trimestrul' QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "'trimestrul' Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "ianuarie",
+        "februarie",
+        "martie",
+        "aprilie",
+        "mai",
+        "iunie",
+        "iulie",
+        "august",
+        "septembrie",
+        "octombrie",
+        "noiembrie",
+        "decembrie"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "I",
+        "F",
+        "M",
+        "A",
+        "M",
+        "I",
+        "I",
+        "A",
+        "S",
+        "O",
+        "N",
+        "D"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "ian.",
+        "feb.",
+        "mar.",
+        "apr.",
+        "mai",
+        "iun.",
+        "iul.",
+        "aug.",
+        "sept.",
+        "oct.",
+        "nov.",
+        "dec."
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "trimestrul I",
+        "trimestrul al II-lea",
+        "trimestrul al III-lea",
+        "trimestrul al IV-lea"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "trim. I",
+        "trim. II",
+        "trim. III",
+        "trim. IV"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "duminică",
+        "luni",
+        "marți",
+        "miercuri",
+        "joi",
+        "vineri",
+        "sâmbătă"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "D",
+        "L",
+        "M",
+        "M",
+        "J",
+        "V",
+        "S"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Du",
+        "Lu",
+        "Ma",
+        "Mi",
+        "Jo",
+        "Vi",
+        "Sâ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ru.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ru.java
new file mode 100644
index 0000000..b00cd88
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ru.java
@@ -0,0 +1,327 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ru".
+ */
+public class DateTimeFormatInfoImpl_ru extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d MMMM y 'г'.";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y 'г'.";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd.MM.yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd.MM.yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "до н.э.",
+        "н.э."
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "до н.э.",
+        "н.э."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatHour24Minute() {
+    return "H:mm";
+  }
+
+  @Override
+  public String formatHour24MinuteSecond() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE d MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d.M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "LLL y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y 'г'.";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "LLLL y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y 'г'.";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M.y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d.M.y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d MMM y 'г'.";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "января",
+        "февраля",
+        "марта",
+        "апреля",
+        "мая",
+        "июня",
+        "июля",
+        "августа",
+        "сентября",
+        "октября",
+        "ноября",
+        "декабря"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return new String[] { 
+        "Январь",
+        "Февраль",
+        "Март",
+        "Апрель",
+        "Май",
+        "Июнь",
+        "Июль",
+        "Август",
+        "Сентябрь",
+        "Октябрь",
+        "Ноябрь",
+        "Декабрь"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "Я",
+        "Ф",
+        "М",
+        "А",
+        "М",
+        "И",
+        "И",
+        "А",
+        "С",
+        "О",
+        "Н",
+        "Д"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "янв.",
+        "февр.",
+        "марта",
+        "апр.",
+        "мая",
+        "июня",
+        "июля",
+        "авг.",
+        "сент.",
+        "окт.",
+        "нояб.",
+        "дек."
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return new String[] { 
+        "янв.",
+        "февр.",
+        "март",
+        "апр.",
+        "май",
+        "июнь",
+        "июль",
+        "авг.",
+        "сент.",
+        "окт.",
+        "нояб.",
+        "дек."
+    };
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1-й квартал",
+        "2-й квартал",
+        "3-й квартал",
+        "4-й квартал"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "1-й кв.",
+        "2-й кв.",
+        "3-й кв.",
+        "4-й кв."
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "H:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "H:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "H:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "воскресенье",
+        "понедельник",
+        "вторник",
+        "среда",
+        "четверг",
+        "пятница",
+        "суббота"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return new String[] { 
+        "Воскресенье",
+        "Понедельник",
+        "Вторник",
+        "Среда",
+        "Четверг",
+        "Пятница",
+        "Суббота"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "В",
+        "П",
+        "В",
+        "С",
+        "Ч",
+        "П",
+        "С"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Вс",
+        "Пн",
+        "Вт",
+        "Ср",
+        "Чт",
+        "Пт",
+        "Сб"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ru_UA.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ru_UA.java
new file mode 100644
index 0000000..1458bf1
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ru_UA.java
@@ -0,0 +1,74 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ru_UA".
+ */
+public class DateTimeFormatInfoImpl_ru_UA extends DateTimeFormatInfoImpl_ru {
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatHour24Minute() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String formatHour24MinuteSecond() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_rw.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_rw.java
new file mode 100644
index 0000000..7939abc
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_rw.java
@@ -0,0 +1,233 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "rw".
+ */
+public class DateTimeFormatInfoImpl_rw extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "y/M/d";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Mutarama",
+        "Gashyantare",
+        "Werurwe",
+        "Mata",
+        "Gicuransi",
+        "Kamena",
+        "Nyakanga",
+        "Kanama",
+        "Nzeli",
+        "Ukwakira",
+        "Ugushyingo",
+        "Ukuboza"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "mut.",
+        "gas.",
+        "wer.",
+        "mat.",
+        "gic.",
+        "kam.",
+        "nya.",
+        "kan.",
+        "nze.",
+        "ukw.",
+        "ugu.",
+        "uku."
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "igihembwe cya mbere",
+        "igihembwe cya kabiri",
+        "igihembwe cya gatatu",
+        "igihembwe cya kane"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "I1",
+        "I2",
+        "I3",
+        "I4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Ku cyumweru",
+        "Kuwa mbere",
+        "Kuwa kabiri",
+        "Kuwa gatatu",
+        "Kuwa kane",
+        "Kuwa gatanu",
+        "Kuwa gatandatu"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "cyu.",
+        "mbe.",
+        "kab.",
+        "gtu.",
+        "kan.",
+        "gnu.",
+        "gnd."
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sa.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sa.java
new file mode 100644
index 0000000..c4a8edf
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sa.java
@@ -0,0 +1,273 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "sa".
+ */
+public class DateTimeFormatInfoImpl_sa extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd-MM-yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d-MM-yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "hh:mm:ss a zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "hh:mm:ss a z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "hh:mm:ss a";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "hh:mm a";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sa_IN.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sa_IN.java
new file mode 100644
index 0000000..3d9dca3
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sa_IN.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "sa_IN".
+ */
+public class DateTimeFormatInfoImpl_sa_IN extends DateTimeFormatInfoImpl_sa {
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 0;
+  }
+
+  @Override
+  public int weekendStart() {
+    return 0;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_se.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_se.java
new file mode 100644
index 0000000..986f50c
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_se.java
@@ -0,0 +1,283 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "se".
+ */
+public class DateTimeFormatInfoImpl_se extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "ovdal Kristtusa",
+        "maŋŋel Kristtusa"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "o.Kr.",
+        "m.Kr."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "ođđajagemánnu",
+        "guovvamánnu",
+        "njukčamánnu",
+        "cuoŋománnu",
+        "miessemánnu",
+        "geassemánnu",
+        "suoidnemánnu",
+        "borgemánnu",
+        "čakčamánnu",
+        "golggotmánnu",
+        "skábmamánnu",
+        "juovlamánnu"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "O",
+        "G",
+        "N",
+        "C",
+        "M",
+        "G",
+        "S",
+        "B",
+        "Č",
+        "G",
+        "S",
+        "J"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "ođđj",
+        "guov",
+        "njuk",
+        "cuo",
+        "mies",
+        "geas",
+        "suoi",
+        "borg",
+        "čakč",
+        "golg",
+        "skáb",
+        "juov"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "Q1",
+        "K2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "sotnabeaivi",
+        "vuossárga",
+        "maŋŋebárga",
+        "gaskavahkku",
+        "duorasdat",
+        "bearjadat",
+        "lávvardat"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "s",
+        "v",
+        "m",
+        "g",
+        "d",
+        "b",
+        "L"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "sotn",
+        "vuos",
+        "maŋ",
+        "gask",
+        "duor",
+        "bear",
+        "láv"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_se_FI.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_se_FI.java
new file mode 100644
index 0000000..38be7d0
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_se_FI.java
@@ -0,0 +1,117 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "se_FI".
+ */
+public class DateTimeFormatInfoImpl_se_FI extends DateTimeFormatInfoImpl_se {
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BCE",
+        "maŋŋel Kristtusa"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BCE",
+        "m.Kr."
+    };
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "ođđajage",
+        "guovva",
+        "njukča",
+        "cuoŋo",
+        "miesse",
+        "geasse",
+        "suoidne",
+        "borge",
+        "čakča",
+        "golggot",
+        "skábma",
+        "juovla"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "aejlege",
+        "måanta",
+        "däjsta",
+        "gaskevahkoe",
+        "dåarsta",
+        "bearjadahke",
+        "laavadahke"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "S",
+        "M",
+        "D",
+        "G",
+        "D",
+        "B",
+        "L"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sh.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sh.java
new file mode 100644
index 0000000..32ba951
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sh.java
@@ -0,0 +1,286 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "sh".
+ */
+public class DateTimeFormatInfoImpl_sh extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "pre podne",
+        "popodne"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, dd. MMMM y.";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd. MMMM y.";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd.MM.y.";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d.M.yy.";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "Pre nove ere",
+        "Nove ere"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "p. n. e.",
+        "n. e"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatHour12Minute() {
+    return "hh.mm a";
+  }
+
+  @Override
+  public String formatHour12MinuteSecond() {
+    return "hh.mm.ss a";
+  }
+
+  @Override
+  public String formatHour24Minute() {
+    return "HH.mm";
+  }
+
+  @Override
+  public String formatHour24MinuteSecond() {
+    return "HH.mm.ss";
+  }
+
+  @Override
+  public String formatMinuteSecond() {
+    return "mm.ss";
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "MMM d.";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "MMMM d.";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE d. MMMM";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d. MMM y.";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d. MMMM y.";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d.M.y.";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d. MMM y.";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "januar",
+        "februar",
+        "mart",
+        "april",
+        "maj",
+        "jun",
+        "jul",
+        "avgust",
+        "septembar",
+        "oktobar",
+        "novembar",
+        "decembar"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "j",
+        "f",
+        "m",
+        "a",
+        "m",
+        "j",
+        "j",
+        "a",
+        "s",
+        "o",
+        "n",
+        "d"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "jan",
+        "feb",
+        "mar",
+        "apr",
+        "maj",
+        "jun",
+        "jul",
+        "avg",
+        "sep",
+        "okt",
+        "nov",
+        "dec"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1. kvartal",
+        "2. kvartal",
+        "3. kvartal",
+        "4. kvartal"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH.mm.ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH.mm.ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH.mm.ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH.mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "nedelja",
+        "ponedeljak",
+        "utorak",
+        "sreda",
+        "četvrtak",
+        "petak",
+        "subota"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "n",
+        "p",
+        "u",
+        "s",
+        "č",
+        "p",
+        "s"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "ned",
+        "pon",
+        "uto",
+        "sre",
+        "čet",
+        "pet",
+        "sub"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_si.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_si.java
new file mode 100644
index 0000000..67b57c7
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_si.java
@@ -0,0 +1,221 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "si".
+ */
+public class DateTimeFormatInfoImpl_si extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "පෙ.ව.",
+        "ප.ව."
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM d";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yyyy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "ක්‍රිස්තු පූර්‍ව",
+        "ක්‍රිස්තු වර්‍ෂ"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "ක්‍රි.පූ.",
+        "ක්‍රි.ව."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "y/M/d";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "ජනවාර",
+        "පෙබරවාර",
+        "මාර්ත",
+        "අප්‍රේල්",
+        "මැයි",
+        "ජූන",
+        "ජූලි",
+        "අගෝස්තු",
+        "සැප්තැම්බර්",
+        "ඔක්තෝබර්",
+        "නොවැම්බර්",
+        "දෙසැම්බර්"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "ජ",
+        "පෙ",
+        "මා",
+        "අ",
+        "මැ",
+        "ජූ",
+        "ජූ",
+        "අ",
+        "සැ",
+        "ඔ",
+        "නො",
+        "දෙ"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "ජන",
+        "පෙබ",
+        "මාර්ත",
+        "අප්‍රේල",
+        "මැය",
+        "ජූන",
+        "ජූල",
+        "අගෝ",
+        "සැප",
+        "ඔක",
+        "නොවැ",
+        "දෙසැ"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1 වන කාර්තුව",
+        "2 වන කාර්තුව",
+        "3 වන කාර්තුව",
+        "4 වන කාර්තුව"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "කාර්:1",
+        "කාර්:2",
+        "කාර්:3",
+        "කාර්:4"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "ඉරිදා",
+        "සඳුදා",
+        "අඟහරුවාදා",
+        "බදාදා",
+        "බ්‍රහස්පතින්දා",
+        "සිකුරාදා",
+        "සෙනසුරාදා"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "ඉ",
+        "ස",
+        "අ",
+        "බ",
+        "බ්‍ර",
+        "සි",
+        "සෙ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "ඉරි",
+        "සඳු",
+        "අඟ",
+        "බදා",
+        "බ්‍රහ",
+        "සිකු",
+        "සෙන"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sid.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sid.java
new file mode 100644
index 0000000..f4076d3
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sid.java
@@ -0,0 +1,192 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "sid".
+ */
+public class DateTimeFormatInfoImpl_sid extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "soodo",
+        "hawwaro"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, MMMM dd, y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd-MMM-y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "YIA",
+        "YIG"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "YIA",
+        "YIG"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Sambata",
+        "Sanyo",
+        "Maakisanyo",
+        "Roowe",
+        "Hamuse",
+        "Arbe",
+        "Qidaame"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "S",
+        "S",
+        "M",
+        "R",
+        "H",
+        "A",
+        "Q"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Sam",
+        "San",
+        "Mak",
+        "Row",
+        "Ham",
+        "Arb",
+        "Qid"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sid_ET.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sid_ET.java
new file mode 100644
index 0000000..0f9b731
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sid_ET.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "sid_ET".
+ */
+public class DateTimeFormatInfoImpl_sid_ET extends DateTimeFormatInfoImpl_sid {
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 6;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sk.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sk.java
new file mode 100644
index 0000000..728a9c7
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sk.java
@@ -0,0 +1,314 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "sk".
+ */
+public class DateTimeFormatInfoImpl_sk extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "dopoludnia",
+        "popoludní"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d. MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d. MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d.M.yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d.M.yyyy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "pred n.l.",
+        "n.l."
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "pred n.l.",
+        "n.l."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatHour24Minute() {
+    return "H:mm";
+  }
+
+  @Override
+  public String formatHour24MinuteSecond() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d. MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d. MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, d. MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d.M.";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "LLL y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d. MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "LLLL y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d. MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M.y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d.M.y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d. MMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ yyyy";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q yyyy";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "januára",
+        "februára",
+        "marca",
+        "apríla",
+        "mája",
+        "júna",
+        "júla",
+        "augusta",
+        "septembra",
+        "októbra",
+        "novembra",
+        "decembra"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return new String[] { 
+        "január",
+        "február",
+        "marec",
+        "apríl",
+        "máj",
+        "jún",
+        "júl",
+        "august",
+        "september",
+        "október",
+        "november",
+        "december"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "j",
+        "f",
+        "m",
+        "a",
+        "m",
+        "j",
+        "j",
+        "a",
+        "s",
+        "o",
+        "n",
+        "d"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "jan",
+        "feb",
+        "mar",
+        "apr",
+        "máj",
+        "jún",
+        "júl",
+        "aug",
+        "sep",
+        "okt",
+        "nov",
+        "dec"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1. štvrťrok",
+        "2. štvrťrok",
+        "3. štvrťrok",
+        "4. štvrťrok"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "H:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "H:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "H:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "nedeľa",
+        "pondelok",
+        "utorok",
+        "streda",
+        "štvrtok",
+        "piatok",
+        "sobota"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "N",
+        "P",
+        "U",
+        "S",
+        "Š",
+        "P",
+        "S"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "ne",
+        "po",
+        "ut",
+        "st",
+        "št",
+        "pi",
+        "so"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sl.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sl.java
new file mode 100644
index 0000000..da42280
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sl.java
@@ -0,0 +1,286 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "sl".
+ */
+public class DateTimeFormatInfoImpl_sl extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "dop.",
+        "pop."
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, dd. MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd. MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d. MMM. yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d. MM. yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "pred našim štetjem",
+        "naše štetje"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "pr. n. št.",
+        "po Kr."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d. MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d. MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d. M.";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d. MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d. MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d. M. y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d. MMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ/y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q/y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "januar",
+        "februar",
+        "marec",
+        "april",
+        "maj",
+        "junij",
+        "julij",
+        "avgust",
+        "september",
+        "oktober",
+        "november",
+        "december"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "j",
+        "f",
+        "m",
+        "a",
+        "m",
+        "j",
+        "j",
+        "a",
+        "s",
+        "o",
+        "n",
+        "d"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "jan",
+        "feb",
+        "mar",
+        "apr",
+        "maj",
+        "jun",
+        "jul",
+        "avg",
+        "sep",
+        "okt",
+        "nov",
+        "dec"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1. četrtletje",
+        "2. četrtletje",
+        "3. četrtletje",
+        "4. četrtletje"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "H:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "nedelja",
+        "ponedeljek",
+        "torek",
+        "sreda",
+        "četrtek",
+        "petek",
+        "sobota"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "n",
+        "p",
+        "t",
+        "s",
+        "č",
+        "p",
+        "s"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "ned",
+        "pon",
+        "tor",
+        "sre",
+        "čet",
+        "pet",
+        "sob"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_so.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_so.java
new file mode 100644
index 0000000..24e8edc
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_so.java
@@ -0,0 +1,261 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "so".
+ */
+public class DateTimeFormatInfoImpl_so extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "sn",
+        "gn"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, MMMM dd, y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd-MMM-y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "Ciise ka hor",
+        "Ciise ka dib"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "Ciise ka hor",
+        "Ciise ka dib"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 6;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Bisha Koobaad",
+        "Bisha Labaad",
+        "Bisha Saddexaad",
+        "Bisha Afraad",
+        "Bisha Shanaad",
+        "Bisha Lixaad",
+        "Bisha Todobaad",
+        "Bisha Sideedaad",
+        "Bisha Sagaalaad",
+        "Bisha Tobnaad",
+        "Bisha Kow iyo Tobnaad",
+        "Bisha Laba iyo Tobnaad"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "K",
+        "L",
+        "S",
+        "A",
+        "S",
+        "L",
+        "T",
+        "S",
+        "S",
+        "T",
+        "K",
+        "L"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Kob",
+        "Lab",
+        "Sad",
+        "Afr",
+        "Sha",
+        "Lix",
+        "Tod",
+        "Sid",
+        "Sag",
+        "Tob",
+        "KIT",
+        "LIT"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Axad",
+        "Isniin",
+        "Salaaso",
+        "Arbaco",
+        "Khamiis",
+        "Jimco",
+        "Sabti"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "A",
+        "I",
+        "S",
+        "A",
+        "K",
+        "J",
+        "S"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Axa",
+        "Isn",
+        "Sal",
+        "Arb",
+        "Kha",
+        "Jim",
+        "Sab"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sq.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sq.java
new file mode 100644
index 0000000..78b91fa
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sq.java
@@ -0,0 +1,296 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "sq".
+ */
+public class DateTimeFormatInfoImpl_sq extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "PD",
+        "MD"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "yyyy-MM-dd";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy-MM-dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "p.e.r.",
+        "n.e.r."
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "p.e.r.",
+        "n.e.r."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatHour12Minute() {
+    return "h.mm.a";
+  }
+
+  @Override
+  public String formatHour12MinuteSecond() {
+    return "h.mm.ss.a";
+  }
+
+  @Override
+  public String formatHour24Minute() {
+    return "H.mm";
+  }
+
+  @Override
+  public String formatHour24MinuteSecond() {
+    return "H.mm.ss";
+  }
+
+  @Override
+  public String formatMinuteSecond() {
+    return "mm.ss";
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE d MMMM";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M.yyyy";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d MMM y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "janar",
+        "shkurt",
+        "mars",
+        "prill",
+        "maj",
+        "qershor",
+        "korrik",
+        "gusht",
+        "shtator",
+        "tetor",
+        "nëntor",
+        "dhjetor"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "J",
+        "S",
+        "M",
+        "P",
+        "M",
+        "Q",
+        "K",
+        "G",
+        "S",
+        "T",
+        "N",
+        "D"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Jan",
+        "Shk",
+        "Mar",
+        "Pri",
+        "Maj",
+        "Qer",
+        "Kor",
+        "Gsh",
+        "Sht",
+        "Tet",
+        "Nën",
+        "Dhj"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "h.mm.ss.a zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "h.mm.ss.a z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "h.mm.ss.a";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "h.mm.a";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "e diel",
+        "e hënë",
+        "e martë",
+        "e mërkurë",
+        "e enjte",
+        "e premte",
+        "e shtunë"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "D",
+        "H",
+        "M",
+        "M",
+        "E",
+        "P",
+        "S"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Die",
+        "Hën",
+        "Mar",
+        "Mër",
+        "Enj",
+        "Pre",
+        "Sht"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sr.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sr.java
new file mode 100644
index 0000000..5d85b5e
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sr.java
@@ -0,0 +1,306 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "sr".
+ */
+public class DateTimeFormatInfoImpl_sr extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "пре подне",
+        "поподне"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, dd. MMMM y.";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd. MMMM y.";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd.MM.y.";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d.M.yy.";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "Пре нове ере",
+        "Нове ере"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "п. н. е.",
+        "н. е"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatHour12Minute() {
+    return "hh.mm a";
+  }
+
+  @Override
+  public String formatHour12MinuteSecond() {
+    return "hh.mm.ss a";
+  }
+
+  @Override
+  public String formatHour24Minute() {
+    return "HH.mm";
+  }
+
+  @Override
+  public String formatHour24MinuteSecond() {
+    return "HH.mm.ss";
+  }
+
+  @Override
+  public String formatMinuteSecond() {
+    return "mm.ss";
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "MMM d.";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "MMMM d.";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE d. MMMM";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM. y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d. MMM y.";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM. y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d. MMMM y.";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d.M.y.";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d. MMM y.";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "јануар",
+        "фебруар",
+        "март",
+        "април",
+        "мај",
+        "јун",
+        "јул",
+        "август",
+        "септембар",
+        "октобар",
+        "новембар",
+        "децембар"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "ј",
+        "ф",
+        "м",
+        "а",
+        "м",
+        "ј",
+        "ј",
+        "а",
+        "с",
+        "о",
+        "н",
+        "д"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "јан",
+        "феб",
+        "мар",
+        "апр",
+        "мај",
+        "јун",
+        "јул",
+        "авг",
+        "сеп",
+        "окт",
+        "нов",
+        "дец"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Прво тромесечје",
+        "Друго тромесечје",
+        "Треће тромесечје",
+        "Четврто тромесечје"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "К1",
+        "К2",
+        "К3",
+        "К4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH.mm.ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH.mm.ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH.mm.ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH.mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "недеља",
+        "понедељак",
+        "уторак",
+        "среда",
+        "четвртак",
+        "петак",
+        "субота"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "н",
+        "п",
+        "у",
+        "с",
+        "ч",
+        "п",
+        "с"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "нед",
+        "пон",
+        "уто",
+        "сре",
+        "чет",
+        "пет",
+        "суб"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sr_BA.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sr_BA.java
new file mode 100644
index 0000000..d11c51b
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sr_BA.java
@@ -0,0 +1,123 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "sr_BA".
+ */
+public class DateTimeFormatInfoImpl_sr_BA extends DateTimeFormatInfoImpl_sr {
+
+  @Override
+  public String dateFormatMedium() {
+    return "yyyy-MM-dd";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy-MM-dd";
+  }
+
+  @Override
+  public String formatHour24Minute() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String formatHour24MinuteSecond() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "y-M-d";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "јануар",
+        "фебруар",
+        "март",
+        "април",
+        "мај",
+        "јуни",
+        "јули",
+        "август",
+        "септембар",
+        "октобар",
+        "новембар",
+        "децембар"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH 'часова', mm 'минута', ss 'секунди' zzzz";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "недеља",
+        "понедељак",
+        "уторак",
+        "сриједа",
+        "четвртак",
+        "петак",
+        "субота"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "нед",
+        "пон",
+        "уто",
+        "сри",
+        "чет",
+        "пет",
+        "суб"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sr_Latn.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sr_Latn.java
new file mode 100644
index 0000000..fd06c1e
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sr_Latn.java
@@ -0,0 +1,201 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "sr_Latn".
+ */
+public class DateTimeFormatInfoImpl_sr_Latn extends DateTimeFormatInfoImpl_sr {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "pre podne",
+        "popodne"
+    };
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "Pre nove ere",
+        "Nove ere"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "p. n. e.",
+        "n. e"
+    };
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "y MMM";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "y MMMM";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "januar",
+        "februar",
+        "mart",
+        "april",
+        "maj",
+        "jun",
+        "jul",
+        "avgust",
+        "septembar",
+        "oktobar",
+        "novembar",
+        "decembar"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "j",
+        "f",
+        "m",
+        "a",
+        "m",
+        "j",
+        "j",
+        "a",
+        "s",
+        "o",
+        "n",
+        "d"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "jan",
+        "feb",
+        "mar",
+        "apr",
+        "maj",
+        "jun",
+        "jul",
+        "avg",
+        "sep",
+        "okt",
+        "nov",
+        "dec"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1. kvartal",
+        "2. kvartal",
+        "3. kvartal",
+        "4. kvartal"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "nedelja",
+        "ponedeljak",
+        "utorak",
+        "sreda",
+        "četvrtak",
+        "petak",
+        "subota"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "n",
+        "p",
+        "u",
+        "s",
+        "č",
+        "p",
+        "s"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "ned",
+        "pon",
+        "uto",
+        "sre",
+        "čet",
+        "pet",
+        "sub"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sr_ME.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sr_ME.java
new file mode 100644
index 0000000..94c1028
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sr_ME.java
@@ -0,0 +1,206 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "sr_ME".
+ */
+public class DateTimeFormatInfoImpl_sr_ME extends DateTimeFormatInfoImpl_sr {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "pre podne",
+        "popodne"
+    };
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d.MM.yyyy.";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "Pre nove ere",
+        "Nove ere"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "p. n. e.",
+        "n. e"
+    };
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "y MMM";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "y MMMM";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "januar",
+        "februar",
+        "mart",
+        "april",
+        "maj",
+        "jun",
+        "jul",
+        "avgust",
+        "septembar",
+        "oktobar",
+        "novembar",
+        "decembar"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "j",
+        "f",
+        "m",
+        "a",
+        "m",
+        "j",
+        "j",
+        "a",
+        "s",
+        "o",
+        "n",
+        "d"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "jan",
+        "feb",
+        "mar",
+        "apr",
+        "maj",
+        "jun",
+        "jul",
+        "avg",
+        "sep",
+        "okt",
+        "nov",
+        "dec"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1. kvartal",
+        "2. kvartal",
+        "3. kvartal",
+        "4. kvartal"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "nedelja",
+        "ponedeljak",
+        "utorak",
+        "sreda",
+        "četvrtak",
+        "petak",
+        "subota"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "n",
+        "p",
+        "u",
+        "s",
+        "č",
+        "p",
+        "s"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "ned",
+        "pon",
+        "uto",
+        "sre",
+        "čet",
+        "pet",
+        "sub"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ss.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ss.java
new file mode 100644
index 0000000..6db513b
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ss.java
@@ -0,0 +1,265 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ss".
+ */
+public class DateTimeFormatInfoImpl_ss extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BC",
+        "AD"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Bhimbidvwane",
+        "iNdlovana",
+        "iNdlovu-lenkhulu",
+        "Mabasa",
+        "iNkhwekhweti",
+        "iNhlaba",
+        "Kholwane",
+        "iNgci",
+        "iNyoni",
+        "iMphala",
+        "Lweti",
+        "iNgongoni"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Bhi",
+        "Van",
+        "Vol",
+        "Mab",
+        "Nkh",
+        "Nhl",
+        "Kho",
+        "Ngc",
+        "Nyo",
+        "Mph",
+        "Lwe",
+        "Ngo"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Lisontfo",
+        "uMsombuluko",
+        "Lesibili",
+        "Lesitsatfu",
+        "Lesine",
+        "Lesihlanu",
+        "uMgcibelo"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Son",
+        "Mso",
+        "Bil",
+        "Tsa",
+        "Ne",
+        "Hla",
+        "Mgc"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_st.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_st.java
new file mode 100644
index 0000000..55071fe
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_st.java
@@ -0,0 +1,265 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "st".
+ */
+public class DateTimeFormatInfoImpl_st extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BC",
+        "AD"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Phesekgong",
+        "Hlakola",
+        "Hlakubele",
+        "Mmese",
+        "Motsheanong",
+        "Phupjane",
+        "Phupu",
+        "Phata",
+        "Leotshe",
+        "Mphalane",
+        "Pundungwane",
+        "Tshitwe"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Phe",
+        "Kol",
+        "Ube",
+        "Mme",
+        "Mot",
+        "Jan",
+        "Upu",
+        "Pha",
+        "Leo",
+        "Mph",
+        "Pun",
+        "Tsh"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Sontaha",
+        "Mmantaha",
+        "Labobedi",
+        "Laboraru",
+        "Labone",
+        "Labohlane",
+        "Moqebelo"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Son",
+        "Mma",
+        "Bed",
+        "Rar",
+        "Ne",
+        "Hla",
+        "Moq"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sv.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sv.java
new file mode 100644
index 0000000..04dad6f
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sv.java
@@ -0,0 +1,263 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "sv".
+ */
+public class DateTimeFormatInfoImpl_sv extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "fm",
+        "em"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yyyy-MM-dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "före Kristus",
+        "efter Kristus"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "f.Kr.",
+        "e.Kr."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d:'e' MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d:'e' MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE d MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d/M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "yyyy-MM";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE'en' 'den' d:'e' MMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "yyyy QQQQ";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "yyyy Q";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "januari",
+        "februari",
+        "mars",
+        "april",
+        "maj",
+        "juni",
+        "juli",
+        "augusti",
+        "september",
+        "oktober",
+        "november",
+        "december"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "jan",
+        "feb",
+        "mar",
+        "apr",
+        "maj",
+        "jun",
+        "jul",
+        "aug",
+        "sep",
+        "okt",
+        "nov",
+        "dec"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1:a kvartalet",
+        "2:a kvartalet",
+        "3:e kvartalet",
+        "4:e kvartalet"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "K1",
+        "K2",
+        "K3",
+        "K4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "'kl'. HH.mm.ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH.mm.ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH.mm.ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH.mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "söndag",
+        "måndag",
+        "tisdag",
+        "onsdag",
+        "torsdag",
+        "fredag",
+        "lördag"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "S",
+        "M",
+        "T",
+        "O",
+        "T",
+        "F",
+        "L"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "sön",
+        "mån",
+        "tis",
+        "ons",
+        "tors",
+        "fre",
+        "lör"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sw.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sw.java
new file mode 100644
index 0000000..ce8c396
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sw.java
@@ -0,0 +1,283 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "sw".
+ */
+public class DateTimeFormatInfoImpl_sw extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "Kabla ya Kristo",
+        "Baada ya Kristo"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "KK",
+        "BK"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d MMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Januari",
+        "Februari",
+        "Machi",
+        "Aprili",
+        "Mei",
+        "Juni",
+        "Julai",
+        "Agosti",
+        "Septemba",
+        "Oktoba",
+        "Novemba",
+        "Desemba"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Jan",
+        "Feb",
+        "Mac",
+        "Apr",
+        "Mei",
+        "Jun",
+        "Jul",
+        "Ago",
+        "Sep",
+        "Okt",
+        "Nov",
+        "Des"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "robo ya kwanza",
+        "robo ya pili",
+        "robo ya tatu",
+        "robo ya nne"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "R1",
+        "R2",
+        "R3",
+        "R4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Jumapili",
+        "Jumatatu",
+        "Jumanne",
+        "Jumatano",
+        "Alhamisi",
+        "Ijumaa",
+        "Jumamosi"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Jpi",
+        "Jtt",
+        "Jnn",
+        "Jtn",
+        "Alh",
+        "Iju",
+        "Jmo"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sw_KE.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sw_KE.java
new file mode 100644
index 0000000..b9abe55
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_sw_KE.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "sw_KE".
+ */
+public class DateTimeFormatInfoImpl_sw_KE extends DateTimeFormatInfoImpl_sw {
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 6;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_syr.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_syr.java
new file mode 100644
index 0000000..71d6f90
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_syr.java
@@ -0,0 +1,263 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "syr".
+ */
+public class DateTimeFormatInfoImpl_syr extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "dd MMMM, y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd MMMM, y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd/MM/yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yyyy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "܏ܟܢ ܏ܒ",
+        "ܫܒܛ",
+        "ܐܕܪ",
+        "ܢܝܣܢ",
+        "ܐܝܪ",
+        "ܚܙܝܪܢ",
+        "ܬܡܘܙ",
+        "ܐܒ",
+        "ܐܝܠܘܠ",
+        "܏ܬܫ ܏ܐ",
+        "܏ܬܫ ܏ܒ",
+        "܏ܟܢ ܏ܐ"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "܏ܟܢ ܏ܒ",
+        "ܫܒܛ",
+        "ܐܕܪ",
+        "ܢܝܣܢ",
+        "ܐܝܪ",
+        "ܚܙܝܪܢ",
+        "ܬܡܘܙ",
+        "ܐܒ",
+        "ܐܝܠܘܠ",
+        "܏ܬܫ ܏ܐ",
+        "܏ܬܫ ܏ܒ",
+        "܏ܟܢ ܏ܐ"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "h:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "h:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_syr_SY.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_syr_SY.java
new file mode 100644
index 0000000..e187a95
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_syr_SY.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "syr_SY".
+ */
+public class DateTimeFormatInfoImpl_syr_SY extends DateTimeFormatInfoImpl_syr {
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 0;
+  }
+
+  @Override
+  public int weekendEnd() {
+    return 6;
+  }
+
+  @Override
+  public int weekendStart() {
+    return 5;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ta.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ta.java
new file mode 100644
index 0000000..148cf8a
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ta.java
@@ -0,0 +1,266 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ta".
+ */
+public class DateTimeFormatInfoImpl_ta extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "am",
+        "pm"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d MMMM, y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM, y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM, y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d-M-yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "கிறிஸ்துவுக்கு முன்",
+        "அனோ டோமினி"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "கிமு",
+        "கிபி"
+    };
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d-M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M-y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d-M-y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d MMM, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "ஜனவரி",
+        "பிப்ரவரி",
+        "மார்ச்",
+        "ஏப்ரல்",
+        "மே",
+        "ஜூன்",
+        "ஜூலை",
+        "ஆகஸ்ட்",
+        "செப்டம்பர்",
+        "அக்டோபர்",
+        "நவம்பர்",
+        "டிசம்பர்"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "ஜ",
+        "பி",
+        "மா",
+        "ஏ",
+        "மே",
+        "ஜூ",
+        "ஜூ",
+        "ஆ",
+        "செ",
+        "அ",
+        "ந",
+        "டி"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "ஜன.",
+        "பிப்.",
+        "மார்.",
+        "ஏப்.",
+        "மே",
+        "ஜூன்",
+        "ஜூலை",
+        "ஆக.",
+        "செப்.",
+        "அக்.",
+        "நவ.",
+        "டிச."
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1ஆம் காலாண்டு",
+        "2ஆம் காலாண்டு",
+        "3ஆம் காலாண்டு",
+        "4ஆம் காலாண்டு"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "ஞாயிறு",
+        "திங்கள்",
+        "செவ்வாய்",
+        "புதன்",
+        "வியாழன்",
+        "வெள்ளி",
+        "சனி"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "ஞா",
+        "தி",
+        "செ",
+        "பு",
+        "வி",
+        "வெ",
+        "ச"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "ஞா",
+        "தி",
+        "செ",
+        "பு",
+        "வி",
+        "வெ",
+        "ச"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+
+  @Override
+  public int weekendStart() {
+    return 0;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_te.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_te.java
new file mode 100644
index 0000000..20674d0
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_te.java
@@ -0,0 +1,266 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "te".
+ */
+public class DateTimeFormatInfoImpl_te extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "am",
+        "pm"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd-MM-yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "ఈసాపూర్వ.",
+        "సన్."
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d-M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M-y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d-M-y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE d MMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "జనవరి",
+        "ఫిబ్రవరి",
+        "మార్చి",
+        "ఏప్రిల్",
+        "మే",
+        "జూన్",
+        "జూలై",
+        "ఆగస్టు",
+        "సెప్టెంబర్",
+        "అక్టోబర్",
+        "నవంబర్",
+        "డిసెంబర్"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "జ",
+        "ఫి",
+        "మ",
+        "ఎ",
+        "మె",
+        "జు",
+        "జు",
+        "ఆ",
+        "సె",
+        "అ",
+        "న",
+        "డి"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "జనవరి",
+        "ఫిబ్రవరి",
+        "మార్చి",
+        "ఏప్రిల్",
+        "మే",
+        "జూన్",
+        "జూలై",
+        "ఆగస్టు",
+        "సెప్టెంబర్",
+        "అక్టోబర్",
+        "నవంబర్",
+        "డిసెంబర్"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "ఒకటి 1",
+        "రెండు 2",
+        "మూడు 3",
+        "నాలుగు 4"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "ఆదివారం",
+        "సోమవారం",
+        "మంగళవారం",
+        "బుధవారం",
+        "గురువారం",
+        "శుక్రవారం",
+        "శనివారం"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "ఆ",
+        "సో",
+        "మ",
+        "భు",
+        "గు",
+        "శు",
+        "శ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "ఆది",
+        "సోమ",
+        "మంగళ",
+        "బుధ",
+        "గురు",
+        "శుక్ర",
+        "శని"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+
+  @Override
+  public int weekendStart() {
+    return 0;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_tg.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_tg.java
new file mode 100644
index 0000000..37f909e
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_tg.java
@@ -0,0 +1,281 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "tg".
+ */
+public class DateTimeFormatInfoImpl_tg extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "пе. чо.",
+        "па. чо."
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "Пеш аз милод",
+        "ПаМ"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "ПеМ",
+        "ПаМ"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Январ",
+        "Феврал",
+        "Март",
+        "Апрел",
+        "Май",
+        "Июн",
+        "Июл",
+        "Август",
+        "Сентябр",
+        "Октябр",
+        "Ноябр",
+        "Декабр"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Янв",
+        "Фев",
+        "Мар",
+        "Апр",
+        "Май",
+        "Июн",
+        "Июл",
+        "Авг",
+        "Сен",
+        "Окт",
+        "Ноя",
+        "Дек"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Якшанбе",
+        "Душанбе",
+        "Сешанбе",
+        "Чоршанбе",
+        "Панҷшанбе",
+        "Ҷумъа",
+        "Шанбе"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Яшб",
+        "Дшб",
+        "Сшб",
+        "Чшб",
+        "Пшб",
+        "Ҷмъ",
+        "Шнб"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_th.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_th.java
new file mode 100644
index 0000000..0ecb342
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_th.java
@@ -0,0 +1,321 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "th".
+ */
+public class DateTimeFormatInfoImpl_th extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "ก่อนเที่ยง",
+        "หลังเที่ยง"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEEที่ d MMMM G y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d/M/yyyy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "ปีก่อนคริสต์ศักราช",
+        "คริสต์ศักราช"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "ปีก่อน ค.ศ.",
+        "ค.ศ."
+    };
+  }
+
+  @Override
+  public String formatHour12Minute() {
+    return "H:mm";
+  }
+
+  @Override
+  public String formatHour12MinuteSecond() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String formatHour24Minute() {
+    return "H:mm";
+  }
+
+  @Override
+  public String formatHour24MinuteSecond() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String formatMinuteSecond() {
+    return "m ├'F13': s┤";
+  }
+
+  @Override
+  public String formatMonthAbbrev() {
+    return "MMM";
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d ├'F3': MMM┤";
+  }
+
+  @Override
+  public String formatMonthFull() {
+    return "MMMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d ├'F3': MMMM┤";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "d ├'F3': MMMM┤ ├'F6': EEEE┤";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M ├'F7': d┤";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "y ├'F3': MMM┤";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "y ├'F3': MMMM┤";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "y ├'F3': M┤";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "d MMM y ├'F6': EEE┤";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "y ├'F2': QQQQ┤";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "y ├'F2': Q┤";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "มกราคม",
+        "กุมภาพันธ์",
+        "มีนาคม",
+        "เมษายน",
+        "พฤษภาคม",
+        "มิถุนายน",
+        "กรกฎาคม",
+        "สิงหาคม",
+        "กันยายน",
+        "ตุลาคม",
+        "พฤศจิกายน",
+        "ธันวาคม"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "ม.ค.",
+        "ก.พ.",
+        "มี.ค.",
+        "เม.ย.",
+        "พ.ค.",
+        "มิ.ย.",
+        "ก.ค.",
+        "ส.ค.",
+        "ก.ย.",
+        "ต.ค.",
+        "พ.ย.",
+        "ธ.ค."
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "ม.ค.",
+        "ก.พ.",
+        "มี.ค.",
+        "เม.ย.",
+        "พ.ค.",
+        "มิ.ย.",
+        "ก.ค.",
+        "ส.ค.",
+        "ก.ย.",
+        "ต.ค.",
+        "พ.ย.",
+        "ธ.ค."
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "ไตรมาส 1",
+        "ไตรมาส 2",
+        "ไตรมาส 3",
+        "ไตรมาส 4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "H นาฬิกา m นาที ss วินาที zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "H นาฬิกา m นาที ss วินาที z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "H:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "วันอาทิตย์",
+        "วันจันทร์",
+        "วันอังคาร",
+        "วันพุธ",
+        "วันพฤหัสบดี",
+        "วันศุกร์",
+        "วันเสาร์"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "อ",
+        "จ",
+        "อ",
+        "พ",
+        "พ",
+        "ศ",
+        "ส"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "อา.",
+        "จ.",
+        "อ.",
+        "พ.",
+        "พฤ.",
+        "ศ.",
+        "ส."
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ti.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ti.java
new file mode 100644
index 0000000..a059e8c
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ti.java
@@ -0,0 +1,261 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ti".
+ */
+public class DateTimeFormatInfoImpl_ti extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "ንጉሆ ሰዓተ",
+        "ድሕር ሰዓት"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE፣ dd MMMM መዓልቲ y G";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd-MMM-y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "ዓ/ዓ",
+        "ዓ/ም"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "ዓ/ዓ",
+        "ዓ/ም"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 6;
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d/M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "ጃንዩወሪ",
+        "ፌብሩወሪ",
+        "ማርች",
+        "ኤፕረል",
+        "ሜይ",
+        "ጁን",
+        "ጁላይ",
+        "ኦገስት",
+        "ሴፕቴምበር",
+        "ኦክተውበር",
+        "ኖቬምበር",
+        "ዲሴምበር"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "ጃ",
+        "ፌ",
+        "ማ",
+        "ኤ",
+        "ሜ",
+        "ጁ",
+        "ጁ",
+        "ኦ",
+        "ሴ",
+        "ኦ",
+        "ኖ",
+        "ዲ"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "ጃንዩ",
+        "ፌብሩ",
+        "ማርች",
+        "ኤፕረ",
+        "ሜይ",
+        "ጁን",
+        "ጁላይ",
+        "ኦገስ",
+        "ሴፕቴ",
+        "ኦክተ",
+        "ኖቬም",
+        "ዲሴም"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "ሰንበት",
+        "ሰኑይ",
+        "ሠሉስ",
+        "ረቡዕ",
+        "ኃሙስ",
+        "ዓርቢ",
+        "ቀዳም"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "ሰ",
+        "ሰ",
+        "ሠ",
+        "ረ",
+        "ኃ",
+        "ዓ",
+        "ቀ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "ሰንበ",
+        "ሰኑይ",
+        "ሠሉስ",
+        "ረቡዕ",
+        "ኃሙስ",
+        "ዓርቢ",
+        "ቀዳም"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ti_ER.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ti_ER.java
new file mode 100644
index 0000000..490eea4
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ti_ER.java
@@ -0,0 +1,111 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ti_ER".
+ */
+public class DateTimeFormatInfoImpl_ti_ER extends DateTimeFormatInfoImpl_ti {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE፡ dd MMMM መዓልቲ y G";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "ጥሪ",
+        "ለካቲት",
+        "መጋቢት",
+        "ሚያዝያ",
+        "ግንቦት",
+        "ሰነ",
+        "ሓምለ",
+        "ነሓሰ",
+        "መስከረም",
+        "ጥቅምቲ",
+        "ሕዳር",
+        "ታሕሳስ"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "ጥሪ",
+        "ለካቲ",
+        "መጋቢ",
+        "ሚያዝ",
+        "ግንቦ",
+        "ሰነ",
+        "ሓምለ",
+        "ነሓሰ",
+        "መስከ",
+        "ጥቅም",
+        "ሕዳር",
+        "ታሕሳ"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "ሰንበት",
+        "ሰኑይ",
+        "ሰሉስ",
+        "ረቡዕ",
+        "ሓሙስ",
+        "ዓርቢ",
+        "ቀዳም"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "ሰንበ",
+        "ሰኑይ",
+        "ሰሉስ",
+        "ረቡዕ",
+        "ሓሙስ",
+        "ዓርቢ",
+        "ቀዳም"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_tig.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_tig.java
new file mode 100644
index 0000000..83f9d50
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_tig.java
@@ -0,0 +1,261 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "tig".
+ */
+public class DateTimeFormatInfoImpl_tig extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "ቀደም ሰርምዕል",
+        "ሓቆ ስርምዕል"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE፡ dd MMMM ዮም y G";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd-MMM-y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "ዓ/ዓ",
+        "ዓ/ም"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "ዓ/ዓ",
+        "ዓ/ም"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "ጃንዩወሪ",
+        "ፌብሩወሪ",
+        "ማርች",
+        "ኤፕረል",
+        "ሜይ",
+        "ጁን",
+        "ጁላይ",
+        "ኦገስት",
+        "ሴፕቴምበር",
+        "ኦክተውበር",
+        "ኖቬምበር",
+        "ዲሴምበር"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "ጃ",
+        "ፌ",
+        "ማ",
+        "ኤ",
+        "ሜ",
+        "ጁ",
+        "ጁ",
+        "ኦ",
+        "ሴ",
+        "ኦ",
+        "ኖ",
+        "ዲ"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "ጃንዩ",
+        "ፌብሩ",
+        "ማርች",
+        "ኤፕረ",
+        "ሜይ",
+        "ጁን",
+        "ጁላይ",
+        "ኦገስ",
+        "ሴፕቴ",
+        "ኦክተ",
+        "ኖቬም",
+        "ዲሴም"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "ሰንበት ዓባይ",
+        "ሰኖ",
+        "ታላሸኖ",
+        "ኣረርባዓ",
+        "ከሚሽ",
+        "ጅምዓት",
+        "ሰንበት ንኢሽ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "ሰ",
+        "ሰ",
+        "ታ",
+        "ኣ",
+        "ከ",
+        "ጅ",
+        "ሰ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "ሰ/ዓ",
+        "ሰኖ",
+        "ታላሸ",
+        "ኣረር",
+        "ከሚሽ",
+        "ጅምዓ",
+        "ሰ/ን"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_tig_ER.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_tig_ER.java
new file mode 100644
index 0000000..c3cdbab
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_tig_ER.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "tig_ER".
+ */
+public class DateTimeFormatInfoImpl_tig_ER extends DateTimeFormatInfoImpl_tig {
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 6;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_tl.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_tl.java
new file mode 100644
index 0000000..5b92e54
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_tl.java
@@ -0,0 +1,231 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "tl".
+ */
+public class DateTimeFormatInfoImpl_tl extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, MMMM dd y";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "yyyy-M";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Enero",
+        "Pebrero",
+        "Marso",
+        "Abril",
+        "Mayo",
+        "Hunyo",
+        "Hulyo",
+        "Agosto",
+        "Setyembre",
+        "Oktubre",
+        "Nobyembre",
+        "Disyembre"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "E",
+        "P",
+        "M",
+        "A",
+        "M",
+        "H",
+        "H",
+        "A",
+        "S",
+        "O",
+        "N",
+        "D"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Ene",
+        "Peb",
+        "Mar",
+        "Abr",
+        "May",
+        "Hun",
+        "Hul",
+        "Ago",
+        "Set",
+        "Okt",
+        "Nob",
+        "Dis"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Linggo",
+        "Lunes",
+        "Martes",
+        "Miyerkules",
+        "Huwebes",
+        "Biyernes",
+        "Sabado"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "L",
+        "L",
+        "M",
+        "M",
+        "H",
+        "B",
+        "S"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Lin",
+        "Lun",
+        "Mar",
+        "Mye",
+        "Huw",
+        "Bye",
+        "Sab"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return new String[] { 
+        "Lin",
+        "Lun",
+        "Mar",
+        "Miy",
+        "Huw",
+        "Biy",
+        "Sab"
+    };
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_tn.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_tn.java
new file mode 100644
index 0000000..7d0d09a
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_tn.java
@@ -0,0 +1,265 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "tn".
+ */
+public class DateTimeFormatInfoImpl_tn extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BC",
+        "AD"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Ferikgong",
+        "Tlhakole",
+        "Mopitlo",
+        "Moranang",
+        "Motsheganang",
+        "Seetebosigo",
+        "Phukwi",
+        "Phatwe",
+        "Lwetse",
+        "Diphalane",
+        "Ngwanatsele",
+        "Sedimonthole"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Fer",
+        "Tlh",
+        "Mop",
+        "Mor",
+        "Mot",
+        "See",
+        "Phu",
+        "Pha",
+        "Lwe",
+        "Dip",
+        "Ngw",
+        "Sed"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Tshipi",
+        "Mosopulogo",
+        "Labobedi",
+        "Laboraro",
+        "Labone",
+        "Labotlhano",
+        "Matlhatso"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Tsh",
+        "Mos",
+        "Bed",
+        "Rar",
+        "Ne",
+        "Tla",
+        "Mat"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_to.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_to.java
new file mode 100644
index 0000000..dd32915
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_to.java
@@ -0,0 +1,301 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "to".
+ */
+public class DateTimeFormatInfoImpl_to extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "HH",
+        "EA"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd-MM-yyyy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "ki muʻa",
+        "taʻu ʻo Sīsū"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "KM",
+        "TS"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE d MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d/M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M-yyyy";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE d MMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "yyyy QQQQ";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "yyyy Q";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Sānuali",
+        "Fēpueli",
+        "Maʻasi",
+        "ʻEpeleli",
+        "Mē",
+        "Sune",
+        "Siulai",
+        "ʻAokosi",
+        "Sēpitema",
+        "ʻOkatopa",
+        "Nōvema",
+        "Tisema"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "S",
+        "F",
+        "M",
+        "E",
+        "M",
+        "S",
+        "S",
+        "A",
+        "S",
+        "O",
+        "N",
+        "T"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Sān",
+        "Fēp",
+        "Maʻa",
+        "ʻEpe",
+        "Mē",
+        "Sun",
+        "Siu",
+        "ʻAok",
+        "Sēp",
+        "ʻOka",
+        "Nōv",
+        "Tis"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "kuata ʻuluaki",
+        "kuata ua",
+        "kuata tolu",
+        "kuata fā"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "K1",
+        "K2",
+        "K3",
+        "K4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Sāpate",
+        "Mōnite",
+        "Tusite",
+        "Pulelulu",
+        "Tuʻapulelulu",
+        "Falaite",
+        "Tokonaki"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "S",
+        "M",
+        "T",
+        "P",
+        "T",
+        "F",
+        "T"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Sāp",
+        "Mōn",
+        "Tus",
+        "Pul",
+        "Tuʻa",
+        "Fal",
+        "Tok"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_tr.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_tr.java
new file mode 100644
index 0000000..6747902
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_tr.java
@@ -0,0 +1,293 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "tr".
+ */
+public class DateTimeFormatInfoImpl_tr extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "dd MMMM y EEEE";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd MM yyyy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "Milattan Önce",
+        "Milattan Sonra"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "MÖ",
+        "MS"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "dd MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "dd MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "dd MMMM EEEE";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "dd/MM";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/yyyy";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d.M.y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "d MMM y EEE";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ yyyy";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q yyyy";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Ocak",
+        "Şubat",
+        "Mart",
+        "Nisan",
+        "Mayıs",
+        "Haziran",
+        "Temmuz",
+        "Ağustos",
+        "Eylül",
+        "Ekim",
+        "Kasım",
+        "Aralık"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "O",
+        "Ş",
+        "M",
+        "N",
+        "M",
+        "H",
+        "T",
+        "A",
+        "E",
+        "E",
+        "K",
+        "A"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Oca",
+        "Şub",
+        "Mar",
+        "Nis",
+        "May",
+        "Haz",
+        "Tem",
+        "Ağu",
+        "Eyl",
+        "Eki",
+        "Kas",
+        "Ara"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1. çeyrek",
+        "2. çeyrek",
+        "3. çeyrek",
+        "4. çeyrek"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "Ç1",
+        "Ç2",
+        "Ç3",
+        "Ç4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Pazar",
+        "Pazartesi",
+        "Salı",
+        "Çarşamba",
+        "Perşembe",
+        "Cuma",
+        "Cumartesi"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "P",
+        "P",
+        "S",
+        "Ç",
+        "P",
+        "C",
+        "C"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Paz",
+        "Pzt",
+        "Sal",
+        "Çar",
+        "Per",
+        "Cum",
+        "Cmt"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_trv.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_trv.java
new file mode 100644
index 0000000..53d79a5
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_trv.java
@@ -0,0 +1,291 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "trv".
+ */
+public class DateTimeFormatInfoImpl_trv extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "Brax kndaax",
+        "Baubau kndaax"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yyyy-MM-dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "Brah jikan Yisu Thulang",
+        "Bukuy jikan Yisu Thulang"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BRY",
+        "BUY"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Kingal idas",
+        "Dha idas",
+        "Tru idas",
+        "Spat idas",
+        "Rima idas",
+        "Mataru idas",
+        "Empitu idas",
+        "Maspat idas",
+        "Mngari idas",
+        "Maxal idas",
+        "Maxal kingal idas",
+        "Maxal dha idas"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "K",
+        "D",
+        "T",
+        "S",
+        "R",
+        "M",
+        "E",
+        "P",
+        "A",
+        "M",
+        "K",
+        "D"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Kii",
+        "Dhi",
+        "Tri",
+        "Spi",
+        "Rii",
+        "Mti",
+        "Emi",
+        "Mai",
+        "Mni",
+        "Mxi",
+        "Mxk",
+        "Mxd"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "mnprxan",
+        "mndha",
+        "mntru",
+        "mnspat"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "mn1",
+        "mn2",
+        "mn3",
+        "mn4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Jiyax sngayan",
+        "tgKingal jiyax iyax sngayan",
+        "tgDha jiyax iyax sngayan",
+        "tgTru jiyax iyax sngayan",
+        "tgSpac jiyax iyax sngayan",
+        "tgRima jiyax iyax sngayan",
+        "tgMataru jiyax iyax sngayan"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "E",
+        "K",
+        "D",
+        "T",
+        "S",
+        "R",
+        "M"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Emp",
+        "Kin",
+        "Dha",
+        "Tru",
+        "Spa",
+        "Rim",
+        "Mat"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_trv_TW.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_trv_TW.java
new file mode 100644
index 0000000..550c46a
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_trv_TW.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "trv_TW".
+ */
+public class DateTimeFormatInfoImpl_trv_TW extends DateTimeFormatInfoImpl_trv {
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 0;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ts.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ts.java
new file mode 100644
index 0000000..8b4c7de
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ts.java
@@ -0,0 +1,275 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ts".
+ */
+public class DateTimeFormatInfoImpl_ts extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yyyy-MM-dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BC",
+        "AD"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Sunguti",
+        "Nyenyenyani",
+        "Nyenyankulu",
+        "Dzivamisoko",
+        "Mudyaxihi",
+        "Khotavuxika",
+        "Mawuwani",
+        "Mhawuri",
+        "Ndzhati",
+        "Nhlangula",
+        "Hukuri",
+        "N'wendzamhala"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Sun",
+        "Yan",
+        "Kul",
+        "Dzi",
+        "Mud",
+        "Kho",
+        "Maw",
+        "Mha",
+        "Ndz",
+        "Nhl",
+        "Huk",
+        "N'w"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Kotara yo sungula",
+        "Kotara ya vumbirhi",
+        "Kotara ya vunharhu",
+        "Kotara ya vumune"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "K1",
+        "K2",
+        "K3",
+        "K4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Sonto",
+        "Musumbhunuku",
+        "Ravumbirhi",
+        "Ravunharhu",
+        "Ravumune",
+        "Ravuntlhanu",
+        "Mugqivela"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Son",
+        "Mus",
+        "Bir",
+        "Har",
+        "Ne",
+        "Tlh",
+        "Mug"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_tt.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_tt.java
new file mode 100644
index 0000000..42edd19
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_tt.java
@@ -0,0 +1,268 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "tt".
+ */
+public class DateTimeFormatInfoImpl_tt extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd.MM.yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd.MM.yyyy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "H:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "H:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ug.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ug.java
new file mode 100644
index 0000000..70af2a3
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ug.java
@@ -0,0 +1,268 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ug".
+ */
+public class DateTimeFormatInfoImpl_ug extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yyyy-MM-dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ug_Arab.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ug_Arab.java
new file mode 100644
index 0000000..8cb6f8d
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ug_Arab.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ug_Arab".
+ */
+public class DateTimeFormatInfoImpl_ug_Arab extends DateTimeFormatInfoImpl_ug {
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ug_Arab_CN.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ug_Arab_CN.java
new file mode 100644
index 0000000..7dee26f
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ug_Arab_CN.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ug_Arab_CN".
+ */
+public class DateTimeFormatInfoImpl_ug_Arab_CN extends DateTimeFormatInfoImpl_ug_Arab {
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 0;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_uk.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_uk.java
new file mode 100644
index 0000000..e910f67
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_uk.java
@@ -0,0 +1,327 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "uk".
+ */
+public class DateTimeFormatInfoImpl_uk extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "дп",
+        "пп"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d MMMM y 'р'.";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y 'р'.";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd.MM.yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "до нашої ери",
+        "нашої ери"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "до н.е.",
+        "н.е."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, d MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d.M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "LLL y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y 'р'.";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "LLLL y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y 'р'.";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M.y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d.M.y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d MMM y 'р'.";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y 'р'.";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y 'р'.";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "січня",
+        "лютого",
+        "березня",
+        "квітня",
+        "травня",
+        "червня",
+        "липня",
+        "серпня",
+        "вересня",
+        "жовтня",
+        "листопада",
+        "грудня"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return new String[] { 
+        "Січень",
+        "Лютий",
+        "Березень",
+        "Квітень",
+        "Травень",
+        "Червень",
+        "Липень",
+        "Серпень",
+        "Вересень",
+        "Жовтень",
+        "Листопад",
+        "Грудень"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "С",
+        "Л",
+        "Б",
+        "К",
+        "Т",
+        "Ч",
+        "Л",
+        "С",
+        "В",
+        "Ж",
+        "Л",
+        "Г"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "січ.",
+        "лют.",
+        "бер.",
+        "квіт.",
+        "трав.",
+        "черв.",
+        "лип.",
+        "серп.",
+        "вер.",
+        "жовт.",
+        "лист.",
+        "груд."
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return new String[] { 
+        "Січ",
+        "Лют",
+        "Бер",
+        "Кві",
+        "Тра",
+        "Чер",
+        "Лип",
+        "Сер",
+        "Вер",
+        "Жов",
+        "Лис",
+        "Гру"
+    };
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "I квартал",
+        "II квартал",
+        "III квартал",
+        "IV квартал"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "I кв.",
+        "II кв.",
+        "III кв.",
+        "IV кв."
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Неділя",
+        "Понеділок",
+        "Вівторок",
+        "Середа",
+        "Четвер",
+        "Пʼятниця",
+        "Субота"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "Н",
+        "П",
+        "В",
+        "С",
+        "Ч",
+        "П",
+        "С"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Нд",
+        "Пн",
+        "Вт",
+        "Ср",
+        "Чт",
+        "Пт",
+        "Сб"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ur.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ur.java
new file mode 100644
index 0000000..403ce7a
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ur.java
@@ -0,0 +1,239 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ur".
+ */
+public class DateTimeFormatInfoImpl_ur extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "قبل دوپہر",
+        "بعد دوپہر"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, d, MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d, MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d, MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "d/M/yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "قبل مسيح",
+        "عيسوی سن"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "ق م",
+        "عيسوی سن"
+    };
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d, MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d, MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d, MMM y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "جنوری",
+        "فروری",
+        "مار چ",
+        "اپريل",
+        "مئ",
+        "جون",
+        "جولائ",
+        "اگست",
+        "ستمبر",
+        "اکتوبر",
+        "نومبر",
+        "دسمبر"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "ج",
+        "ف",
+        "م",
+        "ا",
+        "م",
+        "ج",
+        "ج",
+        "ا",
+        "س",
+        "ا",
+        "ن",
+        "د"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "جنوری",
+        "فروری",
+        "مار چ",
+        "اپريل",
+        "مئ",
+        "جون",
+        "جولائ",
+        "اگست",
+        "ستمبر",
+        "اکتوبر",
+        "نومبر",
+        "دسمبر"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "پہلی سہ ماہی",
+        "دوسری سہ ماہی",
+        "تيسری سہ ماہی",
+        "چوتهی سہ ماہی"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "1سہ ماہی",
+        "2سہ ماہی",
+        "3سہ ماہی",
+        "4سہ ماہی"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "اتوار",
+        "پير",
+        "منگل",
+        "بده",
+        "جمعرات",
+        "جمعہ",
+        "ہفتہ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "ا",
+        "پ",
+        "م",
+        "ب",
+        "ج",
+        "ج",
+        "ہ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "اتوار",
+        "پير",
+        "منگل",
+        "بده",
+        "جمعرات",
+        "جمعہ",
+        "ہفتہ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ur_IN.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ur_IN.java
new file mode 100644
index 0000000..d3851aa
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ur_IN.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ur_IN".
+ */
+public class DateTimeFormatInfoImpl_ur_IN extends DateTimeFormatInfoImpl_ur {
+
+  @Override
+  public int weekendStart() {
+    return 0;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_uz.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_uz.java
new file mode 100644
index 0000000..110ec50
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_uz.java
@@ -0,0 +1,213 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "uz".
+ */
+public class DateTimeFormatInfoImpl_uz extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Муҳаррам",
+        "Сафар",
+        "Рабиул-аввал",
+        "Рабиул-охир",
+        "Жумодиул-уло",
+        "Жумодиул-ухро",
+        "Ражаб",
+        "Шаъбон",
+        "Рамазон",
+        "Шаввол",
+        "Зил-қаъда",
+        "Зил-ҳижжа"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "Я",
+        "Ф",
+        "М",
+        "А",
+        "М",
+        "И",
+        "И",
+        "А",
+        "С",
+        "О",
+        "Н",
+        "Д"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Янв",
+        "Фев",
+        "Мар",
+        "Апр",
+        "Май",
+        "Июн",
+        "Июл",
+        "Авг",
+        "Сен",
+        "Окт",
+        "Ноя",
+        "Дек"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "якшанба",
+        "душанба",
+        "сешанба",
+        "чоршанба",
+        "пайшанба",
+        "жума",
+        "шанба"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "Я",
+        "Д",
+        "С",
+        "Ч",
+        "П",
+        "Ж",
+        "Ш"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Якш",
+        "Душ",
+        "Сеш",
+        "Чор",
+        "Пай",
+        "Жум",
+        "Шан"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_uz_AF.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_uz_AF.java
new file mode 100644
index 0000000..72bf96c
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_uz_AF.java
@@ -0,0 +1,177 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "uz_AF".
+ */
+public class DateTimeFormatInfoImpl_uz_AF extends DateTimeFormatInfoImpl_uz {
+
+  @Override
+  public String dateFormatFull() {
+    return "y نچی ییل d نچی MMMM EEEE کونی";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d نچی MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yyyy/M/d";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "ق.م.",
+        "م."
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "ق.م.",
+        "م."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 6;
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "جنوری",
+        "فبروری",
+        "مارچ",
+        "اپریل",
+        "می",
+        "جون",
+        "جولای",
+        "اگست",
+        "سپتمبر",
+        "اکتوبر",
+        "نومبر",
+        "دسمبر"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "جنو",
+        "فبر",
+        "مار",
+        "اپر",
+        "مـی",
+        "جون",
+        "جول",
+        "اگس",
+        "سپت",
+        "اکت",
+        "نوم",
+        "دسم"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "H:mm:ss (zzzz)";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "H:mm:ss (z)";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "H:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "یکشنبه",
+        "دوشنبه",
+        "سه‌شنبه",
+        "چهارشنبه",
+        "پنجشنبه",
+        "جمعه",
+        "شنبه"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "ی.",
+        "د.",
+        "س.",
+        "چ.",
+        "پ.",
+        "ج.",
+        "ش."
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+
+  @Override
+  public int weekendEnd() {
+    return 5;
+  }
+
+  @Override
+  public int weekendStart() {
+    return 4;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_uz_Arab.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_uz_Arab.java
new file mode 100644
index 0000000..644487a
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_uz_Arab.java
@@ -0,0 +1,167 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "uz_Arab".
+ */
+public class DateTimeFormatInfoImpl_uz_Arab extends DateTimeFormatInfoImpl_uz {
+
+  @Override
+  public String dateFormatFull() {
+    return "y نچی ییل d نچی MMMM EEEE کونی";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d نچی MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yyyy/M/d";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "ق.م.",
+        "م."
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "ق.م.",
+        "م."
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "جنوری",
+        "فبروری",
+        "مارچ",
+        "اپریل",
+        "می",
+        "جون",
+        "جولای",
+        "اگست",
+        "سپتمبر",
+        "اکتوبر",
+        "نومبر",
+        "دسمبر"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "جنو",
+        "فبر",
+        "مار",
+        "اپر",
+        "مـی",
+        "جون",
+        "جول",
+        "اگس",
+        "سپت",
+        "اکت",
+        "نوم",
+        "دسم"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "H:mm:ss (zzzz)";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "H:mm:ss (z)";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "H:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "یکشنبه",
+        "دوشنبه",
+        "سه‌شنبه",
+        "چهارشنبه",
+        "پنجشنبه",
+        "جمعه",
+        "شنبه"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "ی.",
+        "د.",
+        "س.",
+        "چ.",
+        "پ.",
+        "ج.",
+        "ش."
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_uz_Arab_AF.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_uz_Arab_AF.java
new file mode 100644
index 0000000..6c165e0
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_uz_Arab_AF.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "uz_Arab_AF".
+ */
+public class DateTimeFormatInfoImpl_uz_Arab_AF extends DateTimeFormatInfoImpl_uz_Arab {
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 6;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_uz_Latn.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_uz_Latn.java
new file mode 100644
index 0000000..2b48fcb
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_uz_Latn.java
@@ -0,0 +1,129 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "uz_Latn".
+ */
+public class DateTimeFormatInfoImpl_uz_Latn extends DateTimeFormatInfoImpl_uz {
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "y/M/d";
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "Y",
+        "F",
+        "M",
+        "A",
+        "M",
+        "I",
+        "I",
+        "A",
+        "S",
+        "O",
+        "N",
+        "D"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Yanv",
+        "Fev",
+        "Mar",
+        "Apr",
+        "May",
+        "Iyun",
+        "Iyul",
+        "Avg",
+        "Sen",
+        "Okt",
+        "Noya",
+        "Dek"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "yakshanba",
+        "dushanba",
+        "seshanba",
+        "chorshanba",
+        "payshanba",
+        "juma",
+        "shanba"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "Y",
+        "D",
+        "S",
+        "C",
+        "P",
+        "J",
+        "S"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Yaksh",
+        "Dush",
+        "Sesh",
+        "Chor",
+        "Pay",
+        "Jum",
+        "Shan"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ve.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ve.java
new file mode 100644
index 0000000..879f223
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_ve.java
@@ -0,0 +1,275 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "ve".
+ */
+public class DateTimeFormatInfoImpl_ve extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/MM/dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BC",
+        "AD"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Phando",
+        "Luhuhi",
+        "Ṱhafamuhwe",
+        "Lambamai",
+        "Shundunthule",
+        "Fulwi",
+        "Fulwana",
+        "Ṱhangule",
+        "Khubvumedzi",
+        "Tshimedzi",
+        "Ḽara",
+        "Nyendavhusiku"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Pha",
+        "Luh",
+        "Ṱha",
+        "Lam",
+        "Shu",
+        "Lwi",
+        "Lwa",
+        "Ṱha",
+        "Khu",
+        "Tsh",
+        "Ḽar",
+        "Nye"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Kotara ya u thoma",
+        "Kotara ya vhuvhili",
+        "Kotara ya vhuraru",
+        "Kotara ya vhuṋa"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "K1",
+        "K2",
+        "K3",
+        "K4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Swondaha",
+        "Musumbuluwo",
+        "Ḽavhuvhili",
+        "Ḽavhuraru",
+        "Ḽavhuṋa",
+        "Ḽavhuṱanu",
+        "Mugivhela"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Swo",
+        "Mus",
+        "Vhi",
+        "Rar",
+        "Ṋa",
+        "Ṱan",
+        "Mug"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_vi.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_vi.java
new file mode 100644
index 0000000..c0d2706
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_vi.java
@@ -0,0 +1,291 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "vi".
+ */
+public class DateTimeFormatInfoImpl_vi extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "SA",
+        "CH"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, 'ngày' dd MMMM 'năm' y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "'Ngày' dd 'tháng' M 'năm' y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd-MM-yyyy";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yyyy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "tr. CN",
+        "sau CN"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "tr. CN",
+        "sau CN"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "d MMM";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "d MMMM";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE d MMMM";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "d-M";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "'Ngày' d 'tháng' MMM 'năm' y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "'Ngày' d 'tháng' MMMM 'năm' y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M-y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "'Ngày' d 'tháng' M 'năm' y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, 'ngày' d MMM 'năm' y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ yyyy";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q yyyy";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "tháng một",
+        "tháng hai",
+        "tháng ba",
+        "tháng tư",
+        "tháng năm",
+        "tháng sáu",
+        "tháng bảy",
+        "tháng tám",
+        "tháng chín",
+        "tháng mười",
+        "tháng mười một",
+        "tháng mười hai"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "thg 1",
+        "thg 2",
+        "thg 3",
+        "thg 4",
+        "thg 5",
+        "thg 6",
+        "thg 7",
+        "thg 8",
+        "thg 9",
+        "thg 10",
+        "thg 11",
+        "thg 12"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Chủ nhật",
+        "Thứ hai",
+        "Thứ ba",
+        "Thứ tư",
+        "Thứ năm",
+        "Thứ sáu",
+        "Thứ bảy"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "CN",
+        "Th 2",
+        "Th 3",
+        "Th 4",
+        "Th 5",
+        "Th 6",
+        "Th 7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_wal.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_wal.java
new file mode 100644
index 0000000..3c0f82b
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_wal.java
@@ -0,0 +1,261 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "wal".
+ */
+public class DateTimeFormatInfoImpl_wal extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "ማለዶ",
+        "ቃማ"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE፥ dd MMMM ጋላሳ y G";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "dd-MMM-y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yy";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "አዳ ዎዴ",
+        "ግሮተታ ላይታ"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "አዳ ዎዴ",
+        "ግሮተታ ላይታ"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "ጃንዩወሪ",
+        "ፌብሩወሪ",
+        "ማርች",
+        "ኤፕረል",
+        "ሜይ",
+        "ጁን",
+        "ጁላይ",
+        "ኦገስት",
+        "ሴፕቴምበር",
+        "ኦክተውበር",
+        "ኖቬምበር",
+        "ዲሴምበር"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "ጃ",
+        "ፌ",
+        "ማ",
+        "ኤ",
+        "ሜ",
+        "ጁ",
+        "ጁ",
+        "ኦ",
+        "ሴ",
+        "ኦ",
+        "ኖ",
+        "ዲ"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "ጃንዩ",
+        "ፌብሩ",
+        "ማርች",
+        "ኤፕረ",
+        "ሜይ",
+        "ጁን",
+        "ጁላይ",
+        "ኦገስ",
+        "ሴፕቴ",
+        "ኦክተ",
+        "ኖቬም",
+        "ዲሴም"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "ወጋ",
+        "ሳይኖ",
+        "ማቆሳኛ",
+        "አሩዋ",
+        "ሃሙሳ",
+        "አርባ",
+        "ቄራ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "ወ",
+        "ሳ",
+        "ማ",
+        "አ",
+        "ሃ",
+        "አ",
+        "ቄ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "ወጋ",
+        "ሳይኖ",
+        "ማቆሳኛ",
+        "አሩዋ",
+        "ሃሙሳ",
+        "አርባ",
+        "ቄራ"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_wal_ET.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_wal_ET.java
new file mode 100644
index 0000000..4c9a837
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_wal_ET.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "wal_ET".
+ */
+public class DateTimeFormatInfoImpl_wal_ET extends DateTimeFormatInfoImpl_wal {
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 6;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_wo.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_wo.java
new file mode 100644
index 0000000..63f72e5
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_wo.java
@@ -0,0 +1,273 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "wo".
+ */
+public class DateTimeFormatInfoImpl_wo extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yyyy-MM-dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "BCE",
+        "CE"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_xh.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_xh.java
new file mode 100644
index 0000000..2987f5d
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_xh.java
@@ -0,0 +1,265 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "xh".
+ */
+public class DateTimeFormatInfoImpl_xh extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yyyy-MM-dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BC",
+        "umnyaka wokuzalwa kukaYesu"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "MMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "MMMM d, y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "M/d/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, MMM d, y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Janyuwari",
+        "Februwari",
+        "Matshi",
+        "Epreli",
+        "Meyi",
+        "Juni",
+        "Julayi",
+        "Agasti",
+        "Septemba",
+        "Okthoba",
+        "Novemba",
+        "Disemba"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Jan",
+        "Feb",
+        "Mat",
+        "Epr",
+        "Mey",
+        "Jun",
+        "Jul",
+        "Aga",
+        "Sep",
+        "Okt",
+        "Nov",
+        "Dis"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "1 unyangantathu",
+        "2 unyangantathu",
+        "3 unyangantathu",
+        "4 unyangantathu"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Cawe",
+        "Mvulo",
+        "Lwesibini",
+        "Lwesithathu",
+        "Lwesine",
+        "Lwesihlanu",
+        "Mgqibelo"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Caw",
+        "Mvu",
+        "Bin",
+        "Tha",
+        "Sin",
+        "Hla",
+        "Mgq"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_yo.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_yo.java
new file mode 100644
index 0000000..3326d09
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_yo.java
@@ -0,0 +1,281 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "yo".
+ */
+public class DateTimeFormatInfoImpl_yo extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "àárọ̀",
+        "ọ̀sán"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE, y MMMM dd";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y MMMM d";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y MMM d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yyyy-MM-dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "Saju Kristi",
+        "Lehin Kristi"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "SK",
+        "LK"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "EEEE, MMMM d";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "MMM y";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "M/y";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "d/M/y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE, d MMM y";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "QQQQ y";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "Q y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Oṣù Ṣẹ́rẹ́",
+        "Oṣù Èrèlè",
+        "Oṣù Ẹrẹ̀nà",
+        "Oṣù Ìgbé",
+        "Oṣù Ẹ̀bibi",
+        "Oṣù Òkúdu",
+        "Oṣù Agẹmọ",
+        "Oṣù Ògún",
+        "Oṣù Owewe",
+        "Oṣù Ọ̀wàrà",
+        "Oṣù Bélú",
+        "Oṣù Ọ̀pẹ̀"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return monthsFull();
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Ṣẹ́rẹ́",
+        "Èrèlè",
+        "Ẹrẹ̀nà",
+        "Ìgbé",
+        "Ẹ̀bibi",
+        "Òkúdu",
+        "Agẹmọ",
+        "Ògún",
+        "Owewe",
+        "Ọ̀wàrà",
+        "Bélú",
+        "Ọ̀pẹ̀"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "HH:mm:ss zzzz";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "HH:mm:ss z";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "HH:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "HH:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Ọjọ́ Àìkú",
+        "Ọjọ́ Ajé",
+        "Ọjọ́ Ìsẹ́gun",
+        "Ọjọ́rú",
+        "Ọjọ́ Àṣẹ̀ṣẹ̀dáiyé",
+        "Ọjọ́ Ẹtì",
+        "Ọjọ́ Àbámẹ́ta"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Àìkú",
+        "Ajé",
+        "Ìsẹ́gun",
+        "Ọjọ́rú",
+        "Àṣẹ̀ṣẹ̀dáiyé",
+        "Ẹtì",
+        "Àbámẹ́ta"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_zh.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_zh.java
new file mode 100644
index 0000000..539b8c7
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_zh.java
@@ -0,0 +1,337 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "zh".
+ */
+public class DateTimeFormatInfoImpl_zh extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String[] ampms() {
+    return new String[] { 
+        "上午",
+        "下午"
+    };
+  }
+
+  @Override
+  public String dateFormatFull() {
+    return "y年M月d日EEEE";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y年M月d日";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "yyyy-M-d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy-M-d";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "公元前",
+        "公元"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "公元前",
+        "公元"
+    };
+  }
+
+  @Override
+  public String formatHour12Minute() {
+    return "ah:mm";
+  }
+
+  @Override
+  public String formatHour12MinuteSecond() {
+    return "ah:mm:ss";
+  }
+
+  @Override
+  public String formatHour24Minute() {
+    return "H:mm";
+  }
+
+  @Override
+  public String formatHour24MinuteSecond() {
+    return "H:mm:ss";
+  }
+
+  @Override
+  public String formatMonthAbbrevDay() {
+    return "MMMd日";
+  }
+
+  @Override
+  public String formatMonthFullDay() {
+    return "MMMMd日";
+  }
+
+  @Override
+  public String formatMonthFullWeekdayDay() {
+    return "MMMMd日EEEE";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "y年MMM";
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "y年MMMd日";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "y年MMMM";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "y年MMMMd日";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "yyyy-M";
+  }
+
+  @Override
+  public String formatYearMonthNumDay() {
+    return "y年M月d日";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "y年MMMd日EEE";
+  }
+
+  @Override
+  public String formatYearQuarterFull() {
+    return "y年QQQ";
+  }
+
+  @Override
+  public String formatYearQuarterShort() {
+    return "y年QQQ";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "1月",
+        "2月",
+        "3月",
+        "4月",
+        "5月",
+        "6月",
+        "7月",
+        "8月",
+        "9月",
+        "10月",
+        "11月",
+        "12月"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return new String[] { 
+        "一月",
+        "二月",
+        "三月",
+        "四月",
+        "五月",
+        "六月",
+        "七月",
+        "八月",
+        "九月",
+        "十月",
+        "十一月",
+        "十二月"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1月",
+        "2月",
+        "3月",
+        "4月",
+        "5月",
+        "6月",
+        "7月",
+        "8月",
+        "9月",
+        "10月",
+        "11月",
+        "12月"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "1月",
+        "2月",
+        "3月",
+        "4月",
+        "5月",
+        "6月",
+        "7月",
+        "8月",
+        "9月",
+        "10月",
+        "11月",
+        "12月"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return new String[] { 
+        "一月",
+        "二月",
+        "三月",
+        "四月",
+        "五月",
+        "六月",
+        "七月",
+        "八月",
+        "九月",
+        "十月",
+        "十一月",
+        "十二月"
+    };
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "第1季度",
+        "第2季度",
+        "第3季度",
+        "第4季度"
+    };
+  }
+
+  @Override
+  public String[] quartersShort() {
+    return new String[] { 
+        "1季",
+        "2季",
+        "3季",
+        "4季"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "zzzzah时mm分ss秒";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "zah时mm分ss秒";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "ahh:mm:ss";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "ah:mm";
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "星期日",
+        "星期一",
+        "星期二",
+        "星期三",
+        "星期四",
+        "星期五",
+        "星期六"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "日",
+        "一",
+        "二",
+        "三",
+        "四",
+        "五",
+        "六"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "周日",
+        "周一",
+        "周二",
+        "周三",
+        "周四",
+        "周五",
+        "周六"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_zh_HK.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_zh_HK.java
new file mode 100644
index 0000000..cabc4ba
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_zh_HK.java
@@ -0,0 +1,141 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "zh_HK".
+ */
+public class DateTimeFormatInfoImpl_zh_HK extends DateTimeFormatInfoImpl_zh {
+
+  @Override
+  public String dateFormatMedium() {
+    return "y年M月d日";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy年M月d日";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "西元前",
+        "西元"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "西元前",
+        "西元"
+    };
+  }
+
+  @Override
+  public String formatHour12MinuteSecond() {
+    return "ahh:mm:ss";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "y年M月";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "y年M月";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "yyyy/M";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "y年M月d日EEE";
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "第1季",
+        "第2季",
+        "第3季",
+        "第4季"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "zzzzah時mm分ss秒";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "zah時mm分ss秒";
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "週日",
+        "週一",
+        "週二",
+        "週三",
+        "週四",
+        "週五",
+        "週六"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_zh_MO.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_zh_MO.java
new file mode 100644
index 0000000..e5634e7
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_zh_MO.java
@@ -0,0 +1,151 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "zh_MO".
+ */
+public class DateTimeFormatInfoImpl_zh_MO extends DateTimeFormatInfoImpl_zh {
+
+  @Override
+  public String dateFormatFull() {
+    return "y年MM月dd日EEEE";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "y年MM月dd日";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "y年M月d日";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy年M月d日";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "西元前",
+        "西元"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "西元前",
+        "西元"
+    };
+  }
+
+  @Override
+  public String formatHour12MinuteSecond() {
+    return "ahh:mm:ss";
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "y年M月";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "y年M月";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "yyyy/M";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "y年M月d日EEE";
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "第1季",
+        "第2季",
+        "第3季",
+        "第4季"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "zzzzah時mm分ss秒";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "zah時mm分ss秒";
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "週日",
+        "週一",
+        "週二",
+        "週三",
+        "週四",
+        "週五",
+        "週六"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_zh_SG.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_zh_SG.java
new file mode 100644
index 0000000..cd2acdb
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_zh_SG.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "zh_SG".
+ */
+public class DateTimeFormatInfoImpl_zh_SG extends DateTimeFormatInfoImpl_zh {
+
+  @Override
+  public String dateFormatShort() {
+    return "dd/MM/yy";
+  }
+
+  @Override
+  public String formatHour12Minute() {
+    return "ahh:mm";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "ahh:mm:ssz";
+  }
+
+  @Override
+  public String timeFormatShort() {
+    return "ahh:mm";
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_zh_TW.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_zh_TW.java
new file mode 100644
index 0000000..3c83ac7
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_zh_TW.java
@@ -0,0 +1,141 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "zh_TW".
+ */
+public class DateTimeFormatInfoImpl_zh_TW extends DateTimeFormatInfoImpl_zh {
+
+  @Override
+  public String dateFormatMedium() {
+    return "yyyy/M/d";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yy/M/d";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "西元前",
+        "西元"
+    };
+  }
+
+  @Override
+  public String[] erasShort() {
+    return new String[] { 
+        "西元前",
+        "西元"
+    };
+  }
+
+  @Override
+  public String formatMonthNumDay() {
+    return "M/d";
+  }
+
+  @Override
+  public String formatYearMonthAbbrev() {
+    return "y年M月";
+  }
+
+  @Override
+  public String formatYearMonthFull() {
+    return "y年M月";
+  }
+
+  @Override
+  public String formatYearMonthNum() {
+    return "yyyy/M";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "y年M月d日EEE";
+  }
+
+  @Override
+  public String[] monthsNarrow() {
+    return new String[] { 
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12"
+    };
+  }
+
+  @Override
+  public String[] monthsNarrowStandalone() {
+    return monthsNarrow();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "第1季",
+        "第2季",
+        "第3季",
+        "第4季"
+    };
+  }
+
+  @Override
+  public String timeFormatFull() {
+    return "zzzzah時mm分ss秒";
+  }
+
+  @Override
+  public String timeFormatLong() {
+    return "zah時mm分ss秒";
+  }
+
+  @Override
+  public String timeFormatMedium() {
+    return "ah:mm:ss";
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "週日",
+        "週一",
+        "週二",
+        "週三",
+        "週四",
+        "週五",
+        "週六"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_zu.java b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_zu.java
new file mode 100644
index 0000000..3106f60
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/client/impl/cldr/DateTimeFormatInfoImpl_zu.java
@@ -0,0 +1,195 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client.impl.cldr;
+
+// DO NOT EDIT - GENERATED FROM CLDR DATA
+
+/**
+ * Implementation of DateTimeFormatInfo for locale "zu".
+ */
+public class DateTimeFormatInfoImpl_zu extends DateTimeFormatInfoImpl {
+
+  @Override
+  public String dateFormatFull() {
+    return "EEEE dd MMMM y";
+  }
+
+  @Override
+  public String dateFormatLong() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String dateFormatMedium() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String dateFormatShort() {
+    return "yyyy-MM-dd";
+  }
+
+  @Override
+  public String[] erasFull() {
+    return new String[] { 
+        "BC",
+        "AD"
+    };
+  }
+
+  @Override
+  public int firstDayOfTheWeek() {
+    return 1;
+  }
+
+  @Override
+  public String formatYearMonthAbbrevDay() {
+    return "d MMM y";
+  }
+
+  @Override
+  public String formatYearMonthFullDay() {
+    return "d MMMM y";
+  }
+
+  @Override
+  public String formatYearMonthWeekdayDay() {
+    return "EEE d MMM y";
+  }
+
+  @Override
+  public String[] monthsFull() {
+    return new String[] { 
+        "Januwari",
+        "Februwari",
+        "Mashi",
+        "Apreli",
+        "Meyi",
+        "Juni",
+        "Julayi",
+        "Agasti",
+        "Septhemba",
+        "Okthoba",
+        "Novemba",
+        "Disemba"
+    };
+  }
+
+  @Override
+  public String[] monthsFullStandalone() {
+    return new String[] { 
+        "uJanuwari",
+        "uFebruwari",
+        "uMashi",
+        "u-Apreli",
+        "uMeyi",
+        "uJuni",
+        "uJulayi",
+        "uAgasti",
+        "uSepthemba",
+        "u-Okthoba",
+        "uNovemba",
+        "uDisemba"
+    };
+  }
+
+  @Override
+  public String[] monthsShort() {
+    return new String[] { 
+        "Jan",
+        "Feb",
+        "Mas",
+        "Apr",
+        "Mey",
+        "Jun",
+        "Jul",
+        "Aga",
+        "Sep",
+        "Okt",
+        "Nov",
+        "Dis"
+    };
+  }
+
+  @Override
+  public String[] monthsShortStandalone() {
+    return monthsShort();
+  }
+
+  @Override
+  public String[] quartersFull() {
+    return new String[] { 
+        "Q1",
+        "Q2",
+        "Q3",
+        "Q4"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFull() {
+    return new String[] { 
+        "Sonto",
+        "Msombuluko",
+        "Lwesibili",
+        "Lwesithathu",
+        "uLwesine",
+        "Lwesihlanu",
+        "Mgqibelo"
+    };
+  }
+
+  @Override
+  public String[] weekdaysFullStandalone() {
+    return weekdaysFull();
+  }
+
+  @Override
+  public String[] weekdaysNarrow() {
+    return new String[] { 
+        "S",
+        "M",
+        "B",
+        "T",
+        "S",
+        "H",
+        "M"
+    };
+  }
+
+  @Override
+  public String[] weekdaysNarrowStandalone() {
+    return weekdaysNarrow();
+  }
+
+  @Override
+  public String[] weekdaysShort() {
+    return new String[] { 
+        "Son",
+        "Mso",
+        "Bil",
+        "Tha",
+        "Sin",
+        "Hla",
+        "Mgq"
+    };
+  }
+
+  @Override
+  public String[] weekdaysShortStandalone() {
+    return weekdaysShort();
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/rebind/CustomDateTimeFormatGenerator.java b/user/src/com/google/gwt/i18n/rebind/CustomDateTimeFormatGenerator.java
new file mode 100644
index 0000000..dc3ea14
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/rebind/CustomDateTimeFormatGenerator.java
@@ -0,0 +1,130 @@
+/*
+ * 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.
+ */
+package com.google.gwt.i18n.rebind;
+
+import com.google.gwt.core.ext.Generator;
+import com.google.gwt.core.ext.GeneratorContext;
+import com.google.gwt.core.ext.PropertyOracle;
+import com.google.gwt.core.ext.TreeLogger;
+import com.google.gwt.core.ext.UnableToCompleteException;
+import com.google.gwt.core.ext.typeinfo.JClassType;
+import com.google.gwt.core.ext.typeinfo.JMethod;
+import com.google.gwt.core.ext.typeinfo.JType;
+import com.google.gwt.core.ext.typeinfo.NotFoundException;
+import com.google.gwt.core.ext.typeinfo.TypeOracle;
+import com.google.gwt.i18n.client.CustomDateTimeFormat;
+import com.google.gwt.i18n.client.DateTimeFormat;
+import com.google.gwt.i18n.client.CustomDateTimeFormat.Pattern;
+import com.google.gwt.i18n.shared.GwtLocale;
+import com.google.gwt.user.rebind.ClassSourceFileComposerFactory;
+import com.google.gwt.user.rebind.SourceWriter;
+
+import java.io.PrintWriter;
+
+/**
+ * Generator used to generate an implementation of a
+ * {@link CustomDateTimeFormat} interface, computing the best matching localized
+ * format patterns at compile time.
+ */
+public class CustomDateTimeFormatGenerator extends Generator {
+
+  /**
+   * Generate an implementation for the given type.
+   * 
+   * @param logger error logger
+   * @param context generator context
+   * @param typeName target type name
+   * @return generated class name
+   * @throws UnableToCompleteException
+   */
+  @Override
+  public final String generate(TreeLogger logger, final GeneratorContext context,
+      String typeName) throws UnableToCompleteException {
+    TypeOracle typeOracle = context.getTypeOracle();
+    // Get the current locale and interface type.
+    PropertyOracle propertyOracle = context.getPropertyOracle();
+    LocaleUtils localeUtils = LocaleUtils.getInstance(logger,
+        propertyOracle);
+
+    JClassType targetClass;
+    try {
+      targetClass = typeOracle.getType(typeName);
+    } catch (NotFoundException e) {
+      logger.log(TreeLogger.ERROR, "No such type " + typeName, e);
+      throw new UnableToCompleteException();
+    }
+    JClassType cdtfClass;
+    try {
+      cdtfClass = typeOracle.getType(CustomDateTimeFormat.class.getName());
+    } catch (NotFoundException e) {
+      logger.log(TreeLogger.ERROR, "No such type "
+          + CustomDateTimeFormat.class.getName(), e);
+      throw new UnableToCompleteException();
+    }
+    if (!cdtfClass.isAssignableFrom(targetClass)) {
+      logger.log(TreeLogger.ERROR, typeName + " is not assignable to "
+          + CustomDateTimeFormat.class.getName());
+      throw new UnableToCompleteException();
+    }
+    JClassType dateTimeFormat;
+    try {
+      dateTimeFormat = typeOracle.getType(DateTimeFormat.class.getName());
+    } catch (NotFoundException e) {
+      logger.log(TreeLogger.ERROR, "No DateTimeFormat type?", e);
+      throw new UnableToCompleteException();
+    }
+    // TODO(jat): runtime locales support
+    GwtLocale gwtLocale = localeUtils.getCompileLocale();
+    DateTimePatternGenerator dtpg = new DateTimePatternGenerator(gwtLocale);
+    String packageName = targetClass.getPackage().getName();
+    String className = targetClass.getName().replace('.', '_') + "_"
+        + gwtLocale.getAsString();
+    PrintWriter pw = context.tryCreate(logger, packageName, className);
+    if (pw != null) {
+      ClassSourceFileComposerFactory factory = new ClassSourceFileComposerFactory(
+          packageName, className);
+      factory.addImplementedInterface(targetClass.getQualifiedSourceName());
+      factory.addImport("com.google.gwt.i18n.client.DateTimeFormat");
+      SourceWriter writer = factory.createSourceWriter(context, pw);
+      writer.indent();
+      for (JMethod method : targetClass.getMethods()) {
+        JType returnType = method.getReturnType();
+        if (returnType != dateTimeFormat) {
+          logger.log(TreeLogger.ERROR, typeName + "." + method.getName()
+              + " must return DateTimeFormat");
+          throw new UnableToCompleteException();
+        }
+        Pattern annotation = method.getAnnotation(Pattern.class);
+        if (annotation == null) {
+          logger.log(TreeLogger.ERROR, typeName + "." + method.getName()
+              + " must have an @Pattern annotation");
+          throw new UnableToCompleteException();
+        }
+        String pattern = annotation.value();
+        pattern = dtpg.getBestPattern(pattern); 
+        writer.println();
+        writer.println("public "
+            + method.getReturnType().getQualifiedSourceName() + " "
+            + method.getName() + "() {");
+        writer.println("  return DateTimeFormat.getFormat(\"" + pattern
+            + "\");");
+        writer.println("}");
+      }
+      writer.commit(logger);
+    }
+    return packageName + "." + className;
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/rebind/DateTimePatternGenerator.java b/user/src/com/google/gwt/i18n/rebind/DateTimePatternGenerator.java
new file mode 100644
index 0000000..b84d04a
--- /dev/null
+++ b/user/src/com/google/gwt/i18n/rebind/DateTimePatternGenerator.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.rebind;
+
+import com.google.gwt.i18n.shared.GwtLocale;
+
+import com.ibm.icu.util.ULocale;
+
+/**
+ * Helper class to create a localized date/time pattern based on a pattern
+ * skeleton.
+ */
+class DateTimePatternGenerator {
+  // TODO(jat): Currently uses ICU4J's DateTimePatternGenerator, but should
+  // probably be rewritten to avoid that dependency.
+
+  private final com.ibm.icu.text.DateTimePatternGenerator dtpg;
+
+  /**
+   * Construct a DateTimePatternGenerator for a given locale.
+   * 
+   * @param gwtLocale
+   */
+  public DateTimePatternGenerator(GwtLocale gwtLocale) {
+    String localeName = gwtLocale.getAsString();
+    localeName = ULocale.canonicalize(localeName);
+    ULocale locale = new ULocale(localeName);
+    dtpg = com.ibm.icu.text.DateTimePatternGenerator.getInstance(locale);
+  }
+
+  /**
+   * Get the best matching localized pattern for the requested skeleton
+   * pattern.
+   * 
+   * @param skeleton a skeleton pattern consisting of groups of pattern
+   *     characters - spaces and punctuation are ignored
+   * @return a localized pattern suitable for use with
+   *     {@link com.google.gwt.i18n.client.DateTimeFormat}.
+   */
+  public String getBestPattern(String skeleton) {
+    return dtpg.getBestPattern(skeleton);
+  }
+}
diff --git a/user/src/com/google/gwt/i18n/rebind/LocaleInfoGenerator.java b/user/src/com/google/gwt/i18n/rebind/LocaleInfoGenerator.java
index fd1ba61..50c58c2 100644
--- a/user/src/com/google/gwt/i18n/rebind/LocaleInfoGenerator.java
+++ b/user/src/com/google/gwt/i18n/rebind/LocaleInfoGenerator.java
@@ -228,8 +228,8 @@
       factory.addImport("com.google.gwt.i18n.client.LocaleInfo");
       factory.addImport("com.google.gwt.i18n.client.constants.NumberConstants");
       factory.addImport("com.google.gwt.i18n.client.constants.NumberConstantsImpl");
-      factory.addImport("com.google.gwt.i18n.client.constants.DateTimeConstants");
-      factory.addImport("com.google.gwt.i18n.client.constants.DateTimeConstantsImpl");
+      factory.addImport("com.google.gwt.i18n.client.DateTimeFormatInfo");
+      factory.addImport("com.google.gwt.i18n.client.impl.cldr.DateTimeFormatInfoImpl");
       SourceWriter writer = factory.createSourceWriter(context, pw);
       writer.println("@Override");
       writer.println("public String getLocaleName() {");
@@ -243,13 +243,13 @@
       writer.println("}");
       writer.println();
       writer.println("@Override");
-      writer.println("public DateTimeConstants getDateTimeConstants() {");
+      writer.println("public DateTimeFormatInfo getDateTimeFormatInfo() {");
       LocalizableGenerator localizableGenerator = new LocalizableGenerator();
       // Avoid warnings for trying to create the same type multiple times
       GeneratorContext subContext = new CachedGeneratorContext(context);
       generateConstantsLookup(logger, subContext, writer, localizableGenerator,
           runtimeLocales, locale,
-          "com.google.gwt.i18n.client.constants.DateTimeConstantsImpl");
+          "com.google.gwt.i18n.client.impl.cldr.DateTimeFormatInfoImpl");
       writer.println("}");
       writer.println();
       writer.println("@Override");
diff --git a/user/src/com/google/gwt/i18n/rebind/MessagesMethodCreator.java b/user/src/com/google/gwt/i18n/rebind/MessagesMethodCreator.java
index 4513ab0..bd65d7c 100644
--- a/user/src/com/google/gwt/i18n/rebind/MessagesMethodCreator.java
+++ b/user/src/com/google/gwt/i18n/rebind/MessagesMethodCreator.java
@@ -26,6 +26,7 @@
 import com.google.gwt.i18n.client.DateTimeFormat;
 import com.google.gwt.i18n.client.NumberFormat;
 import com.google.gwt.i18n.client.PluralRule;
+import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat;
 import com.google.gwt.i18n.client.Messages.Optional;
 import com.google.gwt.i18n.client.Messages.PluralCount;
 import com.google.gwt.i18n.client.Messages.PluralText;
@@ -51,8 +52,9 @@
    * Implements {x,date...} references in MessageFormat.
    */
   private static class DateFormatter implements ValueFormatter {
-    public String format(StringGenerator out, String subformat, String argName,
-        JType argType) {
+    // TODO(jat): should we issue warnings for this formatter?
+    public String format(GwtLocale locale, StringGenerator out,
+        String subformat, String argName, JType argType) {
       if (!"java.util.Date".equals(argType.getQualifiedSourceName())) {
         return "Only java.util.Date acceptable for date format";
       }
@@ -77,11 +79,50 @@
   }
 
   /**
+   * Implements {x,localdatetime,skeleton} references in MessageFormat.
+   */
+  private static class LocalDateTimeFormatter implements ValueFormatter {
+    private static final String PREDEF = "predef:";
+
+    public String format(GwtLocale locale, StringGenerator out,
+        String subformat, String argName, JType argType) {
+      if (!"java.util.Date".equals(argType.getQualifiedSourceName())) {
+        return "Only java.util.Date acceptable for localdatetime format";
+      }
+      if (subformat == null || subformat.length() == 0) {
+        return "localdatetime format requires a skeleton pattern";
+      }
+      if (subformat.startsWith(PREDEF)) {
+        // TODO(jat): error checking/logging
+        PredefinedFormat predef;
+        try {
+          predef = PredefinedFormat.valueOf(subformat.substring(
+              PREDEF.length()));
+        } catch (IllegalArgumentException e) {
+          return e.getMessage();
+        }
+        out.appendExpression(dtFormatClassName + ".getFormat("
+            + PredefinedFormat.class.getName() + "." + predef.toString()
+            + ").format(" + argName + ")", true);
+        return null;
+      }
+      DateTimePatternGenerator dtpg = new DateTimePatternGenerator(locale);
+      String pattern = dtpg.getBestPattern(subformat);
+      if (pattern == null) {
+        return "Invalid localdatetime skeleton pattern \"" + subformat + "\"";
+      }
+      out.appendExpression(dtFormatClassName + ".getFormat("
+          + wrap(pattern) + ").format(" + argName + ")", true);
+      return null;
+    }
+  }
+
+  /**
    * Implements {x,number...} references in MessageFormat.
    */
   private static class NumberFormatter implements ValueFormatter {
-    public String format(StringGenerator out, String subformat, String argName,
-        JType argType) {
+    public String format(GwtLocale locale, StringGenerator out,
+        String subformat, String argName, JType argType) {
       JPrimitiveType argPrimType = argType.isPrimitive();
       if (argPrimType != null) {
         if (argPrimType == JPrimitiveType.BOOLEAN
@@ -234,8 +275,9 @@
    * Implements {x,time...} references in MessageFormat.
    */
   private static class TimeFormatter implements ValueFormatter {
-    public String format(StringGenerator out, String subformat, String argName,
-        JType argType) {
+    // TODO(jat): should we issue warnings for this formatter?
+    public String format(GwtLocale locale, StringGenerator out,
+        String subformat, String argName, JType argType) {
       if (!"java.util.Date".equals(argType.getQualifiedSourceName())) {
         return "Only java.util.Date acceptable for date format";
       }
@@ -263,14 +305,17 @@
     /**
      * Creates code to format a value according to a format string.
      * 
+     * @param locale current locale
      * @param out StringBuffer to append to
      * @param subformat the remainder of the format string
      * @param argName the name of the argument to use in the generated code
      * @param argType the type of the argument
      * @return null if no error or an appropriate error message
      */
-    String format(StringGenerator out, String subformat, String argName,
-        JType argType);
+    // TODO(jat): change to pass in logger and return boolean, also enable
+    //     dynamic data supplied in other parameters
+    String format(GwtLocale locale, StringGenerator out, String subformat,
+        String argName, JType argType);
   }
 
   /**
@@ -292,6 +337,7 @@
     formatters.put("date", new DateFormatter());
     formatters.put("number", new NumberFormatter());
     formatters.put("time", new TimeFormatter());
+    formatters.put("localdatetime", new LocalDateTimeFormatter());
     // TODO: implement ChoiceFormat and PluralFormat
   }
 
@@ -362,7 +408,7 @@
           generated.append("  // " + pluralForms[i].getName() + " - "
               + pluralForms[i].getDescription() + "\n");
           generated.append("  case " + i + ": return ");
-          generateString(logger, template, params, seenFlags, generated);
+          generateString(logger, locale, template, params, seenFlags, generated);
           generated.append(";\n");
         } else if (pluralForms[i].getWarnIfMissing()) {
           logger.log(TreeLogger.WARN, "No plural form '"
@@ -375,7 +421,7 @@
     }
     generated.append("return ");
     String template = resourceList.getRequiredStringExt(key, null);
-    generateString(logger, template, params, seenFlags, generated);
+    generateString(logger, locale, template, params, seenFlags, generated);
 
     // Generate an error if any required parameter was not used somewhere.
     for (int i = 0; i < numParams; ++i) {
@@ -455,9 +501,9 @@
    * @throws UnableToCompleteException
    */
   @SuppressWarnings("fallthrough")
-  private void generateString(TreeLogger logger, String template,
-      JParameter[] params, boolean[] seenFlag, StringBuffer outputBuf)
-      throws UnableToCompleteException {
+  private void generateString(TreeLogger logger, GwtLocale locale,
+      String template, JParameter[] params, boolean[] seenFlag,
+      StringBuffer outputBuf) throws UnableToCompleteException {
     StringGenerator buf = new StringGenerator(outputBuf);
     try {
       for (TemplateChunk chunk : MessageFormatParser.parse(template)) {
@@ -477,7 +523,10 @@
             String subformat = argChunk.getSubFormat();
             ValueFormatter formatter = formatters.get(format);
             if (formatter != null) {
-              String err = formatter.format(buf, subformat, arg,
+              // TODO(jat): add support for specifying additional dynamic data
+              //     in another argument -- examples would be the currency code
+              //     for a number format or the timezone for a date/time format.
+              String err = formatter.format(locale, buf, subformat, arg,
                   params[argNumber].getType());
               if (err != null) {
                 throw error(logger, err);
diff --git a/user/src/com/google/gwt/user/datepicker/client/CalendarModel.java b/user/src/com/google/gwt/user/datepicker/client/CalendarModel.java
index 0ea4bda..4eb1e3d 100644
--- a/user/src/com/google/gwt/user/datepicker/client/CalendarModel.java
+++ b/user/src/com/google/gwt/user/datepicker/client/CalendarModel.java
@@ -17,6 +17,7 @@
 package com.google.gwt.user.datepicker.client;
 
 import com.google.gwt.i18n.client.DateTimeFormat;
+import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat;
 
 import java.util.Date;
 
@@ -165,7 +166,7 @@
    * @return the day of month formatter
    */
   protected DateTimeFormat getDayOfMonthFormatter() {
-    return DateTimeFormat.getFormat("d");
+    return DateTimeFormat.getFormat(PredefinedFormat.DAY);
   }
 
   /**
@@ -183,7 +184,7 @@
    * @return the month and year formatter
    */
   protected DateTimeFormat getMonthAndYearFormatter() {
-    return DateTimeFormat.getFormat("MMM yyyy");
+    return DateTimeFormat.getFormat(PredefinedFormat.YEAR_MONTH_ABBR);
   }
 
   /**
diff --git a/user/src/com/google/gwt/user/datepicker/client/CalendarUtil.java b/user/src/com/google/gwt/user/datepicker/client/CalendarUtil.java
index 5ad66b2..f085b1c 100644
--- a/user/src/com/google/gwt/user/datepicker/client/CalendarUtil.java
+++ b/user/src/com/google/gwt/user/datepicker/client/CalendarUtil.java
@@ -17,8 +17,8 @@
 package com.google.gwt.user.datepicker.client;
 
 import com.google.gwt.core.client.GWT;
+import com.google.gwt.i18n.client.DateTimeFormatInfo;
 import com.google.gwt.i18n.client.LocaleInfo;
-import com.google.gwt.i18n.client.constants.DateTimeConstants;
 
 import java.util.Date;
 
@@ -27,20 +27,17 @@
  */
 public class CalendarUtil {
 
-  static DateTimeConstants intlConstants;
-
   private static int firstDayOfWeekend;
-
   private static int lastDayOfWeekend;
   private static int startingDay;
 
   static {
     if (GWT.isClient()) {
-      intlConstants = LocaleInfo.getCurrentLocale().getDateTimeConstants();
+      DateTimeFormatInfo dateTimeFormatInfo = LocaleInfo.getCurrentLocale().getDateTimeFormatInfo();
       // Finding the start and end of weekend
-      firstDayOfWeekend = Integer.parseInt(intlConstants.weekendRange()[0]) - 1;
-      lastDayOfWeekend = Integer.parseInt(intlConstants.weekendRange()[1]) - 1;
-      startingDay = Integer.parseInt(CalendarUtil.intlConstants.firstDayOfTheWeek()) - 1;
+      firstDayOfWeekend = dateTimeFormatInfo.weekendStart();
+      lastDayOfWeekend = dateTimeFormatInfo.weekendEnd();
+      startingDay = dateTimeFormatInfo.firstDayOfTheWeek();
     }
   }
 
diff --git a/user/test/com/google/gwt/i18n/client/DateTimeFormatTestBase.java b/user/test/com/google/gwt/i18n/client/DateTimeFormatTestBase.java
new file mode 100644
index 0000000..ae4da68
--- /dev/null
+++ b/user/test/com/google/gwt/i18n/client/DateTimeFormatTestBase.java
@@ -0,0 +1,80 @@
+/*
+ * Copyright 2010 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.
+ */
+package com.google.gwt.i18n.client;
+
+import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat;
+import com.google.gwt.junit.client.GWTTestCase;
+
+import java.util.Date;
+
+/**
+ * Base class for date/time format tests.
+ */
+public abstract class DateTimeFormatTestBase extends GWTTestCase {
+
+  /**
+   * The timezone used by any tests which use a fixed timezone.
+   */
+  protected static final TimeZone TEST_TIMEZONE = TimeZone.createTimeZone(300);
+
+  /**
+   * Class for getting customized date/time formats.
+   */
+  public interface MyFormats extends CustomDateTimeFormat {
+
+    /**
+     * @return a pattern for abbreviated year, month, and date.
+     */
+    @Pattern("yMMMd")
+    DateTimeFormat yearMonthDayAbbrev();
+
+    /**
+     * @return a pattern for full year, month, and date.
+     */
+    @Pattern("yyyyMMMMd")
+    DateTimeFormat yearMonthDayFull();
+
+    /**
+     * @return a pattern for full year, month, and date.
+     */
+    @Pattern("MMMM d, yyyy")
+    DateTimeFormat yearMonthDayFull2();
+  }
+
+  /**
+   * Test date/time formats in messages.
+   */
+  public interface MyMessages extends Messages {
+    @DefaultMessage("It is {0,localdatetime,dMMMy}")
+    String getCustomizedDate(Date date);
+  }
+
+  @SuppressWarnings("deprecation")
+  public void testIso8601() {
+    DateTimeFormat dtf = DateTimeFormat.getFormat(PredefinedFormat.ISO_8601);
+    Date date = new Date(Date.UTC(2006 - 1900, 6, 27, 13, 10, 10));
+    String str = dtf.format(date, TEST_TIMEZONE);
+    assertEquals("2006-07-27T08:10:10.000-05:00", str);
+  }
+
+  @SuppressWarnings("deprecation")
+  public void testRfc2822() {
+    DateTimeFormat dtf = DateTimeFormat.getFormat(PredefinedFormat.RFC_2822);
+    Date date = new Date(Date.UTC(2006 - 1900, 6, 27, 13, 10, 10));
+    String str = dtf.format(date, TEST_TIMEZONE);
+    assertEquals("Thu, 27 Jul 2006 08:10:10 -0500", str);
+  }
+}
\ No newline at end of file
diff --git a/user/test/com/google/gwt/i18n/client/DateTimeFormat_de_Test.java b/user/test/com/google/gwt/i18n/client/DateTimeFormat_de_Test.java
index d0c0bee..abe3c3e 100644
--- a/user/test/com/google/gwt/i18n/client/DateTimeFormat_de_Test.java
+++ b/user/test/com/google/gwt/i18n/client/DateTimeFormat_de_Test.java
@@ -15,7 +15,7 @@
  */
 package com.google.gwt.i18n.client;
 
-import com.google.gwt.junit.client.GWTTestCase;
+import com.google.gwt.core.client.GWT;
 
 import java.util.Date;
 
@@ -24,7 +24,7 @@
  * language.
  */
 @SuppressWarnings("deprecation")
-public class DateTimeFormat_de_Test extends GWTTestCase {
+public class DateTimeFormat_de_Test extends DateTimeFormatTestBase {
 
   @Override
   public String getModuleName() {
@@ -214,4 +214,18 @@
     assertEquals("02006.J.27 n. Chr. 01:10 nachm.", DateTimeFormat.getFormat(
         "yyyyy.MMMMM.dd GGG hh:mm aaa").format(date));
   }
+
+  public void testCustomFormats() {
+    MyFormats m = GWT.create(MyFormats.class);
+    Date d = new Date(2010 - 1900, 1, 15, 12, 0, 0);
+    assertEquals("15. Feb 2010", m.yearMonthDayAbbrev().format(d));
+    assertEquals("15. Februar 2010", m.yearMonthDayFull().format(d));
+    assertEquals("15. Februar 2010", m.yearMonthDayFull2().format(d));
+  }
+
+  public void testMessageDateTime() {
+    MyMessages m = GWT.create(MyMessages.class);
+    Date d = new Date(2010 - 1900, 1, 15, 12, 0, 0);
+    assertEquals("Es ist 15. Feb 2010", m.getCustomizedDate(d));
+  }
 }
diff --git a/user/test/com/google/gwt/i18n/client/DateTimeFormat_en_Test.java b/user/test/com/google/gwt/i18n/client/DateTimeFormat_en_Test.java
index 15178cc..5694748 100644
--- a/user/test/com/google/gwt/i18n/client/DateTimeFormat_en_Test.java
+++ b/user/test/com/google/gwt/i18n/client/DateTimeFormat_en_Test.java
@@ -17,7 +17,7 @@
 
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.i18n.client.constants.TimeZoneConstants;
-import com.google.gwt.junit.client.GWTTestCase;
+import com.google.gwt.i18n.client.impl.cldr.DateTimeFormatInfoImpl_de;
 
 import java.util.Date;
 
@@ -26,11 +26,22 @@
  * language.
  */
 @SuppressWarnings("deprecation")
-public class DateTimeFormat_en_Test extends GWTTestCase {
+public class DateTimeFormat_en_Test extends DateTimeFormatTestBase {
+
+  private static class GermanDTF extends DateTimeFormat {
+
+    public static DateTimeFormat getFormat(String pattern) {
+      return DateTimeFormat.getFormat(pattern, new DateTimeFormatInfoImpl_de());
+    }
+
+    protected GermanDTF(String pattern) {
+      super(pattern);
+    }
+  }
 
   @Override
   public String getModuleName() {
-    return "com.google.gwt.i18n.I18NTest";
+    return "com.google.gwt.i18n.I18NTest_en";
   }
 
   public void test_ccc() {
@@ -122,48 +133,6 @@
     Date date = new Date(2006 - 1900, 6, 27, 13, 10, 10);
     assertEquals("J", DateTimeFormat.getFormat("LLLLL").format(date));
   }
-  
-  public void test_S() {
-    Date date = new Date(0);
-    assertEquals("0", DateTimeFormat.getFormat("S").format(date));
-    
-    date = new Date(55);
-    assertEquals("1", DateTimeFormat.getFormat("S").format(date));
-    
-    date = new Date(555);
-    assertEquals("6", DateTimeFormat.getFormat("S").format(date));
-    
-    date = new Date(999);
-    assertEquals("9", DateTimeFormat.getFormat("S").format(date));
-  }
-  
-  public void test_SS() {
-    Date date = new Date(0);
-    assertEquals("00", DateTimeFormat.getFormat("SS").format(date));
-    
-    date = new Date(55);
-    assertEquals("06", DateTimeFormat.getFormat("SS").format(date));
-    
-    date = new Date(555);
-    assertEquals("56", DateTimeFormat.getFormat("SS").format(date));
-    
-    date = new Date(999);
-    assertEquals("99", DateTimeFormat.getFormat("SS").format(date));
-  }
-  
-  public void test_SSS() {    
-    Date date = new Date(0);
-    assertEquals("000", DateTimeFormat.getFormat("SSS").format(date));
-    
-    date = new Date(55);
-    assertEquals("055", DateTimeFormat.getFormat("SSS").format(date));
-    
-    date = new Date(555);
-    assertEquals("555", DateTimeFormat.getFormat("SSS").format(date));
-    
-    date = new Date(999);
-    assertEquals("999", DateTimeFormat.getFormat("SSS").format(date));
-  }
 
   public void test_predefinedFormat() {
     Date date = new Date(2006 - 1900, 7, 4, 13, 49, 24);
@@ -211,7 +180,7 @@
         usPacific);
     assertEquals("8/4/06 1:49 PM", shortFormat);
   }
-
+  
   public void test_QQQQyy() {
     Date date;
 
@@ -263,7 +232,7 @@
     assertEquals("4th quarter 06", DateTimeFormat.getFormat("QQQQ yy").format(
         date));
   }
-
+  
   public void test_QQyyyy() {
     Date date = new Date(2006 - 1900, 0, 27);
     date.setHours(13);
@@ -326,7 +295,7 @@
     date.setSeconds(10);
     assertEquals("Q4 2006", DateTimeFormat.getFormat("QQ yyyy").format(date));
   }
-
+  
   public void test_quote() {
     Date date = new Date(2006 - 1900, 6, 27);
     date.setHours(13);
@@ -339,6 +308,20 @@
     assertEquals("13 '", DateTimeFormat.getFormat("HH ''").format(date));
   }
 
+  public void test_S() {
+    Date date = new Date(0);
+    assertEquals("0", DateTimeFormat.getFormat("S").format(date));
+    
+    date = new Date(55);
+    assertEquals("1", DateTimeFormat.getFormat("S").format(date));
+    
+    date = new Date(555);
+    assertEquals("6", DateTimeFormat.getFormat("S").format(date));
+    
+    date = new Date(999);
+    assertEquals("9", DateTimeFormat.getFormat("S").format(date));
+  }
+
   public void test_simepleTimezonev() {
     TimeZone simpleTimeZone = TimeZone.createTimeZone(480);
 
@@ -387,13 +370,41 @@
     assertEquals("07/27/2006 06:10:10 -0700", DateTimeFormat.getFormat(
         "MM/dd/yyyy HH:mm:ss ZZ").format(date, simpleTimeZone));
 
-    assertEquals("07/27/2006 06:10:10 -0700", DateTimeFormat.getFormat(
+    assertEquals("07/27/2006 06:10:10 -07:00", DateTimeFormat.getFormat(
         "MM/dd/yyyy HH:mm:ss ZZZ").format(date, simpleTimeZone));
 
     assertEquals("07/27/2006 06:10:10 GMT-07:00", DateTimeFormat.getFormat(
         "MM/dd/yyyy HH:mm:ss ZZZZ").format(date, simpleTimeZone));
   }
 
+  public void test_SS() {
+    Date date = new Date(0);
+    assertEquals("00", DateTimeFormat.getFormat("SS").format(date));
+    
+    date = new Date(55);
+    assertEquals("06", DateTimeFormat.getFormat("SS").format(date));
+    
+    date = new Date(555);
+    assertEquals("56", DateTimeFormat.getFormat("SS").format(date));
+    
+    date = new Date(999);
+    assertEquals("99", DateTimeFormat.getFormat("SS").format(date));
+  }
+
+  public void test_SSS() {    
+    Date date = new Date(0);
+    assertEquals("000", DateTimeFormat.getFormat("SSS").format(date));
+    
+    date = new Date(55);
+    assertEquals("055", DateTimeFormat.getFormat("SSS").format(date));
+    
+    date = new Date(555);
+    assertEquals("555", DateTimeFormat.getFormat("SSS").format(date));
+    
+    date = new Date(999);
+    assertEquals("999", DateTimeFormat.getFormat("SSS").format(date));
+  }
+
   public void test_timezonev() {
     TimeZoneConstants timeZoneData = GWT.create(TimeZoneConstants.class);
     String str = timeZoneData.americaLosAngeles();
@@ -469,7 +480,7 @@
     assertEquals("07/27/2006 06:10:10 -0700", DateTimeFormat.getFormat(
         "MM/dd/yyyy HH:mm:ss ZZ").format(date, usPacific));
 
-    assertEquals("07/27/2006 06:10:10 -0700", DateTimeFormat.getFormat(
+    assertEquals("07/27/2006 06:10:10 -07:00", DateTimeFormat.getFormat(
         "MM/dd/yyyy HH:mm:ss ZZZ").format(date, usPacific));
 
     assertEquals("07/27/2006 06:10:10 GMT-07:00", DateTimeFormat.getFormat(
@@ -482,7 +493,7 @@
     assertEquals("02/27/2006 05:10:10 -0800", DateTimeFormat.getFormat(
         "MM/dd/yyyy HH:mm:ss ZZ").format(date, usPacific));
 
-    assertEquals("02/27/2006 05:10:10 -0800", DateTimeFormat.getFormat(
+    assertEquals("02/27/2006 05:10:10 -08:00", DateTimeFormat.getFormat(
         "MM/dd/yyyy HH:mm:ss ZZZ").format(date, usPacific));
 
     assertEquals("02/27/2006 05:10:10 GMT-08:00", DateTimeFormat.getFormat(
@@ -494,7 +505,29 @@
     assertEquals("02006.J.27 AD 01:10 PM", DateTimeFormat.getFormat(
         "yyyyy.MMMMM.dd GGG hh:mm aaa").format(date));
   }
-  
+
+  public void testCustomFormats() {
+    MyFormats m = GWT.create(MyFormats.class);
+    Date d = new Date(2010 - 1900, 1, 15, 12, 0, 0);
+    assertEquals("Feb 15, 2010", m.yearMonthDayAbbrev().format(d));
+    assertEquals("February 15, 2010", m.yearMonthDayFull().format(d));
+    assertEquals("February 15, 2010", m.yearMonthDayFull2().format(d));
+  }
+
+  public void testMessageDateTime() {
+    MyMessages m = GWT.create(MyMessages.class);
+    Date d = new Date(2010 - 1900, 1, 15, 12, 0, 0);
+    assertEquals("It is Feb 15, 2010", m.getCustomizedDate(d));
+  }
+
+  public void testPatternCaching() {
+    DateTimeFormat dtf = DateTimeFormat.getFormat("MMMM d");
+    Date d = new Date(2010 - 1900, 1, 15, 12, 0, 0);
+    assertEquals("February 15", dtf.format(d));
+    dtf = GermanDTF.getFormat("MMMM d");
+    assertEquals("Februar 15", dtf.format(d));
+  }
+
   public void testPre1970Milliseconds() {
     Date date = new Date(-631151998945L); // Jan 1, 1950 00:00:01.055 UTC
     
diff --git a/user/test_i18n_bar/com/google/gwt/i18n/client/DateTimeFormatTestBase_MyMessages_de.properties b/user/test_i18n_bar/com/google/gwt/i18n/client/DateTimeFormatTestBase_MyMessages_de.properties
new file mode 100644
index 0000000..1d7bbce
--- /dev/null
+++ b/user/test_i18n_bar/com/google/gwt/i18n/client/DateTimeFormatTestBase_MyMessages_de.properties
@@ -0,0 +1 @@
+getCustomizedDate=Es ist {0,localdatetime,dMMMy}
\ No newline at end of file
diff --git a/user/test_i18n_bar/com/google/gwt/i18n/client/DateTimeFormatTestBase_MyMessages_en.properties b/user/test_i18n_bar/com/google/gwt/i18n/client/DateTimeFormatTestBase_MyMessages_en.properties
new file mode 100644
index 0000000..78b180c
--- /dev/null
+++ b/user/test_i18n_bar/com/google/gwt/i18n/client/DateTimeFormatTestBase_MyMessages_en.properties
@@ -0,0 +1 @@
+getCustomizedDate=It is {0,localdatetime,dMMMy}
\ No newline at end of file