/*
 * 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 Google $
//  type=root
//  date=$Date: 2012-02-07 13:32:35 -0500 (Tue, 07 Feb 2012) $


/**
 * 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",
        "BQ",
        "BR",
        "BN",
        "BG",
        "BF",
        "BI",
        "KH",
        "CM",
        "CA",
        "CV",
        "EA",
        "CO",
        "KM",
        "CG",
        "CD",
        "KP",
        "KR",
        "CI",
        "CR",
        "HR",
        "CU",
        "CW",
        "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",
        "SS",
        "SD",
        "SE",
        "CH",
        "SR",
        "SJ",
        "SZ",
        "SX",
        "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("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", "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("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",
        "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": "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",
        "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"
    };
  }-*/;
}
