/*
 * 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 "ca" locale.
 */
public class LocalizedNamesImpl_ca extends LocalizedNamesImpl {

  @Override
  public String[] loadLikelyRegionCodes() {
    return new String[] {
        "ES",
    };
  }

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "Món");
    namesMap.put("002", "Àfrica");
    namesMap.put("003", "Amèrica del Nord");
    namesMap.put("005", "Amèrica del Sud");
    namesMap.put("011", "Àfrica occidental");
    namesMap.put("013", "Amèrica Central");
    namesMap.put("014", "Àfrica oriental");
    namesMap.put("015", "Àfrica septentrional");
    namesMap.put("017", "Àfrica central");
    namesMap.put("018", "Àfrica meridional");
    namesMap.put("019", "Amèrica");
    namesMap.put("021", "Amèrica septentrional");
    namesMap.put("029", "Carib");
    namesMap.put("030", "Àsia oriental");
    namesMap.put("034", "Àsia meridional");
    namesMap.put("035", "Àsia sud-oriental");
    namesMap.put("039", "Europa meridional");
    namesMap.put("053", "Australàsia");
    namesMap.put("054", "Melanèsia");
    namesMap.put("057", "Regió de la Micronèsia");
    namesMap.put("061", "Polinèsia");
    namesMap.put("142", "Àsia");
    namesMap.put("143", "Àsia central");
    namesMap.put("145", "Àsia occidental");
    namesMap.put("150", "Europa");
    namesMap.put("151", "Europa oriental");
    namesMap.put("154", "Europa septentrional");
    namesMap.put("155", "Europa occidental");
    namesMap.put("419", "Amèrica Llatina");
    namesMap.put("AC", "Illa de l’Ascensió");
    namesMap.put("AE", "Emirats Àrabs Units");
    namesMap.put("AF", "Afganistan");
    namesMap.put("AG", "Antigua i Barbuda");
    namesMap.put("AL", "Albània");
    namesMap.put("AM", "Armènia");
    namesMap.put("AQ", "Antàrtida");
    namesMap.put("AS", "Samoa Nord-americana");
    namesMap.put("AT", "Àustria");
    namesMap.put("AU", "Austràlia");
    namesMap.put("AX", "Illes Åland");
    namesMap.put("AZ", "Azerbaidjan");
    namesMap.put("BA", "Bòsnia i Hercegovina");
    namesMap.put("BD", "Bangla Desh");
    namesMap.put("BE", "Bèlgica");
    namesMap.put("BG", "Bulgària");
    namesMap.put("BJ", "Benín");
    namesMap.put("BL", "Saint Barthélemy");
    namesMap.put("BM", "Bermudes");
    namesMap.put("BO", "Bolívia");
    namesMap.put("BQ", "Carib Neerlandès");
    namesMap.put("BR", "Brasil");
    namesMap.put("BS", "Bahames");
    namesMap.put("BV", "Bouvet");
    namesMap.put("BY", "Belarús");
    namesMap.put("CA", "Canadà");
    namesMap.put("CC", "Illes Cocos");
    namesMap.put("CF", "República Centreafricana");
    namesMap.put("CH", "Suïssa");
    namesMap.put("CI", "Costa d’Ivori");
    namesMap.put("CK", "Illes Cook");
    namesMap.put("CL", "Xile");
    namesMap.put("CM", "Camerun");
    namesMap.put("CN", "Xina");
    namesMap.put("CO", "Colòmbia");
    namesMap.put("CP", "Illa Clipperton");
    namesMap.put("CV", "Cap Verd");
    namesMap.put("CX", "Illa Christmas");
    namesMap.put("CY", "Xipre");
    namesMap.put("CZ", "Txèquia");
    namesMap.put("DE", "Alemanya");
    namesMap.put("DK", "Dinamarca");
    namesMap.put("DO", "República Dominicana");
    namesMap.put("DZ", "Algèria");
    namesMap.put("EA", "Ceuta i Melilla");
    namesMap.put("EC", "Equador");
    namesMap.put("EE", "Estònia");
    namesMap.put("EG", "Egipte");
    namesMap.put("EH", "Sàhara Occidental");
    namesMap.put("ES", "Espanya");
    namesMap.put("ET", "Etiòpia");
    namesMap.put("EU", "Unió Europea");
    namesMap.put("EZ", "zona euro");
    namesMap.put("FI", "Finlàndia");
    namesMap.put("FK", "Illes Malvines");
    namesMap.put("FM", "Micronèsia");
    namesMap.put("FO", "Illes Fèroe");
    namesMap.put("FR", "França");
    namesMap.put("GB", "Regne Unit");
    namesMap.put("GE", "Geòrgia");
    namesMap.put("GF", "Guaiana Francesa");
    namesMap.put("GL", "Grenlàndia");
    namesMap.put("GM", "Gàmbia");
    namesMap.put("GQ", "Guinea Equatorial");
    namesMap.put("GR", "Grècia");
    namesMap.put("GS", "Illes Geòrgia del Sud i Sandwich del Sud");
    namesMap.put("GW", "Guinea Bissau");
    namesMap.put("HK", "Hong Kong (RAE Xina)");
    namesMap.put("HM", "Illa Heard i Illes McDonald");
    namesMap.put("HN", "Hondures");
    namesMap.put("HR", "Croàcia");
    namesMap.put("HT", "Haití");
    namesMap.put("HU", "Hongria");
    namesMap.put("IC", "Illes Canàries");
    namesMap.put("ID", "Indonèsia");
    namesMap.put("IE", "Irlanda");
    namesMap.put("IM", "Illa de Man");
    namesMap.put("IN", "Índia");
    namesMap.put("IO", "Territori Britànic de l’Oceà Índic");
    namesMap.put("IS", "Islàndia");
    namesMap.put("IT", "Itàlia");
    namesMap.put("JO", "Jordània");
    namesMap.put("JP", "Japó");
    namesMap.put("KG", "Kirguizistan");
    namesMap.put("KH", "Cambodja");
    namesMap.put("KM", "Comores");
    namesMap.put("KN", "Saint Christopher i Nevis");
    namesMap.put("KP", "Corea del Nord");
    namesMap.put("KR", "Corea del Sud");
    namesMap.put("KY", "Illes Caiman");
    namesMap.put("LB", "Líban");
    namesMap.put("LC", "Saint Lucia");
    namesMap.put("LR", "Libèria");
    namesMap.put("LT", "Lituània");
    namesMap.put("LU", "Luxemburg");
    namesMap.put("LV", "Letònia");
    namesMap.put("LY", "Líbia");
    namesMap.put("MA", "Marroc");
    namesMap.put("MC", "Mònaco");
    namesMap.put("MD", "Moldàvia");
    namesMap.put("MF", "Saint Martin");
    namesMap.put("MH", "Illes Marshall");
    namesMap.put("MK", "Macedònia");
    namesMap.put("MM", "Myanmar (Birmània)");
    namesMap.put("MN", "Mongòlia");
    namesMap.put("MO", "Macau (RAE Xina)");
    namesMap.put("MP", "Illes Mariannes del Nord");
    namesMap.put("MQ", "Martinica");
    namesMap.put("MR", "Mauritània");
    namesMap.put("MU", "Maurici");
    namesMap.put("MX", "Mèxic");
    namesMap.put("MY", "Malàisia");
    namesMap.put("MZ", "Moçambic");
    namesMap.put("NA", "Namíbia");
    namesMap.put("NC", "Nova Caledònia");
    namesMap.put("NE", "Níger");
    namesMap.put("NF", "Norfolk");
    namesMap.put("NG", "Nigèria");
    namesMap.put("NL", "Països Baixos");
    namesMap.put("NO", "Noruega");
    namesMap.put("NZ", "Nova Zelanda");
    namesMap.put("PA", "Panamà");
    namesMap.put("PE", "Perú");
    namesMap.put("PF", "Polinèsia Francesa");
    namesMap.put("PG", "Papua Nova Guinea");
    namesMap.put("PH", "Filipines");
    namesMap.put("PL", "Polònia");
    namesMap.put("PM", "Saint-Pierre-et-Miquelon");
    namesMap.put("PN", "Illes Pitcairn");
    namesMap.put("PS", "territoris palestins");
    namesMap.put("PY", "Paraguai");
    namesMap.put("QO", "Territoris allunyats d’Oceania");
    namesMap.put("RE", "Illa de la Reunió");
    namesMap.put("RS", "Sèrbia");
    namesMap.put("RU", "Rússia");
    namesMap.put("RW", "Ruanda");
    namesMap.put("SA", "Aràbia Saudita");
    namesMap.put("SB", "Illes Salomó");
    namesMap.put("SE", "Suècia");
    namesMap.put("SG", "Singapur");
    namesMap.put("SH", "Saint Helena");
    namesMap.put("SI", "Eslovènia");
    namesMap.put("SJ", "Svalbard i Jan Mayen");
    namesMap.put("SK", "Eslovàquia");
    namesMap.put("SO", "Somàlia");
    namesMap.put("SR", "Surinam");
    namesMap.put("SS", "Sudan del Sud");
    namesMap.put("ST", "São Tomé i Príncipe");
    namesMap.put("SY", "Síria");
    namesMap.put("SZ", "Swazilàndia");
    namesMap.put("TA", "Tristão da Cunha");
    namesMap.put("TC", "Illes Turks i Caicos");
    namesMap.put("TD", "Txad");
    namesMap.put("TF", "Territoris Australs Francesos");
    namesMap.put("TH", "Tailàndia");
    namesMap.put("TJ", "Tadjikistan");
    namesMap.put("TL", "Timor Oriental");
    namesMap.put("TN", "Tunísia");
    namesMap.put("TR", "Turquia");
    namesMap.put("TT", "Trinitat i Tobago");
    namesMap.put("TZ", "Tanzània");
    namesMap.put("UA", "Ucraïna");
    namesMap.put("UM", "Illes Perifèriques Menors dels EUA");
    namesMap.put("UN", "Nacions Unides");
    namesMap.put("US", "Estats Units");
    namesMap.put("UY", "Uruguai");
    namesMap.put("VA", "Ciutat del Vaticà");
    namesMap.put("VC", "Saint Vincent i les Grenadines");
    namesMap.put("VE", "Veneçuela");
    namesMap.put("VG", "Illes Verges Britàniques");
    namesMap.put("VI", "Illes Verges Nord-americanes");
    namesMap.put("WF", "Wallis i Futuna");
    namesMap.put("YE", "Iemen");
    namesMap.put("ZA", "República de Sud-àfrica");
    namesMap.put("ZM", "Zàmbia");
    namesMap.put("ZW", "Zimbàbue");
    namesMap.put("ZZ", "Regió desconeguda");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "001": "Món",
        "002": "Àfrica",
        "003": "Amèrica del Nord",
        "005": "Amèrica del Sud",
        "011": "Àfrica occidental",
        "013": "Amèrica Central",
        "014": "Àfrica oriental",
        "015": "Àfrica septentrional",
        "017": "Àfrica central",
        "018": "Àfrica meridional",
        "019": "Amèrica",
        "021": "Amèrica septentrional",
        "029": "Carib",
        "030": "Àsia oriental",
        "034": "Àsia meridional",
        "035": "Àsia sud-oriental",
        "039": "Europa meridional",
        "053": "Australàsia",
        "054": "Melanèsia",
        "057": "Regió de la Micronèsia",
        "061": "Polinèsia",
        "142": "Àsia",
        "143": "Àsia central",
        "145": "Àsia occidental",
        "150": "Europa",
        "151": "Europa oriental",
        "154": "Europa septentrional",
        "155": "Europa occidental",
        "419": "Amèrica Llatina",
        "AC": "Illa de l’Ascensió",
        "AE": "Emirats Àrabs Units",
        "AF": "Afganistan",
        "AG": "Antigua i Barbuda",
        "AL": "Albània",
        "AM": "Armènia",
        "AQ": "Antàrtida",
        "AS": "Samoa Nord-americana",
        "AT": "Àustria",
        "AU": "Austràlia",
        "AX": "Illes Åland",
        "AZ": "Azerbaidjan",
        "BA": "Bòsnia i Hercegovina",
        "BD": "Bangla Desh",
        "BE": "Bèlgica",
        "BG": "Bulgària",
        "BJ": "Benín",
        "BL": "Saint Barthélemy",
        "BM": "Bermudes",
        "BO": "Bolívia",
        "BQ": "Carib Neerlandès",
        "BR": "Brasil",
        "BS": "Bahames",
        "BV": "Bouvet",
        "BY": "Belarús",
        "CA": "Canadà",
        "CC": "Illes Cocos",
        "CF": "República Centreafricana",
        "CH": "Suïssa",
        "CI": "Costa d’Ivori",
        "CK": "Illes Cook",
        "CL": "Xile",
        "CM": "Camerun",
        "CN": "Xina",
        "CO": "Colòmbia",
        "CP": "Illa Clipperton",
        "CV": "Cap Verd",
        "CX": "Illa Christmas",
        "CY": "Xipre",
        "CZ": "Txèquia",
        "DE": "Alemanya",
        "DK": "Dinamarca",
        "DO": "República Dominicana",
        "DZ": "Algèria",
        "EA": "Ceuta i Melilla",
        "EC": "Equador",
        "EE": "Estònia",
        "EG": "Egipte",
        "EH": "Sàhara Occidental",
        "ES": "Espanya",
        "ET": "Etiòpia",
        "EU": "Unió Europea",
        "EZ": "zona euro",
        "FI": "Finlàndia",
        "FK": "Illes Malvines",
        "FM": "Micronèsia",
        "FO": "Illes Fèroe",
        "FR": "França",
        "GB": "Regne Unit",
        "GE": "Geòrgia",
        "GF": "Guaiana Francesa",
        "GL": "Grenlàndia",
        "GM": "Gàmbia",
        "GQ": "Guinea Equatorial",
        "GR": "Grècia",
        "GS": "Illes Geòrgia del Sud i Sandwich del Sud",
        "GW": "Guinea Bissau",
        "HK": "Hong Kong (RAE Xina)",
        "HM": "Illa Heard i Illes McDonald",
        "HN": "Hondures",
        "HR": "Croàcia",
        "HT": "Haití",
        "HU": "Hongria",
        "IC": "Illes Canàries",
        "ID": "Indonèsia",
        "IE": "Irlanda",
        "IM": "Illa de Man",
        "IN": "Índia",
        "IO": "Territori Britànic de l’Oceà Índic",
        "IS": "Islàndia",
        "IT": "Itàlia",
        "JO": "Jordània",
        "JP": "Japó",
        "KG": "Kirguizistan",
        "KH": "Cambodja",
        "KM": "Comores",
        "KN": "Saint Christopher i Nevis",
        "KP": "Corea del Nord",
        "KR": "Corea del Sud",
        "KY": "Illes Caiman",
        "LB": "Líban",
        "LC": "Saint Lucia",
        "LR": "Libèria",
        "LT": "Lituània",
        "LU": "Luxemburg",
        "LV": "Letònia",
        "LY": "Líbia",
        "MA": "Marroc",
        "MC": "Mònaco",
        "MD": "Moldàvia",
        "MF": "Saint Martin",
        "MH": "Illes Marshall",
        "MK": "Macedònia",
        "MM": "Myanmar (Birmània)",
        "MN": "Mongòlia",
        "MO": "Macau (RAE Xina)",
        "MP": "Illes Mariannes del Nord",
        "MQ": "Martinica",
        "MR": "Mauritània",
        "MU": "Maurici",
        "MX": "Mèxic",
        "MY": "Malàisia",
        "MZ": "Moçambic",
        "NA": "Namíbia",
        "NC": "Nova Caledònia",
        "NE": "Níger",
        "NF": "Norfolk",
        "NG": "Nigèria",
        "NL": "Països Baixos",
        "NO": "Noruega",
        "NZ": "Nova Zelanda",
        "PA": "Panamà",
        "PE": "Perú",
        "PF": "Polinèsia Francesa",
        "PG": "Papua Nova Guinea",
        "PH": "Filipines",
        "PL": "Polònia",
        "PM": "Saint-Pierre-et-Miquelon",
        "PN": "Illes Pitcairn",
        "PS": "territoris palestins",
        "PY": "Paraguai",
        "QO": "Territoris allunyats d’Oceania",
        "RE": "Illa de la Reunió",
        "RS": "Sèrbia",
        "RU": "Rússia",
        "RW": "Ruanda",
        "SA": "Aràbia Saudita",
        "SB": "Illes Salomó",
        "SE": "Suècia",
        "SG": "Singapur",
        "SH": "Saint Helena",
        "SI": "Eslovènia",
        "SJ": "Svalbard i Jan Mayen",
        "SK": "Eslovàquia",
        "SO": "Somàlia",
        "SR": "Surinam",
        "SS": "Sudan del Sud",
        "ST": "São Tomé i Príncipe",
        "SY": "Síria",
        "SZ": "Swazilàndia",
        "TA": "Tristão da Cunha",
        "TC": "Illes Turks i Caicos",
        "TD": "Txad",
        "TF": "Territoris Australs Francesos",
        "TH": "Tailàndia",
        "TJ": "Tadjikistan",
        "TL": "Timor Oriental",
        "TN": "Tunísia",
        "TR": "Turquia",
        "TT": "Trinitat i Tobago",
        "TZ": "Tanzània",
        "UA": "Ucraïna",
        "UM": "Illes Perifèriques Menors dels EUA",
        "UN": "Nacions Unides",
        "US": "Estats Units",
        "UY": "Uruguai",
        "VA": "Ciutat del Vaticà",
        "VC": "Saint Vincent i les Grenadines",
        "VE": "Veneçuela",
        "VG": "Illes Verges Britàniques",
        "VI": "Illes Verges Nord-americanes",
        "WF": "Wallis i Futuna",
        "YE": "Iemen",
        "ZA": "República de Sud-àfrica",
        "ZM": "Zàmbia",
        "ZW": "Zimbàbue",
        "ZZ": "Regió desconeguda"
    };
  }-*/;
}
