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

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("AD", "Àŋdɔ̂r");
    namesMap.put("AE", "Àdnà i Bilɔ̀ŋ bi Arābìà");
    namesMap.put("AF", "Àfgànìstâŋ");
    namesMap.put("AG", "Àŋtigà ɓɔ Bàrbudà");
    namesMap.put("AI", "Àŋgiyà");
    namesMap.put("AL", "Àlbanìà");
    namesMap.put("AM", "Àrmenìà");
    namesMap.put("AN", "Àŋtîy ǹlɛ̀ndi");
    namesMap.put("AO", "Àŋgolà");
    namesMap.put("AR", "Àrgàŋtinà");
    namesMap.put("AT", "Òstrǐk");
    namesMap.put("AU", "Òstralìà");
    namesMap.put("AW", "Àrubà");
    namesMap.put("AZ", "Àzɛ̀rbajàŋ");
    namesMap.put("BA", "Bòhnià Ɛrzègòvinà");
    namesMap.put("BB", "Bàrbadò");
    namesMap.put("BD", "Bàŋglàdɛ̂s");
    namesMap.put("BE", "Bɛlgyùm");
    namesMap.put("BF", "Bùrkìnà Fasò");
    namesMap.put("BG", "Bùlgarìà");
    namesMap.put("BH", "Bàraìn");
    namesMap.put("BI", "Bùrundì");
    namesMap.put("BJ", "Bènɛ̂ŋ");
    namesMap.put("BM", "Bɛ̀rmudà");
    namesMap.put("BO", "Bòlivìà");
    namesMap.put("BR", "Bràsîl");
    namesMap.put("BS", "Bàhamàs");
    namesMap.put("BT", "Bùtân");
    namesMap.put("BW", "Bòdsùanà");
    namesMap.put("BY", "Bèlarùs");
    namesMap.put("BZ", "Bèlîs");
    namesMap.put("CA", "Kànadà");
    namesMap.put("CD", "Kòŋgo ìkɛŋi");
    namesMap.put("CF", "Ŋ̀ɛm Afrīkà");
    namesMap.put("CG", "Kòŋgo");
    namesMap.put("CH", "Sùwîs");
    namesMap.put("CI", "Màŋ mi Njɔ̂k");
    namesMap.put("CK", "Bìòn bi Kook");
    namesMap.put("CL", "Kìlî");
    namesMap.put("CM", "Kàmɛ̀rûn");
    namesMap.put("CN", "Kinà");
    namesMap.put("CO", "Kɔ̀lɔmbìà");
    namesMap.put("CR", "Kòstà Rikà");
    namesMap.put("CU", "Kubà");
    namesMap.put("CV", "Kabwɛ᷆r");
    namesMap.put("CY", "Kiprò");
    namesMap.put("DE", "Jamân");
    namesMap.put("DJ", "Jìbutì");
    namesMap.put("DK", "Dànmârk");
    namesMap.put("DM", "Dòmnîk");
    namesMap.put("DO", "Dòmnikà");
    namesMap.put("DZ", "Àlgerìà");
    namesMap.put("EC", "Èkwàtorìà");
    namesMap.put("EE", "Èstonìà");
    namesMap.put("EG", "Ègîptò");
    namesMap.put("ER", "Èrìtrěà");
    namesMap.put("ES", "Pànya");
    namesMap.put("ET", "Ètìopìà");
    namesMap.put("FI", "Fìnlând");
    namesMap.put("FK", "Bìòn bi Falkland");
    namesMap.put("FM", "Mìkrònesìà");
    namesMap.put("FR", "Pùlàsi / Fɛ̀lɛ̀nsi /");
    namesMap.put("GA", "Gàbɔ̂ŋ");
    namesMap.put("GB", "Àdnà i Lɔ̂ŋ");
    namesMap.put("GD", "Grènadà");
    namesMap.put("GE", "Gèɔrgìà");
    namesMap.put("GF", "Gùyanà Pùlàsi");
    namesMap.put("GH", "Ganà");
    namesMap.put("GI", "Gìlbràtâr");
    namesMap.put("GL", "Grǐnlànd");
    namesMap.put("GM", "Gàmbià");
    namesMap.put("GN", "Gìnê");
    namesMap.put("GP", "Gwàdèlûp");
    namesMap.put("GQ", "Gìne Èkwàtorìà");
    namesMap.put("GR", "Grǐkyà");
    namesMap.put("GT", "Gwàtèmalà");
    namesMap.put("GU", "Gùâm");
    namesMap.put("GW", "Gìne Bìsàô");
    namesMap.put("GY", "Gùyanà");
    namesMap.put("HN", "Ɔ̀ŋduràs");
    namesMap.put("HR", "Kròasìà");
    namesMap.put("HT", "Àitì");
    namesMap.put("HU", "Ɔ̀ŋgriì");
    namesMap.put("ID", "Indònèsià");
    namesMap.put("IE", "Ìrlând");
    namesMap.put("IL", "Isràɛ̂l");
    namesMap.put("IN", "Indìà");
    namesMap.put("IO", "Bìtèk bi Ŋgisì i Tūyɛ Īndìà");
    namesMap.put("IQ", "Ìrâk");
    namesMap.put("IR", "Ìrâŋ");
    namesMap.put("IS", "Ìslandìà");
    namesMap.put("IT", "Ìtalìà");
    namesMap.put("JM", "Jàmàikà");
    namesMap.put("JO", "Yɔ̀rdanià");
    namesMap.put("KE", "Kenìà");
    namesMap.put("KG", "Kìrgìzìstàŋ");
    namesMap.put("KH", "Kàmbodìà");
    namesMap.put("KI", "Kìrìbatì");
    namesMap.put("KM", "Kɔ̀mɔ̂r");
    namesMap.put("KN", "Nûmpubi Kîts nì Nevìs");
    namesMap.put("KP", "Kɔ̀re ì Ŋ̀ɔmbɔk");
    namesMap.put("KR", "Kɔ̀re ì Ŋ̀wɛ̀lmbɔk");
    namesMap.put("KW", "Kòwêt");
    namesMap.put("KY", "Bìòn bi Kaymàn");
    namesMap.put("KZ", "Kàzàkstâŋ");
    namesMap.put("LA", "Làôs");
    namesMap.put("LB", "Lèbanòn");
    namesMap.put("LC", "Nûmpubi Lusì");
    namesMap.put("LI", "Ligstɛntàn");
    namesMap.put("LK", "Srìlaŋkà");
    namesMap.put("LR", "Lìberìà");
    namesMap.put("LS", "Lesòtò");
    namesMap.put("LT", "Lìtùanìà");
    namesMap.put("LU", "Lùgsàmbûr");
    namesMap.put("LV", "Làdvià");
    namesMap.put("LY", "Libìà");
    namesMap.put("MA", "Màrokò");
    namesMap.put("MC", "Mònakò");
    namesMap.put("MD", "Moldavìà");
    namesMap.put("MG", "Màdàgàskâr");
    namesMap.put("MH", "Bìòn bi Marcàl");
    namesMap.put("MK", "Màsèdonìà");
    namesMap.put("ML", "Màli");
    namesMap.put("MM", "Myànmâr");
    namesMap.put("MN", "Mòŋgolìà");
    namesMap.put("MP", "Bìòn bi Marìanà ŋ̀ɔmbɔk");
    namesMap.put("MQ", "Màrtìnîk");
    namesMap.put("MR", "Mòrìtanìà");
    namesMap.put("MS", "Mɔ̀ŋseràt");
    namesMap.put("MT", "Maltà");
    namesMap.put("MU", "Mòrîs");
    namesMap.put("MV", "Màldîf");
    namesMap.put("MW", "Màlàwi");
    namesMap.put("MX", "Mɛ̀gsîk");
    namesMap.put("MY", "Màlɛ̀sìà");
    namesMap.put("MZ", "Mòsàmbîk");
    namesMap.put("NA", "Nàmibìà");
    namesMap.put("NC", "Kàlèdonìà Yɔ̀ndɔ");
    namesMap.put("NE", "Nìjɛ̂r");
    namesMap.put("NF", "Òn i Nɔrfɔ̂k");
    namesMap.put("NG", "Nìgerìà");
    namesMap.put("NI", "Nìkàragwà");
    namesMap.put("NL", "Ǹlɛndi");
    namesMap.put("NO", "Nɔ̀rvegìà");
    namesMap.put("NP", "Nèpâl");
    namesMap.put("NR", "Nerù");
    namesMap.put("NU", "Nìuɛ̀");
    namesMap.put("NZ", "Sìlând Yɔ̀ndɔ");
    namesMap.put("OM", "Òmân");
    namesMap.put("PA", "Pànàma");
    namesMap.put("PE", "Pèrû");
    namesMap.put("PF", "Pòlìnesìà Pùlàsi");
    namesMap.put("PG", "Gìne ì Pàpu");
    namesMap.put("PH", "Fìlìpîn");
    namesMap.put("PK", "Pàkìstân");
    namesMap.put("PL", "Pòlànd");
    namesMap.put("PM", "Nûmpubi Petrò nì Mikèlôn");
    namesMap.put("PN", "Pìdkaìrn");
    namesMap.put("PR", "Pɔ̀rtò Rikò");
    namesMap.put("PS", "Pàlɛ̀htinà Hyɔ̀ŋg nì Gazà");
    namesMap.put("PT", "Pɔ̀tɔkì");
    namesMap.put("PW", "Pàlaù");
    namesMap.put("PY", "Pàràgwê");
    namesMap.put("QA", "Kàtâr");
    namesMap.put("RE", "Rèunyɔ̂ŋ");
    namesMap.put("RO", "Rùmanìà");
    namesMap.put("RU", "Ruslànd");
    namesMap.put("RW", "Rùandà");
    namesMap.put("SA", "Sàudi Àrabìà");
    namesMap.put("SB", "Bìòn bi Salōmò");
    namesMap.put("SC", "Sèsɛ̂l");
    namesMap.put("SD", "Sùdâŋ");
    namesMap.put("SE", "Swedɛ̀n");
    namesMap.put("SG", "Sìŋgàpûr");
    namesMap.put("SH", "Nûmpubi Ɛlēnà");
    namesMap.put("SI", "Slòvanìà");
    namesMap.put("SK", "Slòvakìà");
    namesMap.put("SL", "Sièra Lèɔ̂n");
    namesMap.put("SM", "Nûmpubi Māatìn");
    namesMap.put("SN", "Sènègâl");
    namesMap.put("SO", "Sòmalìà");
    namesMap.put("SR", "Sùrinâm");
    namesMap.put("ST", "Sào Tòme ɓɔ Prɛ̀ŋcipè");
    namesMap.put("SV", "Sàlvàdɔ̂r");
    namesMap.put("SY", "Sirìà");
    namesMap.put("SZ", "Swàzìlând");
    namesMap.put("TC", "Bìòn bi Tûrks nì Kalkòs");
    namesMap.put("TD", "Câd");
    namesMap.put("TG", "Tògo");
    namesMap.put("TH", "Taylànd");
    namesMap.put("TJ", "Tàjìkìstaŋ");
    namesMap.put("TK", "Tòkèlaò");
    namesMap.put("TL", "Tìmɔ̂r lìkòl");
    namesMap.put("TM", "Tùrgmènìstân");
    namesMap.put("TN", "Tùnisìà");
    namesMap.put("TO", "Tɔŋgà");
    namesMap.put("TR", "Tùrkây");
    namesMap.put("TT", "Trìnidàd ɓɔ Tòbagò");
    namesMap.put("TV", "Tùvàlù");
    namesMap.put("TW", "Tàywân");
    namesMap.put("TZ", "Tànzànià");
    namesMap.put("UA", "Ùkrɛ̌n");
    namesMap.put("UG", "Ùgandà");
    namesMap.put("US", "Àdnà i Bilɔ̀ŋ bi Amerkà");
    namesMap.put("UY", "Ùrùgwêy");
    namesMap.put("UZ", "Ùzbèkìstân");
    namesMap.put("VA", "Vàtìkâŋ");
    namesMap.put("VC", "Nûmpubi Vɛ̂ŋsâŋ nì grènàdîn");
    namesMap.put("VE", "Vènèzùelà");
    namesMap.put("VG", "Bìòn bi kɔnji bi Ŋgisì");
    namesMap.put("VI", "Bìòn bi kɔnji bi U.S.");
    namesMap.put("VN", "Vìɛ̀dnâm");
    namesMap.put("VU", "Vànùatù");
    namesMap.put("WF", "Wàlîs nì Fùtunà");
    namesMap.put("WS", "Sàmoà");
    namesMap.put("YE", "Yèmɛ̂n");
    namesMap.put("YT", "Màyɔ̂t");
    namesMap.put("ZA", "Àfrǐkà Sɔ̀");
    namesMap.put("ZM", "Zàmbià");
    namesMap.put("ZW", "Zìmbàbwê");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "AD": "Àŋdɔ̂r",
        "AE": "Àdnà i Bilɔ̀ŋ bi Arābìà",
        "AF": "Àfgànìstâŋ",
        "AG": "Àŋtigà ɓɔ Bàrbudà",
        "AI": "Àŋgiyà",
        "AL": "Àlbanìà",
        "AM": "Àrmenìà",
        "AN": "Àŋtîy ǹlɛ̀ndi",
        "AO": "Àŋgolà",
        "AR": "Àrgàŋtinà",
        "AT": "Òstrǐk",
        "AU": "Òstralìà",
        "AW": "Àrubà",
        "AZ": "Àzɛ̀rbajàŋ",
        "BA": "Bòhnià Ɛrzègòvinà",
        "BB": "Bàrbadò",
        "BD": "Bàŋglàdɛ̂s",
        "BE": "Bɛlgyùm",
        "BF": "Bùrkìnà Fasò",
        "BG": "Bùlgarìà",
        "BH": "Bàraìn",
        "BI": "Bùrundì",
        "BJ": "Bènɛ̂ŋ",
        "BM": "Bɛ̀rmudà",
        "BO": "Bòlivìà",
        "BR": "Bràsîl",
        "BS": "Bàhamàs",
        "BT": "Bùtân",
        "BW": "Bòdsùanà",
        "BY": "Bèlarùs",
        "BZ": "Bèlîs",
        "CA": "Kànadà",
        "CD": "Kòŋgo ìkɛŋi",
        "CF": "Ŋ̀ɛm Afrīkà",
        "CG": "Kòŋgo",
        "CH": "Sùwîs",
        "CI": "Màŋ mi Njɔ̂k",
        "CK": "Bìòn bi Kook",
        "CL": "Kìlî",
        "CM": "Kàmɛ̀rûn",
        "CN": "Kinà",
        "CO": "Kɔ̀lɔmbìà",
        "CR": "Kòstà Rikà",
        "CU": "Kubà",
        "CV": "Kabwɛ᷆r",
        "CY": "Kiprò",
        "DE": "Jamân",
        "DJ": "Jìbutì",
        "DK": "Dànmârk",
        "DM": "Dòmnîk",
        "DO": "Dòmnikà",
        "DZ": "Àlgerìà",
        "EC": "Èkwàtorìà",
        "EE": "Èstonìà",
        "EG": "Ègîptò",
        "ER": "Èrìtrěà",
        "ES": "Pànya",
        "ET": "Ètìopìà",
        "FI": "Fìnlând",
        "FK": "Bìòn bi Falkland",
        "FM": "Mìkrònesìà",
        "FR": "Pùlàsi / Fɛ̀lɛ̀nsi /",
        "GA": "Gàbɔ̂ŋ",
        "GB": "Àdnà i Lɔ̂ŋ",
        "GD": "Grènadà",
        "GE": "Gèɔrgìà",
        "GF": "Gùyanà Pùlàsi",
        "GH": "Ganà",
        "GI": "Gìlbràtâr",
        "GL": "Grǐnlànd",
        "GM": "Gàmbià",
        "GN": "Gìnê",
        "GP": "Gwàdèlûp",
        "GQ": "Gìne Èkwàtorìà",
        "GR": "Grǐkyà",
        "GT": "Gwàtèmalà",
        "GU": "Gùâm",
        "GW": "Gìne Bìsàô",
        "GY": "Gùyanà",
        "HN": "Ɔ̀ŋduràs",
        "HR": "Kròasìà",
        "HT": "Àitì",
        "HU": "Ɔ̀ŋgriì",
        "ID": "Indònèsià",
        "IE": "Ìrlând",
        "IL": "Isràɛ̂l",
        "IN": "Indìà",
        "IO": "Bìtèk bi Ŋgisì i Tūyɛ Īndìà",
        "IQ": "Ìrâk",
        "IR": "Ìrâŋ",
        "IS": "Ìslandìà",
        "IT": "Ìtalìà",
        "JM": "Jàmàikà",
        "JO": "Yɔ̀rdanià",
        "KE": "Kenìà",
        "KG": "Kìrgìzìstàŋ",
        "KH": "Kàmbodìà",
        "KI": "Kìrìbatì",
        "KM": "Kɔ̀mɔ̂r",
        "KN": "Nûmpubi Kîts nì Nevìs",
        "KP": "Kɔ̀re ì Ŋ̀ɔmbɔk",
        "KR": "Kɔ̀re ì Ŋ̀wɛ̀lmbɔk",
        "KW": "Kòwêt",
        "KY": "Bìòn bi Kaymàn",
        "KZ": "Kàzàkstâŋ",
        "LA": "Làôs",
        "LB": "Lèbanòn",
        "LC": "Nûmpubi Lusì",
        "LI": "Ligstɛntàn",
        "LK": "Srìlaŋkà",
        "LR": "Lìberìà",
        "LS": "Lesòtò",
        "LT": "Lìtùanìà",
        "LU": "Lùgsàmbûr",
        "LV": "Làdvià",
        "LY": "Libìà",
        "MA": "Màrokò",
        "MC": "Mònakò",
        "MD": "Moldavìà",
        "MG": "Màdàgàskâr",
        "MH": "Bìòn bi Marcàl",
        "MK": "Màsèdonìà",
        "ML": "Màli",
        "MM": "Myànmâr",
        "MN": "Mòŋgolìà",
        "MP": "Bìòn bi Marìanà ŋ̀ɔmbɔk",
        "MQ": "Màrtìnîk",
        "MR": "Mòrìtanìà",
        "MS": "Mɔ̀ŋseràt",
        "MT": "Maltà",
        "MU": "Mòrîs",
        "MV": "Màldîf",
        "MW": "Màlàwi",
        "MX": "Mɛ̀gsîk",
        "MY": "Màlɛ̀sìà",
        "MZ": "Mòsàmbîk",
        "NA": "Nàmibìà",
        "NC": "Kàlèdonìà Yɔ̀ndɔ",
        "NE": "Nìjɛ̂r",
        "NF": "Òn i Nɔrfɔ̂k",
        "NG": "Nìgerìà",
        "NI": "Nìkàragwà",
        "NL": "Ǹlɛndi",
        "NO": "Nɔ̀rvegìà",
        "NP": "Nèpâl",
        "NR": "Nerù",
        "NU": "Nìuɛ̀",
        "NZ": "Sìlând Yɔ̀ndɔ",
        "OM": "Òmân",
        "PA": "Pànàma",
        "PE": "Pèrû",
        "PF": "Pòlìnesìà Pùlàsi",
        "PG": "Gìne ì Pàpu",
        "PH": "Fìlìpîn",
        "PK": "Pàkìstân",
        "PL": "Pòlànd",
        "PM": "Nûmpubi Petrò nì Mikèlôn",
        "PN": "Pìdkaìrn",
        "PR": "Pɔ̀rtò Rikò",
        "PS": "Pàlɛ̀htinà Hyɔ̀ŋg nì Gazà",
        "PT": "Pɔ̀tɔkì",
        "PW": "Pàlaù",
        "PY": "Pàràgwê",
        "QA": "Kàtâr",
        "RE": "Rèunyɔ̂ŋ",
        "RO": "Rùmanìà",
        "RU": "Ruslànd",
        "RW": "Rùandà",
        "SA": "Sàudi Àrabìà",
        "SB": "Bìòn bi Salōmò",
        "SC": "Sèsɛ̂l",
        "SD": "Sùdâŋ",
        "SE": "Swedɛ̀n",
        "SG": "Sìŋgàpûr",
        "SH": "Nûmpubi Ɛlēnà",
        "SI": "Slòvanìà",
        "SK": "Slòvakìà",
        "SL": "Sièra Lèɔ̂n",
        "SM": "Nûmpubi Māatìn",
        "SN": "Sènègâl",
        "SO": "Sòmalìà",
        "SR": "Sùrinâm",
        "ST": "Sào Tòme ɓɔ Prɛ̀ŋcipè",
        "SV": "Sàlvàdɔ̂r",
        "SY": "Sirìà",
        "SZ": "Swàzìlând",
        "TC": "Bìòn bi Tûrks nì Kalkòs",
        "TD": "Câd",
        "TG": "Tògo",
        "TH": "Taylànd",
        "TJ": "Tàjìkìstaŋ",
        "TK": "Tòkèlaò",
        "TL": "Tìmɔ̂r lìkòl",
        "TM": "Tùrgmènìstân",
        "TN": "Tùnisìà",
        "TO": "Tɔŋgà",
        "TR": "Tùrkây",
        "TT": "Trìnidàd ɓɔ Tòbagò",
        "TV": "Tùvàlù",
        "TW": "Tàywân",
        "TZ": "Tànzànià",
        "UA": "Ùkrɛ̌n",
        "UG": "Ùgandà",
        "US": "Àdnà i Bilɔ̀ŋ bi Amerkà",
        "UY": "Ùrùgwêy",
        "UZ": "Ùzbèkìstân",
        "VA": "Vàtìkâŋ",
        "VC": "Nûmpubi Vɛ̂ŋsâŋ nì grènàdîn",
        "VE": "Vènèzùelà",
        "VG": "Bìòn bi kɔnji bi Ŋgisì",
        "VI": "Bìòn bi kɔnji bi U.S.",
        "VN": "Vìɛ̀dnâm",
        "VU": "Vànùatù",
        "WF": "Wàlîs nì Fùtunà",
        "WS": "Sàmoà",
        "YE": "Yèmɛ̂n",
        "YT": "Màyɔ̂t",
        "ZA": "Àfrǐkà Sɔ̀",
        "ZM": "Zàmbià",
        "ZW": "Zìmbàbwê"
    };
  }-*/;
}
