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

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("AD", "andɔrǝ");
    namesMap.put("AE", "bǝlɔŋ bǝ kaksa bɛ táatáaŋzǝn");
    namesMap.put("AF", "afganistáŋ");
    namesMap.put("AG", "antiga ri barbúda");
    namesMap.put("AI", "angiya");
    namesMap.put("AL", "albaní");
    namesMap.put("AM", "armɛní");
    namesMap.put("AN", "antíyǝ nɛlandé");
    namesMap.put("AO", "angóla");
    namesMap.put("AR", "arjǝntín");
    namesMap.put("AS", "samɔa a amɛrika");
    namesMap.put("AT", "otric");
    namesMap.put("AU", "ɔstralí");
    namesMap.put("AW", "aruba");
    namesMap.put("AZ", "azabecán");
    namesMap.put("BA", "bɔsnyɛ ri hɛrsǝgɔvín");
    namesMap.put("BB", "baabaadǝ");
    namesMap.put("BD", "baŋladɛ́c");
    namesMap.put("BE", "bɛljík");
    namesMap.put("BF", "bukína fǝ́ asɔ");
    namesMap.put("BG", "bulgarí");
    namesMap.put("BH", "barǝ́n");
    namesMap.put("BI", "burundí");
    namesMap.put("BJ", "bɛnǝ́n");
    namesMap.put("BM", "bɛɛmúdǝ");
    namesMap.put("BN", "brunǝ́");
    namesMap.put("BO", "bɔɔlíví");
    namesMap.put("BR", "brɛsíl");
    namesMap.put("BS", "baamás");
    namesMap.put("BT", "bután");
    namesMap.put("BW", "botswana");
    namesMap.put("BY", "bɛlaris");
    namesMap.put("BZ", "bɛliz");
    namesMap.put("CA", "kanada");
    namesMap.put("CD", "kɔngó anyɔ́n");
    namesMap.put("CF", "santrafrík");
    namesMap.put("CG", "kɔngó");
    namesMap.put("CH", "swís");
    namesMap.put("CI", "kɔtiwuár");
    namesMap.put("CK", "zɛ i kúk");
    namesMap.put("CL", "cíli");
    namesMap.put("CM", "kamɛrún");
    namesMap.put("CN", "cín");
    namesMap.put("CO", "kolɔmbí");
    namesMap.put("CR", "kɔstaríka");
    namesMap.put("CS", "sɛrbí ri mɔntǝnɛgro");
    namesMap.put("CU", "kuba");
    namesMap.put("CV", "kapvɛr");
    namesMap.put("CY", "cíprɛ");
    namesMap.put("CZ", "cɛ́k");
    namesMap.put("DE", "djɛrman");
    namesMap.put("DJ", "dyibutí");
    namesMap.put("DK", "danmak");
    namesMap.put("DM", "dɔminik");
    namesMap.put("DO", "dɔminik rɛpublík");
    namesMap.put("DZ", "aljɛrí");
    namesMap.put("EC", "ɛkwatɛǝ́");
    namesMap.put("EE", "ɛstoní");
    namesMap.put("EG", "ɛjípt");
    namesMap.put("ER", "ɛritrɛ́");
    namesMap.put("ES", "kpanyá");
    namesMap.put("ET", "ɛtyɔpí");
    namesMap.put("FI", "fínlan");
    namesMap.put("FJ", "fíji");
    namesMap.put("FK", "zǝ maalwín");
    namesMap.put("FM", "mikronɛ́si");
    namesMap.put("FR", "pɛrɛsǝ́");
    namesMap.put("GA", "gabɔŋ");
    namesMap.put("GB", "kǝlɔŋ kǝ kǝtáatáaŋzǝn");
    namesMap.put("GD", "grɛnadǝ");
    namesMap.put("GE", "jɔrjí");
    namesMap.put("GF", "guyán i pɛrɛsǝ́");
    namesMap.put("GH", "gána");
    namesMap.put("GI", "jibraltá");
    namesMap.put("GL", "grínlan");
    namesMap.put("GM", "gambí");
    namesMap.put("GN", "ginɛ́");
    namesMap.put("GP", "gwadɛlúp");
    namesMap.put("GQ", "ginɛ́ ɛkwatɔrial");
    namesMap.put("GR", "grɛ́k");
    namesMap.put("GT", "gwátǝmala");
    namesMap.put("GU", "gwám");
    namesMap.put("GW", "ginɛ́ bisɔ́");
    namesMap.put("GY", "guyán");
    namesMap.put("HN", "ɔnduras");
    namesMap.put("HR", "krwasí");
    namesMap.put("HT", "ayiti");
    namesMap.put("HU", "ɔngrí");
    namesMap.put("ID", "indonɛsí");
    namesMap.put("IE", "ilán");
    namesMap.put("IL", "israɛ́l");
    namesMap.put("IN", "indí");
    namesMap.put("IO", "zǝ ingɛrís ncɔ́m wa indi");
    namesMap.put("IQ", "irák");
    namesMap.put("IR", "iráŋ");
    namesMap.put("IS", "zǝ i glás");
    namesMap.put("IT", "italí");
    namesMap.put("JM", "jamaík");
    namesMap.put("JO", "jɔrdán");
    namesMap.put("JP", "japɔ́ŋ");
    namesMap.put("KE", "kɛnya");
    namesMap.put("KG", "kigistáŋ");
    namesMap.put("KH", "kambodj");
    namesMap.put("KI", "kiribáti");
    namesMap.put("KM", "komɔr");
    namesMap.put("KN", "sɛnkrǝstɔ́f ri nyɛ́vǝ");
    namesMap.put("KP", "korɛanɔ́r");
    namesMap.put("KR", "korɛasud");
    namesMap.put("KW", "kuwɛit");
    namesMap.put("KY", "zǝ i gan");
    namesMap.put("KZ", "kazakstáŋ");
    namesMap.put("LA", "laɔs");
    namesMap.put("LB", "libáŋ");
    namesMap.put("LC", "sɛntlísí");
    namesMap.put("LI", "lictɛnstɛ́n");
    namesMap.put("LK", "srílaŋka");
    namesMap.put("LR", "libɛrya");
    namesMap.put("LS", "lǝsóto");
    namesMap.put("LT", "litwaní");
    namesMap.put("LU", "luksɛmbúr");
    namesMap.put("LV", "lɛtoní");
    namesMap.put("LY", "libí");
    namesMap.put("MA", "marɔk");
    namesMap.put("MC", "monako");
    namesMap.put("MD", "mɔldaví");
    namesMap.put("MG", "madagaska");
    namesMap.put("MH", "zǝ i marcál");
    namesMap.put("MK", "másǝdwán");
    namesMap.put("ML", "mali");
    namesMap.put("MM", "myanmár");
    namesMap.put("MN", "mɔŋolí");
    namesMap.put("MP", "zǝ maryánnɔ́r");
    namesMap.put("MQ", "matiník");
    namesMap.put("MR", "mwaritaní");
    namesMap.put("MS", "mɔnsɛrat");
    namesMap.put("MT", "maltǝ");
    namesMap.put("MU", "mwarís");
    namesMap.put("MV", "maldivǝ");
    namesMap.put("MW", "malawi");
    namesMap.put("MX", "mɛksík");
    namesMap.put("MY", "malɛsí");
    namesMap.put("MZ", "mosambík");
    namesMap.put("NA", "namibí");
    namesMap.put("NC", "kalɛdoní anyɔ́n");
    namesMap.put("NE", "nijɛ́r");
    namesMap.put("NF", "zɛ nɔ́fɔlk");
    namesMap.put("NG", "nijɛ́rya");
    namesMap.put("NI", "níkarágwa");
    namesMap.put("NL", "kǝlɔŋ kǝ ázǝ");
    namesMap.put("NO", "nɔrvɛjǝ");
    namesMap.put("NP", "nɛpal");
    namesMap.put("NR", "nwarú");
    namesMap.put("NU", "niwɛ́");
    namesMap.put("NZ", "zɛlan anyɔ́n");
    namesMap.put("OM", "oman");
    namesMap.put("PA", "panama");
    namesMap.put("PE", "pɛrú");
    namesMap.put("PF", "pɔlinɛsí a pɛrɛsǝ́");
    namesMap.put("PG", "papwazí ginɛ́ anyɔ́n");
    namesMap.put("PH", "filipǝ́n");
    namesMap.put("PK", "pakistáŋ");
    namesMap.put("PL", "polɔ́n");
    namesMap.put("PM", "sɛnpyɛr ri mikɛlɔŋ");
    namesMap.put("PN", "pitkɛ́n");
    namesMap.put("PR", "pɔtoríko");
    namesMap.put("PS", "zǝ palɛstínǝ");
    namesMap.put("PT", "portugál");
    namesMap.put("PW", "palwa");
    namesMap.put("PY", "paragwɛ́");
    namesMap.put("QA", "katá");
    namesMap.put("RE", "rɛunyɔŋ");
    namesMap.put("RO", "rɔmaní");
    namesMap.put("RU", "risí");
    namesMap.put("RW", "rwanda");
    namesMap.put("SA", "arabí saodí");
    namesMap.put("SB", "zǝ salomɔ́n");
    namesMap.put("SC", "sɛcɛl");
    namesMap.put("SD", "sudan");
    namesMap.put("SE", "swɛdǝ");
    namesMap.put("SG", "siŋapó");
    namesMap.put("SH", "sɛntɛ́len");
    namesMap.put("SI", "slovɛní");
    namesMap.put("SK", "slovakí");
    namesMap.put("SL", "syɛraleon");
    namesMap.put("SM", "sɛnmarǝn");
    namesMap.put("SN", "sɛnɛgal");
    namesMap.put("SO", "somalí");
    namesMap.put("SR", "surinam");
    namesMap.put("ST", "saotomɛ́ ri priŋsib");
    namesMap.put("SV", "salvadɔr");
    namesMap.put("SY", "sirí");
    namesMap.put("SZ", "swazilan");
    namesMap.put("TC", "zǝ tirk ri kakɔs");
    namesMap.put("TD", "caád");
    namesMap.put("TG", "togo");
    namesMap.put("TH", "tɛlan");
    namesMap.put("TJ", "tadjikistaŋ");
    namesMap.put("TK", "tokǝlao");
    namesMap.put("TL", "timor anǝ á ɛst");
    namesMap.put("TM", "tirkmɛnistaŋ");
    namesMap.put("TN", "tunɛsí");
    namesMap.put("TO", "tɔŋa");
    namesMap.put("TR", "tirkí");
    namesMap.put("TT", "tɛrinitɛ ri tobago");
    namesMap.put("TV", "tuwalu");
    namesMap.put("TW", "tɛwán");
    namesMap.put("TZ", "tanzaní");
    namesMap.put("UA", "ukrain");
    namesMap.put("UG", "uganda");
    namesMap.put("US", "amɛrika");
    namesMap.put("UY", "urugwɛ́");
    namesMap.put("UZ", "usbɛkistaŋ");
    namesMap.put("VA", "watikáŋ");
    namesMap.put("VC", "sɛnvǝnsǝŋ ri grɛnadín");
    namesMap.put("VE", "wɛnǝzwɛla");
    namesMap.put("VG", "zǝ bɛ gɔn inɛ a ingɛrís");
    namesMap.put("VI", "zǝ bɛ gɔn inɛ á amɛrika");
    namesMap.put("VN", "wyɛtnám");
    namesMap.put("VU", "wanwatu");
    namesMap.put("WF", "walis ri futuna");
    namesMap.put("WS", "samɔa");
    namesMap.put("YE", "yɛmɛn");
    namesMap.put("YT", "mayɔ́t");
    namesMap.put("ZA", "afrik anǝ a sud");
    namesMap.put("ZM", "zambí");
    namesMap.put("ZW", "zimbabwɛ́");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "AD": "andɔrǝ",
        "AE": "bǝlɔŋ bǝ kaksa bɛ táatáaŋzǝn",
        "AF": "afganistáŋ",
        "AG": "antiga ri barbúda",
        "AI": "angiya",
        "AL": "albaní",
        "AM": "armɛní",
        "AN": "antíyǝ nɛlandé",
        "AO": "angóla",
        "AR": "arjǝntín",
        "AS": "samɔa a amɛrika",
        "AT": "otric",
        "AU": "ɔstralí",
        "AW": "aruba",
        "AZ": "azabecán",
        "BA": "bɔsnyɛ ri hɛrsǝgɔvín",
        "BB": "baabaadǝ",
        "BD": "baŋladɛ́c",
        "BE": "bɛljík",
        "BF": "bukína fǝ́ asɔ",
        "BG": "bulgarí",
        "BH": "barǝ́n",
        "BI": "burundí",
        "BJ": "bɛnǝ́n",
        "BM": "bɛɛmúdǝ",
        "BN": "brunǝ́",
        "BO": "bɔɔlíví",
        "BR": "brɛsíl",
        "BS": "baamás",
        "BT": "bután",
        "BW": "botswana",
        "BY": "bɛlaris",
        "BZ": "bɛliz",
        "CA": "kanada",
        "CD": "kɔngó anyɔ́n",
        "CF": "santrafrík",
        "CG": "kɔngó",
        "CH": "swís",
        "CI": "kɔtiwuár",
        "CK": "zɛ i kúk",
        "CL": "cíli",
        "CM": "kamɛrún",
        "CN": "cín",
        "CO": "kolɔmbí",
        "CR": "kɔstaríka",
        "CS": "sɛrbí ri mɔntǝnɛgro",
        "CU": "kuba",
        "CV": "kapvɛr",
        "CY": "cíprɛ",
        "CZ": "cɛ́k",
        "DE": "djɛrman",
        "DJ": "dyibutí",
        "DK": "danmak",
        "DM": "dɔminik",
        "DO": "dɔminik rɛpublík",
        "DZ": "aljɛrí",
        "EC": "ɛkwatɛǝ́",
        "EE": "ɛstoní",
        "EG": "ɛjípt",
        "ER": "ɛritrɛ́",
        "ES": "kpanyá",
        "ET": "ɛtyɔpí",
        "FI": "fínlan",
        "FJ": "fíji",
        "FK": "zǝ maalwín",
        "FM": "mikronɛ́si",
        "FR": "pɛrɛsǝ́",
        "GA": "gabɔŋ",
        "GB": "kǝlɔŋ kǝ kǝtáatáaŋzǝn",
        "GD": "grɛnadǝ",
        "GE": "jɔrjí",
        "GF": "guyán i pɛrɛsǝ́",
        "GH": "gána",
        "GI": "jibraltá",
        "GL": "grínlan",
        "GM": "gambí",
        "GN": "ginɛ́",
        "GP": "gwadɛlúp",
        "GQ": "ginɛ́ ɛkwatɔrial",
        "GR": "grɛ́k",
        "GT": "gwátǝmala",
        "GU": "gwám",
        "GW": "ginɛ́ bisɔ́",
        "GY": "guyán",
        "HN": "ɔnduras",
        "HR": "krwasí",
        "HT": "ayiti",
        "HU": "ɔngrí",
        "ID": "indonɛsí",
        "IE": "ilán",
        "IL": "israɛ́l",
        "IN": "indí",
        "IO": "zǝ ingɛrís ncɔ́m wa indi",
        "IQ": "irák",
        "IR": "iráŋ",
        "IS": "zǝ i glás",
        "IT": "italí",
        "JM": "jamaík",
        "JO": "jɔrdán",
        "JP": "japɔ́ŋ",
        "KE": "kɛnya",
        "KG": "kigistáŋ",
        "KH": "kambodj",
        "KI": "kiribáti",
        "KM": "komɔr",
        "KN": "sɛnkrǝstɔ́f ri nyɛ́vǝ",
        "KP": "korɛanɔ́r",
        "KR": "korɛasud",
        "KW": "kuwɛit",
        "KY": "zǝ i gan",
        "KZ": "kazakstáŋ",
        "LA": "laɔs",
        "LB": "libáŋ",
        "LC": "sɛntlísí",
        "LI": "lictɛnstɛ́n",
        "LK": "srílaŋka",
        "LR": "libɛrya",
        "LS": "lǝsóto",
        "LT": "litwaní",
        "LU": "luksɛmbúr",
        "LV": "lɛtoní",
        "LY": "libí",
        "MA": "marɔk",
        "MC": "monako",
        "MD": "mɔldaví",
        "MG": "madagaska",
        "MH": "zǝ i marcál",
        "MK": "másǝdwán",
        "ML": "mali",
        "MM": "myanmár",
        "MN": "mɔŋolí",
        "MP": "zǝ maryánnɔ́r",
        "MQ": "matiník",
        "MR": "mwaritaní",
        "MS": "mɔnsɛrat",
        "MT": "maltǝ",
        "MU": "mwarís",
        "MV": "maldivǝ",
        "MW": "malawi",
        "MX": "mɛksík",
        "MY": "malɛsí",
        "MZ": "mosambík",
        "NA": "namibí",
        "NC": "kalɛdoní anyɔ́n",
        "NE": "nijɛ́r",
        "NF": "zɛ nɔ́fɔlk",
        "NG": "nijɛ́rya",
        "NI": "níkarágwa",
        "NL": "kǝlɔŋ kǝ ázǝ",
        "NO": "nɔrvɛjǝ",
        "NP": "nɛpal",
        "NR": "nwarú",
        "NU": "niwɛ́",
        "NZ": "zɛlan anyɔ́n",
        "OM": "oman",
        "PA": "panama",
        "PE": "pɛrú",
        "PF": "pɔlinɛsí a pɛrɛsǝ́",
        "PG": "papwazí ginɛ́ anyɔ́n",
        "PH": "filipǝ́n",
        "PK": "pakistáŋ",
        "PL": "polɔ́n",
        "PM": "sɛnpyɛr ri mikɛlɔŋ",
        "PN": "pitkɛ́n",
        "PR": "pɔtoríko",
        "PS": "zǝ palɛstínǝ",
        "PT": "portugál",
        "PW": "palwa",
        "PY": "paragwɛ́",
        "QA": "katá",
        "RE": "rɛunyɔŋ",
        "RO": "rɔmaní",
        "RU": "risí",
        "RW": "rwanda",
        "SA": "arabí saodí",
        "SB": "zǝ salomɔ́n",
        "SC": "sɛcɛl",
        "SD": "sudan",
        "SE": "swɛdǝ",
        "SG": "siŋapó",
        "SH": "sɛntɛ́len",
        "SI": "slovɛní",
        "SK": "slovakí",
        "SL": "syɛraleon",
        "SM": "sɛnmarǝn",
        "SN": "sɛnɛgal",
        "SO": "somalí",
        "SR": "surinam",
        "ST": "saotomɛ́ ri priŋsib",
        "SV": "salvadɔr",
        "SY": "sirí",
        "SZ": "swazilan",
        "TC": "zǝ tirk ri kakɔs",
        "TD": "caád",
        "TG": "togo",
        "TH": "tɛlan",
        "TJ": "tadjikistaŋ",
        "TK": "tokǝlao",
        "TL": "timor anǝ á ɛst",
        "TM": "tirkmɛnistaŋ",
        "TN": "tunɛsí",
        "TO": "tɔŋa",
        "TR": "tirkí",
        "TT": "tɛrinitɛ ri tobago",
        "TV": "tuwalu",
        "TW": "tɛwán",
        "TZ": "tanzaní",
        "UA": "ukrain",
        "UG": "uganda",
        "US": "amɛrika",
        "UY": "urugwɛ́",
        "UZ": "usbɛkistaŋ",
        "VA": "watikáŋ",
        "VC": "sɛnvǝnsǝŋ ri grɛnadín",
        "VE": "wɛnǝzwɛla",
        "VG": "zǝ bɛ gɔn inɛ a ingɛrís",
        "VI": "zǝ bɛ gɔn inɛ á amɛrika",
        "VN": "wyɛtnám",
        "VU": "wanwatu",
        "WF": "walis ri futuna",
        "WS": "samɔa",
        "YE": "yɛmɛn",
        "YT": "mayɔ́t",
        "ZA": "afrik anǝ a sud",
        "ZM": "zambí",
        "ZW": "zimbabwɛ́"
    };
  }-*/;
}
