// ***************************************************************************
// *
// *   Copyright (C) 1997-2003, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// ***************************************************************************

it {
    Version{ "2.0" }
    collations {
        standard { 
            Version { "1.0" }
            Sequence { "&A<<\u00c6/E &a<<\u00e6/e" }
        }
    }

    AmPmMarkers { 
        "m.",
        "p.",
    }
    Countries { 
        Fallback{ "en"}
        //AD { "Andorra" }
        AE { "Emirati Arabi Uniti" }
        //AF { "Afghanistan" }
        AG { "Antigua e Barbuda" }
        //AI { "Anguilla" }
        //AL { "Albania" }
        //AM { "Armenia" }
        AN { "Antille Olandesi" }
        //AO { "Angola" }
        AQ { "Antartico" }
        //AR { "Argentina" }
        AS { "Samoa Americane" }
        //AT { "Austria" }
        //AU { "Australia" }
        //AW { "Aruba" }
        //AZ { "Azerbaijan" }
        BA { "Bosnia Erzegovina" }
        //BB { "Barbados" }
        //BD { "Bangladesh" }
        BE { "Belgio" }
        //BF { "Burkina Faso" }
        //BG { "Bulgaria" }
        //BH { "Bahrain" }
        //BI { "Burundi" }
        //BJ { "Benin" }
        //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 (Keeling)" }
        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" }
        //CR { "Costa Rica" }
        //CU { "Cuba" }
        CV { "Capo Verde" }
        CX { "Isola di Natale" }
        CY { "Cipro" }
        CZ { "Repubblica Ceca" }
        DE { "Germania" }
        DJ { "Gibuti" }
        DK { "Danimarca" }
        //DM { "Dominica" }
        DO { "Repubblica Dominicana" }
        //DZ { "Algeria" }
        //EC { "Ecuador" }
        //EE { "Estonia" }
        EG { "Egitto" }
        EH { "Sahara Occidentale" }
        //ER { "Eritrea" }
        ES { "Spagna" }
        ET { "Etiopia" }
        FI { "Finlandia" }
        //FJ { "Fiji" }
        FK { "Isole Falkland" }
        //FM { "Micronesia" }
        FO { "Isole Faroe" }
        FR { "Francia" }
        //GA { "Gabon" }
        GB { "Regno Unito" }
        //GD { "Grenada" }
        //GE { "Georgia" }
        GF { "Guiana Francese" }
        //GH { "Ghana" }
        GI { "Gibilterra" }
        GL { "Groenlandia" }
        //GM { "Gambia" }
        //GN { "Guinea" }
        GP { "Guadalupa" }
        GQ { "Guinea Equatoriale" }
        GR { "Grecia" }
        GS { "Sud Georgia e Isole Sandwich del Sud" }
        //GT { "Guatemala" }
        //GU { "Guam" }
        //GW { "Guinea-Bissau" }
        //GY { "Guyana" }
        HK { "Hong Kong (Cina)" }
        HM { "Isole Heard ed Isole McDonald" }
        //HN { "Honduras" }
        HR { "Croazia" }
        //HT { "Haiti" }
        HU { "Ungheria" }
        //ID { "Indonesia" }
        IE { "Irlanda" }
        IL { "Israele" }
        //IN { "India" }
        IO { "Territori Britannici dell'Oceano Indiano" }
        //IQ { "Iraq" }
        //IR { "Iran" }
        IS { "Islanda" }
        IT { "Italia" }
        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" }    // alternate name { "Corea, Repubblica Popolare Democratica" }
        KR { "Corea del Sud" }    // alternate name { "Corea, Repubblica" }
        //KW { "Kuwait" }
        KY { "Isole Cayman" }
        KZ { "Kazakistan" }
        //LA { "Laos" }
        LB { "Libano" }
        LC { "Santa Lucia" }
        //LI { "Liechtenstein" }
        //LK { "Sri Lanka" }
        //LR { "Liberia" }
        //LS { "Lesotho" }
        LT { "Lituania" }
        LU { "Lussemburgo" }
        LV { "Lettonia" }
        LY { "Libia" }
        MA { "Marocco" }
        //MC { "Monaco" }
        MD { "Moldavia" }
        //MG { "Madagascar" }
        MH { "Isole Marshall" }
        MK { "Macedonia, Repubblica" }
        //ML { "Mali" }
        //MM { "Myanmar" }
        //MN { "Mongolia" }
        MO { "Macao (Cina)" }
        //MP { "Northern Mariana Islands" }
        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 { "Olanda" }
        NO { "Norvegia" }
        //NP { "Nepal" }
        //NR { "Nauru" }
        //NU { "Niue" }
        NZ { "Nuova Zelanda" }
        //OM { "Oman" }
        //PA { "Panama" }
        //PE { "Peru" }
        PF { "Polinesia Francese" }
        PG { "Papua Nuova Guinea" }
        PH { "Filippine" }
        //PK { "Pakistan" }
        PL { "Polonia" }
        PM { "Saint Pierre e Miquelon" }
        //PN { "Pitcairn" }
        PR { "Portorico" }
        PS { "Palestina" }
        PT { "Portogallo" }
        //PW { "Palau" }
        //PY { "Paraguay" }
        //QA { "Qatar" }
        RE { "Reunion" }
        //RO { "Romania" }
        RU { "Federazione Russa" }
        RW { "Ruanda" }
        SA { "Arabia Saudita" }
        SB { "Isole Solomon" }
        //SC { "Seychelles" }
        //SD { "Sudan" }
        SE { "Svezia" }
        //SG { "Singapore" }
        //SH { "Saint Helena" }
        //SI { "Slovenia" }
        SJ { "Svalbard e Jan Mayen" }
        SK { "Slovacchia" }
        //SL { "Sierra Leone" }
        //SM { "San Marino" }
        //SN { "Senegal" }
        //SO { "Somalia" }
        //SR { "Suriname" }
        ST { "Sao Tome e Principe" }
        //SV { "El Salvador" }
        SY { "Siria" }    // alternate name { "Repubblica Araba di Siria" }
        //SZ { "Swaziland" }
        TC { "Isole Turks e Caicos" }
        TD { "Ciad" }
        TF { "Territori francesi del sud" }
        //TG { "Togo" }
        TH { "Thailandia" }
        //TJ { "Tajikistan" }
        //TK { "Tokelau" }
        TL { "Timor Est" }
        //TM { "Turkmenistan" }
        //TN { "Tunisia" }
        //TO { "Tonga" }
        TR { "Turchia" }
        TT { "Trinidad e Tobago" }
        //TV { "Tuvalu" }
        TW { "Taiwan (provincia della Cina)" }    // alternate name { "Taiwan" }
        //TZ { "Tanzania" }
        UA { "Ucraina" }
        //UG { "Uganda" }
        UM { "Isole minori Americane" }
        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" }
        //YU { "Yugoslavia" }
        ZA { "Sud Africa" }
        //ZM { "Zambia" }
        //ZW { "Zimbabwe" }
    }
    // Currency display names
    Currencies {
        ARP { "ARP", "Peso Argentino (vecchio Cod.)" } // Argentine Peso
        ARS { "ARS", "Peso Argentino" } // Argentine Peso
        ATS { "ATS", "Scellino Austriaco" } // Schilling
        AUD { "AUD", "Dollaro Australiano" } // Australian Dollar
        BAM { "KM", "Marco Conv. Bosnia-Erzegovina" } // Convertible Marks
        BEF { "BEF", "Franco Belga" } // Belgian Franc
        BGL { "BGL", "Lev Bulgaro" } // Lev
        BOB { "BOB", "Boliviano" } // Boliviano
        BRL { "BRL", "Real Brasiliano" } // Brazilian Real
        CAD { "CAD", "Dollaro Canadese" } // Canadian Dollar
        CHF { "SFr.", "Franco Svizzero" } // Swiss Franc
        CLP { "CLP", "Peso Cileno" } // Chilean Peso
        CNY { "CNY", "Renmimbi Cinese" } // Yuan Renminbi
        CYP { "CYP", "Sterlina Cipriota" } // Cyprus Pound
        CZK { "CZK", "Corona Ceca" } // Czech Koruna
        DEM { "DEM", "Marco Tedesco" } // Deutsche Mark
        DKK { "DKK", "Corona Danese" } // Danish Krone
        EEK { "EEK", "Corona dell'Estonia" } // Kroon
        EGP { "EGP", "Sterlina Egiziana" } // Egyptian Pound
        ESP { "ESP", "Peseta Spagnola" } // Spanish Peseta
        EUR { "\u20AC", "Euro" } // Euro
        FIM { "FIM", "Markka Finlandese" } // Markka
        FRF { "FRF", "Franco Francese" } // French Franc
        GBP { "\u00A3", "Sterlina Inglese" } // Pound Sterling
        GRD { "GRD", "Dracma Greca" } // Drachma
        HKD { "HKD", "Dollaro di Hong Kong" } // Hong Kong Dollar
        HUF { "HUF", "Fiorino Ungherese" } // Forint
        IDR { "IDR", "Rupia Indiana" } // Rupiah
        IEP { "IEP", "Lira Irlandese" } // Irish Pound
        ITL { "\u20A4", "Lira Italiana" } // Lira
        JOD { "JOD", "Dinaro Giordano" } // Jordanian Dinar
        JPY { "\u00A5", "Yen Giapponese" } // Yen
        LTL { "LTL", "Lita Lituana" } // Lithuanian Litas
        MAD { "MAD", "Dirham Marocchino" } // Moroccan Dirham
        NGN { "NGN", "Naira Nigeriana" } // Naira
        NLG { "NLG", "Fiorino Olandese" } // Netherlands Guilder
        NOK { "NOK", "Corona Norvegese" } // Norwegian Krone
        PHP { "PHP", "Peso delle Filippine" } // Philippine Peso
        PLZ { "PLZ", "Zloty Polacco" } // Zloty
        PTE { "PTE", "Escudo Portoghese" } // Portugese Escudo
        ROL { "ROL", "Leu della Romania" } // Leu
        RUR { "RUR", "Rublo della CSI" } // Russian Ruble
        SAR { "SAR", "Ryal Saudita" } // Saudi Riyal
        SEK { "SEK", "Corona Svedese" } // Swedish Krona
        SGD { "SGD", "Dollaro di Singapore" } // Singapore Dollar
        SIT { "SIT", "Tallero Sloveno" } // Tolar
        THB { "THB", "Baht Tailandese" } // Baht
        TRL { "TRL", "Lira Turca" } // Turkish Lira
        UAH { "UAH", "Hrivna Ucraina" } // Hryvnia
        USD { "$", "Dollaro Statunitense" } // US Dollar
        YUD { "YUD", "Yud" } // New Yugoslavian
        ZAR { "ZAR", "Rand Sudafricano" } // Rand
    }
    DateTimeElements:intvector { 
        2,
        4,
    }
    DateTimePatterns { 
        "HH:mm:ss z",
        "HH:mm:ss z",
        "HH:mm:ss",
        "HH:mm",
        "EEEE d MMMM yyyy",
        "dd MMMM yyyy",
        "dd/MMM/yy",
        "dd/MM/yy",
        "{1} {0}",
    }
    DayAbbreviations { 
        "dom",
        "lun",
        "mar",
        "mer",
        "gio",
        "ven",
        "sab",
    }
    DayNames { 
        "domenica",
        "luned\u00EC",
        "marted\u00EC",
        "mercoled\u00EC",
        "gioved\u00EC",
        "venerd\u00EC",
        "sabato",
    }
    Eras { 
        "aC",
        "dC",
    }
    Languages {

        af { "afrikaans" }
        am { "amarico" }
        ar { "arabo" }
        be { "bielorusso" }
        bg { "bulgaro" }
        bn { "bengali" }
        ca { "catalano" }
        cs { "ceco" }
        da { "danese" }
        de { "tedesco" }
        el { "greco" }
        en { "inglese" }
        eo { "esperanto" }
        es { "spagnolo" }
        et { "estone" }
        eu { "basco" }
        fa { "persiano" }
        fi { "finlandese" }
        fo { "faroese" }
        fr { "francese" }
        ga { "irlandese" }
        gl { "galiziano" }
        gu { "gujarati" }
        gv { "manx" }
        haw { "hawaiano" }
        he { "ebreo" }
        hi { "hindi" }
        hr { "croato" }
        hu { "ungherese" }
        hy { "armeno" }
        id { "indonesiano" }
        is { "islandese" }
        it { "italiano" }
        iu { "inuktitut" }
        ja { "giapponese" }
        kl { "kalaallisut" }
        kn { "kannada" }
        ko { "coreano" }
        kw { "cornish" }
        lt { "lituano" }
        lv { "lettone" }
        mk { "macedone" }
        mr { "marathi" }
        mt { "maltese" }
        nb { "norvegese bokm\u00e5l" }
        nl { "olandese" }
        no { "norvegese" }
        nn { "norvegese nynorsk" }
        om { "oromo" }
        pl { "polacco" }
        pt { "portoghese" }
        ro { "romeno" }
        ru { "russo" }
        sh { "serbo-croata" }
        sk { "slovacco" }
        sl { "sloveno" }
        so { "somalo" }
        sq { "albanian" }
        sr { "serbo" }
        sv { "svedese" }
        sw { "swahili" }
        ta { "tamil" }
        th { "thai" }
        ti { "tigrinya" }
        tr { "turco" }
        uk { "ucraino" }
        vi { "vietnamita" }
        zh { "cinese" }
        //zh_cn { "Cinese (Semplificato)" }
        //zh_tw { "Cinese (Tradizionale)" }
    }
    ExemplarCharacters { "[a-z\u00e9\u00f3\u00e0\u00e8\u00ec\u00f2\u00ed\u00fa\u00f9\u00ef]" }
    LocaleScript{ 
        "Latn",  // ISO 15924 Name 
    }
    MonthAbbreviations { 
        "gen",
        "feb",
        "mar",
        "apr",
        "mag",
        "giu",
        "lug",
        "ago",
        "set",
        "ott",
        "nov",
        "dic",
    }
    MonthNames { 
        "gennaio",
        "febbraio",
        "marzo",
        "aprile",
        "maggio",
        "giugno",
        "luglio",
        "agosto",
        "settembre",
        "ottobre",
        "novembre",
        "dicembre",
    }
    NumberElements { 
        ",",
        ".",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "\u2030",
        "\u221E",
        "\uFFFD",
        ",",
        "+",
    }
    Keys{
         collation { "Collazione" }
         calendar  { "Calendario" }
	 currency  { "valutario" }
    }
    Types{
        collation {
            traditional { "Tradizionale Collazione" }
            stroke      {"Pennellata Ordine" }
            phonebook   { "Elenco Telefonico Ordine" }
        }
        calendar {
            traditional { "Tradizionale Calendario" }
        }
    }
    Variants{
        REVISED { "Modificato" }
    }

    //------------------------------------------------------------
    // Rule Based Number Format Support
    //------------------------------------------------------------

//   * Spellout rules for Italian.  Like German, most Italian numbers are
//   * written as single words.  What makes these rules complicated is the rule
//   * that says that when a word ending in a vowel and a word beginning with
//   * a vowel are combined into a compound, the vowel is dropped from the
//   * end of the first word: 180 is "centottanta," not "centoottanta."
//   * The complexity of this rule set is to produce this behavior.

    // Can someone confirm that I did the vowel-eliding thing right?  I'm
    // not 100% sure I'm doing it in all the right places, or completely
    // correctly.  Also, I don't have information for negatives and decimals,
    // and I lack words fror values from 1,000,000 on up.

    SpelloutRules {
        // main rule set.  Follows the patterns of the preceding rule sets,
        // except that the final vowel is omitted from words ending in
        // vowels when they are followed by another word; instead, we have
        // separate rule sets that are identical to this one, except that
        // all the words that don't begin with a vowel have a vowel tacked
        // onto them at the front.  A word ending in a vowel calls a
        // substitution that will supply that vowel, unless that vowel is to
        // be elided.
        "%main:\n"
            "-x: meno >>;\n"
            "x.x: << virgola >>;\n"
            "zero; uno; due; tre; quattro; cinque; sei; sette; otto; nove;\n"
            "dieci; undici; dodici; tredici; quattordici; quindici; sedici;\n"
            "    diciasette; diciotto; diciannove;\n"
            "20: venti; vent>%%with-i>;\n"
            "30: trenta; trent>%%with-i>;\n"
            "40: quaranta; quarant>%%with-a>;\n"
            "50: cinquanta; cinquant>%%with-a>;\n"
            "60: sessanta; sessant>%%with-a>;\n"
            "70: settanta; settant>%%with-a>;\n"
            "80: ottanta; ottant>%%with-a>;\n"
            "90: novanta; novant>%%with-a>;\n"
            "100: cento; cent[>%%with-o>];\n"
            "200: <<cento; <<cent[>%%with-o>];\n"
            "1000: mille; mill[>%%with-i>];\n"
            "2000: <<mila; <<mil[>%%with-a>];\n"
            "100,000>>: <<mila[ >>];\n"
            "1,000,000: =#,##0= (incomplete data);\n"
        "%%with-a:\n"
            "azero; uno; adue; atre; aquattro; acinque; asei; asette; otto; anove;\n"
            "adieci; undici; adodici; atredici; aquattordici; aquindici; asedici;\n"
            "    adiciasette; adiciotto; adiciannove;\n"
            "20: aventi; avent>%%with-i>;\n"
            "30: atrenta; atrent>%%with-i>;\n"
            "40: aquaranta; aquarant>%%with-a>;\n"
            "50: acinquanta; acinquant>%%with-a>;\n"
            "60: asessanta; asessant>%%with-a>;\n"
            "70: asettanta; asettant>%%with-a>;\n"
            "80: ottanta; ottant>%%with-a>;\n"
            "90: anovanta; anovant>%%with-a>;\n"
            "100: acento; acent[>%%with-o>];\n"
            "200: <%%with-a<cento; <%%with-a<cent[>%%with-o>];\n"
            "1000: amille; amill[>%%with-i>];\n"
            "2000: <%%with-a<mila; <%%with-a<mil[>%%with-a>];\n"
            "100,000: =%main=;\n"
        "%%with-i:\n"
            "izero; uno; idue; itre; iquattro; icinque; isei; isette; otto; inove;\n"
            "idieci; undici; idodici; itredici; iquattordici; iquindici; isedici;\n"
            "    idiciasette; idiciotto; idiciannove;\n"
            "20: iventi; ivent>%%with-i>;\n"
            "30: itrenta; itrent>%%with-i>;\n"
            "40: iquaranta; iquarant>%%with-a>;\n"
            "50: icinquanta; icinquant>%%with-a>;\n"
            "60: isessanta; isessant>%%with-a>;\n"
            "70: isettanta; isettant>%%with-a>;\n"
            "80: ottanta; ottant>%%with-a>;\n"
            "90: inovanta; inovant>%%with-a>;\n"
            "100: icento; icent[>%%with-o>];\n"
            "200: <%%with-i<cento; <%%with-i<cent[>%%with-o>];\n"
            "1000: imille; imill[>%%with-i>];\n"
            "2000: <%%with-i<mila; <%%with-i<mil[>%%with-a>];\n"
            "100,000: =%main=;\n"
        "%%with-o:\n"
            "ozero; uno; odue; otre; oquattro; ocinque; osei; osette; otto; onove;\n"
            "odieci; undici; ododici; otredici; oquattordici; oquindici; osedici;\n"
            "    odiciasette; odiciotto; odiciannove;\n"
            "20: oventi; ovent>%%with-i>;\n"
            "30: otrenta; otrent>%%with-i>;\n"
            "40: oquaranta; oquarant>%%with-a>;\n"
            "50: ocinquanta; ocinquant>%%with-a>;\n"
            "60: osessanta; osessant>%%with-a>;\n"
            "70: osettanta; osettant>%%with-a>;\n"
            "80: ottanta; ottant>%%with-a>;\n"
            "90: onovanta; onovant>%%with-a>;\n"
            "100: ocento; ocent[>%%with-o>];\n"
            "200: <%%with-o<cento; <%%with-o<cent[>%%with-o>];\n"
            "1000: omille; omill[>%%with-i>];\n"
            "2000: <%%with-o<mila; <%%with-o<mil[>%%with-a>];\n"
            "100,000: =%main=;\n" 
    }

}
