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


/**
 * 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",
        "BQ",
        "BR",
        "VG",
        "IO",
        "BN",
        "BF",
        "BI",
        "BT",
        "CF",
        "EA",
        "CY",
        "CK",
        "CW",
        "TD",
        "CZ",
        "CL",
        "ME",
        "DK",
        "CD",
        "DG",
        "DM",
        "DO",
        "UM",
        "DJ",
        "EG",
        "EC",
        "GQ",
        "ER",
        "EE",
        "ET",
        "EU",
        "FK",
        "FO",
        "FJ",
        "PH",
        "FI",
        "FR",
        "GF",
        "PF",
        "TF",
        "GA",
        "GM",
        "GH",
        "GI",
        "GR",
        "GD",
        "GL",
        "GE",
        "GU",
        "GG",
        "GP",
        "GY",
        "GT",
        "GN",
        "GW",
        "HT",
        "HN",
        "HK",
        "HR",
        "IN",
        "ID",
        "IQ",
        "IR",
        "IE",
        "IS",
        "IT",
        "IL",
        "JM",
        "JP",
        "YE",
        "JE",
        "JO",
        "GS",
        "KR",
        "ZA",
        "KY",
        "KH",
        "CM",
        "CA",
        "IC",
        "QA",
        "KZ",
        "KE",
        "KG",
        "KI",
        "CN",
        "CC",
        "CO",
        "KM",
        "CG",
        "CR",
        "CU",
        "KW",
        "LA",
        "LV",
        "LS",
        "LB",
        "LR",
        "LY",
        "LI",
        "LT",
        "LU",
        "MO",
        "MG",
        "HU",
        "MK",
        "MW",
        "MV",
        "MY",
        "ML",
        "MT",
        "MA",
        "MH",
        "MQ",
        "MU",
        "MR",
        "YT",
        "MX",
        "FX",
        "FM",
        "MM",
        "MD",
        "MC",
        "MN",
        "MS",
        "MZ",
        "NA",
        "NR",
        "DE",
        "NP",
        "NE",
        "NG",
        "NI",
        "NU",
        "NL",
        "AN",
        "NF",
        "NO",
        "NC",
        "NZ",
        "OM",
        "QO",
        "TC",
        "AC",
        "CP",
        "HM",
        "IM",
        "PK",
        "PW",
        "PS",
        "PA",
        "PG",
        "PY",
        "PE",
        "PN",
        "PL",
        "PR",
        "PT",
        "RE",
        "RO",
        "RW",
        "RU",
        "BL",
        "KN",
        "LC",
        "MF",
        "PM",
        "VC",
        "SB",
        "SV",
        "WS",
        "SM",
        "ST",
        "SA",
        "SC",
        "SN",
        "KP",
        "MP",
        "SL",
        "SG",
        "SY",
        "CI",
        "SK",
        "SI",
        "SO",
        "RS",
        "CS",
        "SS",
        "SD",
        "SR",
        "SJ",
        "SZ",
        "SH",
        "SX",
        "ES",
        "LK",
        "SE",
        "CH",
        "TJ",
        "TH",
        "TW",
        "TZ",
        "TG",
        "TK",
        "TO",
        "TT",
        "TA",
        "TN",
        "TR",
        "TM",
        "TV",
        "UG",
        "UA",
        "UY",
        "UZ",
        "VU",
        "VA",
        "GB",
        "VE",
        "VN",
        "TL",
        "WF",
        "EH",
        "ZM",
        "US",
        "AE",
        "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("AN", "Nizozemski Antili");
    namesMap.put("AQ", "Antarktika");
    namesMap.put("AS", "Ameriška Samoa");
    namesMap.put("AT", "Avstrija");
    namesMap.put("AU", "Avstralija");
    namesMap.put("AX", "Alandsko otočje");
    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 Barthelemy");
    namesMap.put("BM", "Bermudi");
    namesMap.put("BN", "Brunej");
    namesMap.put("BO", "Bolivija");
    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", "Cookovo otočje");
    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("CS", "Srbija in Črna gora");
    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("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("FX", "Metropolitanska Francija");
    namesMap.put("GB", "Velika Britanija");
    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("GP", "Gvadalupe");
    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", "Hongkong");
    namesMap.put("HM", "Otok Heard in otočje McDonald");
    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("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("MG", "Madagaskar");
    namesMap.put("MH", "Marshallovi otoki");
    namesMap.put("MK", "Makedonija");
    namesMap.put("MM", "Mjanmar [Burma]");
    namesMap.put("MN", "Mongolija");
    namesMap.put("MO", "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("ST", "Sao Tome in Principe");
    namesMap.put("SV", "Salvador");
    namesMap.put("SY", "Sirija");
    namesMap.put("SZ", "Svazi");
    namesMap.put("TC", "Otočji 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("TL", "Vzhodni Timor");
    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", "Druga ameriška ozemlja v Tihem oceanu");
    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",
        "AN": "Nizozemski Antili",
        "AQ": "Antarktika",
        "AS": "Ameriška Samoa",
        "AT": "Avstrija",
        "AU": "Avstralija",
        "AX": "Alandsko otočje",
        "AZ": "Azerbajdžan",
        "BA": "Bosna in Hercegovina",
        "BD": "Bangladeš",
        "BE": "Belgija",
        "BG": "Bolgarija",
        "BH": "Bahrajn",
        "BL": "Saint Barthelemy",
        "BM": "Bermudi",
        "BN": "Brunej",
        "BO": "Bolivija",
        "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": "Cookovo otočje",
        "CL": "Čile",
        "CM": "Kamerun",
        "CN": "Kitajska",
        "CO": "Kolumbija",
        "CP": "Otok Clipperton",
        "CR": "Kostarika",
        "CS": "Srbija in Črna gora",
        "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",
        "FI": "Finska",
        "FJ": "Fidži",
        "FK": "Falklandski otoki",
        "FM": "Mikronezija",
        "FO": "Ferski otoki",
        "FR": "Francija",
        "FX": "Metropolitanska Francija",
        "GB": "Velika Britanija",
        "GE": "Gruzija",
        "GF": "Francoska Gvajana",
        "GH": "Gana",
        "GL": "Grenlandija",
        "GM": "Gambija",
        "GN": "Gvineja",
        "GP": "Gvadalupe",
        "GQ": "Ekvatorialna Gvineja",
        "GR": "Grčija",
        "GS": "Južna Georgia in Južni Sandwichevi otoki",
        "GT": "Gvatemala",
        "GW": "Gvineja Bissau",
        "GY": "Gvajana",
        "HK": "Hongkong",
        "HM": "Otok Heard in otočje McDonald",
        "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",
        "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",
        "MG": "Madagaskar",
        "MH": "Marshallovi otoki",
        "MK": "Makedonija",
        "MM": "Mjanmar [Burma]",
        "MN": "Mongolija",
        "MO": "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",
        "ST": "Sao Tome in Principe",
        "SV": "Salvador",
        "SY": "Sirija",
        "SZ": "Svazi",
        "TC": "Otočji Turks in Caicos",
        "TD": "Čad",
        "TF": "Francosko južno ozemlje",
        "TH": "Tajska",
        "TJ": "Tadžikistan",
        "TL": "Vzhodni Timor",
        "TN": "Tunizija",
        "TR": "Turčija",
        "TT": "Trinidad in Tobago",
        "TW": "Tajvan",
        "TZ": "Tanzanija",
        "UA": "Ukrajina",
        "UM": "Druga ameriška ozemlja v Tihem oceanu",
        "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"
    };
  }-*/;
}
