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

it {
    Version{ "1.0" }
    Countries { 
        IT { "Italia" }
        CH { "Svizzera" }
    }
    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}",
    }
    
    AmPmMarkers { 
        "m.",
        "p.",
    }
    
    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 { 
        it { "italiano" }
    }
    LocaleID:int { 0x10 }
//    LocaleString { "it" }
    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",
        ",",
    }
//    ShortLanguage { "ita" }
    zoneStrings { 
        {
            "Europe/Rome",
            "CET",
            "CET",
            "CET",
            "CET",
            "Rome",
        }
    }
//    LocaleScript{ 
//        "Latn",  // ISO 15924 Name 
//    }
    ExemplarCharacters { "[a-z \u00e9 \u00f3 \u00e0 \u00e8 \u00ec \u00f2 \u00ed \u00fa \u00f9 \u00ef]" }

    //------------------------------------------------------------
    // 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;\n"
        "        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;\n"
        "        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;\n"
        "        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;\n"
        "        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" 
    }

    // 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
    }
}
