/*
 * Copyright 2012 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.core.client.JavaScriptObject;

// DO NOT EDIT - GENERATED FROM CLDR DATA:
//  cldrVersion=21.0
//  number=$Revision: 6546 $
//  date=$Date: 2012-02-07 13:32:35 -0500 (Tue, 07 Feb 2012) $
//  type=root


/**
 * Localized names for the "cgg" locale.
 */
public class LocalizedNamesImpl_cgg extends LocalizedNamesImpl {

  @Override
  public String[] loadSortedRegionCodes() {
    return new String[] {
        "AC",
        "AF",
        "IS",
        "CI",
        "AE",
        "US",
        "AD",
        "AG",
        "AO",
        "AI",
        "AN",
        "AQ",
        "AR",
        "DZ",
        "AM",
        "AW",
        "AL",
        "AX",
        "AZ",
        "BB",
        "BS",
        "BH",
        "BD",
        "BY",
        "BJ",
        "BM",
        "BZ",
        "BL",
        "BF",
        "BO",
        "BW",
        "BA",
        "BQ",
        "BE",
        "FR",
        "FI",
        "DE",
        "GB",
        "BR",
        "BG",
        "TL",
        "BI",
        "BN",
        "BT",
        "TR",
        "BV",
        "CC",
        "TD",
        "CL",
        "CN",
        "CP",
        "CU",
        "CW",
        "CX",
        "DK",
        "CD",
        "DG",
        "DM",
        "EA",
        "MP",
        "TC",
        "FK",
        "KY",
        "CV",
        "CK",
        "MH",
        "SB",
        "VI",
        "VG",
        "EH",
        "CF",
        "NF",
        "SV",
        "ER",
        "EE",
        "ET",
        "EU",
        "FJ",
        "PH",
        "FO",
        "GA",
        "GM",
        "GH",
        "GG",
        "GI",
        "GN",
        "GW",
        "GS",
        "GQ",
        "GD",
        "GL",
        "GR",
        "GY",
        "GF",
        "GP",
        "GU",
        "GT",
        "JM",
        "JP",
        "DJ",
        "GE",
        "HT",
        "HU",
        "HK",
        "HM",
        "HN",
        "NL",
        "IC",
        "EC",
        "IM",
        "IN",
        "ID",
        "IO",
        "IQ",
        "IR",
        "IE",
        "IL",
        "IT",
        "JE",
        "KH",
        "CM",
        "CA",
        "QA",
        "KZ",
        "KE",
        "KI",
        "KG",
        "CG",
        "HR",
        "KR",
        "KP",
        "CO",
        "KM",
        "CR",
        "KW",
        "LU",
        "LV",
        "LA",
        "LB",
        "LS",
        "LR",
        "LY",
        "LI",
        "LT",
        "MG",
        "MW",
        "MY",
        "ML",
        "MV",
        "MT",
        "MQ",
        "MK",
        "MU",
        "MR",
        "YT",
        "ME",
        "MX",
        "MF",
        "FM",
        "EG",
        "MO",
        "MC",
        "MN",
        "MS",
        "MD",
        "MA",
        "MZ",
        "MM",
        "NE",
        "NG",
        "NA",
        "NR",
        "NP",
        "NI",
        "NU",
        "NC",
        "NZ",
        "NO",
        "OM",
        "AU",
        "AT",
        "PK",
        "PW",
        "PA",
        "PG",
        "PY",
        "PE",
        "PN",
        "PT",
        "PF",
        "PL",
        "PS",
        "PR",
        "QO",
        "DO",
        "CZ",
        "RE",
        "RO",
        "RU",
        "RS",
        "RW",
        "CS",
        "CY",
        "SM",
        "WS",
        "AS",
        "SA",
        "ZA",
        "ST",
        "SN",
        "SH",
        "KN",
        "PM",
        "LC",
        "VC",
        "SC",
        "SG",
        "ES",
        "LK",
        "SY",
        "SK",
        "SI",
        "SL",
        "SJ",
        "SO",
        "SS",
        "SD",
        "SR",
        "SZ",
        "SE",
        "CH",
        "SX",
        "TA",
        "TH",
        "TJ",
        "TZ",
        "TW",
        "TF",
        "TG",
        "TK",
        "TO",
        "TN",
        "TT",
        "TM",
        "TV",
        "UG",
        "UA",
        "UM",
        "UY",
        "UZ",
        "VU",
        "VA",
        "VE",
        "VN",
        "WF",
        "YE",
        "JO",
        "ZM",
        "ZW",
    };
  }

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("AD", "Andora");
    namesMap.put("AE", "Amahanga ga Buharabu ageeteereine");
    namesMap.put("AF", "Afuganistani");
    namesMap.put("AG", "Angiguwa na Babuda");
    namesMap.put("AI", "Angwira");
    namesMap.put("AL", "Arubania");
    namesMap.put("AM", "Arimeniya");
    namesMap.put("AN", "Antiri za Hoorandi");
    namesMap.put("AO", "Angora");
    namesMap.put("AR", "Arigentina");
    namesMap.put("AS", "Samowa ya Ameerika");
    namesMap.put("AT", "Osituria");
    namesMap.put("AU", "Ositureeriya");
    namesMap.put("AZ", "Azabagyani");
    namesMap.put("BA", "Boziniya na Hezegovina");
    namesMap.put("BB", "Babadosi");
    namesMap.put("BD", "Bangaradeshi");
    namesMap.put("BE", "Bubirigi");
    namesMap.put("BF", "Bokina Faso");
    namesMap.put("BG", "Burugariya");
    namesMap.put("BH", "Bahareni");
    namesMap.put("BJ", "Benini");
    namesMap.put("BM", "Berimuda");
    namesMap.put("BN", "Burunei");
    namesMap.put("BO", "Boriiviya");
    namesMap.put("BR", "Buraziiri");
    namesMap.put("BS", "Bahama");
    namesMap.put("BT", "Butani");
    namesMap.put("BY", "Bararusi");
    namesMap.put("BZ", "Berize");
    namesMap.put("CA", "Kanada");
    namesMap.put("CD", "Demokoratika Ripaaburika ya Kongo");
    namesMap.put("CF", "Eihanga rya Rwagati ya Afirika");
    namesMap.put("CG", "Kongo");
    namesMap.put("CH", "Swisi");
    namesMap.put("CI", "Aivore Kositi");
    namesMap.put("CK", "Ebizinga bya Kuuku");
    namesMap.put("CM", "Kameruuni");
    namesMap.put("CO", "Korombiya");
    namesMap.put("CR", "Kositarika");
    namesMap.put("CS", "Saabiya na Monteneguro");
    namesMap.put("CV", "Ebizinga bya Kepuvade");
    namesMap.put("CY", "Saipurasi");
    namesMap.put("CZ", "Ripaaburika ya Zeeki");
    namesMap.put("DE", "Bugirimaani");
    namesMap.put("DJ", "Gyibuti");
    namesMap.put("DK", "Deenimaaka");
    namesMap.put("DM", "Dominika");
    namesMap.put("DO", "Ripaaburika ya Dominica");
    namesMap.put("DZ", "Arigyeriya");
    namesMap.put("EC", "Ikweda");
    namesMap.put("EE", "Esitoniya");
    namesMap.put("EG", "Misiri");
    namesMap.put("ER", "Eriteriya");
    namesMap.put("ES", "Sipeyini");
    namesMap.put("ET", "Ethiyopiya");
    namesMap.put("FI", "Bufini");
    namesMap.put("FJ", "Figyi");
    namesMap.put("FK", "Ebizinga bya Faakilanda");
    namesMap.put("FM", "Mikironesiya");
    namesMap.put("FR", "Bufaransa");
    namesMap.put("GA", "Gabooni");
    namesMap.put("GB", "Bungyereza");
    namesMap.put("GD", "Gurenada");
    namesMap.put("GE", "Gyogiya");
    namesMap.put("GF", "Guyana ya Bufaransa");
    namesMap.put("GH", "Gana");
    namesMap.put("GI", "Giburaata");
    namesMap.put("GL", "Guriinirandi");
    namesMap.put("GM", "Gambiya");
    namesMap.put("GN", "Gine");
    namesMap.put("GP", "Gwaderupe");
    namesMap.put("GQ", "Guni");
    namesMap.put("GR", "Guriisi");
    namesMap.put("GT", "Gwatemara");
    namesMap.put("GU", "Gwamu");
    namesMap.put("GW", "Ginebisau");
    namesMap.put("HN", "Hondurasi");
    namesMap.put("HR", "Korasiya");
    namesMap.put("HU", "Hangare");
    namesMap.put("ID", "Indoneeziya");
    namesMap.put("IE", "Irerandi");
    namesMap.put("IL", "Isirairi");
    namesMap.put("IN", "Indiya");
    namesMap.put("IQ", "Iraaka");
    namesMap.put("IR", "Iraani");
    namesMap.put("IS", "Aisilandi");
    namesMap.put("IT", "Itare");
    namesMap.put("JM", "Gyamaika");
    namesMap.put("JO", "Yorudaani");
    namesMap.put("JP", "Gyapaani");
    namesMap.put("KG", "Kirigizistani");
    namesMap.put("KH", "Kambodiya");
    namesMap.put("KM", "Koromo");
    namesMap.put("KN", "Senti Kittis na Nevisi");
    namesMap.put("KP", "Koreya Amatemba");
    namesMap.put("KR", "Koreya Amashuuma");
    namesMap.put("KW", "Kuweiti");
    namesMap.put("KY", "Ebizinga bya Kayimani");
    namesMap.put("KZ", "Kazakisitani");
    namesMap.put("LA", "Layosi");
    namesMap.put("LB", "Lebanoni");
    namesMap.put("LC", "Senti Rusiya");
    namesMap.put("LI", "Lishenteni");
    namesMap.put("LK", "Siriranka");
    namesMap.put("LR", "Liberiya");
    namesMap.put("LU", "Lakizembaaga");
    namesMap.put("LV", "Latviya");
    namesMap.put("MD", "Moridova");
    namesMap.put("MG", "Madagasika");
    namesMap.put("MH", "Ebizinga bya Marshaa");
    namesMap.put("MK", "Masedoonia");
    namesMap.put("ML", "Mari");
    namesMap.put("MM", "Myanamar");
    namesMap.put("MN", "Mongoria");
    namesMap.put("MP", "Ebizinga by'amatemba ga Mariana");
    namesMap.put("MR", "Mauriteeniya");
    namesMap.put("MS", "Montserrati");
    namesMap.put("MT", "Marita");
    namesMap.put("MU", "Maurishiasi");
    namesMap.put("MV", "Maridives");
    namesMap.put("MW", "Marawi");
    namesMap.put("MY", "marayizia");
    namesMap.put("NA", "Namibiya");
    namesMap.put("NC", "Niukaredonia");
    namesMap.put("NE", "Naigya");
    namesMap.put("NF", "Ekizinga Norifoko");
    namesMap.put("NG", "Naigyeriya");
    namesMap.put("NI", "Nikaragwa");
    namesMap.put("NL", "Hoorandi");
    namesMap.put("NO", "Noorwe");
    namesMap.put("NP", "Nepo");
    namesMap.put("NZ", "Niuzirandi");
    namesMap.put("OM", "Omaani");
    namesMap.put("PF", "Polinesia ya Bufaransa");
    namesMap.put("PG", "Papua");
    namesMap.put("PH", "Firipino");
    namesMap.put("PK", "Pakisitaani");
    namesMap.put("PL", "Poorandi");
    namesMap.put("PM", "Senti Piyerre na Mikweron");
    namesMap.put("PN", "Pitkaini");
    namesMap.put("PR", "Pwetoriko");
    namesMap.put("PT", "Pocugo");
    namesMap.put("PW", "Palaawu");
    namesMap.put("PY", "Paragwai");
    namesMap.put("QA", "Kata");
    namesMap.put("RE", "Riyuniyoni");
    namesMap.put("RO", "Romaniya");
    namesMap.put("RU", "Rrasha");
    namesMap.put("SA", "Saudi Areebiya");
    namesMap.put("SB", "Ebizinga bya Surimaani");
    namesMap.put("SC", "Shesheresi");
    namesMap.put("SD", "Sudani");
    namesMap.put("SE", "Swideni");
    namesMap.put("SG", "Singapo");
    namesMap.put("SH", "Senti Herena");
    namesMap.put("SI", "Sirovaaniya");
    namesMap.put("SK", "Sirovaakiya");
    namesMap.put("SL", "Sirra Riyooni");
    namesMap.put("SM", "Samarino");
    namesMap.put("SN", "Senego");
    namesMap.put("SO", "Somaariya");
    namesMap.put("SR", "Surinaamu");
    namesMap.put("ST", "Sawo Tome na Purinsipo");
    namesMap.put("SV", "Eri Salivado");
    namesMap.put("SY", "Siriya");
    namesMap.put("SZ", "Swazirandi");
    namesMap.put("TC", "Ebizinga bya Buturuki na Kaiko");
    namesMap.put("TD", "Chadi");
    namesMap.put("TH", "Tairandi");
    namesMap.put("TJ", "Tajikisitani");
    namesMap.put("TK", "Tokerawu");
    namesMap.put("TL", "Burugweizooba bwa Timori");
    namesMap.put("TM", "Turukimenisitani");
    namesMap.put("TN", "Tunizia");
    namesMap.put("TR", "Buturuki /Take");
    namesMap.put("TT", "Turinidad na Tobago");
    namesMap.put("TV", "Tuvaru");
    namesMap.put("TW", "Tayiwaani");
    namesMap.put("UA", "Ukureini");
    namesMap.put("US", "Amerika");
    namesMap.put("UY", "Urugwai");
    namesMap.put("UZ", "Uzibekisitani");
    namesMap.put("VA", "Vatikani");
    namesMap.put("VC", "Senti Vinsent na Gurenadini");
    namesMap.put("VE", "Venezuwera");
    namesMap.put("VG", "Ebizinga bya Virigini ebya Bungyereza");
    namesMap.put("VI", "Ebizinga bya Virigini ebya Amerika");
    namesMap.put("VN", "Viyetinaamu");
    namesMap.put("WF", "Warris na Futuna");
    namesMap.put("WS", "Samowa");
    namesMap.put("YE", "Yemeni");
    namesMap.put("YT", "Mayote");
    namesMap.put("ZA", "Sausi Afirika");
  }

  @Override
  protected JavaScriptObject loadNameMapNative() {
    return overrideMap(super.loadNameMapNative(), loadMyNameMap());
  }

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "AD": "Andora",
        "AE": "Amahanga ga Buharabu ageeteereine",
        "AF": "Afuganistani",
        "AG": "Angiguwa na Babuda",
        "AI": "Angwira",
        "AL": "Arubania",
        "AM": "Arimeniya",
        "AN": "Antiri za Hoorandi",
        "AO": "Angora",
        "AR": "Arigentina",
        "AS": "Samowa ya Ameerika",
        "AT": "Osituria",
        "AU": "Ositureeriya",
        "AZ": "Azabagyani",
        "BA": "Boziniya na Hezegovina",
        "BB": "Babadosi",
        "BD": "Bangaradeshi",
        "BE": "Bubirigi",
        "BF": "Bokina Faso",
        "BG": "Burugariya",
        "BH": "Bahareni",
        "BJ": "Benini",
        "BM": "Berimuda",
        "BN": "Burunei",
        "BO": "Boriiviya",
        "BR": "Buraziiri",
        "BS": "Bahama",
        "BT": "Butani",
        "BY": "Bararusi",
        "BZ": "Berize",
        "CA": "Kanada",
        "CD": "Demokoratika Ripaaburika ya Kongo",
        "CF": "Eihanga rya Rwagati ya Afirika",
        "CG": "Kongo",
        "CH": "Swisi",
        "CI": "Aivore Kositi",
        "CK": "Ebizinga bya Kuuku",
        "CM": "Kameruuni",
        "CO": "Korombiya",
        "CR": "Kositarika",
        "CS": "Saabiya na Monteneguro",
        "CV": "Ebizinga bya Kepuvade",
        "CY": "Saipurasi",
        "CZ": "Ripaaburika ya Zeeki",
        "DE": "Bugirimaani",
        "DJ": "Gyibuti",
        "DK": "Deenimaaka",
        "DM": "Dominika",
        "DO": "Ripaaburika ya Dominica",
        "DZ": "Arigyeriya",
        "EC": "Ikweda",
        "EE": "Esitoniya",
        "EG": "Misiri",
        "ER": "Eriteriya",
        "ES": "Sipeyini",
        "ET": "Ethiyopiya",
        "FI": "Bufini",
        "FJ": "Figyi",
        "FK": "Ebizinga bya Faakilanda",
        "FM": "Mikironesiya",
        "FR": "Bufaransa",
        "GA": "Gabooni",
        "GB": "Bungyereza",
        "GD": "Gurenada",
        "GE": "Gyogiya",
        "GF": "Guyana ya Bufaransa",
        "GH": "Gana",
        "GI": "Giburaata",
        "GL": "Guriinirandi",
        "GM": "Gambiya",
        "GN": "Gine",
        "GP": "Gwaderupe",
        "GQ": "Guni",
        "GR": "Guriisi",
        "GT": "Gwatemara",
        "GU": "Gwamu",
        "GW": "Ginebisau",
        "HN": "Hondurasi",
        "HR": "Korasiya",
        "HU": "Hangare",
        "ID": "Indoneeziya",
        "IE": "Irerandi",
        "IL": "Isirairi",
        "IN": "Indiya",
        "IQ": "Iraaka",
        "IR": "Iraani",
        "IS": "Aisilandi",
        "IT": "Itare",
        "JM": "Gyamaika",
        "JO": "Yorudaani",
        "JP": "Gyapaani",
        "KG": "Kirigizistani",
        "KH": "Kambodiya",
        "KM": "Koromo",
        "KN": "Senti Kittis na Nevisi",
        "KP": "Koreya Amatemba",
        "KR": "Koreya Amashuuma",
        "KW": "Kuweiti",
        "KY": "Ebizinga bya Kayimani",
        "KZ": "Kazakisitani",
        "LA": "Layosi",
        "LB": "Lebanoni",
        "LC": "Senti Rusiya",
        "LI": "Lishenteni",
        "LK": "Siriranka",
        "LR": "Liberiya",
        "LU": "Lakizembaaga",
        "LV": "Latviya",
        "MD": "Moridova",
        "MG": "Madagasika",
        "MH": "Ebizinga bya Marshaa",
        "MK": "Masedoonia",
        "ML": "Mari",
        "MM": "Myanamar",
        "MN": "Mongoria",
        "MP": "Ebizinga by'amatemba ga Mariana",
        "MR": "Mauriteeniya",
        "MS": "Montserrati",
        "MT": "Marita",
        "MU": "Maurishiasi",
        "MV": "Maridives",
        "MW": "Marawi",
        "MY": "marayizia",
        "NA": "Namibiya",
        "NC": "Niukaredonia",
        "NE": "Naigya",
        "NF": "Ekizinga Norifoko",
        "NG": "Naigyeriya",
        "NI": "Nikaragwa",
        "NL": "Hoorandi",
        "NO": "Noorwe",
        "NP": "Nepo",
        "NZ": "Niuzirandi",
        "OM": "Omaani",
        "PF": "Polinesia ya Bufaransa",
        "PG": "Papua",
        "PH": "Firipino",
        "PK": "Pakisitaani",
        "PL": "Poorandi",
        "PM": "Senti Piyerre na Mikweron",
        "PN": "Pitkaini",
        "PR": "Pwetoriko",
        "PT": "Pocugo",
        "PW": "Palaawu",
        "PY": "Paragwai",
        "QA": "Kata",
        "RE": "Riyuniyoni",
        "RO": "Romaniya",
        "RU": "Rrasha",
        "SA": "Saudi Areebiya",
        "SB": "Ebizinga bya Surimaani",
        "SC": "Shesheresi",
        "SD": "Sudani",
        "SE": "Swideni",
        "SG": "Singapo",
        "SH": "Senti Herena",
        "SI": "Sirovaaniya",
        "SK": "Sirovaakiya",
        "SL": "Sirra Riyooni",
        "SM": "Samarino",
        "SN": "Senego",
        "SO": "Somaariya",
        "SR": "Surinaamu",
        "ST": "Sawo Tome na Purinsipo",
        "SV": "Eri Salivado",
        "SY": "Siriya",
        "SZ": "Swazirandi",
        "TC": "Ebizinga bya Buturuki na Kaiko",
        "TD": "Chadi",
        "TH": "Tairandi",
        "TJ": "Tajikisitani",
        "TK": "Tokerawu",
        "TL": "Burugweizooba bwa Timori",
        "TM": "Turukimenisitani",
        "TN": "Tunizia",
        "TR": "Buturuki /Take",
        "TT": "Turinidad na Tobago",
        "TV": "Tuvaru",
        "TW": "Tayiwaani",
        "UA": "Ukureini",
        "US": "Amerika",
        "UY": "Urugwai",
        "UZ": "Uzibekisitani",
        "VA": "Vatikani",
        "VC": "Senti Vinsent na Gurenadini",
        "VE": "Venezuwera",
        "VG": "Ebizinga bya Virigini ebya Bungyereza",
        "VI": "Ebizinga bya Virigini ebya Amerika",
        "VN": "Viyetinaamu",
        "WF": "Warris na Futuna",
        "WS": "Samowa",
        "YE": "Yemeni",
        "YT": "Mayote",
        "ZA": "Sausi Afirika"
    };
  }-*/;
}
