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

fr {
    Version{"2.0"}
    collations {
        standard { 
            Version { "2.0" }
            Sequence { "[backwards 2]"
            "&A<<\u00c6/E &a<<\u00e6/e" }
        }
    }
    // http://www.iso.org/iso/en/prods-services/iso3166ma/index.html
    Countries {
        Fallback{ "en"}
        AD { "Andorre" }
        AE { "\u00c9mirats Arabes Unis" }
        AG { "Antigua et Barbuda" }
        AL { "Albanie" }
        AM { "Arm\u00E9nie" }
        AN { "Antilles N\u00E9erlandaises" }
        AR { "Argentine" }
        AS { "Samoa Am\u00E9ricaines" }
        AT { "Autriche" }
        AU { "Australie" }
        AZ { "Azerba\u00EFdjan" }

        BA { "Bosnie-Herz\u00E9govine" }
        BB { "Barbade" }
        BE { "Belgique" }
        BG { "Bulgarie" }
        BH { "Bahre\u00EFn" }
        BM { "Bermudes" }
        BO { "Bolivie" }
        BR { "Br\u00E9sil" }
        BT { "Bhoutan" }
        BV { "\u00CEle Bouvet" }
        BY { "B\u00E9larus" }
        //BZ { "Belize" }

        CC { "\u00CEles Cocos" }
        CD { "R\u00E9publique D\u00E9mocratique du Congo" }
        CF { "R\u00E9publique  Centrafricaine" }
        CH { "Suisse" }
        CK { "\u00CEles Sandwich du Sud" }
        CL { "Chili" }
        CM { "Cameroun" }
        CN { "Chine" }
        CO { "Colombie" }
        CV { "Cap Vert" }
        CX { "\u00CEle Christmas" }
        CY { "Chypre" }
        CZ { "R\u00E9publique Tch\u00E8que" }

        DE { "Allemagne" }
        DK { "Danemark" }
        DM { "Dominique" }
        DO { "R\u00E9publique Dominicaine" }
        DZ { "Alg\u00E9rie" }

        EC { "\u00C9quateur" }
        EE { "Estonie" }
        EG { "Egypte" }
        EH { "Sahara Occidental" }
        ER { "\u00C9rythr\u00e9e" }
        ES { "Espagne" }
        ET { "Ethiopie" }

        FI { "Finlande" }
        FJ { "Fidji" }
        FK { "\u00CEles Falkland (Malvinas)" }
        FM { "Micron\u00E9sie" }
        FO { "\u00CEles F\u00E9ro\u00E9" }

        GB { "Royaume-Uni" }
        GD { "Grenade" }
        GE { "G\u00E9orgie" }
        GF { "Guyane Fran\u00e7aise" }
        GL { "Groenland" }
        GM { "Gambie" }
        GN { "Guin\u00E9e" }
        GQ { "Guin\u00E9e \u00C9quatoriale" }
        GR { "Gr\u00E8ce" }
        GS { "G\u00E9orgie du Sud, \u00CEles Sandwich du Sud" }
        GW { "Guin\u00E9e-Bissau" }
        GY { "Guyane" }

        HK { "Hong-Kong R.A.S." }
        HM { "\u00CEles Heard et MacDonald" }
        HR { "Croatie" }
        HT { "Ha\u00EFti" }
        HU { "Hongrie" }

        ID { "Indon\u00E9sie" }
        IE { "Irlande" }
        IL { "Isra\u00EBl" }
        IN { "Inde" }
        IO { "Territoire Britannique de l'Oc\u00E9an Indien" }
        IS { "Islande" }
        IT { "Italie" }

        JM { "Jama\u00EFque" }
        JO { "Jordanie" }
        JP { "Japon" }

        KH { "Cambodge" }
        KM { "Comores" }
        KN { "Saint Kitts et Nevis" }
        KP { "Cor\u00E9e du Nord" }    // alternate name { "Cor\u00E9e, R\u00E9publique populaire d\u00E9mocratique de" }
        KR { "Cor\u00E9e du Sud" }    // alternate name { "Cor\u00E9e, R\u00E9publique de" }
        KW { "Kowe\u00EFt" }

        LB { "Liban" }
        LC { "Sainte-Lucie" }
        LR { "Lib\u00E9ria" }
        LT { "Lithuanie" }
        LV { "Lettonie" }
        LY { "Libye" }

        MA { "Maroc" }
        //MD { "Moldavie" }
        MH { "\u00CEles Marshall" }
        MK { "Mac\u00E9doine" }
        MN { "Mongolie" }
        MO { "Macao R.A.S. de Chine" }
        MP { "Mariannes du Nord" }
        MR { "Mauritanie" }
        MT { "Malte" }
        MU { "Maurice" }
        MX { "Mexique" }
        MY { "Malaisie" }

        NA { "Namibie" }
        NC { "Nouvelle-Cal\u00E9donie" }
        NF { "\u00CEle Norfolk" }
        NG { "Nig\u00E9ria" }
        NL { "Pays-Bas" }
        NO { "Norv\u00E8ge" }
        NP { "N\u00E9pal" }
        NU { "Niu\u00E9" }
        NZ { "Nouvelle-Z\u00E9lande" }

        PE { "P\u00E9rou" }
        PF { "Polyn\u00E9sie Fran\u00E7aise" }
        PG { "Papouasie-Nouvelle-Guin\u00E9e" }
        PL { "Pologne" }
        PM { "Saint Pierre et Miquelon" }
        PR { "Porto Rico" }
        PS { "Territoire Palestinien" }
        PW { "Palaos" }

        RO { "Roumanie" }
        RU { "Russie" }

        SA { "Arabie Saoudite" }
        SB { "\u00CEles Salomon" }
        SD { "Soudan" }
        SE { "Su\u00E8de" }
        SG { "Singapour" }
        SH { "Sainte-H\u00E9l\u00E8ne" }
        SI { "Slov\u00E9nie" }
        SJ { "Svalbard et \u00CEle Jan Mayen" }
        SK { "Slovaquie" }
        SM { "Saint-Marin" }
        SN { "S\u00E9n\u00E9gal" }
        SO { "Somalie" }
        SP { "Serbie" }
        ST { "Sao Tom\u00E9-et-Principe" }
        SY { "Syrie" }

        TC { "\u00CEles Turks et Ca\u00EFques" }
        TD { "Tchad" }
        TF { "Terres Australes Fran\u00E7aises" }
        TH { "Tha\u00EFlande" }
        TJ { "Tadjikistan" }
        //TL { "Timor" }
        TN { "Tunisie" }
        TR { "Turquie" }
        TT { "Trinit\u00E9 et Tobago" }
        TW { "Ta\u00EFwan, Province de Chine" }
        TZ { "Tanzanie" }

        UG { "Ouganda" }
        UM { "\u00CEles Mineures \u00C9loign\u00e9es des \u00C9tats-Unis" }
        US { "\u00C9tats-Unis" }
        UZ { "Ouzb\u00e9kistan" }

        VA { "Le Saint-Si\u00E8ge (Etat de la Cit\u00E9 du Vatican)" }
        VC { "Saint Vincent et les Grenadines" }
        VE { "V\u00e9n\u00e9zuela" }
        VG { "\u00CEles Vierges Britanniques" }
        VI { "\u00CEles Vierges des \u00C9tats-Unis" }
        VN { "Vi\u00eat Nam" }

        WF { "Wallis et Futuna" }

        YE { "Y\u00E9men" }
        YU { "Yougoslavie" }

        ZA { "Afrique du Sud" }
        ZM { "Zambie" }
    }

    // Currency display names
    Currencies {
        AED { "AED", "dirham des E A.U." } // UAE Dirham
        AFA { "AFA", "afghani" } // Afghani
        ALL { "ALL", "lek" } // Leck
        ANG { "ANG", "florin des Antilles n\u00E9erl." } // Netherlands Antillan Guilder
        AOK { "AOK", "kwanza" } // Kwanza
        ARA { "ARA", "austral" }
        ARP { "ARP", "peso argentin" } // Argentine Peso
        ATS { "ATS", "schilling autrichien" } // Schilling
        AUD { "AUD", "dollar australien" } // Australian Dollar
        BBD { "BBD", "dollar de Barbade" } // Barbados Dollar
        BDT { "BDT", "taka" } // Taka
        BEF { "FB", "franc belge" } // Belgian Franc
        BGL { "BGL", "lev" } // Lev
        BHD { "BHD", "dinar de Bahrein" } // Bahraini Dinar
        BIF { "BIF", "franc du Burundi" } // Burundi Franc
        BMD { "BMD", "dollar des Bermudes" } // Bermudian Dollar
        BND { "BND", "dollar de Brunei" } // Brunei Dollar
        BOP { "BOP", "peso bolivien" } // Bolivian Peso
        BRC { "BRC", "cruzeiro" } // Cruzeiro
        BSD { "BSD", "dollar des Bahamas" } // Bahamian Dollar
        BUK { "BUK", "kyat" } // Kyat
        BWP { "BWP", "pula" } // Pula
        BZD { "BZD", "dollar de Belize" } // Belize Dollar
        CAD { "CAD", "dollar canadien" } // Canadian Dollar
        CHF { "sFr.", "franc suisse" } // Swiss Franc
        CLP { "CLP", "peso chilien" } // Chilean Peso
        CNY { "CNY", "Yuan Ren-min-bi" } // Yuan Renminbi
        COP { "COP", "peso colombien" } // Colombian Peso
        CRC { "CRC", "colon" } // Costa Rican Colon
        CSK { "CSK", "couronne tch\u00E8que" } // Koruna
        CUP { "CUP", "peso cubain" } // Cuban Peso
        CVE { "CVE", "escudo du Cap-Vert" } // Cape Verde Escudo
        CYP { "CYP", "livre cypriote" } // Cyprus Pound
        CZK { "CZK", "couronne tch\u00E8que" } // Czech Koruna
        DEM { "DEM", "deutsche mark" } // Deutsche Mark
        // DIF { "DIF", "franc de Djibouti" } -- unconfirmed
        DKK { "DKK", "couronne danoise" } // Danish Krone
        DOP { "DOP", "peso dominicain" } // Dominican Peso
        DZD { "DZD", "dinar alg\u00E9rien" } // Algerian Dinar
        ECS { "ECS", "sucre" } // Sucre
        EGP { "EGP", "livre \u00E9gyptienne" } // Egyptian Pound
        ESP { "ESP", "peseta espagnole" } // Spanish Peseta
        ETB { "ETB", "birr" } // Ethiopian Birr
        EUR { "\u20AC", "euro" } // Euro
        FIM { "FIM", "mark finlandais" } // Markka
        FJD { "FJD", "dollar de Fidji" } // Fiji Dollar
        FKP { "FKP", "livre des Falkland" } // Falkland Islands Pound
        FRF { "F", "franc fran\u00E7ais" } // French Franc
        GBP { "\u00A3", "livre sterling" } // Pound Sterling
        GHC { "GHC", "cedi" } // Cedi
        GIP { "GIP", "livre de Gibraltar" } // Gibraltar Pound
        GMD { "GMD", "dalasie" } // Dalasi
        GNS { "GNS", "syli" } // Syli
        GQE { "GQE", "ekwele" } // Ekwele
        GRD { "GRD", "drachme" } // Drachma
        GTQ { "GTQ", "quetzal" } // Quetzal
        GWP { "GWP", "peso de Guin\u00E9e-Bissau" } // Guinea-Bissau Peso
        GYD { "GYD", "dollar de Guyane" } // Guyana Dollar
        HKD { "HKD", "dollar de Hong Kong" } // Hong Kong Dollar
        HNL { "HNL", "lempira" } // Lempira
        HRD { "HRD", "dinar croate" }
        HTG { "HTG", "gourde" } // Gourde
        HUF { "HUF", "forint" } // Forint
        IDR { "IDR", "rupiah" } // Rupiah
        IEP { "IEP", "livre irlandaise" } // Irish Pound
        ILS { "ILS", "sh\u00E9kel" } // New Israeli Sheqel
        INR { "=0#Rs.|1#Re.|1<Rs.", "roupie indienne" } // Indian Rupee
        IQD { "IQD", "dinar irakien" } // Iraqi Dinar
        IRR { "IRR", "rial iranien" } // Iranian Rial
        ISK { "ISK", "couronne islandaise" } // Iceland Krona
        ITL { "\u20A4", "lire italienne" } // Lira
        JMD { "JMD", "dollar jamaicain" } // Jamaican Dollar
        JOD { "JOD", "dinar jordanien" } // Jordanian Dinar
        JPY { "\u00A5", "yen" } // Yen
        KES { "KES", "shilling du Kenya" } // Kenyan Shilling
        KHR { "KHR", "riel" } // Riel
        KMF { "KMF", "franc des Comores" } // Comoro Franc
        KPW { "KPW", "won nord-cor\u00E9en" } // North Korean Won
        KRW { "KRW", "won" } // Won
        KWD { "KWD", "dinar koweitien" } // Kuwaiti Dinar
        KYD { "KYD", "dollar des Caimanes" } // Cayman Islands Dollar
        LAK { "LAK", "kip" } // Kip
        LBP { "LBP", "livre libanaise" } // Lebanese Pound
        LKR { "LKR", "roupie de Sri Lanka" } // Sri Lanka Rupee
        LRD { "LRD", "dollar lib\u00E9rien" } // Liberian Dollar
        LUF { "LUF", "franc luxembourgeois" } // Luxembourg Franc
        LYD { "LYD", "dinar Iybien" } // Lybian Dinar
        MAD { "MAD", "dirham marocain" } // Moroccan Dirham
        MGF { "MGF", "franc malgache" } // Malagasy Franc
        MLF { "MLF", "franc malien" } // Mali Franc
        MNT { "MNT", "tugrik" } // Tugrik
        MOP { "MOP", "pataca" } // Pataca
        MRO { "MRO", "ouguija" } // Ouguiya
        MTP { "MTP", "livre maltaise" } // Maltese Pound
        MUR { "MUR", "roupie de l'\u00EEle Maurice" } // Mauritius Rupee
        MVR { "MVR", "roupie des Maldives" } // Rufiyaa
        MWK { "MWK", "kwacha" } // Kwacha
        MXP { "MXP", "peso mexicain" } // Mexican Peso
        MYR { "MYR", "ringgit" } // Malaysian Ringgit
        MZM { "MZM", "metical" } // Metical
        NGN { "NGN", "naira" } // Naira
        NIC { "NIC", "cordoba" } // Cordoba
        NLG { "NLG", "florin n\u00E9erlandais" } // Netherlands Guilder
        NOK { "NOK", "couronne norv\u00E9gienne" } // Norwegian Krone
        NPR { "NPR", "roupie du N\u00E9pal" } // Nepalese Rupee
        NZD { "NZD", "dollar n\u00E9o-z\u00E9landais" } // New Zealand Dollar
        OMR { "OMR", "rial omani" } // Rial Omani
        PAB { "PAB", "balboa" } // Balboa
        PES { "PES", "sol" } // Sol
        PGK { "PGK", "kina" } // Kina
        PHP { "PHP", "peso philippin" } // Philippine Peso
        PKR { "PKR", "roupie du Pakistan" } // Pakistan Rupee
        PLZ { "PLZ", "zloty" } // Zloty
        PTE { "PTE", "escudo portugais" } // Portugese Escudo
        PYG { "PYG", "guarani" } // Guarani
        QAR { "QAR", "rial du Qatar" } // Qatari Rial
        ROL { "ROL", "leu" } // Leu
        RUR { "RUR", "rouble de Russie" } // Russian Ruble
        RWF { "RWF", "franc du Rwanda" } // Rwanda Franc
        SAR { "SAR", "riyal saoudien" } // Saudi Riyal
        SBD { "SBD", "dollar de Salomon" } // Solomon Islands Dollar
        SCR { "SCR", "roupie des Seychelles" } // Seychelles Rupee
        SDP { "SDP", "livre soudanaise" } // Sudanese Pound
        SEK { "SEK", "couronne su\u00E9doise" } // Swedish Krona
        SGD { "SGD", "dollar de Singapour" } // Singapore Dollar
        SHP { "SHP", "livre de Sainte-H\u00E9l\u00E8ne" } // Saint Helena Pound
        SIT { "SIT", "monnaie slov\u00E8ne" } // Tolar
        SKK { "SKK", "couronne slovaque" } // Slovak Koruna
        SLL { "SLL", "leone" } // Leone
        SOS { "SOS", "shilling de Somalie" } // Somali Shilling
        SRG { "SRG", "florin de Surinam" } // Suriname Guilder
        STD { "STD", "dobra" } // Dobra
        SUR { "SUR", "rouble de C.E.I." } // Rouble
        SYP { "SYP", "livre syrienne" } // Syrian Pound
        SZL { "SZL", "lilangeni" } // Lilangeni
        THB { "THB", "baht" } // Baht
        TND { "TND", "dinar tunisien" } // Tunisian Dinar
        TOP { "TOP", "pa'anga" } // Pa'anga
        TPE { "TPE", "escudo de Timor" } // Timor Escudo
        TRL { "TRL", "livre turque" } // Turkish Lira
        TTD { "TTD", "dollar de la Trinit\u00E9" } // Trinidad and Tobago Dollar
        TWD { "TWD", "dollar ta\u00EFwanien" } // New Taiwan Dollar
        TZS { "TZS", "shilling de Tanzanie" } // Tanzanian Shilling
        UGS { "UGS", "shilling ougandais" } // Uganda Shilling
        USD { "$", "dollar des Etats-Unis" } // US Dollar
        UYP { "UYP", "peso uruguayen" } // Uruguayan Peso
        VEB { "VEB", "bolivar" } // Bolivar
        VND { "VND", "dong" } // Dong
        VUV { "VUV", "vatu" } // Vatu
        WST { "WST", "tala" } // Tala
        XAF { "XAF", "franc CFA (BEAC)" } // CFA Franc BEAC
        XCD { "XCD", "dollar des Cara\u00EFbes" } // East Caribbean Dollar
        XEU { "XEU", "unit\u00E9 de compte europ\u00E9enne (ECU)" } // European Currency Unit
        XOF { "XOF", "franc CFA (BCEAO)" } // CFA Franc BCEAO
        XPF { "XPF", "franc CFP" } // CFP Franc
        YDD { "YDD", "dinar du Y\u00E9men" } // Yemeni Dinar
        YER { "YER", "riyal du Y\u00E9men" } // Yemeni Rial
        YUD { "YUD", "nouveau dinar yougoslave" } // New Yugoslavian
        ZAR { "ZAR", "rand" } // Rand
        ZMK { "ZMK", "kwacha" } // Kwacha
        ZRZ { "ZRZ", "za\u00EFre" } // Zaire
        ZWD { "ZWD", "Zimbabwe dollar" } // Zimbabwe Dollar
    }
    DateTimePatterns { 
        "HH' h 'mm z",
        "HH:mm:ss z",
        "HH:mm:ss",
        "HH:mm",
        "EEEE d MMMM yyyy",
        "d MMMM yyyy",
        "d MMM yy",
        "dd/MM/yy",
        "{1} {0}",
    }
    DayAbbreviations { 
        "dim.",
        "lun.",
        "mar.",
        "mer.",
        "jeu.",
        "ven.",
        "sam.",
    }
    DayNames { 
        "dimanche",
        "lundi",
        "mardi",
        "mercredi",
        "jeudi",
        "vendredi",
        "samedi",
    }
    Eras { 
        "av. J.-C.",
        "ap. J.-C.",
    }
    localPatternChars { "GaMjkHmsSEDFwWxhKzAe" }
    LocaleScript{  
        "Latn",  // ISO 15924 Name 
    }
    ExemplarCharacters { "[a-z\u00e9\u00e8\u00f9\u00e7\u00e0\u00e2\u00ea\u00ee\u00f4\u00fb\u00e6\u0153\u00eb\u00ef\u00ff]" }

// http://lcweb.loc.gov/standards/iso639-2/frenchlangn.html
    Languages { 
        //Fallback { "en" }
        root { "racine" }

        aa { "afar" }
        ab { "abkhaze" }
        ae { "avestique" }
        af { "afrikaans" }
        an { "aragonais" }
        am { "amharique" }
        ar { "arabe" }
        as { "assamais" }
        av { "avar" }
        ay { "aymara" }
        az { "az\u00E9ri" }
        ba { "bachkir" }
        be { "bi\u00E9lorusse" }
        bg { "bulgare" }
        bh { "bihari" }
        bi { "bichlamar" }
        bm { "bambara" }
        bn { "bengali" }
        bo { "tib\u00E9tain" }
        br { "breton" }
        bs { "bosniaque" }
        ca { "catalan" }
        ce { "tch\u00E9tch\u00E8ne" }
        ch { "chamorro" }
        co { "corse" }
        cr { "cree" }
        cs { "tch\u00E8que" }
        cv { "tchouvache" }
        cy { "gallois" }
        da { "danois" }
        de { "allemand" }
        dv { "maldivien" }
        dz { "dzongkha" }
        ee { "\u00E9w\u00E9" }
        el { "grec" }
        en { "anglais" }
        eo { "esp\u00E9ranto" }
        es { "espagnol" }
        et { "estonien" }
        eu { "basque" }
        fa { "persan" }
        ff { "peul" }
        fi { "finnois" }
        fj { "fidjien" }
        fo { "f\u00E9ro\u00EFen" }
        fr { "fran\u00E7ais" }
        fy { "frison" }
        ga { "irlandais" }
        gd { "ga\u00E9lique \u00E9cossais" }
        gl { "galicien" }
        gn { "guarani" }
        gu { "goudjrati" }
        gv { "manx" }
        ha { "haoussa" }
        haw { "hawa\u00EFen" }
        he { "h\u00E9breu" }
        hi { "hindi" }
        ho { "hiri motu" }
        hr { "croate" }
        ht { "ha\u00EFtien" }
        hu { "hongrois" }
        hy { "arm\u00E9nien" }
        hz { "herero" }
        ia { "interlingua" }
        id { "indon\u00E9sien" }
        ie { "interlingu\u00EB" }
        ig { "igbo" }
        ii { "yi de Sichuan" }
        ik { "inupiaq" }
        io { "ido" }
        is { "islandais" }
        it { "italien" }
        iu { "inuktitut" }
        ja { "japonais" }
        jv { "javanais" }
        ka { "g\u00E9orgien" }
        kg { "kongo" }
        ki { "kikuyu" }
        kj { "kuanyama" }
        kk { "kazakh" }
        kl { "groenlandais" }
        km { "khmer" }
        kn { "kannada" }
        ko { "cor\u00E9en" }
        kok { "konkani" }
        kr { "kanouri" }
        ks { "kashmiri" }
        ku { "kurde" }
        kv { "komi" }
        kw { "cornique" }
        ky { "kirghize" }
        la { "latin" }
        lb { "luxembourgeois" }
        lg { "ganda" }
        li { "limbourgeois" }
        ln { "lingala" }
        lo { "lao" }
        lt { "lithuanien" }
        lu { "luba-katanga" }
        lv { "letton" }
        mg { "malgache" }
        mh { "marshall" }
        mi { "maori" }
        mk { "mac\u00E9donien" }
        ml { "malayalam" }
        mn { "mongol" }
        mo { "moldave" }
        mr { "marathe" }
        ms { "malais" }
        mt { "maltais" }
        my { "birman" }
        na { "nauruan" }
        nb { "bokm\u00E5l norv\u00E9gien" }
        nd { "nd\u00E9b\u00E9l\u00E9 du Nord" }
        ne { "n\u00E9palais" }
        ng { "ndonga" }
        nl { "n\u00E9erlandais" }
        nn { "nynorsk norv\u00E9gien" }
        no { "norv\u00E9gien" }
        nr { "nd\u00E9b\u00E9l\u00E9 du Sud" }
        nv { "navaho" }
        ny { "nyanja" }
        oc { "occitan" }
        oj { "ojibwa" }
        om { "galla" }
        or { "oriya" }
        os { "oss\u00E8te" }
        pa { "pendjabi" }
        pi { "pali" }
        pl { "polonais" }
        ps { "pachto" }
        pt { "portugais" }
        qu { "quechua" }
        rm { "rh\u00E9to-roman" }
        rn { "roundi" }
        ro { "roumain" }
        ru { "russe" }
        rw { "rwanda" }
        sa { "sanskrit" }
        sc { "sarde" }
        sd { "sindhi" }
        se { "sami du Nord" }
        sg { "sango" }
        sh { "serbo-croate" }
        si { "singhalais" }
        sk { "slovaque" }
        sl { "slov\u00E8ne" }
        sm { "samoan" }
        sn { "shona" }
        so { "somali" }
        sq { "albanais" }
        sr { "serbe" }
        ss { "swati" }
        st { "sotho du Sud" }
        su { "soundanais" }
        sv { "su\u00E9dois" }
        sw { "swahili" }
        ta { "tamoul" }
        te { "t\u00E9lougou" }
        tg { "tadjik" }
        th { "tha\u00EF" }
        ti { "tigrigna" }
        tk { "turkm\u00E8ne" }
        tl { "tagalog" }
        tn { "setswana" }
        to { "tonga" }
        tr { "turc" }
        ts { "tsonga" }
        tt { "tatare" }
        tw { "twi" }
        ty { "tahitien" }
        ug { "ou\u00EFgour" }
        uk { "ukrainien" }
        ur { "ourdou" }
        uz { "ouzbek" }
        ve { "venda" }
        vi { "vietnamien" }
        vo { "volap\u00FCk" }
        wa { "wallon" }
        wo { "wolof" }
        xh { "xhosa" }
        yi { "yiddish" }
        yo { "yoruba" }
        za { "zhuang" }
        zh { "chinois" }
        zu { "zoulou" }
    }
    MonthAbbreviations { 
        "janv.",
        "f\u00E9vr.",
        "mars",
        "avr.",
        "mai",
        "juin",
        "juil.",
        "ao\u00FBt",
        "sept.",
        "oct.",
        "nov.",
        "d\u00E9c.",
    }
    MonthNames { 
        "janvier",
        "f\u00E9vrier",
        "mars",
        "avril",
        "mai",
        "juin",
        "juillet",
        "ao\u00FBt",
        "septembre",
        "octobre",
        "novembre",
        "d\u00E9cembre",
    }
    NumberElements { 
        ",",
        "\u00A0",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "\u2030",
        "\u221E",
        "\uFFFD",
        ",",
        "+",
    }
    NumberPatterns { 
        "#,##0.###;-#,##0.###",
        "#,##0.00 \u00A4;-#,##0.00 \u00A4",
        "#,##0%",
        "#E0",
    }

    Scripts {
        Arab { "arabe" }
        Armn { "arm\u00E9nien" }
        Beng { "beng\u00E2gl\u00EE" }
        Bopo { "bopomofo" }
        Brai { "braille" }
        Buhd { "bouhide" }
        Cans { "syllabaire autochthone canadien unifi\u00E9" }
        Cher { "tch\u00E9rok\u00EE" }
        Cprt { "chypriote" }
        Cyrl { "cyrillique" }
        Deva { "d\u00E9van\u00E2gar\u00EE" }
        Dsrt { "d\u00E9s\u00E9ret" }
        Ethi { "\u00E9thiopique" }
        Geor { "g\u00E9orgien" }
        Goth { "gotique" }
        Grek { "grec" }
        Gujr { "goudjar\u00E2t\u00EE" }
        Guru { "gourmoukh\u00EE" }
        Hang { "hang\u00FBl" }
        Hano { "hanoun\u00F3o" }
        Hani { "han" }
        //Hans { "Simplified Han" } // Not a formal part of ISO-15924 yet, and missing data.
        //Hant { "Traditional Han" } // Not a formal part of ISO-15924 yet, and missing data.
        Hebr { "h\u00E9breu" }
        Hira { "hiragana" }
        Ital { "ancien italique" }
        Kana { "katakana" }
        Khmr { "khmer" }
        Knda { "kannara" }
        Laoo { "laotien" }
        Latn { "latin" }
        //Limb { "Limbu" } // translation missing
        Linb { "lin\u00E9aire B" }
        Mlym { "malay\u00E2lam" }
        Mong { "mongol" }
        Mymr { "birman" }
        Ogam { "ogam" }
        Orya { "oriy\u00E2" }
        Osma { "osmanais" }
        //Qaac { "Coptic" } // translation missing, and this is PUA
        //Qaai { "Inherited" }// translation missing, and this is PUA
        Runr { "runique" }
        Shaw { "shavien" }
        Sinh { "singhalais" }
        Syrc { "syriaque" }
        Tagb { "tagbanoua" }
        //Tale { "Tai Le" } // translation missing
        Taml { "tamoul" }
        Telu { "t\u00E9lougou" }
        Tglg { "tagal" }
        Thaa { "th\u00E2na" }
        Thai { "tha\u00EF" }
        Tibt { "tib\u00E9tain" }
        //Ugar { "Ugaritic" } // translation missing
        Yiii { "yi" }
        //Zyyy { "Common" } // This could be "\u00E9criture ind\u00E9termin\u00E9e"
    }

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

    // * Spellout rules for French.  French adds some interesting quirks of its
    // * own: 1) The word "et" is interposed between the tens and ones digits,
    // * but only if the ones digit if 1: 20 is "vingt," and 2 is "vingt-deux,"
    // * but 21 is "vingt-et-un."  2)  There are no words for 70, 80, or 90.
    // * "quatre-vingts" ("four twenties") is used for 80, and values proceed
    // * by score from 60 to 99 (e.g., 73 is "soixante-treize" ["sixty-thirteen"]).
    // * Numbers from 1,100 to 1,199 are rendered as hundreds rather than
    // * thousands: 1,100 is "onze cents" ("eleven hundred"), rather than
    // * "mille cent" ("one thousand one hundred")

    SpelloutRules {
        // the main rule set
        "%main:\n"
            "-x: moins >>;\n"
            "x.x: << virgule >>;\n"
               // words for numbers from 0 to 10
            "z\u00e9ro; un; deux; trois; quatre; cinq; six; sept; huit; neuf;\n"
            "dix; onze; douze; treize; quatorze; quinze; seize;\n"
            "    dix-sept; dix-huit; dix-neuf;\n"
               // ords for the multiples of 10: %%alt-ones inserts "et"
               // when needed
            "20: vingt[->%%alt-ones>];\n"
            "30: trente[->%%alt-ones>];\n"
            "40: quarante[->%%alt-ones>];\n"
            "50: cinquante[->%%alt-ones>];\n"
               // rule for 60.  The /20 causes this rule's multiplier to be
               // 20 rather than 10, allowinhg us to recurse for all values
               // from 60 to 79...
            "60/20: soixante[->%%alt-ones>];\n"
               // ...except for 71, which must be special-cased
            "71: soixante et onze;\n"
               // at 72, we have to repeat the rule for 60 to get us to 79
            "72/20: soixante->%%alt-ones>;\n"
               // at 80, we state a new rule with the phrase for 80.  Since
               // it changes form when there's a ones digit, we need a second
               // rule at 81.  This rule also includes "/20," allowing it to
               // be used correctly for all values up to 99
            "80: quatre-vingts; 81/20: quatre-vingt->>;\n"
               // "cent" becomes plural when preceded by a multiplier, and
               // the multiplier is omitted from the singular form
            "100: cent[ >>];\n"
            "200: << cents[ >>];\n"
            "1000: mille[ >>];\n"
               // values from 1,100 to 1,199 are rendered as "onze cents..."
               // instead of "mille cent..."  The > after "1000" decreases
               // the rule's exponent, causing its multiplier to be 100 instead
               // of 1,000.  This prevents us from getting "onze cents cent
               // vingt-deux" ("eleven hundred one hundred twenty-two").
            "1100>: onze cents[ >>];\n"
               // at 1,200, we go back to formating in thousands, so we
               // repeat the rule for 1,000
            "1200: mille >>;\n"
               // at 2,000, the multiplier is added
            "2000: << mille[ >>];\n"
            "1,000,000: << million[ >>];\n"
            "1,000,000,000: << milliard[ >>];\n"
            "1,000,000,000,000: << billion[ >>];\n"
            "1,000,000,000,000,000: =#,##0=;\n"
        // %%alt-ones is used to insert "et" when the ones digit is 1
        "%%alt-ones:\n"
            "; et-un; =%main=;\n" 
        "%%lenient-parse:\n"
            "&\u0000 << ' ' << ',' << '-';\n"
    }
    Keys{
        collation{ "Ordonnancement" }
        calendar { "Calendrier" }
        //currency { "" }
    }
    Types {
        collation{
            traditional{ "Traditionnel Ordonnancement" }
        }
        calendar{
            traditional{ "Traditionnel Calendrier" }
        }
    }
    Variants {
        REVISED { "R\u00e9vis\u00e9" }
    }


    // International Calendars Data.
    // NOTE (ICU 2.6) - the format of this data WILL CHANGE in future releases.  
    // Islamic calendar
    //Eras_islamic:array { 
    //        "AH"        // Anno Hijri  (in root)
    //}

    MonthNames_islamic {
            "Mouharram",            // Muharram
            "Safar",                // Safar
            "Rabi'-oul-Aououal",    // Rabi' al-awwal
            "Rabi'-out-Tani",       // Rabi' al-thani
            "Djoumada-l-Oula",      // Jumada al-awwal
            "Djoumada-t-Tania",     // Jumada al-thani
            "Radjab",               // Rajab
            "Cha'ban",              // Sha'ban
            "Ramadan",              // Ramadan
            "Chaououal",            // Shawwal
            "Dou-l-Qa'da",          // Dhu al-Qi'dah
            "Dou-l-Hidjja",         // Dhu al-Hijjah
    }
    MonthAbbreviations_islamic:alias {  // same as MonthNames (no data)
        "fr/MonthNames_islamic"
    }   
    // Civil is identical other than in calculations
    MonthNames_islamic-civil:alias {
        "fr/MonthNames_islamic"
    }
    MonthAbbreviations_islamic-civil:alias {
        "fr/MonthAbbreviations_islamic"
    }
    MonthNames_hebrew {
                "Tisseri",      // Tishri
                "Hesvan",       // Heshvan
                "Kislev",       // Kislev
                "T\u00e9beth",  // Tevet
                "Sch\u00e9bat", // Shevat
                "Adar",         // Adar I
                "Adar II",      // Adar
                "Nissan",       // Nisan
                "Iyar",         // Iyar
                "Sivan",        // Sivan
                "Tamouz",       // Tamuz
                "Ab",           // Av
                "Elloul",       // Elul
    }
    MonthAbbreviations_hebrew:alias {
       "fr/MonthNames_hebrew" // no data
    }


}
