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


/**
 * Localized names for the "ff" locale.
 */
public class LocalizedNamesImpl_ff extends LocalizedNamesImpl {

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("AD", "Anndoora");
    namesMap.put("AE", "Emiraat Araab Denntuɗe");
    namesMap.put("AF", "Afganistaan");
    namesMap.put("AG", "Antiguwaa e Barbudaa");
    namesMap.put("AI", "Anngiyaa");
    namesMap.put("AL", "Albanii");
    namesMap.put("AM", "Armenii");
    namesMap.put("AN", "Antiiye Nederlanndeeje");
    namesMap.put("AO", "Anngolaa");
    namesMap.put("AR", "Arjantiin");
    namesMap.put("AS", "Samowa Amerik");
    namesMap.put("AT", "Otiriis");
    namesMap.put("AU", "Ostaraalii");
    namesMap.put("AW", "Aruuba");
    namesMap.put("AZ", "Ajerbayjaan");
    namesMap.put("BA", "Bosnii Hersegowiin");
    namesMap.put("BB", "Barbadoos");
    namesMap.put("BD", "Banglaadees");
    namesMap.put("BE", "Beljik");
    namesMap.put("BF", "Burkibaa Faaso");
    namesMap.put("BG", "Bulgarii");
    namesMap.put("BH", "Bahreyn");
    namesMap.put("BI", "Burunndi");
    namesMap.put("BJ", "Benee");
    namesMap.put("BM", "Bermudaa");
    namesMap.put("BN", "Burnaay");
    namesMap.put("BO", "Boliwii");
    namesMap.put("BR", "Beresiil");
    namesMap.put("BS", "Bahamaas");
    namesMap.put("BT", "Butaan");
    namesMap.put("BW", "Botswaana");
    namesMap.put("BY", "Belaruus");
    namesMap.put("BZ", "Beliise");
    namesMap.put("CA", "Kanadaa");
    namesMap.put("CD", "Ndenndaandi Demokaraasiire Konngo");
    namesMap.put("CF", "Ndenndaandi Santarafrik");
    namesMap.put("CG", "Konngo");
    namesMap.put("CH", "Suwiis");
    namesMap.put("CI", "Kodduwaar");
    namesMap.put("CK", "Duuɗe Kuuk");
    namesMap.put("CL", "Cilii");
    namesMap.put("CM", "Kameruun");
    namesMap.put("CN", "Siin");
    namesMap.put("CO", "Kolombiya");
    namesMap.put("CR", "Kosta Rikaa");
    namesMap.put("CS", "Serbii e Montenegoroo");
    namesMap.put("CU", "Kubaa");
    namesMap.put("CV", "Duuɗe Kap Weer");
    namesMap.put("CY", "Siipar");
    namesMap.put("CZ", "Ndenndaandi Cek");
    namesMap.put("DE", "Almaañ");
    namesMap.put("DJ", "Jibutii");
    namesMap.put("DK", "Danmark");
    namesMap.put("DM", "Dominika");
    namesMap.put("DO", "Ndenndanndi Dominika");
    namesMap.put("DZ", "Alaseri");
    namesMap.put("EC", "Ekuwatoor");
    namesMap.put("EE", "Estoni");
    namesMap.put("EG", "Ejipt");
    namesMap.put("ER", "Eriteree");
    namesMap.put("ES", "Espaañ");
    namesMap.put("ET", "Ecoppi");
    namesMap.put("FI", "Fenland");
    namesMap.put("FJ", "Fijji");
    namesMap.put("FK", "Duuɗe Falkland");
    namesMap.put("FM", "Mikoronesii");
    namesMap.put("FR", "Farayse");
    namesMap.put("GA", "Gaboo");
    namesMap.put("GB", "Laamateeri Rentundi");
    namesMap.put("GD", "Garnaad");
    namesMap.put("GE", "Jeorgii");
    namesMap.put("GF", "Giyaan Farayse");
    namesMap.put("GH", "Ganaa");
    namesMap.put("GI", "Jibraltaar");
    namesMap.put("GL", "Gorwendland");
    namesMap.put("GM", "Gammbi");
    namesMap.put("GN", "Gine");
    namesMap.put("GP", "Gwaadalup");
    namesMap.put("GQ", "Ginee Ekuwaatoriyaal");
    namesMap.put("GR", "Gerees");
    namesMap.put("GT", "Gwaatemalaa");
    namesMap.put("GU", "Guwam");
    namesMap.put("GW", "Gine-Bisaawo");
    namesMap.put("GY", "Giyaan");
    namesMap.put("HN", "Onnduraas");
    namesMap.put("HR", "Korwasii");
    namesMap.put("HT", "Haytii");
    namesMap.put("HU", "Onngiri");
    namesMap.put("ID", "Enndonesii");
    namesMap.put("IE", "Irlannda");
    namesMap.put("IL", "Israa'iila");
    namesMap.put("IN", "Enndo");
    namesMap.put("IO", "Keeriindi britaani to maayo enndo");
    namesMap.put("IQ", "Iraak");
    namesMap.put("IR", "Iraan");
    namesMap.put("IS", "Islannda");
    namesMap.put("IT", "Itali");
    namesMap.put("JM", "Jamayka");
    namesMap.put("JO", "Jordani");
    namesMap.put("JP", "Sapoo");
    namesMap.put("KE", "Keñaa");
    namesMap.put("KG", "Kirgistaan");
    namesMap.put("KH", "Kambodso");
    namesMap.put("KI", "Kiribari");
    namesMap.put("KM", "Komoor");
    namesMap.put("KN", "Sent Kits e Newis");
    namesMap.put("KP", "Koree Rewo");
    namesMap.put("KR", "Koree Worgo");
    namesMap.put("KW", "Kuweyti");
    namesMap.put("KY", "Duuɗe Kaymaa");
    namesMap.put("KZ", "Kasakstaan");
    namesMap.put("LA", "Lawoos");
    namesMap.put("LB", "Libaa");
    namesMap.put("LC", "Sent Lusiyaa");
    namesMap.put("LI", "Lincenstayn");
    namesMap.put("LK", "Siri Lanka");
    namesMap.put("LR", "Liberiyaa");
    namesMap.put("LS", "Lesoto");
    namesMap.put("LT", "Lituaanii");
    namesMap.put("LU", "Liksembuur");
    namesMap.put("LV", "Letonii");
    namesMap.put("LY", "Libi");
    namesMap.put("MA", "Maruk");
    namesMap.put("MC", "Monaakoo");
    namesMap.put("MD", "Moldawii");
    namesMap.put("MG", "Madagaskaar");
    namesMap.put("MH", "Duuɗe Marsaal");
    namesMap.put("MK", "Meceduwaan");
    namesMap.put("ML", "Maali");
    namesMap.put("MM", "Miyamaar");
    namesMap.put("MN", "Monngolii");
    namesMap.put("MP", "Duuɗe Mariyaana Rewo");
    namesMap.put("MQ", "Martinik");
    namesMap.put("MR", "Muritani");
    namesMap.put("MS", "Monseraat");
    namesMap.put("MT", "Malte");
    namesMap.put("MU", "Moriis");
    namesMap.put("MV", "Maldiiwe");
    namesMap.put("MW", "Malaawi");
    namesMap.put("MX", "Meksik");
    namesMap.put("MY", "Malesii");
    namesMap.put("MZ", "Mosammbik");
    namesMap.put("NA", "Namibii");
    namesMap.put("NC", "Nuwel Kaledonii");
    namesMap.put("NE", "Nijeer");
    namesMap.put("NF", "Duuɗe Norfolk");
    namesMap.put("NG", "Nijeriyaa");
    namesMap.put("NI", "Nikaraguwaa");
    namesMap.put("NL", "Nederlannda");
    namesMap.put("NO", "Norwees");
    namesMap.put("NP", "Nepaal");
    namesMap.put("NR", "Nawuru");
    namesMap.put("NU", "Niuwe");
    namesMap.put("NZ", "Nuwel Selannda");
    namesMap.put("OM", "Omaan");
    namesMap.put("PA", "Panamaa");
    namesMap.put("PF", "Polinesii Farayse");
    namesMap.put("PG", "Papuwaa Nuwel Gine");
    namesMap.put("PH", "Filipiin");
    namesMap.put("PK", "Pakistaan");
    namesMap.put("PL", "Poloñ");
    namesMap.put("PM", "See Piyeer e Mikeloo");
    namesMap.put("PN", "Pitkern");
    namesMap.put("PR", "Porto Rikoo");
    namesMap.put("PS", "Palestiin Sisjordani e Gaasaa");
    namesMap.put("PT", "Purtugaal");
    namesMap.put("PW", "Palawu");
    namesMap.put("PY", "Paraguwaay");
    namesMap.put("QA", "Kataar");
    namesMap.put("RE", "Rewiñoo");
    namesMap.put("RO", "Rumanii");
    namesMap.put("RU", "Riisii");
    namesMap.put("RW", "Ruwanndaa");
    namesMap.put("SA", "Arabii Sawdit");
    namesMap.put("SB", "Duuɗe Solomon");
    namesMap.put("SC", "Seysel");
    namesMap.put("SD", "Sudaan");
    namesMap.put("SE", "Suweed");
    namesMap.put("SG", "Sinngapuur");
    namesMap.put("SH", "Sent Helen");
    namesMap.put("SI", "Slowenii");
    namesMap.put("SK", "Slowakii");
    namesMap.put("SL", "Seraa liyon");
    namesMap.put("SM", "See Maree");
    namesMap.put("SN", "Senegaal");
    namesMap.put("SO", "Somalii");
    namesMap.put("SR", "Surinaam");
    namesMap.put("ST", "Sawo Tome e Perensipe");
    namesMap.put("SV", "El Salwador");
    namesMap.put("SY", "Sirii");
    namesMap.put("SZ", "Swaasilannda");
    namesMap.put("TC", "Duuɗe Turke e Keikoos");
    namesMap.put("TD", "Caad");
    namesMap.put("TG", "Togoo");
    namesMap.put("TH", "Taylannda");
    namesMap.put("TJ", "Tajikistaan");
    namesMap.put("TK", "Tokelaaw");
    namesMap.put("TL", "Timoor Fuɗnaange");
    namesMap.put("TM", "Turkmenistaan");
    namesMap.put("TN", "Tunisii");
    namesMap.put("TO", "Tonngaa");
    namesMap.put("TR", "Turkii");
    namesMap.put("TT", "Tirnidaad e Tobaago");
    namesMap.put("TV", "Tuwaluu");
    namesMap.put("TW", "Taywaan");
    namesMap.put("TZ", "Tansanii");
    namesMap.put("UA", "Ukereen");
    namesMap.put("UG", "Unganndaa");
    namesMap.put("US", "Dowlaaji Dentuɗi Amerik");
    namesMap.put("UY", "Uruguwaay");
    namesMap.put("UZ", "Usbekistaan");
    namesMap.put("VA", "Dowla Waticaan");
    namesMap.put("VC", "See Weesaa e Garnadiin");
    namesMap.put("VE", "Wenesuwelaa");
    namesMap.put("VG", "duuɗe kecce britanii");
    namesMap.put("VI", "Duuɗe Kecce Amerik");
    namesMap.put("VN", "Wiyetnaam");
    namesMap.put("VU", "Wanuwaatuu");
    namesMap.put("WF", "Walis e Futuna");
    namesMap.put("WS", "Samowaa");
    namesMap.put("YT", "Mayoot");
    namesMap.put("ZA", "Afrik bŋ Worgo");
    namesMap.put("ZM", "Sammbi");
    namesMap.put("ZW", "Simbaabuwe");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "AD": "Anndoora",
        "AE": "Emiraat Araab Denntuɗe",
        "AF": "Afganistaan",
        "AG": "Antiguwaa e Barbudaa",
        "AI": "Anngiyaa",
        "AL": "Albanii",
        "AM": "Armenii",
        "AN": "Antiiye Nederlanndeeje",
        "AO": "Anngolaa",
        "AR": "Arjantiin",
        "AS": "Samowa Amerik",
        "AT": "Otiriis",
        "AU": "Ostaraalii",
        "AW": "Aruuba",
        "AZ": "Ajerbayjaan",
        "BA": "Bosnii Hersegowiin",
        "BB": "Barbadoos",
        "BD": "Banglaadees",
        "BE": "Beljik",
        "BF": "Burkibaa Faaso",
        "BG": "Bulgarii",
        "BH": "Bahreyn",
        "BI": "Burunndi",
        "BJ": "Benee",
        "BM": "Bermudaa",
        "BN": "Burnaay",
        "BO": "Boliwii",
        "BR": "Beresiil",
        "BS": "Bahamaas",
        "BT": "Butaan",
        "BW": "Botswaana",
        "BY": "Belaruus",
        "BZ": "Beliise",
        "CA": "Kanadaa",
        "CD": "Ndenndaandi Demokaraasiire Konngo",
        "CF": "Ndenndaandi Santarafrik",
        "CG": "Konngo",
        "CH": "Suwiis",
        "CI": "Kodduwaar",
        "CK": "Duuɗe Kuuk",
        "CL": "Cilii",
        "CM": "Kameruun",
        "CN": "Siin",
        "CO": "Kolombiya",
        "CR": "Kosta Rikaa",
        "CS": "Serbii e Montenegoroo",
        "CU": "Kubaa",
        "CV": "Duuɗe Kap Weer",
        "CY": "Siipar",
        "CZ": "Ndenndaandi Cek",
        "DE": "Almaañ",
        "DJ": "Jibutii",
        "DK": "Danmark",
        "DM": "Dominika",
        "DO": "Ndenndanndi Dominika",
        "DZ": "Alaseri",
        "EC": "Ekuwatoor",
        "EE": "Estoni",
        "EG": "Ejipt",
        "ER": "Eriteree",
        "ES": "Espaañ",
        "ET": "Ecoppi",
        "FI": "Fenland",
        "FJ": "Fijji",
        "FK": "Duuɗe Falkland",
        "FM": "Mikoronesii",
        "FR": "Farayse",
        "GA": "Gaboo",
        "GB": "Laamateeri Rentundi",
        "GD": "Garnaad",
        "GE": "Jeorgii",
        "GF": "Giyaan Farayse",
        "GH": "Ganaa",
        "GI": "Jibraltaar",
        "GL": "Gorwendland",
        "GM": "Gammbi",
        "GN": "Gine",
        "GP": "Gwaadalup",
        "GQ": "Ginee Ekuwaatoriyaal",
        "GR": "Gerees",
        "GT": "Gwaatemalaa",
        "GU": "Guwam",
        "GW": "Gine-Bisaawo",
        "GY": "Giyaan",
        "HN": "Onnduraas",
        "HR": "Korwasii",
        "HT": "Haytii",
        "HU": "Onngiri",
        "ID": "Enndonesii",
        "IE": "Irlannda",
        "IL": "Israa'iila",
        "IN": "Enndo",
        "IO": "Keeriindi britaani to maayo enndo",
        "IQ": "Iraak",
        "IR": "Iraan",
        "IS": "Islannda",
        "IT": "Itali",
        "JM": "Jamayka",
        "JO": "Jordani",
        "JP": "Sapoo",
        "KE": "Keñaa",
        "KG": "Kirgistaan",
        "KH": "Kambodso",
        "KI": "Kiribari",
        "KM": "Komoor",
        "KN": "Sent Kits e Newis",
        "KP": "Koree Rewo",
        "KR": "Koree Worgo",
        "KW": "Kuweyti",
        "KY": "Duuɗe Kaymaa",
        "KZ": "Kasakstaan",
        "LA": "Lawoos",
        "LB": "Libaa",
        "LC": "Sent Lusiyaa",
        "LI": "Lincenstayn",
        "LK": "Siri Lanka",
        "LR": "Liberiyaa",
        "LS": "Lesoto",
        "LT": "Lituaanii",
        "LU": "Liksembuur",
        "LV": "Letonii",
        "LY": "Libi",
        "MA": "Maruk",
        "MC": "Monaakoo",
        "MD": "Moldawii",
        "MG": "Madagaskaar",
        "MH": "Duuɗe Marsaal",
        "MK": "Meceduwaan",
        "ML": "Maali",
        "MM": "Miyamaar",
        "MN": "Monngolii",
        "MP": "Duuɗe Mariyaana Rewo",
        "MQ": "Martinik",
        "MR": "Muritani",
        "MS": "Monseraat",
        "MT": "Malte",
        "MU": "Moriis",
        "MV": "Maldiiwe",
        "MW": "Malaawi",
        "MX": "Meksik",
        "MY": "Malesii",
        "MZ": "Mosammbik",
        "NA": "Namibii",
        "NC": "Nuwel Kaledonii",
        "NE": "Nijeer",
        "NF": "Duuɗe Norfolk",
        "NG": "Nijeriyaa",
        "NI": "Nikaraguwaa",
        "NL": "Nederlannda",
        "NO": "Norwees",
        "NP": "Nepaal",
        "NR": "Nawuru",
        "NU": "Niuwe",
        "NZ": "Nuwel Selannda",
        "OM": "Omaan",
        "PA": "Panamaa",
        "PF": "Polinesii Farayse",
        "PG": "Papuwaa Nuwel Gine",
        "PH": "Filipiin",
        "PK": "Pakistaan",
        "PL": "Poloñ",
        "PM": "See Piyeer e Mikeloo",
        "PN": "Pitkern",
        "PR": "Porto Rikoo",
        "PS": "Palestiin Sisjordani e Gaasaa",
        "PT": "Purtugaal",
        "PW": "Palawu",
        "PY": "Paraguwaay",
        "QA": "Kataar",
        "RE": "Rewiñoo",
        "RO": "Rumanii",
        "RU": "Riisii",
        "RW": "Ruwanndaa",
        "SA": "Arabii Sawdit",
        "SB": "Duuɗe Solomon",
        "SC": "Seysel",
        "SD": "Sudaan",
        "SE": "Suweed",
        "SG": "Sinngapuur",
        "SH": "Sent Helen",
        "SI": "Slowenii",
        "SK": "Slowakii",
        "SL": "Seraa liyon",
        "SM": "See Maree",
        "SN": "Senegaal",
        "SO": "Somalii",
        "SR": "Surinaam",
        "ST": "Sawo Tome e Perensipe",
        "SV": "El Salwador",
        "SY": "Sirii",
        "SZ": "Swaasilannda",
        "TC": "Duuɗe Turke e Keikoos",
        "TD": "Caad",
        "TG": "Togoo",
        "TH": "Taylannda",
        "TJ": "Tajikistaan",
        "TK": "Tokelaaw",
        "TL": "Timoor Fuɗnaange",
        "TM": "Turkmenistaan",
        "TN": "Tunisii",
        "TO": "Tonngaa",
        "TR": "Turkii",
        "TT": "Tirnidaad e Tobaago",
        "TV": "Tuwaluu",
        "TW": "Taywaan",
        "TZ": "Tansanii",
        "UA": "Ukereen",
        "UG": "Unganndaa",
        "US": "Dowlaaji Dentuɗi Amerik",
        "UY": "Uruguwaay",
        "UZ": "Usbekistaan",
        "VA": "Dowla Waticaan",
        "VC": "See Weesaa e Garnadiin",
        "VE": "Wenesuwelaa",
        "VG": "duuɗe kecce britanii",
        "VI": "Duuɗe Kecce Amerik",
        "VN": "Wiyetnaam",
        "VU": "Wanuwaatuu",
        "WF": "Walis e Futuna",
        "WS": "Samowaa",
        "YT": "Mayoot",
        "ZA": "Afrik bŋ Worgo",
        "ZM": "Sammbi",
        "ZW": "Simbaabuwe"
    };
  }-*/;
}
