﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/it.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/it.xml
 */
it{
    Countries{
        001{"Mondo"}
        002{"Africa"}
        003{"Nord America"}
        005{"America del Sud"}
        009{"Oceania"}
        011{"Africa occidentale"}
        013{"America centrale"}
        014{"Africa orientale"}
        015{"Africa del Nord"}
        017{"Africa centrale"}
        018{"Africa del Sud"}
        019{"Americhe"}
        021{"America del Nord"}
        029{"Caraibi"}
        030{"Asia orientale"}
        034{"Asia del Sud"}
        035{"Asia sudorientale"}
        039{"Europa del Sud"}
        053{"Australasia"}
        054{"Melanesia"}
        057{"Regione Micronesiana"}
        061{"Polinesia"}
        142{"Asia"}
        143{"Asia centrale"}
        145{"Asia occidentale"}
        150{"Europa"}
        151{"Europa orientale"}
        154{"Europa del Nord"}
        155{"Europa occidentale"}
        419{"America Latina"}
        AC{"Isola di Ascensione"}
        AD{"Andorra"}
        AE{"Emirati Arabi Uniti"}
        AF{"Afghanistan"}
        AG{"Antigua e Barbuda"}
        AI{"Anguilla"}
        AL{"Albania"}
        AM{"Armenia"}
        AN{"Antille Olandesi"}
        AO{"Angola"}
        AQ{"Antartide"}
        AR{"Argentina"}
        AS{"Samoa Americane"}
        AT{"Austria"}
        AU{"Australia"}
        AW{"Aruba"}
        AX{"Isole Aland"}
        AZ{"Azerbaigian"}
        BA{"Bosnia Erzegovina"}
        BB{"Barbados"}
        BD{"Bangladesh"}
        BE{"Belgio"}
        BF{"Burkina Faso"}
        BG{"Bulgaria"}
        BH{"Bahrein"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"San Bartolomeo"}
        BM{"Bermuda"}
        BN{"Brunei"}
        BO{"Bolivia"}
        BQ{"Caraibi Olandesi"}
        BR{"Brasile"}
        BS{"Bahamas"}
        BT{"Bhutan"}
        BV{"Isola Bouvet"}
        BW{"Botswana"}
        BY{"Bielorussia"}
        BZ{"Belize"}
        CA{"Canada"}
        CC{"Isole Cocos"}
        CD{"Congo - Kinshasa"}
        CF{"Repubblica Centrafricana"}
        CG{"Congo"}
        CH{"Svizzera"}
        CI{"Costa d’Avorio"}
        CK{"Isole Cook"}
        CL{"Cile"}
        CM{"Camerun"}
        CN{"Cina"}
        CO{"Colombia"}
        CP{"Isola di Clipperton"}
        CR{"Costa Rica"}
        CU{"Cuba"}
        CV{"Capo Verde"}
        CW{"Curaçao"}
        CX{"Isola di Christmas"}
        CY{"Cipro"}
        CZ{"Repubblica Ceca"}
        DE{"Germania"}
        DG{"Diego Garcia"}
        DJ{"Gibuti"}
        DK{"Danimarca"}
        DM{"Dominica"}
        DO{"Repubblica Dominicana"}
        DZ{"Algeria"}
        EA{"Ceuta e Melilla"}
        EC{"Ecuador"}
        EE{"Estonia"}
        EG{"Egitto"}
        EH{"Sahara Occidentale"}
        ER{"Eritrea"}
        ES{"Spagna"}
        ET{"Etiopia"}
        EU{"Unione Europea"}
        FI{"Finlandia"}
        FJ{"Figi"}
        FK{"Isole Falkland"}
        FM{"Micronesia"}
        FO{"Isole Faroe"}
        FR{"Francia"}
        GA{"Gabon"}
        GB{"Regno Unito"}
        GD{"Grenada"}
        GE{"Georgia"}
        GF{"Guiana Francese"}
        GG{"Guernsey"}
        GH{"Ghana"}
        GI{"Gibilterra"}
        GL{"Groenlandia"}
        GM{"Gambia"}
        GN{"Guinea"}
        GP{"Guadalupa"}
        GQ{"Guinea Equatoriale"}
        GR{"Grecia"}
        GS{"Georgia del Sud e Isole Sandwich del Sud"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Guinea-Bissau"}
        GY{"Guyana"}
        HK{"RAS di Hong Kong"}
        HM{"Isole Heard ed Isole McDonald"}
        HN{"Honduras"}
        HR{"Croazia"}
        HT{"Haiti"}
        HU{"Ungheria"}
        IC{"Isole Canarie"}
        ID{"Indonesia"}
        IE{"Irlanda"}
        IL{"Israele"}
        IM{"Isola di Man"}
        IN{"India"}
        IO{"Territorio Britannico dell’Oceano Indiano"}
        IQ{"Iraq"}
        IR{"Iran"}
        IS{"Islanda"}
        IT{"Italia"}
        JE{"Jersey"}
        JM{"Giamaica"}
        JO{"Giordania"}
        JP{"Giappone"}
        KE{"Kenya"}
        KG{"Kirghizistan"}
        KH{"Cambogia"}
        KI{"Kiribati"}
        KM{"Comore"}
        KN{"Saint Kitts e Nevis"}
        KP{"Corea del Nord"}
        KR{"Corea del Sud"}
        KW{"Kuwait"}
        KY{"Isole Cayman"}
        KZ{"Kazakistan"}
        LA{"Laos"}
        LB{"Libano"}
        LC{"Saint Lucia"}
        LI{"Liechtenstein"}
        LK{"Sri Lanka"}
        LR{"Liberia"}
        LS{"Lesotho"}
        LT{"Lituania"}
        LU{"Lussemburgo"}
        LV{"Lettonia"}
        LY{"Libia"}
        MA{"Marocco"}
        MC{"Monaco"}
        MD{"Moldavia"}
        ME{"Montenegro"}
        MF{"Saint Martin"}
        MG{"Madagascar"}
        MH{"Isole Marshall"}
        MK{"Repubblica di Macedonia"}
        ML{"Mali"}
        MM{"Myanmar"}
        MN{"Mongolia"}
        MO{"RAS di Macao"}
        MP{"Isole Marianne Settentrionali"}
        MQ{"Martinica"}
        MR{"Mauritania"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Mauritius"}
        MV{"Maldive"}
        MW{"Malawi"}
        MX{"Messico"}
        MY{"Malesia"}
        MZ{"Mozambico"}
        NA{"Namibia"}
        NC{"Nuova Caledonia"}
        NE{"Niger"}
        NF{"Isola Norfolk"}
        NG{"Nigeria"}
        NI{"Nicaragua"}
        NL{"Paesi Bassi"}
        NO{"Norvegia"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Nuova Zelanda"}
        OM{"Oman"}
        PA{"Panama"}
        PE{"Perù"}
        PF{"Polinesia Francese"}
        PG{"Papua Nuova Guinea"}
        PH{"Filippine"}
        PK{"Pakistan"}
        PL{"Polonia"}
        PM{"Saint Pierre e Miquelon"}
        PN{"Pitcairn"}
        PR{"Portorico"}
        PS{"Territori palestinesi"}
        PT{"Portogallo"}
        PW{"Palau"}
        PY{"Paraguay"}
        QA{"Qatar"}
        QO{"Oceania lontana"}
        RE{"Réunion"}
        RO{"Romania"}
        RS{"Serbia"}
        RU{"Federazione Russa"}
        RW{"Ruanda"}
        SA{"Arabia Saudita"}
        SB{"Isole Solomon"}
        SC{"Seychelles"}
        SD{"Sudan"}
        SE{"Svezia"}
        SG{"Singapore"}
        SH{"Sant’Elena"}
        SI{"Slovenia"}
        SJ{"Svalbard e Jan Mayen"}
        SK{"Slovacchia"}
        SL{"Sierra Leone"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somalia"}
        SR{"Suriname"}
        SS{"Sudan del Sud"}
        ST{"Sao Tomé e Príncipe"}
        SV{"El Salvador"}
        SX{"Sint Maarten"}
        SY{"Siria"}
        SZ{"Swaziland"}
        TA{"Tristan da Cunha"}
        TC{"Isole Turks e Caicos"}
        TD{"Ciad"}
        TF{"Territori australi francesi"}
        TG{"Togo"}
        TH{"Tailandia"}
        TJ{"Tagikistan"}
        TK{"Tokelau"}
        TL{"Timor Est"}
        TM{"Turkmenistan"}
        TN{"Tunisia"}
        TO{"Tonga"}
        TR{"Turchia"}
        TT{"Trinidad e Tobago"}
        TV{"Tuvalu"}
        TW{"Taiwan"}
        TZ{"Tanzania"}
        UA{"Ucraina"}
        UG{"Uganda"}
        UM{"Isole periferiche agli USA"}
        US{"Stati Uniti"}
        UY{"Uruguay"}
        UZ{"Uzbekistan"}
        VA{"Città del Vaticano"}
        VC{"Saint Vincent e Grenadines"}
        VE{"Venezuela"}
        VG{"Isole Vergini Britanniche"}
        VI{"Isole Vergini Americane"}
        VN{"Vietnam"}
        VU{"Vanuatu"}
        WF{"Wallis e Futuna"}
        WS{"Samoa"}
        YE{"Yemen"}
        YT{"Mayotte"}
        ZA{"Sudafrica"}
        ZM{"Zambia"}
        ZW{"Zimbabwe"}
        ZZ{"Regione non valida o sconosciuta"}
    }
    Version{"2.0.78.39"}
}
