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

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

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "maailma");
    namesMap.put("002", "Afrikka");
    namesMap.put("003", "Pohjois-Amerikka");
    namesMap.put("005", "Etelä-Amerikka");
    namesMap.put("009", "Oseania");
    namesMap.put("011", "Länsi-Afrikka");
    namesMap.put("013", "Väli-Amerikka");
    namesMap.put("014", "Itä-Afrikka");
    namesMap.put("015", "Pohjois-Afrikka");
    namesMap.put("017", "Keski-Afrikka");
    namesMap.put("018", "eteläinen Afrikka");
    namesMap.put("019", "Amerikka");
    namesMap.put("021", "pohjoinen Amerikka");
    namesMap.put("029", "Karibia");
    namesMap.put("030", "Itä-Aasia");
    namesMap.put("034", "Etelä-Aasia");
    namesMap.put("035", "Kaakkois-Aasia");
    namesMap.put("039", "Etelä-Eurooppa");
    namesMap.put("053", "Australaasia");
    namesMap.put("057", "Mikronesia");
    namesMap.put("142", "Aasia");
    namesMap.put("143", "Keski-Aasia");
    namesMap.put("145", "Länsi-Aasia");
    namesMap.put("150", "Eurooppa");
    namesMap.put("151", "Itä-Eurooppa");
    namesMap.put("154", "Pohjois-Eurooppa");
    namesMap.put("155", "Länsi-Eurooppa");
    namesMap.put("202", "Saharan eteläpuolinen Afrikka");
    namesMap.put("419", "Latinalainen Amerikka");
    namesMap.put("AC", "Ascension-saari");
    namesMap.put("AE", "Arabiemiirikunnat");
    namesMap.put("AF", "Afganistan");
    namesMap.put("AG", "Antigua ja Barbuda");
    namesMap.put("AQ", "Antarktis");
    namesMap.put("AR", "Argentiina");
    namesMap.put("AS", "Amerikan Samoa");
    namesMap.put("AT", "Itävalta");
    namesMap.put("AX", "Ahvenanmaa");
    namesMap.put("AZ", "Azerbaidžan");
    namesMap.put("BA", "Bosnia ja Hertsegovina");
    namesMap.put("BE", "Belgia");
    namesMap.put("BL", "Saint-Barthélemy");
    namesMap.put("BQ", "Karibian Alankomaat");
    namesMap.put("BR", "Brasilia");
    namesMap.put("BS", "Bahama");
    namesMap.put("BV", "Bouvet’nsaari");
    namesMap.put("BY", "Valko-Venäjä");
    namesMap.put("CA", "Kanada");
    namesMap.put("CC", "Kookossaaret (Keelingsaaret)");
    namesMap.put("CD", "Kongon demokraattinen tasavalta");
    namesMap.put("CF", "Keski-Afrikan tasavalta");
    namesMap.put("CG", "Kongon tasavalta");
    namesMap.put("CH", "Sveitsi");
    namesMap.put("CI", "Norsunluurannikko");
    namesMap.put("CK", "Cookinsaaret");
    namesMap.put("CM", "Kamerun");
    namesMap.put("CN", "Kiina");
    namesMap.put("CO", "Kolumbia");
    namesMap.put("CP", "Clippertoninsaari");
    namesMap.put("CU", "Kuuba");
    namesMap.put("CV", "Kap Verde");
    namesMap.put("CX", "Joulusaari");
    namesMap.put("CY", "Kypros");
    namesMap.put("CZ", "Tšekki");
    namesMap.put("DE", "Saksa");
    namesMap.put("DK", "Tanska");
    namesMap.put("DO", "Dominikaaninen tasavalta");
    namesMap.put("EA", "Ceuta ja Melilla");
    namesMap.put("EE", "Viro");
    namesMap.put("EG", "Egypti");
    namesMap.put("EH", "Länsi-Sahara");
    namesMap.put("ES", "Espanja");
    namesMap.put("ET", "Etiopia");
    namesMap.put("EU", "Euroopan unioni");
    namesMap.put("EZ", "euroalue");
    namesMap.put("FI", "Suomi");
    namesMap.put("FJ", "Fidži");
    namesMap.put("FK", "Falklandinsaaret");
    namesMap.put("FM", "Mikronesian liittovaltio");
    namesMap.put("FO", "Färsaaret");
    namesMap.put("FR", "Ranska");
    namesMap.put("GB", "Iso-Britannia");
    namesMap.put("GF", "Ranskan Guayana");
    namesMap.put("GL", "Grönlanti");
    namesMap.put("GQ", "Päiväntasaajan Guinea");
    namesMap.put("GR", "Kreikka");
    namesMap.put("GS", "Etelä-Georgia ja Eteläiset Sandwichsaaret");
    namesMap.put("HK", "Hongkong – Kiinan e.h.a.");
    namesMap.put("HM", "Heard ja McDonaldinsaaret");
    namesMap.put("HR", "Kroatia");
    namesMap.put("HU", "Unkari");
    namesMap.put("IC", "Kanariansaaret");
    namesMap.put("IE", "Irlanti");
    namesMap.put("IM", "Mansaari");
    namesMap.put("IN", "Intia");
    namesMap.put("IO", "Brittiläinen Intian valtameren alue");
    namesMap.put("IQ", "Irak");
    namesMap.put("IS", "Islanti");
    namesMap.put("IT", "Italia");
    namesMap.put("JM", "Jamaika");
    namesMap.put("JO", "Jordania");
    namesMap.put("JP", "Japani");
    namesMap.put("KE", "Kenia");
    namesMap.put("KG", "Kirgisia");
    namesMap.put("KH", "Kambodža");
    namesMap.put("KM", "Komorit");
    namesMap.put("KN", "Saint Kitts ja Nevis");
    namesMap.put("KP", "Pohjois-Korea");
    namesMap.put("KR", "Etelä-Korea");
    namesMap.put("KY", "Caymansaaret");
    namesMap.put("KZ", "Kazakstan");
    namesMap.put("LB", "Libanon");
    namesMap.put("LC", "Saint Lucia");
    namesMap.put("LT", "Liettua");
    namesMap.put("LU", "Luxemburg");
    namesMap.put("MA", "Marokko");
    namesMap.put("MF", "Saint-Martin");
    namesMap.put("MG", "Madagaskar");
    namesMap.put("MH", "Marshallinsaaret");
    namesMap.put("MK", "Makedonia");
    namesMap.put("MO", "Macao – Kiinan e.h.a.");
    namesMap.put("MP", "Pohjois-Mariaanit");
    namesMap.put("MV", "Malediivit");
    namesMap.put("MX", "Meksiko");
    namesMap.put("MY", "Malesia");
    namesMap.put("MZ", "Mosambik");
    namesMap.put("NC", "Uusi-Kaledonia");
    namesMap.put("NF", "Norfolkinsaari");
    namesMap.put("NL", "Alankomaat");
    namesMap.put("NO", "Norja");
    namesMap.put("NZ", "Uusi-Seelanti");
    namesMap.put("PF", "Ranskan Polynesia");
    namesMap.put("PG", "Papua-Uusi-Guinea");
    namesMap.put("PH", "Filippiinit");
    namesMap.put("PL", "Puola");
    namesMap.put("PM", "Saint-Pierre ja Miquelon");
    namesMap.put("PN", "Pitcairn");
    namesMap.put("PS", "Palestiinalaisalueet");
    namesMap.put("PT", "Portugali");
    namesMap.put("QO", "ulkomeri");
    namesMap.put("RU", "Venäjä");
    namesMap.put("RW", "Ruanda");
    namesMap.put("SA", "Saudi-Arabia");
    namesMap.put("SB", "Salomonsaaret");
    namesMap.put("SC", "Seychellit");
    namesMap.put("SE", "Ruotsi");
    namesMap.put("SH", "Saint Helena");
    namesMap.put("SJ", "Huippuvuoret ja Jan Mayen");
    namesMap.put("SS", "Etelä-Sudan");
    namesMap.put("ST", "São Tomé ja Príncipe");
    namesMap.put("SY", "Syyria");
    namesMap.put("SZ", "Swazimaa");
    namesMap.put("TC", "Turks- ja Caicossaaret");
    namesMap.put("TD", "Tšad");
    namesMap.put("TF", "Ranskan eteläiset alueet");
    namesMap.put("TH", "Thaimaa");
    namesMap.put("TJ", "Tadžikistan");
    namesMap.put("TL", "Itä-Timor");
    namesMap.put("TR", "Turkki");
    namesMap.put("TT", "Trinidad ja Tobago");
    namesMap.put("TZ", "Tansania");
    namesMap.put("UA", "Ukraina");
    namesMap.put("UM", "Yhdysvaltain erillissaaret");
    namesMap.put("UN", "Yhdistyneet kansakunnat");
    namesMap.put("US", "Yhdysvallat");
    namesMap.put("VA", "Vatikaani");
    namesMap.put("VC", "Saint Vincent ja Grenadiinit");
    namesMap.put("VG", "Brittiläiset Neitsytsaaret");
    namesMap.put("VI", "Yhdysvaltain Neitsytsaaret");
    namesMap.put("WF", "Wallis ja Futuna");
    namesMap.put("YE", "Jemen");
    namesMap.put("ZA", "Etelä-Afrikka");
    namesMap.put("ZM", "Sambia");
    namesMap.put("ZZ", "tuntematon alue");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "001": "maailma",
        "002": "Afrikka",
        "003": "Pohjois-Amerikka",
        "005": "Etelä-Amerikka",
        "009": "Oseania",
        "011": "Länsi-Afrikka",
        "013": "Väli-Amerikka",
        "014": "Itä-Afrikka",
        "015": "Pohjois-Afrikka",
        "017": "Keski-Afrikka",
        "018": "eteläinen Afrikka",
        "019": "Amerikka",
        "021": "pohjoinen Amerikka",
        "029": "Karibia",
        "030": "Itä-Aasia",
        "034": "Etelä-Aasia",
        "035": "Kaakkois-Aasia",
        "039": "Etelä-Eurooppa",
        "053": "Australaasia",
        "057": "Mikronesia",
        "142": "Aasia",
        "143": "Keski-Aasia",
        "145": "Länsi-Aasia",
        "150": "Eurooppa",
        "151": "Itä-Eurooppa",
        "154": "Pohjois-Eurooppa",
        "155": "Länsi-Eurooppa",
        "202": "Saharan eteläpuolinen Afrikka",
        "419": "Latinalainen Amerikka",
        "AC": "Ascension-saari",
        "AE": "Arabiemiirikunnat",
        "AF": "Afganistan",
        "AG": "Antigua ja Barbuda",
        "AQ": "Antarktis",
        "AR": "Argentiina",
        "AS": "Amerikan Samoa",
        "AT": "Itävalta",
        "AX": "Ahvenanmaa",
        "AZ": "Azerbaidžan",
        "BA": "Bosnia ja Hertsegovina",
        "BE": "Belgia",
        "BL": "Saint-Barthélemy",
        "BQ": "Karibian Alankomaat",
        "BR": "Brasilia",
        "BS": "Bahama",
        "BV": "Bouvet’nsaari",
        "BY": "Valko-Venäjä",
        "CA": "Kanada",
        "CC": "Kookossaaret (Keelingsaaret)",
        "CD": "Kongon demokraattinen tasavalta",
        "CF": "Keski-Afrikan tasavalta",
        "CG": "Kongon tasavalta",
        "CH": "Sveitsi",
        "CI": "Norsunluurannikko",
        "CK": "Cookinsaaret",
        "CM": "Kamerun",
        "CN": "Kiina",
        "CO": "Kolumbia",
        "CP": "Clippertoninsaari",
        "CU": "Kuuba",
        "CV": "Kap Verde",
        "CX": "Joulusaari",
        "CY": "Kypros",
        "CZ": "Tšekki",
        "DE": "Saksa",
        "DK": "Tanska",
        "DO": "Dominikaaninen tasavalta",
        "EA": "Ceuta ja Melilla",
        "EE": "Viro",
        "EG": "Egypti",
        "EH": "Länsi-Sahara",
        "ES": "Espanja",
        "ET": "Etiopia",
        "EU": "Euroopan unioni",
        "EZ": "euroalue",
        "FI": "Suomi",
        "FJ": "Fidži",
        "FK": "Falklandinsaaret",
        "FM": "Mikronesian liittovaltio",
        "FO": "Färsaaret",
        "FR": "Ranska",
        "GB": "Iso-Britannia",
        "GF": "Ranskan Guayana",
        "GL": "Grönlanti",
        "GQ": "Päiväntasaajan Guinea",
        "GR": "Kreikka",
        "GS": "Etelä-Georgia ja Eteläiset Sandwichsaaret",
        "HK": "Hongkong – Kiinan e.h.a.",
        "HM": "Heard ja McDonaldinsaaret",
        "HR": "Kroatia",
        "HU": "Unkari",
        "IC": "Kanariansaaret",
        "IE": "Irlanti",
        "IM": "Mansaari",
        "IN": "Intia",
        "IO": "Brittiläinen Intian valtameren alue",
        "IQ": "Irak",
        "IS": "Islanti",
        "IT": "Italia",
        "JM": "Jamaika",
        "JO": "Jordania",
        "JP": "Japani",
        "KE": "Kenia",
        "KG": "Kirgisia",
        "KH": "Kambodža",
        "KM": "Komorit",
        "KN": "Saint Kitts ja Nevis",
        "KP": "Pohjois-Korea",
        "KR": "Etelä-Korea",
        "KY": "Caymansaaret",
        "KZ": "Kazakstan",
        "LB": "Libanon",
        "LC": "Saint Lucia",
        "LT": "Liettua",
        "LU": "Luxemburg",
        "MA": "Marokko",
        "MF": "Saint-Martin",
        "MG": "Madagaskar",
        "MH": "Marshallinsaaret",
        "MK": "Makedonia",
        "MO": "Macao – Kiinan e.h.a.",
        "MP": "Pohjois-Mariaanit",
        "MV": "Malediivit",
        "MX": "Meksiko",
        "MY": "Malesia",
        "MZ": "Mosambik",
        "NC": "Uusi-Kaledonia",
        "NF": "Norfolkinsaari",
        "NL": "Alankomaat",
        "NO": "Norja",
        "NZ": "Uusi-Seelanti",
        "PF": "Ranskan Polynesia",
        "PG": "Papua-Uusi-Guinea",
        "PH": "Filippiinit",
        "PL": "Puola",
        "PM": "Saint-Pierre ja Miquelon",
        "PN": "Pitcairn",
        "PS": "Palestiinalaisalueet",
        "PT": "Portugali",
        "QO": "ulkomeri",
        "RU": "Venäjä",
        "RW": "Ruanda",
        "SA": "Saudi-Arabia",
        "SB": "Salomonsaaret",
        "SC": "Seychellit",
        "SE": "Ruotsi",
        "SH": "Saint Helena",
        "SJ": "Huippuvuoret ja Jan Mayen",
        "SS": "Etelä-Sudan",
        "ST": "São Tomé ja Príncipe",
        "SY": "Syyria",
        "SZ": "Swazimaa",
        "TC": "Turks- ja Caicossaaret",
        "TD": "Tšad",
        "TF": "Ranskan eteläiset alueet",
        "TH": "Thaimaa",
        "TJ": "Tadžikistan",
        "TL": "Itä-Timor",
        "TR": "Turkki",
        "TT": "Trinidad ja Tobago",
        "TZ": "Tansania",
        "UA": "Ukraina",
        "UM": "Yhdysvaltain erillissaaret",
        "UN": "Yhdistyneet kansakunnat",
        "US": "Yhdysvallat",
        "VA": "Vatikaani",
        "VC": "Saint Vincent ja Grenadiinit",
        "VG": "Brittiläiset Neitsytsaaret",
        "VI": "Yhdysvaltain Neitsytsaaret",
        "WF": "Wallis ja Futuna",
        "YE": "Jemen",
        "ZA": "Etelä-Afrikka",
        "ZM": "Sambia",
        "ZZ": "tuntematon alue"
    };
  }-*/;
}
