﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/to.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/to.xml
 */
to{
    Countries{
        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"}
        HT{"Haiti"}
        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"}
        PW{"Palau"}
        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"}
        TK{"Tokelau"}
        TL{"Timoa Hahake"}
        TM{"Tekimenisitani"}
        TN{"Tunīsia"}
        TO{"Tonga"}
        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"}
        VU{"Vanuatu"}
        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"}
    }
    CountriesShort{
        GB{"Pilitānia"}
        HK{"Hongi Kongi"}
        MO{"Makau"}
        PS{"Palesitaine"}
        US{"ʻAmelika"}
    }
    Version{"2.0.98.52"}
}
