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

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "svet");
    namesMap.put("002", "Afrika");
    namesMap.put("003", "Severna Amerika");
    namesMap.put("005", "Južna Amerika");
    namesMap.put("009", "Oceanija");
    namesMap.put("011", "Zahodna Afrika");
    namesMap.put("013", "Srednja Amerika");
    namesMap.put("014", "Vzhodna Afrika");
    namesMap.put("015", "Severna Afrika");
    namesMap.put("017", "Srednja Afrika");
    namesMap.put("018", "Južna Afrika");
    namesMap.put("019", "Amerike");
    namesMap.put("021", "severnoameriška celina");
    namesMap.put("029", "Karibi");
    namesMap.put("030", "Vzhodna Azija");
    namesMap.put("034", "Južna Azija");
    namesMap.put("035", "Jugovzhodna Azija");
    namesMap.put("039", "Južna Evropa");
    namesMap.put("053", "Avstralija in Nova Zelandija");
    namesMap.put("054", "Melanezija");
    namesMap.put("057", "mikronezijska regija");
    namesMap.put("061", "Polinezija");
    namesMap.put("142", "Azija");
    namesMap.put("143", "Osrednja Azija");
    namesMap.put("145", "Zahodna Azija");
    namesMap.put("150", "Evropa");
    namesMap.put("151", "Vzhodna Evropa");
    namesMap.put("154", "Severna Evropa");
    namesMap.put("155", "Zahodna Evropa");
    namesMap.put("419", "Latinska Amerika");
    namesMap.put("AC", "Otok Ascension");
    namesMap.put("AD", "Andora");
    namesMap.put("AE", "Združeni arabski emirati");
    namesMap.put("AF", "Afganistan");
    namesMap.put("AG", "Antigva in Barbuda");
    namesMap.put("AI", "Angvila");
    namesMap.put("AL", "Albanija");
    namesMap.put("AM", "Armenija");
    namesMap.put("AQ", "Antarktika");
    namesMap.put("AS", "Ameriška Samoa");
    namesMap.put("AT", "Avstrija");
    namesMap.put("AU", "Avstralija");
    namesMap.put("AX", "Ålandski otoki");
    namesMap.put("AZ", "Azerbajdžan");
    namesMap.put("BA", "Bosna in Hercegovina");
    namesMap.put("BD", "Bangladeš");
    namesMap.put("BE", "Belgija");
    namesMap.put("BG", "Bolgarija");
    namesMap.put("BH", "Bahrajn");
    namesMap.put("BL", "Saint Barthélemy");
    namesMap.put("BM", "Bermudi");
    namesMap.put("BN", "Brunej");
    namesMap.put("BO", "Bolivija");
    namesMap.put("BQ", "Nizozemski Karibi");
    namesMap.put("BR", "Brazilija");
    namesMap.put("BS", "Bahami");
    namesMap.put("BT", "Butan");
    namesMap.put("BV", "Bouvetov otok");
    namesMap.put("BW", "Bocvana");
    namesMap.put("BY", "Belorusija");
    namesMap.put("CA", "Kanada");
    namesMap.put("CC", "Kokosovi otoki");
    namesMap.put("CD", "Demokratična republika Kongo");
    namesMap.put("CF", "Centralnoafriška republika");
    namesMap.put("CG", "Kongo - Brazzaville");
    namesMap.put("CH", "Švica");
    namesMap.put("CI", "Slonokoščena obala");
    namesMap.put("CK", "Cookovi otoki");
    namesMap.put("CL", "Čile");
    namesMap.put("CM", "Kamerun");
    namesMap.put("CN", "Kitajska");
    namesMap.put("CO", "Kolumbija");
    namesMap.put("CP", "Otok Clipperton");
    namesMap.put("CR", "Kostarika");
    namesMap.put("CU", "Kuba");
    namesMap.put("CV", "Zelenortski otoki");
    namesMap.put("CX", "Božični otok");
    namesMap.put("CY", "Ciper");
    namesMap.put("CZ", "Češka");
    namesMap.put("DE", "Nemčija");
    namesMap.put("DJ", "Džibuti");
    namesMap.put("DK", "Danska");
    namesMap.put("DM", "Dominika");
    namesMap.put("DO", "Dominikanska republika");
    namesMap.put("DZ", "Alžirija");
    namesMap.put("EA", "Ceuta in Melilla");
    namesMap.put("EC", "Ekvador");
    namesMap.put("EE", "Estonija");
    namesMap.put("EG", "Egipt");
    namesMap.put("EH", "Zahodna Sahara");
    namesMap.put("ER", "Eritreja");
    namesMap.put("ES", "Španija");
    namesMap.put("ET", "Etiopija");
    namesMap.put("EU", "Evropska unija");
    namesMap.put("EZ", "evroobmočje");
    namesMap.put("FI", "Finska");
    namesMap.put("FJ", "Fidži");
    namesMap.put("FK", "Falklandski otoki");
    namesMap.put("FM", "Mikronezija");
    namesMap.put("FO", "Ferski otoki");
    namesMap.put("FR", "Francija");
    namesMap.put("GB", "Združeno kraljestvo");
    namesMap.put("GE", "Gruzija");
    namesMap.put("GF", "Francoska Gvajana");
    namesMap.put("GH", "Gana");
    namesMap.put("GL", "Grenlandija");
    namesMap.put("GM", "Gambija");
    namesMap.put("GN", "Gvineja");
    namesMap.put("GQ", "Ekvatorialna Gvineja");
    namesMap.put("GR", "Grčija");
    namesMap.put("GS", "Južna Georgia in Južni Sandwichevi otoki");
    namesMap.put("GT", "Gvatemala");
    namesMap.put("GW", "Gvineja Bissau");
    namesMap.put("GY", "Gvajana");
    namesMap.put("HK", "Posebno administrativno območje LR Kitajske Hongkong");
    namesMap.put("HM", "Heardov otok in McDonaldovi otoki");
    namesMap.put("HR", "Hrvaška");
    namesMap.put("HU", "Madžarska");
    namesMap.put("IC", "Kanarski otoki");
    namesMap.put("ID", "Indonezija");
    namesMap.put("IE", "Irska");
    namesMap.put("IL", "Izrael");
    namesMap.put("IM", "Otok Man");
    namesMap.put("IN", "Indija");
    namesMap.put("IO", "Britansko ozemlje v Indijskem oceanu");
    namesMap.put("IQ", "Irak");
    namesMap.put("IS", "Islandija");
    namesMap.put("IT", "Italija");
    namesMap.put("JM", "Jamajka");
    namesMap.put("JO", "Jordanija");
    namesMap.put("JP", "Japonska");
    namesMap.put("KE", "Kenija");
    namesMap.put("KG", "Kirgizistan");
    namesMap.put("KH", "Kambodža");
    namesMap.put("KM", "Komori");
    namesMap.put("KN", "Saint Kitts in Nevis");
    namesMap.put("KP", "Severna Koreja");
    namesMap.put("KR", "Južna Koreja");
    namesMap.put("KW", "Kuvajt");
    namesMap.put("KY", "Kajmanski otoki");
    namesMap.put("KZ", "Kazahstan");
    namesMap.put("LB", "Libanon");
    namesMap.put("LC", "Saint Lucia");
    namesMap.put("LI", "Lihtenštajn");
    namesMap.put("LK", "Šrilanka");
    namesMap.put("LR", "Liberija");
    namesMap.put("LS", "Lesoto");
    namesMap.put("LT", "Litva");
    namesMap.put("LU", "Luksemburg");
    namesMap.put("LV", "Latvija");
    namesMap.put("LY", "Libija");
    namesMap.put("MA", "Maroko");
    namesMap.put("MC", "Monako");
    namesMap.put("MD", "Moldavija");
    namesMap.put("ME", "Črna gora");
    namesMap.put("MF", "Saint Martin");
    namesMap.put("MG", "Madagaskar");
    namesMap.put("MH", "Marshallovi otoki");
    namesMap.put("MK", "Makedonija");
    namesMap.put("MM", "Mjanmar (Burma)");
    namesMap.put("MN", "Mongolija");
    namesMap.put("MO", "Posebno administrativno območje LR Kitajske Macao");
    namesMap.put("MP", "Severni Marianski otoki");
    namesMap.put("MQ", "Martinik");
    namesMap.put("MR", "Mavretanija");
    namesMap.put("MV", "Maldivi");
    namesMap.put("MW", "Malavi");
    namesMap.put("MX", "Mehika");
    namesMap.put("MY", "Malezija");
    namesMap.put("MZ", "Mozambik");
    namesMap.put("NA", "Namibija");
    namesMap.put("NC", "Nova Kaledonija");
    namesMap.put("NF", "Norfolški otok");
    namesMap.put("NG", "Nigerija");
    namesMap.put("NI", "Nikaragva");
    namesMap.put("NL", "Nizozemska");
    namesMap.put("NO", "Norveška");
    namesMap.put("NZ", "Nova Zelandija");
    namesMap.put("PF", "Francoska Polinezija");
    namesMap.put("PG", "Papua Nova Gvineja");
    namesMap.put("PH", "Filipini");
    namesMap.put("PL", "Poljska");
    namesMap.put("PM", "Saint Pierre in Miquelon");
    namesMap.put("PN", "Pitcairn");
    namesMap.put("PR", "Portoriko");
    namesMap.put("PS", "Palestinsko ozemlje");
    namesMap.put("PT", "Portugalska");
    namesMap.put("PY", "Paragvaj");
    namesMap.put("QA", "Katar");
    namesMap.put("QO", "Ostala oceanija");
    namesMap.put("RE", "Reunion");
    namesMap.put("RO", "Romunija");
    namesMap.put("RS", "Srbija");
    namesMap.put("RU", "Rusija");
    namesMap.put("RW", "Ruanda");
    namesMap.put("SA", "Saudova Arabija");
    namesMap.put("SB", "Salomonovi otoki");
    namesMap.put("SC", "Sejšeli");
    namesMap.put("SE", "Švedska");
    namesMap.put("SG", "Singapur");
    namesMap.put("SH", "Sveta Helena");
    namesMap.put("SI", "Slovenija");
    namesMap.put("SJ", "Svalbard in Jan Mayen");
    namesMap.put("SK", "Slovaška");
    namesMap.put("SO", "Somalija");
    namesMap.put("SR", "Surinam");
    namesMap.put("SS", "Južni Sudan");
    namesMap.put("ST", "Sao Tome in Principe");
    namesMap.put("SV", "Salvador");
    namesMap.put("SY", "Sirija");
    namesMap.put("SZ", "Svazi");
    namesMap.put("TC", "Otoki Turks in Caicos");
    namesMap.put("TD", "Čad");
    namesMap.put("TF", "Francosko južno ozemlje");
    namesMap.put("TH", "Tajska");
    namesMap.put("TJ", "Tadžikistan");
    namesMap.put("TN", "Tunizija");
    namesMap.put("TR", "Turčija");
    namesMap.put("TT", "Trinidad in Tobago");
    namesMap.put("TW", "Tajvan");
    namesMap.put("TZ", "Tanzanija");
    namesMap.put("UA", "Ukrajina");
    namesMap.put("UM", "Stranski zunanji otoki Združenih držav");
    namesMap.put("UN", "Združeni narodi");
    namesMap.put("US", "Združene države Amerike");
    namesMap.put("UY", "Urugvaj");
    namesMap.put("VA", "Vatikan");
    namesMap.put("VC", "Saint Vincent in Grenadine");
    namesMap.put("VG", "Britanski Deviški otoki");
    namesMap.put("VI", "Ameriški Deviški otoki");
    namesMap.put("WF", "Wallis in Futuna");
    namesMap.put("YE", "Jemen");
    namesMap.put("ZA", "Južnoafriška republika");
    namesMap.put("ZM", "Zambija");
    namesMap.put("ZW", "Zimbabve");
    namesMap.put("ZZ", "Neznano ali neveljavno območje");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "001": "svet",
        "002": "Afrika",
        "003": "Severna Amerika",
        "005": "Južna Amerika",
        "009": "Oceanija",
        "011": "Zahodna Afrika",
        "013": "Srednja Amerika",
        "014": "Vzhodna Afrika",
        "015": "Severna Afrika",
        "017": "Srednja Afrika",
        "018": "Južna Afrika",
        "019": "Amerike",
        "021": "severnoameriška celina",
        "029": "Karibi",
        "030": "Vzhodna Azija",
        "034": "Južna Azija",
        "035": "Jugovzhodna Azija",
        "039": "Južna Evropa",
        "053": "Avstralija in Nova Zelandija",
        "054": "Melanezija",
        "057": "mikronezijska regija",
        "061": "Polinezija",
        "142": "Azija",
        "143": "Osrednja Azija",
        "145": "Zahodna Azija",
        "150": "Evropa",
        "151": "Vzhodna Evropa",
        "154": "Severna Evropa",
        "155": "Zahodna Evropa",
        "419": "Latinska Amerika",
        "AC": "Otok Ascension",
        "AD": "Andora",
        "AE": "Združeni arabski emirati",
        "AF": "Afganistan",
        "AG": "Antigva in Barbuda",
        "AI": "Angvila",
        "AL": "Albanija",
        "AM": "Armenija",
        "AQ": "Antarktika",
        "AS": "Ameriška Samoa",
        "AT": "Avstrija",
        "AU": "Avstralija",
        "AX": "Ålandski otoki",
        "AZ": "Azerbajdžan",
        "BA": "Bosna in Hercegovina",
        "BD": "Bangladeš",
        "BE": "Belgija",
        "BG": "Bolgarija",
        "BH": "Bahrajn",
        "BL": "Saint Barthélemy",
        "BM": "Bermudi",
        "BN": "Brunej",
        "BO": "Bolivija",
        "BQ": "Nizozemski Karibi",
        "BR": "Brazilija",
        "BS": "Bahami",
        "BT": "Butan",
        "BV": "Bouvetov otok",
        "BW": "Bocvana",
        "BY": "Belorusija",
        "CA": "Kanada",
        "CC": "Kokosovi otoki",
        "CD": "Demokratična republika Kongo",
        "CF": "Centralnoafriška republika",
        "CG": "Kongo - Brazzaville",
        "CH": "Švica",
        "CI": "Slonokoščena obala",
        "CK": "Cookovi otoki",
        "CL": "Čile",
        "CM": "Kamerun",
        "CN": "Kitajska",
        "CO": "Kolumbija",
        "CP": "Otok Clipperton",
        "CR": "Kostarika",
        "CU": "Kuba",
        "CV": "Zelenortski otoki",
        "CX": "Božični otok",
        "CY": "Ciper",
        "CZ": "Češka",
        "DE": "Nemčija",
        "DJ": "Džibuti",
        "DK": "Danska",
        "DM": "Dominika",
        "DO": "Dominikanska republika",
        "DZ": "Alžirija",
        "EA": "Ceuta in Melilla",
        "EC": "Ekvador",
        "EE": "Estonija",
        "EG": "Egipt",
        "EH": "Zahodna Sahara",
        "ER": "Eritreja",
        "ES": "Španija",
        "ET": "Etiopija",
        "EU": "Evropska unija",
        "EZ": "evroobmočje",
        "FI": "Finska",
        "FJ": "Fidži",
        "FK": "Falklandski otoki",
        "FM": "Mikronezija",
        "FO": "Ferski otoki",
        "FR": "Francija",
        "GB": "Združeno kraljestvo",
        "GE": "Gruzija",
        "GF": "Francoska Gvajana",
        "GH": "Gana",
        "GL": "Grenlandija",
        "GM": "Gambija",
        "GN": "Gvineja",
        "GQ": "Ekvatorialna Gvineja",
        "GR": "Grčija",
        "GS": "Južna Georgia in Južni Sandwichevi otoki",
        "GT": "Gvatemala",
        "GW": "Gvineja Bissau",
        "GY": "Gvajana",
        "HK": "Posebno administrativno območje LR Kitajske Hongkong",
        "HM": "Heardov otok in McDonaldovi otoki",
        "HR": "Hrvaška",
        "HU": "Madžarska",
        "IC": "Kanarski otoki",
        "ID": "Indonezija",
        "IE": "Irska",
        "IL": "Izrael",
        "IM": "Otok Man",
        "IN": "Indija",
        "IO": "Britansko ozemlje v Indijskem oceanu",
        "IQ": "Irak",
        "IS": "Islandija",
        "IT": "Italija",
        "JM": "Jamajka",
        "JO": "Jordanija",
        "JP": "Japonska",
        "KE": "Kenija",
        "KG": "Kirgizistan",
        "KH": "Kambodža",
        "KM": "Komori",
        "KN": "Saint Kitts in Nevis",
        "KP": "Severna Koreja",
        "KR": "Južna Koreja",
        "KW": "Kuvajt",
        "KY": "Kajmanski otoki",
        "KZ": "Kazahstan",
        "LB": "Libanon",
        "LC": "Saint Lucia",
        "LI": "Lihtenštajn",
        "LK": "Šrilanka",
        "LR": "Liberija",
        "LS": "Lesoto",
        "LT": "Litva",
        "LU": "Luksemburg",
        "LV": "Latvija",
        "LY": "Libija",
        "MA": "Maroko",
        "MC": "Monako",
        "MD": "Moldavija",
        "ME": "Črna gora",
        "MF": "Saint Martin",
        "MG": "Madagaskar",
        "MH": "Marshallovi otoki",
        "MK": "Makedonija",
        "MM": "Mjanmar (Burma)",
        "MN": "Mongolija",
        "MO": "Posebno administrativno območje LR Kitajske Macao",
        "MP": "Severni Marianski otoki",
        "MQ": "Martinik",
        "MR": "Mavretanija",
        "MV": "Maldivi",
        "MW": "Malavi",
        "MX": "Mehika",
        "MY": "Malezija",
        "MZ": "Mozambik",
        "NA": "Namibija",
        "NC": "Nova Kaledonija",
        "NF": "Norfolški otok",
        "NG": "Nigerija",
        "NI": "Nikaragva",
        "NL": "Nizozemska",
        "NO": "Norveška",
        "NZ": "Nova Zelandija",
        "PF": "Francoska Polinezija",
        "PG": "Papua Nova Gvineja",
        "PH": "Filipini",
        "PL": "Poljska",
        "PM": "Saint Pierre in Miquelon",
        "PN": "Pitcairn",
        "PR": "Portoriko",
        "PS": "Palestinsko ozemlje",
        "PT": "Portugalska",
        "PY": "Paragvaj",
        "QA": "Katar",
        "QO": "Ostala oceanija",
        "RE": "Reunion",
        "RO": "Romunija",
        "RS": "Srbija",
        "RU": "Rusija",
        "RW": "Ruanda",
        "SA": "Saudova Arabija",
        "SB": "Salomonovi otoki",
        "SC": "Sejšeli",
        "SE": "Švedska",
        "SG": "Singapur",
        "SH": "Sveta Helena",
        "SI": "Slovenija",
        "SJ": "Svalbard in Jan Mayen",
        "SK": "Slovaška",
        "SO": "Somalija",
        "SR": "Surinam",
        "SS": "Južni Sudan",
        "ST": "Sao Tome in Principe",
        "SV": "Salvador",
        "SY": "Sirija",
        "SZ": "Svazi",
        "TC": "Otoki Turks in Caicos",
        "TD": "Čad",
        "TF": "Francosko južno ozemlje",
        "TH": "Tajska",
        "TJ": "Tadžikistan",
        "TN": "Tunizija",
        "TR": "Turčija",
        "TT": "Trinidad in Tobago",
        "TW": "Tajvan",
        "TZ": "Tanzanija",
        "UA": "Ukrajina",
        "UM": "Stranski zunanji otoki Združenih držav",
        "UN": "Združeni narodi",
        "US": "Združene države Amerike",
        "UY": "Urugvaj",
        "VA": "Vatikan",
        "VC": "Saint Vincent in Grenadine",
        "VG": "Britanski Deviški otoki",
        "VI": "Ameriški Deviški otoki",
        "WF": "Wallis in Futuna",
        "YE": "Jemen",
        "ZA": "Južnoafriška republika",
        "ZM": "Zambija",
        "ZW": "Zimbabve",
        "ZZ": "Neznano ali neveljavno območje"
    };
  }-*/;
}
