﻿// ***************************************************************************
// *
// * Copyright (C) 2013 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"}
        XK{"Kosovo"}
        YE{"Yemen"}
        YT{"Mayotte"}
        ZA{"Sudafrica"}
        ZM{"Zambia"}
        ZW{"Zimbabwe"}
        ZZ{"Regione non valida o sconosciuta"}
    }
    Version{"2.0.86.71"}
}
