﻿// ***************************************************************************
// *
// * Copyright (C) 2011 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * 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{"Australia e Nuova Zelanda"}
        054{"Melanesia"}
        057{"Regione Micronesiana"}
        061{"Polinesia"}
        062{"Asia centro-meridionale"}
        142{"Asia"}
        143{"Asia centrale"}
        145{"Asia occidentale"}
        150{"Europa"}
        151{"Europa orientale"}
        154{"Europa del Nord"}
        155{"Europa occidentale"}
        172{"Comunità di Stati Indipendenti"}
        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"}
        BR{"Brasile"}
        BS{"Bahamas"}
        BT{"Bhutan"}
        BV{"Isola Bouvet"}
        BW{"Botswana"}
        BY{"Bielorussia"}
        BZ{"Belize"}
        CA{"Canada"}
        CC{"Isole Cocos"}
        CD{"Repubblica Democratica del Congo"}
        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"}
        CS{"Serbia e Montenegro"}
        CU{"Cuba"}
        CV{"Capo Verde"}
        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{
            "Regione Amministrativa Speciale di Hong Kong della Repubblica Popolare C"
            "inese"
        }
        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{
            "Regione Amministrativa Speciale di Macao della Repubblica Popolare Cines"
            "e"
        }
        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"}
        ST{"Sao Tomé e Príncipe"}
        SV{"El Salvador"}
        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 Minori lontane dagli Stati Uniti"}
        US{"Stati Uniti"}
        UY{"Uruguay"}
        UZ{"Uzbekistan"}
        VA{"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.61.44"}
}
