/*
 * 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

/**
 * Localized names for the "br" locale.
 */
public class LocalizedNamesImpl_br extends LocalizedNamesImpl {

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "Bed");
    namesMap.put("002", "Afrika");
    namesMap.put("003", "Norzhamerika");
    namesMap.put("005", "Suamerika");
    namesMap.put("009", "Oseania");
    namesMap.put("011", "Afrika ar Cʼhornôg");
    namesMap.put("013", "Kreizamerika");
    namesMap.put("014", "Afrika ar Reter");
    namesMap.put("015", "Afrika an Norzh");
    namesMap.put("017", "Afrika ar Cʼhreiz");
    namesMap.put("018", "Afrika ar Su");
    namesMap.put("019", "Amerikaoù");
    namesMap.put("021", "Amerika an Norzh");
    namesMap.put("029", "Karib");
    namesMap.put("030", "Azia ar Reter");
    namesMap.put("034", "Azia ar Su");
    namesMap.put("035", "Azia ar Gevred");
    namesMap.put("039", "Europa ar Su");
    namesMap.put("053", "Aostralazia");
    namesMap.put("054", "Melanezia");
    namesMap.put("057", "Rannved Mikronezia");
    namesMap.put("061", "Polinezia");
    namesMap.put("142", "Azia");
    namesMap.put("143", "Azia ar Cʼhreiz");
    namesMap.put("145", "Azia ar Cʼhornôg");
    namesMap.put("150", "Europa");
    namesMap.put("151", "Europa ar Reter");
    namesMap.put("154", "Europa an Norzh");
    namesMap.put("155", "Europa ar Cʼhornôg");
    namesMap.put("419", "Amerika Latin");
    namesMap.put("AC", "Enez Ascension");
    namesMap.put("AE", "Emirelezhioù Arab Unanet");
    namesMap.put("AG", "Antigua ha Barbuda");
    namesMap.put("AN", "Antilhez Nederlandat");
    namesMap.put("AQ", "Antarktika");
    namesMap.put("AR", "Arcʼhantina");
    namesMap.put("AS", "Samoa Amerikan");
    namesMap.put("AT", "Aostria");
    namesMap.put("AU", "Aostralia");
    namesMap.put("AX", "Inizi Åland");
    namesMap.put("AZ", "Azerbaidjan");
    namesMap.put("BA", "Bosnia ha Herzegovina");
    namesMap.put("BE", "Belgia");
    namesMap.put("BH", "Bahrein");
    namesMap.put("BQ", "Nederlandat Karib");
    namesMap.put("BT", "Bhoutan");
    namesMap.put("BV", "Enez Bouvet");
    namesMap.put("CA", "Kanada");
    namesMap.put("CC", "Inizi Kokoz");
    namesMap.put("CD", "Kongo - Kinshasa");
    namesMap.put("CF", "Republik Kreizafrikan");
    namesMap.put("CG", "Kongo - Brazzaville");
    namesMap.put("CH", "Suis");
    namesMap.put("CI", "Aod an Olifant");
    namesMap.put("CK", "Inizi Cook");
    namesMap.put("CM", "Kameroun");
    namesMap.put("CN", "Sina");
    namesMap.put("CO", "Kolombia");
    namesMap.put("CP", "Enez Clipperton");
    namesMap.put("CU", "Kuba");
    namesMap.put("CV", "Kab Glas");
    namesMap.put("CX", "Enez Christmas");
    namesMap.put("CY", "Kiprenez");
    namesMap.put("CZ", "Republik Tchek");
    namesMap.put("DE", "Alamagn");
    namesMap.put("DK", "Danmark");
    namesMap.put("DO", "Republik Dominikan");
    namesMap.put("DZ", "Aljeria");
    namesMap.put("EA", "Ceuta ha Melilla");
    namesMap.put("EG", "Egipt");
    namesMap.put("EH", "Sahara ar Cʼhornôg");
    namesMap.put("ES", "Spagn");
    namesMap.put("ET", "Etiopia");
    namesMap.put("EU", "Unaniezh Europa");
    namesMap.put("FJ", "Fidji");
    namesMap.put("FK", "Inizi Falkland");
    namesMap.put("FM", "Mikronezia");
    namesMap.put("FO", "Inizi Faero");
    namesMap.put("FR", "Frañs");
    namesMap.put("GB", "Rouantelezh-Unanet");
    namesMap.put("GE", "Jorjia");
    namesMap.put("GF", "Gwiana cʼhall");
    namesMap.put("GG", "Gwernenez");
    namesMap.put("GI", "Jibraltar");
    namesMap.put("GL", "Greunland");
    namesMap.put("GN", "Ginea");
    namesMap.put("GP", "Gwadeloup");
    namesMap.put("GQ", "Ginea ar Cʼheheder");
    namesMap.put("GR", "Gres");
    namesMap.put("GS", "Inizi Georgia ar Su hag Inizi Sandwich ar Su");
    namesMap.put("GW", "Ginea-Bissau");
    namesMap.put("HK", "Hong Kong RMD Sina");
    namesMap.put("HM", "Inizi Heard ha McDonald");
    namesMap.put("HR", "Kroatia");
    namesMap.put("HU", "Hungaria");
    namesMap.put("IC", "Inizi Kanariez");
    namesMap.put("ID", "Indonezia");
    namesMap.put("IE", "Iwerzhon");
    namesMap.put("IM", "Enez Vanav");
    namesMap.put("IO", "Tiriad breizhveurat Meurvor Indez");
    namesMap.put("IS", "Island");
    namesMap.put("IT", "Italia");
    namesMap.put("JE", "Jerzenez");
    namesMap.put("JM", "Jamaika");
    namesMap.put("JO", "Jordania");
    namesMap.put("KH", "Kambodja");
    namesMap.put("KM", "Komorez");
    namesMap.put("KN", "Saint Kitts ha Nevis");
    namesMap.put("KP", "Korea an Norzh");
    namesMap.put("KR", "Korea ar Su");
    namesMap.put("KW", "Koweit");
    namesMap.put("KY", "Inizi Cayman");
    namesMap.put("KZ", "Kazakstan");
    namesMap.put("LB", "Liban");
    namesMap.put("LT", "Lituania");
    namesMap.put("LU", "Luksembourg");
    namesMap.put("LY", "Libia");
    namesMap.put("MA", "Maroko");
    namesMap.put("MG", "Madagaskar");
    namesMap.put("MH", "Inizi Marshall");
    namesMap.put("MK", "Makedonia");
    namesMap.put("MM", "Myanmar (Birmania)");
    namesMap.put("MO", "Macau RMD Sina");
    namesMap.put("MP", "Inizi Mariana an Norzh");
    namesMap.put("MQ", "Martinik");
    namesMap.put("MR", "Maouritania");
    namesMap.put("MU", "Moris");
    namesMap.put("MV", "Maldivez");
    namesMap.put("MX", "Mecʼhiko");
    namesMap.put("MZ", "Mozambik");
    namesMap.put("NC", "Kaledonia Nevez");
    namesMap.put("NF", "Enez Norfolk");
    namesMap.put("NL", "Izelvroioù");
    namesMap.put("NO", "Norvegia");
    namesMap.put("NZ", "Zeland-Nevez");
    namesMap.put("PA", "Panamá");
    namesMap.put("PE", "Perou");
    namesMap.put("PF", "Polinezia cʼhall");
    namesMap.put("PG", "Papoua Ginea-Nevez");
    namesMap.put("PH", "Filipinez");
    namesMap.put("PL", "Polonia");
    namesMap.put("PM", "Sant-Pêr-ha-Mikelon");
    namesMap.put("PN", "Enez Pitcairn");
    namesMap.put("PS", "Tiriadoù Palestina");
    namesMap.put("QO", "Oseania diabell");
    namesMap.put("RE", "Reünion");
    namesMap.put("RO", "Roumania");
    namesMap.put("RU", "Rusia");
    namesMap.put("SA", "Arabia Saoudat");
    namesMap.put("SB", "Salomon");
    namesMap.put("SC", "Sechelez");
    namesMap.put("SD", "Soudan");
    namesMap.put("SE", "Sveden");
    namesMap.put("SG", "Singapour");
    namesMap.put("SJ", "Svalbard");
    namesMap.put("SR", "Surinam");
    namesMap.put("SS", "Su Soudan");
    namesMap.put("ST", "São Tomé ha Príncipe");
    namesMap.put("SV", "Salvador");
    namesMap.put("SY", "Siria");
    namesMap.put("TC", "Inizi Turks ha Caicos");
    namesMap.put("TD", "Tchad");
    namesMap.put("TF", "Douaroù aostral Frañs");
    namesMap.put("TJ", "Tadjikistan");
    namesMap.put("TN", "Tunizia");
    namesMap.put("TR", "Turkia");
    namesMap.put("TT", "Trinidad ha Tobago");
    namesMap.put("UA", "Ukraina");
    namesMap.put("UG", "Ouganda");
    namesMap.put("UM", "Inizi diabell ar Stadoù-Unanet");
    namesMap.put("US", "Stadoù-Unanet");
    namesMap.put("UZ", "Ouzbekistan");
    namesMap.put("VA", "Vatikan");
    namesMap.put("VC", "Sant Visant hag ar Grenadinez");
    namesMap.put("VG", "Inizi Gwercʼh Breizh-Veur");
    namesMap.put("VI", "Inizi Gwercʼh ar Stadoù-Unanet");
    namesMap.put("VN", "Viêt Nam");
    namesMap.put("WF", "Wallis ha Futuna");
    namesMap.put("ZA", "Suafrika");
    namesMap.put("ZZ", "Rannved dianav");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "001": "Bed",
        "002": "Afrika",
        "003": "Norzhamerika",
        "005": "Suamerika",
        "009": "Oseania",
        "011": "Afrika ar Cʼhornôg",
        "013": "Kreizamerika",
        "014": "Afrika ar Reter",
        "015": "Afrika an Norzh",
        "017": "Afrika ar Cʼhreiz",
        "018": "Afrika ar Su",
        "019": "Amerikaoù",
        "021": "Amerika an Norzh",
        "029": "Karib",
        "030": "Azia ar Reter",
        "034": "Azia ar Su",
        "035": "Azia ar Gevred",
        "039": "Europa ar Su",
        "053": "Aostralazia",
        "054": "Melanezia",
        "057": "Rannved Mikronezia",
        "061": "Polinezia",
        "142": "Azia",
        "143": "Azia ar Cʼhreiz",
        "145": "Azia ar Cʼhornôg",
        "150": "Europa",
        "151": "Europa ar Reter",
        "154": "Europa an Norzh",
        "155": "Europa ar Cʼhornôg",
        "419": "Amerika Latin",
        "AC": "Enez Ascension",
        "AE": "Emirelezhioù Arab Unanet",
        "AG": "Antigua ha Barbuda",
        "AN": "Antilhez Nederlandat",
        "AQ": "Antarktika",
        "AR": "Arcʼhantina",
        "AS": "Samoa Amerikan",
        "AT": "Aostria",
        "AU": "Aostralia",
        "AX": "Inizi Åland",
        "AZ": "Azerbaidjan",
        "BA": "Bosnia ha Herzegovina",
        "BE": "Belgia",
        "BH": "Bahrein",
        "BQ": "Nederlandat Karib",
        "BT": "Bhoutan",
        "BV": "Enez Bouvet",
        "CA": "Kanada",
        "CC": "Inizi Kokoz",
        "CD": "Kongo - Kinshasa",
        "CF": "Republik Kreizafrikan",
        "CG": "Kongo - Brazzaville",
        "CH": "Suis",
        "CI": "Aod an Olifant",
        "CK": "Inizi Cook",
        "CM": "Kameroun",
        "CN": "Sina",
        "CO": "Kolombia",
        "CP": "Enez Clipperton",
        "CU": "Kuba",
        "CV": "Kab Glas",
        "CX": "Enez Christmas",
        "CY": "Kiprenez",
        "CZ": "Republik Tchek",
        "DE": "Alamagn",
        "DK": "Danmark",
        "DO": "Republik Dominikan",
        "DZ": "Aljeria",
        "EA": "Ceuta ha Melilla",
        "EG": "Egipt",
        "EH": "Sahara ar Cʼhornôg",
        "ES": "Spagn",
        "ET": "Etiopia",
        "EU": "Unaniezh Europa",
        "FJ": "Fidji",
        "FK": "Inizi Falkland",
        "FM": "Mikronezia",
        "FO": "Inizi Faero",
        "FR": "Frañs",
        "GB": "Rouantelezh-Unanet",
        "GE": "Jorjia",
        "GF": "Gwiana cʼhall",
        "GG": "Gwernenez",
        "GI": "Jibraltar",
        "GL": "Greunland",
        "GN": "Ginea",
        "GP": "Gwadeloup",
        "GQ": "Ginea ar Cʼheheder",
        "GR": "Gres",
        "GS": "Inizi Georgia ar Su hag Inizi Sandwich ar Su",
        "GW": "Ginea-Bissau",
        "HK": "Hong Kong RMD Sina",
        "HM": "Inizi Heard ha McDonald",
        "HR": "Kroatia",
        "HU": "Hungaria",
        "IC": "Inizi Kanariez",
        "ID": "Indonezia",
        "IE": "Iwerzhon",
        "IM": "Enez Vanav",
        "IO": "Tiriad breizhveurat Meurvor Indez",
        "IS": "Island",
        "IT": "Italia",
        "JE": "Jerzenez",
        "JM": "Jamaika",
        "JO": "Jordania",
        "KH": "Kambodja",
        "KM": "Komorez",
        "KN": "Saint Kitts ha Nevis",
        "KP": "Korea an Norzh",
        "KR": "Korea ar Su",
        "KW": "Koweit",
        "KY": "Inizi Cayman",
        "KZ": "Kazakstan",
        "LB": "Liban",
        "LT": "Lituania",
        "LU": "Luksembourg",
        "LY": "Libia",
        "MA": "Maroko",
        "MG": "Madagaskar",
        "MH": "Inizi Marshall",
        "MK": "Makedonia",
        "MM": "Myanmar (Birmania)",
        "MO": "Macau RMD Sina",
        "MP": "Inizi Mariana an Norzh",
        "MQ": "Martinik",
        "MR": "Maouritania",
        "MU": "Moris",
        "MV": "Maldivez",
        "MX": "Mecʼhiko",
        "MZ": "Mozambik",
        "NC": "Kaledonia Nevez",
        "NF": "Enez Norfolk",
        "NL": "Izelvroioù",
        "NO": "Norvegia",
        "NZ": "Zeland-Nevez",
        "PA": "Panamá",
        "PE": "Perou",
        "PF": "Polinezia cʼhall",
        "PG": "Papoua Ginea-Nevez",
        "PH": "Filipinez",
        "PL": "Polonia",
        "PM": "Sant-Pêr-ha-Mikelon",
        "PN": "Enez Pitcairn",
        "PS": "Tiriadoù Palestina",
        "QO": "Oseania diabell",
        "RE": "Reünion",
        "RO": "Roumania",
        "RU": "Rusia",
        "SA": "Arabia Saoudat",
        "SB": "Salomon",
        "SC": "Sechelez",
        "SD": "Soudan",
        "SE": "Sveden",
        "SG": "Singapour",
        "SJ": "Svalbard",
        "SR": "Surinam",
        "SS": "Su Soudan",
        "ST": "São Tomé ha Príncipe",
        "SV": "Salvador",
        "SY": "Siria",
        "TC": "Inizi Turks ha Caicos",
        "TD": "Tchad",
        "TF": "Douaroù aostral Frañs",
        "TJ": "Tadjikistan",
        "TN": "Tunizia",
        "TR": "Turkia",
        "TT": "Trinidad ha Tobago",
        "UA": "Ukraina",
        "UG": "Ouganda",
        "UM": "Inizi diabell ar Stadoù-Unanet",
        "US": "Stadoù-Unanet",
        "UZ": "Ouzbekistan",
        "VA": "Vatikan",
        "VC": "Sant Visant hag ar Grenadinez",
        "VG": "Inizi Gwercʼh Breizh-Veur",
        "VI": "Inizi Gwercʼh ar Stadoù-Unanet",
        "VN": "Viêt Nam",
        "WF": "Wallis ha Futuna",
        "ZA": "Suafrika",
        "ZZ": "Rannved dianav"
    };
  }-*/;
}
