/*
 * Copyright 2014 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=25
//  date=$Date: 2014-03-01 06:57:43 +0100 (Sat, 01 Mar 2014) $
//  number=$Revision: 9852 $
//  type=to

/**
 * Localized names for the "to" locale.
 */
public class LocalizedNamesImpl_to extends LocalizedNamesImpl {

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "Māmani");
    namesMap.put("002", "ʻAfilika");
    namesMap.put("003", "ʻAmelika tokelau");
    namesMap.put("005", "ʻAmelika tonga");
    namesMap.put("009", "ʻOsēnia");
    namesMap.put("011", "ʻAfilika fakahihifo");
    namesMap.put("013", "ʻAmelika lotoloto");
    namesMap.put("014", "ʻAfilika fakahahake");
    namesMap.put("015", "ʻAfilika fakatokelau");
    namesMap.put("017", "ʻAfilika lotoloto");
    namesMap.put("018", "ʻAfilika fakatonga");
    namesMap.put("019", "Ongo ʻAmelika");
    namesMap.put("021", "ʻAmelika fakatokelau");
    namesMap.put("029", "Kalipiane");
    namesMap.put("030", "ʻĒsia fakahahake");
    namesMap.put("034", "ʻĒsia fakatonga");
    namesMap.put("035", "ʻĒsia fakatongahahake");
    namesMap.put("039", "ʻIulope fakatonga");
    namesMap.put("053", "ʻAositelēlēsia");
    namesMap.put("054", "Melanisia");
    namesMap.put("057", "Potu fonua Mikolonisia");
    namesMap.put("061", "Polinīsia");
    namesMap.put("142", "ʻĒsia");
    namesMap.put("143", "ʻĒsia lotoloto");
    namesMap.put("145", "ʻĒsia fakahihifo");
    namesMap.put("150", "ʻIulope");
    namesMap.put("151", "ʻIulope fakahahake");
    namesMap.put("154", "ʻIulope fakatokelau");
    namesMap.put("155", "ʻIulope fakahihifo");
    namesMap.put("419", "ʻAmelika fakalatina");
    namesMap.put("AC", "Motu ʻAsenisini");
    namesMap.put("AD", "ʻEnitola");
    namesMap.put("AE", "ʻAlepea Fakatahataha");
    namesMap.put("AF", "ʻAfikānisitani");
    namesMap.put("AG", "Anitikua mo Palaputa");
    namesMap.put("AI", "Anikuila");
    namesMap.put("AL", "ʻAlipania");
    namesMap.put("AM", "ʻĀminia");
    namesMap.put("AN", "Netaleni ʻEnitilisi");
    namesMap.put("AO", "ʻEngikola");
    namesMap.put("AQ", "ʻAnitātika");
    namesMap.put("AR", "ʻAsenitina");
    namesMap.put("AS", "Haʻamoa ʻAmelika");
    namesMap.put("AT", "ʻAositulia");
    namesMap.put("AU", "ʻAositelēlia");
    namesMap.put("AW", "ʻAlupa");
    namesMap.put("AX", "ʻOtumotu ʻAlani");
    namesMap.put("AZ", "ʻAsapaisani");
    namesMap.put("BA", "Posinia mo Hesikōvina");
    namesMap.put("BB", "Pāpeitosi");
    namesMap.put("BD", "Pengilātesi");
    namesMap.put("BE", "Pelesiume");
    namesMap.put("BF", "Pekano Faso");
    namesMap.put("BG", "Pulukalia");
    namesMap.put("BH", "Paleini");
    namesMap.put("BI", "Puluniti");
    namesMap.put("BJ", "Penini");
    namesMap.put("BL", "Sā Patēlemi");
    namesMap.put("BM", "Pēmuta");
    namesMap.put("BN", "Pulunei");
    namesMap.put("BO", "Polīvia");
    namesMap.put("BQ", "Kalipiane fakahōlani");
    namesMap.put("BR", "Palāsili");
    namesMap.put("BS", "Pahama");
    namesMap.put("BT", "Pūtani");
    namesMap.put("BV", "Motu Puveti");
    namesMap.put("BW", "Potisiuana");
    namesMap.put("BY", "Pelalusi");
    namesMap.put("BZ", "Pelise");
    namesMap.put("CA", "Kānata");
    namesMap.put("CC", "ʻOtumotu Koko");
    namesMap.put("CD", "Kongo - Kinisasa");
    namesMap.put("CF", "Lipapilika ʻAfilika Lotoloto");
    namesMap.put("CG", "Kongo - Palasavila");
    namesMap.put("CH", "Suisilani");
    namesMap.put("CI", "Matāfonua ʻAivili");
    namesMap.put("CK", "ʻOtumotu Kuki");
    namesMap.put("CL", "Sili");
    namesMap.put("CM", "Kemaluni");
    namesMap.put("CN", "Siaina");
    namesMap.put("CO", "Kolomipia");
    namesMap.put("CP", "Motu Kilipatoni");
    namesMap.put("CR", "Kosita Lika");
    namesMap.put("CU", "Kiupa");
    namesMap.put("CV", "Muiʻi Vete");
    namesMap.put("CW", "Kulasao");
    namesMap.put("CX", "Motu Kilisimasi");
    namesMap.put("CY", "Saipalesi");
    namesMap.put("CZ", "Lipapilika Seki");
    namesMap.put("DE", "Siamane");
    namesMap.put("DG", "Tieko Kāsia");
    namesMap.put("DJ", "Siputi");
    namesMap.put("DK", "Tenimaʻake");
    namesMap.put("DM", "Tominika");
    namesMap.put("DO", "Lipapilika Tominika");
    namesMap.put("DZ", "ʻAisilia");
    namesMap.put("EA", "Siuta mo Melila");
    namesMap.put("EC", "ʻEkuetoa");
    namesMap.put("EE", "ʻEsitōnia");
    namesMap.put("EG", "ʻIsipite");
    namesMap.put("EH", "Sahala fakahihifo");
    namesMap.put("ER", "ʻElitulia");
    namesMap.put("ES", "Sipeini");
    namesMap.put("ET", "ʻĪtiōpia");
    namesMap.put("EU", "ʻIulope fakatahataha");
    namesMap.put("FI", "Finilani");
    namesMap.put("FJ", "Fisi");
    namesMap.put("FK", "ʻOtumotu Fokulani");
    namesMap.put("FM", "Mikolonisia");
    namesMap.put("FO", "ʻOtumotu Faloe");
    namesMap.put("FR", "Falanisē");
    namesMap.put("GA", "Kaponi");
    namesMap.put("GB", "Pilitānia");
    namesMap.put("GD", "Kelenatā");
    namesMap.put("GE", "Seōsia");
    namesMap.put("GF", "Kuiana fakafalanisē");
    namesMap.put("GG", "Kuenisī");
    namesMap.put("GH", "Kana");
    namesMap.put("GI", "Sipalālitā");
    namesMap.put("GL", "Kulinilani");
    namesMap.put("GM", "Kamipia");
    namesMap.put("GN", "Kini");
    namesMap.put("GP", "Kuatalupe");
    namesMap.put("GQ", "ʻEkueta Kini");
    namesMap.put("GR", "Kalisi");
    namesMap.put("GS", "ʻOtumotu Seōsia-tonga mo Saniuisi-tonga");
    namesMap.put("GT", "Kuatamala");
    namesMap.put("GU", "Kuamu");
    namesMap.put("GW", "Kini-Pisau");
    namesMap.put("GY", "Kuiana");
    namesMap.put("HK", "Hongi Kongi SAR Siaina");
    namesMap.put("HM", "ʻOtumotu Heati mo Makitonali");
    namesMap.put("HN", "Honitulasi");
    namesMap.put("HR", "Kuloisia");
    namesMap.put("HU", "Hungakalia");
    namesMap.put("IC", "ʻOtumotu Kaneli");
    namesMap.put("ID", "ʻInitonēsia");
    namesMap.put("IE", "ʻAealani");
    namesMap.put("IL", "ʻIsileli");
    namesMap.put("IM", "Motu Mani");
    namesMap.put("IN", "ʻInitia");
    namesMap.put("IO", "Potu fonua moana ʻInitia fakapilitānia");
    namesMap.put("IQ", "ʻIulaaki");
    namesMap.put("IR", "ʻIulaani");
    namesMap.put("IS", "ʻAisilani");
    namesMap.put("IT", "ʻĪtali");
    namesMap.put("JE", "Selusī");
    namesMap.put("JM", "Samaika");
    namesMap.put("JO", "Soatane");
    namesMap.put("JP", "Siapani");
    namesMap.put("KE", "Keniā");
    namesMap.put("KG", "Kīkisitani");
    namesMap.put("KH", "Kemipōtia");
    namesMap.put("KI", "Kilipasi");
    namesMap.put("KM", "Komolosi");
    namesMap.put("KN", "Sā Kitisi mo Nevisi");
    namesMap.put("KP", "Kōlea tokelau");
    namesMap.put("KR", "Kōlea tonga");
    namesMap.put("KW", "Kueiti");
    namesMap.put("KY", "ʻOtumotu Keimeni");
    namesMap.put("KZ", "Kasakitani");
    namesMap.put("LA", "Lau");
    namesMap.put("LB", "Lepanoni");
    namesMap.put("LC", "Sā Lūsia");
    namesMap.put("LI", "Lekitenisaini");
    namesMap.put("LK", "Sīlangikā");
    namesMap.put("LR", "Laipelia");
    namesMap.put("LS", "Lesoto");
    namesMap.put("LT", "Lifiuania");
    namesMap.put("LU", "Lakisimipeki");
    namesMap.put("LV", "Lativia");
    namesMap.put("LY", "Lipia");
    namesMap.put("MA", "Moloko");
    namesMap.put("MC", "Monako");
    namesMap.put("MD", "Molotova");
    namesMap.put("ME", "Monitenikalo");
    namesMap.put("MF", "Sā Mātini (fakafalanisē)");
    namesMap.put("MG", "Matakasika");
    namesMap.put("MH", "ʻOtumotu Māsolo");
    namesMap.put("MK", "Masetōnia");
    namesMap.put("ML", "Māli");
    namesMap.put("MM", "Pema");
    namesMap.put("MN", "Mongokōlia");
    namesMap.put("MO", "Makau SAR Siaina");
    namesMap.put("MP", "ʻOtumotu Maliana tokelau");
    namesMap.put("MQ", "Mateniki");
    namesMap.put("MR", "Maulitenia");
    namesMap.put("MS", "Moʻungaselati");
    namesMap.put("MT", "Malita");
    namesMap.put("MU", "Maulitiusi");
    namesMap.put("MV", "Malativisi");
    namesMap.put("MW", "Malaui");
    namesMap.put("MX", "Mekisikou");
    namesMap.put("MY", "Malēsia");
    namesMap.put("MZ", "Mosēmipiki");
    namesMap.put("NA", "Namipia");
    namesMap.put("NC", "Niu Kaletōnia");
    namesMap.put("NE", "Nisia");
    namesMap.put("NF", "Motu Nōfoliki");
    namesMap.put("NG", "Naisilia");
    namesMap.put("NI", "Nikalakua");
    namesMap.put("NL", "Hōlani");
    namesMap.put("NO", "Noauē");
    namesMap.put("NP", "Nepali");
    namesMap.put("NR", "Naulu");
    namesMap.put("NU", "Niuē");
    namesMap.put("NZ", "Nuʻusila");
    namesMap.put("OM", "ʻOmani");
    namesMap.put("PA", "Panamā");
    namesMap.put("PE", "Pelū");
    namesMap.put("PF", "Polinisia fakafalanisē");
    namesMap.put("PG", "Papuaniukini");
    namesMap.put("PH", "Filipaini");
    namesMap.put("PK", "Pākisitani");
    namesMap.put("PL", "Polani");
    namesMap.put("PM", "Sā Piea mo Mikeloni");
    namesMap.put("PN", "ʻOtumotu Pitikeni");
    namesMap.put("PR", "Pueto Liko");
    namesMap.put("PS", "Potu Palesitaine");
    namesMap.put("PT", "Potukali");
    namesMap.put("PY", "Palakuei");
    namesMap.put("QA", "Katā");
    namesMap.put("QO", "ʻOsēnia mamaʻo");
    namesMap.put("RE", "Liʻiunioni");
    namesMap.put("RO", "Lomēnia");
    namesMap.put("RS", "Sēpia");
    namesMap.put("RU", "Lūsia");
    namesMap.put("RW", "Luanitā");
    namesMap.put("SA", "Saute ʻAlepea");
    namesMap.put("SB", "ʻOtumotu Solomone");
    namesMap.put("SC", "ʻOtumotu Seiseli");
    namesMap.put("SD", "Sūteni");
    namesMap.put("SE", "Suēteni");
    namesMap.put("SG", "Singapoa");
    namesMap.put("SH", "Sā Helena");
    namesMap.put("SI", "Silōvenia");
    namesMap.put("SJ", "Sivolopāti mo Sani Maieni");
    namesMap.put("SK", "Silōvakia");
    namesMap.put("SL", "Siela Leone");
    namesMap.put("SM", "Sā Malino");
    namesMap.put("SN", "Senekalo");
    namesMap.put("SO", "Sōmalia");
    namesMap.put("SR", "Sulinami");
    namesMap.put("SS", "Sūtani fakatonga");
    namesMap.put("ST", "Sao Tomē mo Pilinisipe");
    namesMap.put("SV", "ʻEle Salavatoa");
    namesMap.put("SX", "Sā Mātini (fakahōlani)");
    namesMap.put("SY", "Sīlia");
    namesMap.put("SZ", "Suasilani");
    namesMap.put("TA", "Tulisiteni ta Kunuha");
    namesMap.put("TC", "ʻOtumotu Tuki mo Kaikosi");
    namesMap.put("TD", "Sāti");
    namesMap.put("TF", "Potu fonua tonga fakafalanisē");
    namesMap.put("TG", "Toko");
    namesMap.put("TH", "Taileni");
    namesMap.put("TJ", "Tasikitani");
    namesMap.put("TL", "Timoa Hahake");
    namesMap.put("TM", "Tekimenisitani");
    namesMap.put("TN", "Tunīsia");
    namesMap.put("TR", "Toake");
    namesMap.put("TT", "Tilinitati mo Topako");
    namesMap.put("TV", "Tūvalu");
    namesMap.put("TW", "Taiuani");
    namesMap.put("TZ", "Tenisānia");
    namesMap.put("UA", "ʻIukuleini");
    namesMap.put("UG", "ʻIukanitā");
    namesMap.put("UM", "ʻOtumotu siʻi ʻo ʻAmelika");
    namesMap.put("US", "Puleʻanga fakatahataha ʻAmelika");
    namesMap.put("UY", "ʻUlukuei");
    namesMap.put("UZ", "ʻUsipekitani");
    namesMap.put("VA", "Kolo Vatikani");
    namesMap.put("VC", "Sā Viniseni mo Kulenatini");
    namesMap.put("VE", "Venesuela");
    namesMap.put("VG", "ʻOtumotu Vilikini fakapilitānia");
    namesMap.put("VI", "ʻOtumotu Vilikini fakaʻamelika");
    namesMap.put("VN", "Vietinemi");
    namesMap.put("WF", "ʻUvea mo Futuna");
    namesMap.put("WS", "Haʻamoa");
    namesMap.put("XK", "Kōsovo");
    namesMap.put("YE", "Iemeni");
    namesMap.put("YT", "Meioti");
    namesMap.put("ZA", "ʻAfilika tonga");
    namesMap.put("ZM", "Semipia");
    namesMap.put("ZW", "Simipapuei");
    namesMap.put("ZZ", "Potu fonua taʻeʻiloa pe hala");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "001": "Māmani",
        "002": "ʻAfilika",
        "003": "ʻAmelika tokelau",
        "005": "ʻAmelika tonga",
        "009": "ʻOsēnia",
        "011": "ʻAfilika fakahihifo",
        "013": "ʻAmelika lotoloto",
        "014": "ʻAfilika fakahahake",
        "015": "ʻAfilika fakatokelau",
        "017": "ʻAfilika lotoloto",
        "018": "ʻAfilika fakatonga",
        "019": "Ongo ʻAmelika",
        "021": "ʻAmelika fakatokelau",
        "029": "Kalipiane",
        "030": "ʻĒsia fakahahake",
        "034": "ʻĒsia fakatonga",
        "035": "ʻĒsia fakatongahahake",
        "039": "ʻIulope fakatonga",
        "053": "ʻAositelēlēsia",
        "054": "Melanisia",
        "057": "Potu fonua Mikolonisia",
        "061": "Polinīsia",
        "142": "ʻĒsia",
        "143": "ʻĒsia lotoloto",
        "145": "ʻĒsia fakahihifo",
        "150": "ʻIulope",
        "151": "ʻIulope fakahahake",
        "154": "ʻIulope fakatokelau",
        "155": "ʻIulope fakahihifo",
        "419": "ʻAmelika fakalatina",
        "AC": "Motu ʻAsenisini",
        "AD": "ʻEnitola",
        "AE": "ʻAlepea Fakatahataha",
        "AF": "ʻAfikānisitani",
        "AG": "Anitikua mo Palaputa",
        "AI": "Anikuila",
        "AL": "ʻAlipania",
        "AM": "ʻĀminia",
        "AN": "Netaleni ʻEnitilisi",
        "AO": "ʻEngikola",
        "AQ": "ʻAnitātika",
        "AR": "ʻAsenitina",
        "AS": "Haʻamoa ʻAmelika",
        "AT": "ʻAositulia",
        "AU": "ʻAositelēlia",
        "AW": "ʻAlupa",
        "AX": "ʻOtumotu ʻAlani",
        "AZ": "ʻAsapaisani",
        "BA": "Posinia mo Hesikōvina",
        "BB": "Pāpeitosi",
        "BD": "Pengilātesi",
        "BE": "Pelesiume",
        "BF": "Pekano Faso",
        "BG": "Pulukalia",
        "BH": "Paleini",
        "BI": "Puluniti",
        "BJ": "Penini",
        "BL": "Sā Patēlemi",
        "BM": "Pēmuta",
        "BN": "Pulunei",
        "BO": "Polīvia",
        "BQ": "Kalipiane fakahōlani",
        "BR": "Palāsili",
        "BS": "Pahama",
        "BT": "Pūtani",
        "BV": "Motu Puveti",
        "BW": "Potisiuana",
        "BY": "Pelalusi",
        "BZ": "Pelise",
        "CA": "Kānata",
        "CC": "ʻOtumotu Koko",
        "CD": "Kongo - Kinisasa",
        "CF": "Lipapilika ʻAfilika Lotoloto",
        "CG": "Kongo - Palasavila",
        "CH": "Suisilani",
        "CI": "Matāfonua ʻAivili",
        "CK": "ʻOtumotu Kuki",
        "CL": "Sili",
        "CM": "Kemaluni",
        "CN": "Siaina",
        "CO": "Kolomipia",
        "CP": "Motu Kilipatoni",
        "CR": "Kosita Lika",
        "CU": "Kiupa",
        "CV": "Muiʻi Vete",
        "CW": "Kulasao",
        "CX": "Motu Kilisimasi",
        "CY": "Saipalesi",
        "CZ": "Lipapilika Seki",
        "DE": "Siamane",
        "DG": "Tieko Kāsia",
        "DJ": "Siputi",
        "DK": "Tenimaʻake",
        "DM": "Tominika",
        "DO": "Lipapilika Tominika",
        "DZ": "ʻAisilia",
        "EA": "Siuta mo Melila",
        "EC": "ʻEkuetoa",
        "EE": "ʻEsitōnia",
        "EG": "ʻIsipite",
        "EH": "Sahala fakahihifo",
        "ER": "ʻElitulia",
        "ES": "Sipeini",
        "ET": "ʻĪtiōpia",
        "EU": "ʻIulope fakatahataha",
        "FI": "Finilani",
        "FJ": "Fisi",
        "FK": "ʻOtumotu Fokulani",
        "FM": "Mikolonisia",
        "FO": "ʻOtumotu Faloe",
        "FR": "Falanisē",
        "GA": "Kaponi",
        "GB": "Pilitānia",
        "GD": "Kelenatā",
        "GE": "Seōsia",
        "GF": "Kuiana fakafalanisē",
        "GG": "Kuenisī",
        "GH": "Kana",
        "GI": "Sipalālitā",
        "GL": "Kulinilani",
        "GM": "Kamipia",
        "GN": "Kini",
        "GP": "Kuatalupe",
        "GQ": "ʻEkueta Kini",
        "GR": "Kalisi",
        "GS": "ʻOtumotu Seōsia-tonga mo Saniuisi-tonga",
        "GT": "Kuatamala",
        "GU": "Kuamu",
        "GW": "Kini-Pisau",
        "GY": "Kuiana",
        "HK": "Hongi Kongi SAR Siaina",
        "HM": "ʻOtumotu Heati mo Makitonali",
        "HN": "Honitulasi",
        "HR": "Kuloisia",
        "HU": "Hungakalia",
        "IC": "ʻOtumotu Kaneli",
        "ID": "ʻInitonēsia",
        "IE": "ʻAealani",
        "IL": "ʻIsileli",
        "IM": "Motu Mani",
        "IN": "ʻInitia",
        "IO": "Potu fonua moana ʻInitia fakapilitānia",
        "IQ": "ʻIulaaki",
        "IR": "ʻIulaani",
        "IS": "ʻAisilani",
        "IT": "ʻĪtali",
        "JE": "Selusī",
        "JM": "Samaika",
        "JO": "Soatane",
        "JP": "Siapani",
        "KE": "Keniā",
        "KG": "Kīkisitani",
        "KH": "Kemipōtia",
        "KI": "Kilipasi",
        "KM": "Komolosi",
        "KN": "Sā Kitisi mo Nevisi",
        "KP": "Kōlea tokelau",
        "KR": "Kōlea tonga",
        "KW": "Kueiti",
        "KY": "ʻOtumotu Keimeni",
        "KZ": "Kasakitani",
        "LA": "Lau",
        "LB": "Lepanoni",
        "LC": "Sā Lūsia",
        "LI": "Lekitenisaini",
        "LK": "Sīlangikā",
        "LR": "Laipelia",
        "LS": "Lesoto",
        "LT": "Lifiuania",
        "LU": "Lakisimipeki",
        "LV": "Lativia",
        "LY": "Lipia",
        "MA": "Moloko",
        "MC": "Monako",
        "MD": "Molotova",
        "ME": "Monitenikalo",
        "MF": "Sā Mātini (fakafalanisē)",
        "MG": "Matakasika",
        "MH": "ʻOtumotu Māsolo",
        "MK": "Masetōnia",
        "ML": "Māli",
        "MM": "Pema",
        "MN": "Mongokōlia",
        "MO": "Makau SAR Siaina",
        "MP": "ʻOtumotu Maliana tokelau",
        "MQ": "Mateniki",
        "MR": "Maulitenia",
        "MS": "Moʻungaselati",
        "MT": "Malita",
        "MU": "Maulitiusi",
        "MV": "Malativisi",
        "MW": "Malaui",
        "MX": "Mekisikou",
        "MY": "Malēsia",
        "MZ": "Mosēmipiki",
        "NA": "Namipia",
        "NC": "Niu Kaletōnia",
        "NE": "Nisia",
        "NF": "Motu Nōfoliki",
        "NG": "Naisilia",
        "NI": "Nikalakua",
        "NL": "Hōlani",
        "NO": "Noauē",
        "NP": "Nepali",
        "NR": "Naulu",
        "NU": "Niuē",
        "NZ": "Nuʻusila",
        "OM": "ʻOmani",
        "PA": "Panamā",
        "PE": "Pelū",
        "PF": "Polinisia fakafalanisē",
        "PG": "Papuaniukini",
        "PH": "Filipaini",
        "PK": "Pākisitani",
        "PL": "Polani",
        "PM": "Sā Piea mo Mikeloni",
        "PN": "ʻOtumotu Pitikeni",
        "PR": "Pueto Liko",
        "PS": "Potu Palesitaine",
        "PT": "Potukali",
        "PY": "Palakuei",
        "QA": "Katā",
        "QO": "ʻOsēnia mamaʻo",
        "RE": "Liʻiunioni",
        "RO": "Lomēnia",
        "RS": "Sēpia",
        "RU": "Lūsia",
        "RW": "Luanitā",
        "SA": "Saute ʻAlepea",
        "SB": "ʻOtumotu Solomone",
        "SC": "ʻOtumotu Seiseli",
        "SD": "Sūteni",
        "SE": "Suēteni",
        "SG": "Singapoa",
        "SH": "Sā Helena",
        "SI": "Silōvenia",
        "SJ": "Sivolopāti mo Sani Maieni",
        "SK": "Silōvakia",
        "SL": "Siela Leone",
        "SM": "Sā Malino",
        "SN": "Senekalo",
        "SO": "Sōmalia",
        "SR": "Sulinami",
        "SS": "Sūtani fakatonga",
        "ST": "Sao Tomē mo Pilinisipe",
        "SV": "ʻEle Salavatoa",
        "SX": "Sā Mātini (fakahōlani)",
        "SY": "Sīlia",
        "SZ": "Suasilani",
        "TA": "Tulisiteni ta Kunuha",
        "TC": "ʻOtumotu Tuki mo Kaikosi",
        "TD": "Sāti",
        "TF": "Potu fonua tonga fakafalanisē",
        "TG": "Toko",
        "TH": "Taileni",
        "TJ": "Tasikitani",
        "TL": "Timoa Hahake",
        "TM": "Tekimenisitani",
        "TN": "Tunīsia",
        "TR": "Toake",
        "TT": "Tilinitati mo Topako",
        "TV": "Tūvalu",
        "TW": "Taiuani",
        "TZ": "Tenisānia",
        "UA": "ʻIukuleini",
        "UG": "ʻIukanitā",
        "UM": "ʻOtumotu siʻi ʻo ʻAmelika",
        "US": "Puleʻanga fakatahataha ʻAmelika",
        "UY": "ʻUlukuei",
        "UZ": "ʻUsipekitani",
        "VA": "Kolo Vatikani",
        "VC": "Sā Viniseni mo Kulenatini",
        "VE": "Venesuela",
        "VG": "ʻOtumotu Vilikini fakapilitānia",
        "VI": "ʻOtumotu Vilikini fakaʻamelika",
        "VN": "Vietinemi",
        "WF": "ʻUvea mo Futuna",
        "WS": "Haʻamoa",
        "XK": "Kōsovo",
        "YE": "Iemeni",
        "YT": "Meioti",
        "ZA": "ʻAfilika tonga",
        "ZM": "Semipia",
        "ZW": "Simipapuei",
        "ZZ": "Potu fonua taʻeʻiloa pe hala"
    };
  }-*/;
}
