/*
 * Copyright 2014 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=25
//  date=$Date: 2014-03-01 06:57:43 +0100 (Sat, 01 Mar 2014) $
//  number=$Revision: 9852 $
//  type=ca

/**
 * 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",
        "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",
        "AC",
        "RE",
        "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",
        "NA",
        "NR",
        "NP",
        "NI",
        "NE",
        "NG",
        "NU",
        "NF",
        "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",
        "SC",
        "SL",
        "SG",
        "SX",
        "SY",
        "SO",
        "LK",
        "SD",
        "SS",
        "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",
        "EU",
        "UY",
        "UZ",
        "VU",
        "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", "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("AN", "Antilles Neerlandeses");
    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("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", "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("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("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("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("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", "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("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 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", "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("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",
        "AN": "Antilles Neerlandeses",
        "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",
        "BM": "Bermudes",
        "BO": "Bolívia",
        "BQ": "Carib Neerlandès",
        "BR": "Brasil",
        "BS": "Bahames",
        "BV": "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",
        "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",
        "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",
        "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",
        "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": "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",
        "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 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": "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",
        "ZZ": "Regió desconeguda"
    };
  }-*/;
}
