/*
 * 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 "vai_Latn" locale.
 */
public class LocalizedNamesImpl_vai_Latn extends LocalizedNamesImpl_vai {

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("AD", "Aŋdóra");
    namesMap.put("AE", "Yunaitɛ Arabhi Ɛmire");
    namesMap.put("AF", "Afigándesitaŋ");
    namesMap.put("AG", "Aŋtígwa Ɓahabhuda");
    namesMap.put("AI", "Aŋgíla");
    namesMap.put("AL", "Abhaniya");
    namesMap.put("AM", "Améniya");
    namesMap.put("AN", "Nidɔlɛŋ Aŋtili");
    namesMap.put("AO", "Aŋgóla");
    namesMap.put("AR", "Ajɛŋtína");
    namesMap.put("AS", "Poo Sambowa");
    namesMap.put("AT", "Ɔ́situwa");
    namesMap.put("AU", "Ɔsituwéeliya");
    namesMap.put("AW", "Arubha");
    namesMap.put("AZ", "Azabhaijaŋ");
    namesMap.put("BA", "Bhɔsiniya");
    namesMap.put("BB", "Bhabhedo");
    namesMap.put("BD", "Bhangiladɛ̀shi");
    namesMap.put("BE", "Bhɛgiyɔŋ");
    namesMap.put("BF", "Bhokina Fáso");
    namesMap.put("BG", "Bhɔgeriya");
    namesMap.put("BH", "Bharɛŋ");
    namesMap.put("BI", "Bhurundi");
    namesMap.put("BJ", "Bhɛni");
    namesMap.put("BM", "Bhɛmuda");
    namesMap.put("BN", "Bhurunɛĩ");
    namesMap.put("BO", "Bholiviya");
    namesMap.put("BR", "Bhurazeli");
    namesMap.put("BS", "Bahámasi");
    namesMap.put("BT", "Bhutaŋ");
    namesMap.put("BW", "Bhosuwana");
    namesMap.put("BY", "Bhɛlarusi");
    namesMap.put("BZ", "Bheliz");
    namesMap.put("CA", "Kánáda");
    namesMap.put("CD", "Avorekoo");
    namesMap.put("CF", "Áfíríka Lumaã Tɛ Boloe");
    namesMap.put("CG", "Kóngo");
    namesMap.put("CH", "Suweza Lumaã");
    namesMap.put("CI", "Kódivówa");
    namesMap.put("CK", "Kóki Tiŋŋɛ");
    namesMap.put("CL", "Chéli");
    namesMap.put("CM", "Kameruŋ");
    namesMap.put("CN", "Cháína");
    namesMap.put("CO", "Kɔlɔmbiya");
    namesMap.put("CR", "Kósíta Ríko");
    namesMap.put("CU", "Kiyubha");
    namesMap.put("CV", "Kepi Vɛdi Tiŋŋɛ");
    namesMap.put("CY", "Saɛpurɔ");
    namesMap.put("CZ", "Chɛki Boloe");
    namesMap.put("DE", "Jamáĩ");
    namesMap.put("DJ", "Jibhuti");
    namesMap.put("DK", "Danimaha");
    namesMap.put("DM", "Domíiníka");
    namesMap.put("DO", "Domíiníka Ɓoloe");
    namesMap.put("DZ", "Agiriya");
    namesMap.put("EC", "Ɛ́kúwédɔ");
    namesMap.put("EE", "Ɛsitóninya");
    namesMap.put("EG", "Míséla");
    namesMap.put("ER", "Ɛritera");
    namesMap.put("ES", "Panyɛĩ");
    namesMap.put("ET", "Ítiyópiya");
    namesMap.put("FI", "Fiŋlɛŋ");
    namesMap.put("FJ", "Fíji");
    namesMap.put("FK", "Fáháki Luma Tiŋŋɛ");
    namesMap.put("FM", "Mikonisiya");
    namesMap.put("FR", "Fɛŋsi");
    namesMap.put("GA", "Gabhɔŋ");
    namesMap.put("GB", "Yunaitɛ Kíŋdɔŋ");
    namesMap.put("GD", "Gurinéda");
    namesMap.put("GE", "Jɔɔjiya");
    namesMap.put("GF", "Fɛŋsi Giwana");
    namesMap.put("GH", "Gana");
    namesMap.put("GI", "Jibhurata");
    namesMap.put("GL", "Jamba Kuwa Lumaã");
    namesMap.put("GM", "Gambiya");
    namesMap.put("GN", "Gini");
    namesMap.put("GP", "Guwadelupe");
    namesMap.put("GQ", "Dúúnyá Tɛ Giini");
    namesMap.put("GR", "Hɛlɛŋ");
    namesMap.put("GT", "Guwatɛmala");
    namesMap.put("GU", "Guwami");
    namesMap.put("GW", "Gini Bhisawo");
    namesMap.put("GY", "Guyana");
    namesMap.put("HN", "Hɔndura");
    namesMap.put("HR", "Koresiya");
    namesMap.put("HT", "Háiti");
    namesMap.put("HU", "Hɔ́ngare");
    namesMap.put("ID", "Índonisiya");
    namesMap.put("IE", "Áre Lumaã");
    namesMap.put("IL", "Bhanísiláila");
    namesMap.put("IN", "Índiya");
    namesMap.put("IO", "Jengéesi Gbawoe Índiya Kɔiyɛ Lɔ");
    namesMap.put("IQ", "Iraki");
    namesMap.put("IR", "Iraŋ");
    namesMap.put("IS", "Áisi Lumaã");
    namesMap.put("IT", "Ítali");
    namesMap.put("JM", "Jamaika");
    namesMap.put("JO", "Jɔɔdaŋ");
    namesMap.put("JP", "Japaŋ");
    namesMap.put("KE", "Kénya");
    namesMap.put("KG", "Kigisitaŋ");
    namesMap.put("KH", "Kaŋbhodiya");
    namesMap.put("KI", "Kiribhati");
    namesMap.put("KM", "Komorosi");
    namesMap.put("KN", "Siŋ Kisi ɓɛ́ Nevisi");
    namesMap.put("KP", "Koriya Kɔi Kaŋndɔ");
    namesMap.put("KR", "Koriya Kɔi Leŋŋɛ Lɔ");
    namesMap.put("KW", "Kuweti");
    namesMap.put("KY", "Keemaŋ Tiŋŋɛ");
    namesMap.put("KZ", "Kazasitaŋ");
    namesMap.put("LA", "Lawosi");
    namesMap.put("LB", "Lebhanɔ");
    namesMap.put("LC", "Siŋ Lusiya");
    namesMap.put("LK", "Suri Laŋka");
    namesMap.put("LR", "Laibhiya");
    namesMap.put("LS", "Lisóto");
    namesMap.put("LT", "Lituweninya");
    namesMap.put("LU", "Lusimbɔ");
    namesMap.put("LV", "Lativiya");
    namesMap.put("LY", "Lebhiya");
    namesMap.put("MA", "Mɔroko");
    namesMap.put("MC", "Mɔnako");
    namesMap.put("MD", "Mɔlidova");
    namesMap.put("MG", "Madagasita");
    namesMap.put("MH", "Masha Tiŋŋɛ");
    namesMap.put("MK", "Masedoninya");
    namesMap.put("ML", "Mali");
    namesMap.put("MM", "Miyamaha");
    namesMap.put("MN", "Mɔngoliya");
    namesMap.put("MP", "Kɔi Kaŋndɔ Mariyana Tiŋŋɛ");
    namesMap.put("MQ", "Matiniki");
    namesMap.put("MR", "Mɔretaninya");
    namesMap.put("MS", "Mɔserati");
    namesMap.put("MT", "Malita");
    namesMap.put("MU", "Mɔreshɔ");
    namesMap.put("MV", "Malidavi");
    namesMap.put("MW", "Malawi");
    namesMap.put("MX", "Mɛsíko");
    namesMap.put("MY", "Malesiya");
    namesMap.put("MZ", "Mozambiki");
    namesMap.put("NA", "Namibiya");
    namesMap.put("NC", "Kalidoninya Námaá");
    namesMap.put("NE", "Naĩja");
    namesMap.put("NF", "Nɔfɔ Tiŋŋɛ");
    namesMap.put("NG", "Naĩjiriya");
    namesMap.put("NI", "Nikaraguwa");
    namesMap.put("NL", "Nidɔlɛŋ");
    namesMap.put("NO", "Nɔɔwe");
    namesMap.put("NP", "Nepa");
    namesMap.put("NR", "Noru");
    namesMap.put("NU", "Niwe");
    namesMap.put("NZ", "Zilɛŋ Námaá");
    namesMap.put("OM", "Omaŋ");
    namesMap.put("PA", "Panama");
    namesMap.put("PE", "Pɛru");
    namesMap.put("PF", "Fɛŋsi Polinísiya");
    namesMap.put("PG", "Papuwa Gini Námaá");
    namesMap.put("PH", "Félepiŋ");
    namesMap.put("PK", "Pakisitaŋ");
    namesMap.put("PL", "Pólɛŋ");
    namesMap.put("PM", "Siŋ Piiyɛ ɓɛ́ Mikelɔŋ");
    namesMap.put("PN", "Pitikɛŋ");
    namesMap.put("PR", "Piyuto Riko");
    namesMap.put("PS", "Palesitininya Tele Jii Kɔiyɛ lá hĩ Gaza");
    namesMap.put("PT", "Potokíi");
    namesMap.put("PW", "Palo");
    namesMap.put("PY", "Paragɔe");
    namesMap.put("QA", "Kataha");
    namesMap.put("RE", "Renyɔɔ̃");
    namesMap.put("RO", "Romininya");
    namesMap.put("RU", "Rɔshiya");
    namesMap.put("RW", "Rawunda");
    namesMap.put("SA", "Lahabu");
    namesMap.put("SB", "Sulaimaãna Tiŋŋɛ");
    namesMap.put("SC", "Seshɛɛ");
    namesMap.put("SD", "Sudɛŋ");
    namesMap.put("SE", "Suwidɛŋ");
    namesMap.put("SG", "Síingapoo");
    namesMap.put("SH", "Siŋ Hɛlina");
    namesMap.put("SI", "Suloveninya");
    namesMap.put("SK", "Sulovakiya");
    namesMap.put("SL", "Gbeya Bahawɔ");
    namesMap.put("SM", "Saŋ Marindo");
    namesMap.put("SN", "Sinigaha");
    namesMap.put("SO", "Somaliya");
    namesMap.put("SR", "Surinambe");
    namesMap.put("ST", "Sawo Tombe ɓɛ a Gbawoe");
    namesMap.put("SV", "Ɛlɛ Sávádɔ");
    namesMap.put("SY", "Síyaŋ");
    namesMap.put("SZ", "Suwazi Lumaã");
    namesMap.put("TC", "Tukisi ɓɛ̀ Kaikóosi Tiŋŋɛ");
    namesMap.put("TD", "Chádi");
    namesMap.put("TG", "Togo");
    namesMap.put("TH", "Tai Lumaã");
    namesMap.put("TJ", "Tajikisitaŋ");
    namesMap.put("TK", "Tokelo");
    namesMap.put("TL", "Tele Ɓɔ́ Timɔɔ̃");
    namesMap.put("TM", "Tukimɛnisitaŋ");
    namesMap.put("TN", "Tunisiya");
    namesMap.put("TO", "Tɔnga");
    namesMap.put("TR", "Tɔ́ɔ́ki");
    namesMap.put("TT", "Turindeda ɓɛ́ Tobhego");
    namesMap.put("TV", "Tuválu");
    namesMap.put("TW", "Taiwaŋ");
    namesMap.put("TZ", "Taŋzaninya");
    namesMap.put("UA", "Yukuréŋ");
    namesMap.put("UG", "Yuganda");
    namesMap.put("US", "Poo");
    namesMap.put("UY", "Yuwegɔwe");
    namesMap.put("UZ", "Yubhɛkisitaŋ");
    namesMap.put("VA", "Vatikaŋ Ɓoloe");
    namesMap.put("VC", "Siŋ Viŋsi");
    namesMap.put("VE", "Vɛnɛzuwela");
    namesMap.put("VG", "Jengéesi Bhɛɛ Lɔ Musu Tiŋŋɛ");
    namesMap.put("VI", "Poo Bhɛɛ lɔ Musu Tiŋŋɛ");
    namesMap.put("VN", "Viyanami");
    namesMap.put("VU", "Vanuwátu");
    namesMap.put("WF", "Walísi");
    namesMap.put("WS", "Samowa");
    namesMap.put("YE", "Yemɛni");
    namesMap.put("YT", "Mavote");
    namesMap.put("ZA", "Afirika Kɔi Leŋŋɛ Lɔ");
    namesMap.put("ZM", "Zambiya");
    namesMap.put("ZW", "Zimbabhuwe");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "AD": "Aŋdóra",
        "AE": "Yunaitɛ Arabhi Ɛmire",
        "AF": "Afigándesitaŋ",
        "AG": "Aŋtígwa Ɓahabhuda",
        "AI": "Aŋgíla",
        "AL": "Abhaniya",
        "AM": "Améniya",
        "AN": "Nidɔlɛŋ Aŋtili",
        "AO": "Aŋgóla",
        "AR": "Ajɛŋtína",
        "AS": "Poo Sambowa",
        "AT": "Ɔ́situwa",
        "AU": "Ɔsituwéeliya",
        "AW": "Arubha",
        "AZ": "Azabhaijaŋ",
        "BA": "Bhɔsiniya",
        "BB": "Bhabhedo",
        "BD": "Bhangiladɛ̀shi",
        "BE": "Bhɛgiyɔŋ",
        "BF": "Bhokina Fáso",
        "BG": "Bhɔgeriya",
        "BH": "Bharɛŋ",
        "BI": "Bhurundi",
        "BJ": "Bhɛni",
        "BM": "Bhɛmuda",
        "BN": "Bhurunɛĩ",
        "BO": "Bholiviya",
        "BR": "Bhurazeli",
        "BS": "Bahámasi",
        "BT": "Bhutaŋ",
        "BW": "Bhosuwana",
        "BY": "Bhɛlarusi",
        "BZ": "Bheliz",
        "CA": "Kánáda",
        "CD": "Avorekoo",
        "CF": "Áfíríka Lumaã Tɛ Boloe",
        "CG": "Kóngo",
        "CH": "Suweza Lumaã",
        "CI": "Kódivówa",
        "CK": "Kóki Tiŋŋɛ",
        "CL": "Chéli",
        "CM": "Kameruŋ",
        "CN": "Cháína",
        "CO": "Kɔlɔmbiya",
        "CR": "Kósíta Ríko",
        "CU": "Kiyubha",
        "CV": "Kepi Vɛdi Tiŋŋɛ",
        "CY": "Saɛpurɔ",
        "CZ": "Chɛki Boloe",
        "DE": "Jamáĩ",
        "DJ": "Jibhuti",
        "DK": "Danimaha",
        "DM": "Domíiníka",
        "DO": "Domíiníka Ɓoloe",
        "DZ": "Agiriya",
        "EC": "Ɛ́kúwédɔ",
        "EE": "Ɛsitóninya",
        "EG": "Míséla",
        "ER": "Ɛritera",
        "ES": "Panyɛĩ",
        "ET": "Ítiyópiya",
        "FI": "Fiŋlɛŋ",
        "FJ": "Fíji",
        "FK": "Fáháki Luma Tiŋŋɛ",
        "FM": "Mikonisiya",
        "FR": "Fɛŋsi",
        "GA": "Gabhɔŋ",
        "GB": "Yunaitɛ Kíŋdɔŋ",
        "GD": "Gurinéda",
        "GE": "Jɔɔjiya",
        "GF": "Fɛŋsi Giwana",
        "GH": "Gana",
        "GI": "Jibhurata",
        "GL": "Jamba Kuwa Lumaã",
        "GM": "Gambiya",
        "GN": "Gini",
        "GP": "Guwadelupe",
        "GQ": "Dúúnyá Tɛ Giini",
        "GR": "Hɛlɛŋ",
        "GT": "Guwatɛmala",
        "GU": "Guwami",
        "GW": "Gini Bhisawo",
        "GY": "Guyana",
        "HN": "Hɔndura",
        "HR": "Koresiya",
        "HT": "Háiti",
        "HU": "Hɔ́ngare",
        "ID": "Índonisiya",
        "IE": "Áre Lumaã",
        "IL": "Bhanísiláila",
        "IN": "Índiya",
        "IO": "Jengéesi Gbawoe Índiya Kɔiyɛ Lɔ",
        "IQ": "Iraki",
        "IR": "Iraŋ",
        "IS": "Áisi Lumaã",
        "IT": "Ítali",
        "JM": "Jamaika",
        "JO": "Jɔɔdaŋ",
        "JP": "Japaŋ",
        "KE": "Kénya",
        "KG": "Kigisitaŋ",
        "KH": "Kaŋbhodiya",
        "KI": "Kiribhati",
        "KM": "Komorosi",
        "KN": "Siŋ Kisi ɓɛ́ Nevisi",
        "KP": "Koriya Kɔi Kaŋndɔ",
        "KR": "Koriya Kɔi Leŋŋɛ Lɔ",
        "KW": "Kuweti",
        "KY": "Keemaŋ Tiŋŋɛ",
        "KZ": "Kazasitaŋ",
        "LA": "Lawosi",
        "LB": "Lebhanɔ",
        "LC": "Siŋ Lusiya",
        "LK": "Suri Laŋka",
        "LR": "Laibhiya",
        "LS": "Lisóto",
        "LT": "Lituweninya",
        "LU": "Lusimbɔ",
        "LV": "Lativiya",
        "LY": "Lebhiya",
        "MA": "Mɔroko",
        "MC": "Mɔnako",
        "MD": "Mɔlidova",
        "MG": "Madagasita",
        "MH": "Masha Tiŋŋɛ",
        "MK": "Masedoninya",
        "ML": "Mali",
        "MM": "Miyamaha",
        "MN": "Mɔngoliya",
        "MP": "Kɔi Kaŋndɔ Mariyana Tiŋŋɛ",
        "MQ": "Matiniki",
        "MR": "Mɔretaninya",
        "MS": "Mɔserati",
        "MT": "Malita",
        "MU": "Mɔreshɔ",
        "MV": "Malidavi",
        "MW": "Malawi",
        "MX": "Mɛsíko",
        "MY": "Malesiya",
        "MZ": "Mozambiki",
        "NA": "Namibiya",
        "NC": "Kalidoninya Námaá",
        "NE": "Naĩja",
        "NF": "Nɔfɔ Tiŋŋɛ",
        "NG": "Naĩjiriya",
        "NI": "Nikaraguwa",
        "NL": "Nidɔlɛŋ",
        "NO": "Nɔɔwe",
        "NP": "Nepa",
        "NR": "Noru",
        "NU": "Niwe",
        "NZ": "Zilɛŋ Námaá",
        "OM": "Omaŋ",
        "PA": "Panama",
        "PE": "Pɛru",
        "PF": "Fɛŋsi Polinísiya",
        "PG": "Papuwa Gini Námaá",
        "PH": "Félepiŋ",
        "PK": "Pakisitaŋ",
        "PL": "Pólɛŋ",
        "PM": "Siŋ Piiyɛ ɓɛ́ Mikelɔŋ",
        "PN": "Pitikɛŋ",
        "PR": "Piyuto Riko",
        "PS": "Palesitininya Tele Jii Kɔiyɛ lá hĩ Gaza",
        "PT": "Potokíi",
        "PW": "Palo",
        "PY": "Paragɔe",
        "QA": "Kataha",
        "RE": "Renyɔɔ̃",
        "RO": "Romininya",
        "RU": "Rɔshiya",
        "RW": "Rawunda",
        "SA": "Lahabu",
        "SB": "Sulaimaãna Tiŋŋɛ",
        "SC": "Seshɛɛ",
        "SD": "Sudɛŋ",
        "SE": "Suwidɛŋ",
        "SG": "Síingapoo",
        "SH": "Siŋ Hɛlina",
        "SI": "Suloveninya",
        "SK": "Sulovakiya",
        "SL": "Gbeya Bahawɔ",
        "SM": "Saŋ Marindo",
        "SN": "Sinigaha",
        "SO": "Somaliya",
        "SR": "Surinambe",
        "ST": "Sawo Tombe ɓɛ a Gbawoe",
        "SV": "Ɛlɛ Sávádɔ",
        "SY": "Síyaŋ",
        "SZ": "Suwazi Lumaã",
        "TC": "Tukisi ɓɛ̀ Kaikóosi Tiŋŋɛ",
        "TD": "Chádi",
        "TG": "Togo",
        "TH": "Tai Lumaã",
        "TJ": "Tajikisitaŋ",
        "TK": "Tokelo",
        "TL": "Tele Ɓɔ́ Timɔɔ̃",
        "TM": "Tukimɛnisitaŋ",
        "TN": "Tunisiya",
        "TO": "Tɔnga",
        "TR": "Tɔ́ɔ́ki",
        "TT": "Turindeda ɓɛ́ Tobhego",
        "TV": "Tuválu",
        "TW": "Taiwaŋ",
        "TZ": "Taŋzaninya",
        "UA": "Yukuréŋ",
        "UG": "Yuganda",
        "US": "Poo",
        "UY": "Yuwegɔwe",
        "UZ": "Yubhɛkisitaŋ",
        "VA": "Vatikaŋ Ɓoloe",
        "VC": "Siŋ Viŋsi",
        "VE": "Vɛnɛzuwela",
        "VG": "Jengéesi Bhɛɛ Lɔ Musu Tiŋŋɛ",
        "VI": "Poo Bhɛɛ lɔ Musu Tiŋŋɛ",
        "VN": "Viyanami",
        "VU": "Vanuwátu",
        "WF": "Walísi",
        "WS": "Samowa",
        "YE": "Yemɛni",
        "YT": "Mavote",
        "ZA": "Afirika Kɔi Leŋŋɛ Lɔ",
        "ZM": "Zambiya",
        "ZW": "Zimbabhuwe"
    };
  }-*/;
}
