/*
 * 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.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",
        "AN",
        "SA",
        "AR",
        "AM",
        "AW",
        "AU",
        "AT",
        "AZ",
        "BS",
        "BH",
        "BD",
        "BB",
        "BE",
        "BZ",
        "BJ",
        "BM",
        "BT",
        "BY",
        "BO",
        "BA",
        "BW",
        "BR",
        "BN",
        "BG",
        "BF",
        "BI",
        "KH",
        "CM",
        "CA",
        "CV",
        "EA",
        "CO",
        "KM",
        "CG",
        "CD",
        "KP",
        "KR",
        "CI",
        "CR",
        "HR",
        "CU",
        "DG",
        "DK",
        "DJ",
        "DM",
        "EG",
        "SV",
        "EC",
        "ER",
        "SK",
        "SI",
        "ES",
        "US",
        "EE",
        "ET",
        "FJ",
        "PH",
        "FI",
        "FR",
        "FX",
        "GA",
        "GM",
        "GE",
        "GH",
        "GI",
        "GR",
        "GD",
        "GL",
        "GP",
        "GF",
        "GU",
        "GT",
        "GG",
        "GN",
        "GW",
        "GQ",
        "GY",
        "HT",
        "HN",
        "HK",
        "HU",
        "YE",
        "BV",
        "CX",
        "CP",
        "AC",
        "RE",
        "IM",
        "HM",
        "NF",
        "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",
        "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",
        "NA",
        "NR",
        "NP",
        "NI",
        "NE",
        "NG",
        "NU",
        "NO",
        "NC",
        "NZ",
        "OM",
        "NL",
        "PK",
        "PW",
        "PS",
        "PA",
        "PG",
        "PY",
        "PE",
        "PF",
        "PL",
        "PT",
        "PR",
        "QA",
        "GB",
        "CF",
        "ZA",
        "DO",
        "CZ",
        "RO",
        "RU",
        "RW",
        "EH",
        "BL",
        "KN",
        "SH",
        "LC",
        "MF",
        "PM",
        "VC",
        "WS",
        "AS",
        "SM",
        "ST",
        "SN",
        "RS",
        "CS",
        "SC",
        "SL",
        "SG",
        "SY",
        "SO",
        "LK",
        "SD",
        "SE",
        "CH",
        "SR",
        "SJ",
        "SZ",
        "TJ",
        "TH",
        "TW",
        "TZ",
        "IO",
        "QO",
        "TF",
        "TL",
        "TG",
        "TK",
        "TO",
        "TT",
        "TA",
        "TN",
        "TM",
        "TR",
        "TV",
        "TD",
        "UA",
        "UG",
        "AE",
        "EU",
        "UY",
        "UZ",
        "VU",
        "VA",
        "VE",
        "VN",
        "WF",
        "CL",
        "CN",
        "CY",
        "ZM",
        "ZW",
    };
  }

  @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", "Austràlia i Nova Zelanda");
    namesMap.put("054", "Melanèsia");
    namesMap.put("057", "Regió de la Micronèsia");
    namesMap.put("061", "Polinèsia");
    namesMap.put("062", "Àsia Sud-central");
    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("172", "Comunitat d'Estats Independents");
    namesMap.put("419", "Amèrica Llatina i Carib");
    namesMap.put("AC", "Illa de l'Ascensió");
    namesMap.put("AE", "Unió dels Emirats Àrabs");
    namesMap.put("AF", "Afganistan");
    namesMap.put("AG", "Antigua i Barbuda");
    namesMap.put("AL", "Albània");
    namesMap.put("AM", "Armènia");
    namesMap.put("AN", "Antilles Neerlandeses");
    namesMap.put("AQ", "Antàrtida");
    namesMap.put("AS", "Samoa 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("BM", "Bermudes");
    namesMap.put("BO", "Bolívia");
    namesMap.put("BR", "Brasil");
    namesMap.put("BS", "Bahames");
    namesMap.put("BV", "Illa Bouvet");
    namesMap.put("BY", "Bielorússia");
    namesMap.put("CA", "Canadà");
    namesMap.put("CC", "Illes Cocos");
    namesMap.put("CD", "Congo - Kinshasa");
    namesMap.put("CF", "República Centreafricana");
    namesMap.put("CG", "Congo - Brazzaville");
    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("CS", "Sèrbia i Montenegro");
    namesMap.put("CV", "Cap Verd");
    namesMap.put("CX", "Illa Christmas");
    namesMap.put("CY", "Xipre");
    namesMap.put("CZ", "República Txeca");
    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("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("FX", "França metropolitana");
    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("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("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("MH", "Illes Marshall");
    namesMap.put("MK", "Macedònia");
    namesMap.put("MM", "Myanmar [Birmània]");
    namesMap.put("MN", "Mongòlia");
    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", "Illa 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 i Miquelon");
    namesMap.put("PN", "Illes Pitcairn");
    namesMap.put("PS", "Palestina");
    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("SA", "Aràbia Saudita");
    namesMap.put("SB", "Illes Salomó");
    namesMap.put("SE", "Suècia");
    namesMap.put("SG", "Singapur");
    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("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 Francesos del Sud");
    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("US", "Estats Units");
    namesMap.put("UY", "Uruguai");
    namesMap.put("VA", "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("ZZ", "Regió desconeguda o no vàlida");
  }

  @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": "Austràlia i Nova Zelanda",
        "054": "Melanèsia",
        "057": "Regió de la Micronèsia",
        "061": "Polinèsia",
        "062": "Àsia Sud-central",
        "142": "Àsia",
        "143": "Àsia Central",
        "145": "Àsia Occidental",
        "150": "Europa",
        "151": "Europa Oriental",
        "154": "Europa septentrional",
        "155": "Europa Occidental",
        "172": "Comunitat d'Estats Independents",
        "419": "Amèrica Llatina i Carib",
        "AC": "Illa de l'Ascensió",
        "AE": "Unió dels Emirats Àrabs",
        "AF": "Afganistan",
        "AG": "Antigua i Barbuda",
        "AL": "Albània",
        "AM": "Armènia",
        "AN": "Antilles Neerlandeses",
        "AQ": "Antàrtida",
        "AS": "Samoa 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",
        "BM": "Bermudes",
        "BO": "Bolívia",
        "BR": "Brasil",
        "BS": "Bahames",
        "BV": "Illa Bouvet",
        "BY": "Bielorússia",
        "CA": "Canadà",
        "CC": "Illes Cocos",
        "CD": "Congo - Kinshasa",
        "CF": "República Centreafricana",
        "CG": "Congo - Brazzaville",
        "CH": "Suïssa",
        "CI": "Costa d’Ivori",
        "CK": "Illes Cook",
        "CL": "Xile",
        "CM": "Camerun",
        "CN": "Xina",
        "CO": "Colòmbia",
        "CP": "Illa Clipperton",
        "CS": "Sèrbia i Montenegro",
        "CV": "Cap Verd",
        "CX": "Illa Christmas",
        "CY": "Xipre",
        "CZ": "República Txeca",
        "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",
        "FI": "Finlàndia",
        "FK": "Illes Malvines",
        "FM": "Micronèsia",
        "FO": "Illes Fèroe",
        "FR": "França",
        "FX": "França metropolitana",
        "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",
        "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",
        "LR": "Libèria",
        "LT": "Lituània",
        "LU": "Luxemburg",
        "LV": "Letònia",
        "LY": "Líbia",
        "MA": "Marroc",
        "MC": "Mònaco",
        "MD": "Moldàvia",
        "MH": "Illes Marshall",
        "MK": "Macedònia",
        "MM": "Myanmar [Birmània]",
        "MN": "Mongòlia",
        "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": "Illa 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 i Miquelon",
        "PN": "Illes Pitcairn",
        "PS": "Palestina",
        "PY": "Paraguai",
        "QO": "Territoris allunyats d'Oceania",
        "RE": "Illa de la Reunió",
        "RS": "Sèrbia",
        "RU": "Rússia",
        "SA": "Aràbia Saudita",
        "SB": "Illes Salomó",
        "SE": "Suècia",
        "SG": "Singapur",
        "SI": "Eslovènia",
        "SJ": "Svalbard i Jan Mayen",
        "SK": "Eslovàquia",
        "SO": "Somàlia",
        "SR": "Surinam",
        "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 Francesos del Sud",
        "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",
        "US": "Estats Units",
        "UY": "Uruguai",
        "VA": "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",
        "ZZ": "Regió desconeguda o no vàlida"
    };
  }-*/;
}
