﻿// ***************************************************************************
// *
// * 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"}
        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"}
        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{"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"}
        US{"ʻAmelika"}
    }
    Version{"2.0.98.52"}
}
