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

fr {
    Version{"2.0"}
    CollationElements { 
        Version { "1.0" }
        Sequence { "[backwards 2]&A<<\u00e6/e<<<\u00c6/E" }
    }
    Countries { 
        AD { "Andorre" }
        AE { "Emirats Arabes Unis" }
        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" }
        BY { "Bi\u00e9lo-Russie" }
        BZ { "B\u00e9lize" }

        CD { "R\u00e9publique D\u00e9mocratique du Congo" }
        CF { "R\u00e9publique  Centrafricaine" }
        CH { "Suisse" }
        CL { "Chili" }
        CM { "Cameroun" }
        CN { "Chine" }
        CO { "Colombie" }
        CV { "Cap Vert" }
        CY { "Chypre" }
        CZ { "R\u00e9publique Tch\u00e8que" }

        DE { "Allemagne" }
        DK { "Danemark" }
        DM { "Dominique" }
        DO { "R\u00e9publique Dominicaine" }
        DZ { "Alg\u00e9rie" }

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

        FI { "Finlande" }
        FJ { "Fidji" }
        FM { "Micron\u00e9sie" }

        GB { "Royaume-Uni" }
        GD { "Grenade" }
        GE { "G\u00e9orgie" }
        GF { "Guyane Fran\u00e7aise" }
        GL { "Groenland" }
        GM { "Gambie" }
        GN { "Guin\u00e9e" }
        GQ { "Guin\u00e9e Equatoriale" }
        GR { "Gr\u00e8ce" }
        GW { "Guin\u00e9e-Bissau" }
        //GY { "Guyana" }

        HK { "Hong-Kong R.A.S." }
        HR { "Croatie" }
        HT { "Ha\u00efti" }
        HU { "Hongrie" }

        ID { "Indon\u00e9sie" }
        IE { "Irlande" }
        IL { "Isra\u00ebl" }
        IN { "Inde" }
        IQ { "Irak" }
        IS { "Islande" }
        IT { "Italie" }

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

        KH { "Cambodge" }
        KM { "Comores" }
        KP { "Cor\u00e9e du Nord" }
        KR { "Cor\u00e9e du Sud" }
        KW { "Kowe\u00eft" }

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

        MA { "Maroc" }
        //MD { "Moldavie" }
        MK { "Mac\u00e9doine" }
        MN { "Mongolie" }
        MO { "Macao R.A.S." }
        MR { "Mauritanie" }
        MT { "Malte" }
        MU { "Maurice" }
        MX { "Mexique" }
        MY { "Malaisie" }

        NA { "Namibie" }
        NC { "Nouvelle-Cal\u00e9donie" }
        NG { "Nig\u00e9ria" }
        NL { "Pays-Bas" }
        NP { "N\u00e9pal" }
        NO { "Norv\u00e8ge" }
        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" }
        PW { "Palaos" }

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

        SA { "Arabie Saoudite" }
        SD { "Soudan" }
        SE { "Su\u00e8de" }
        SG { "Singapour" }
        SH { "Sainte-H\u00e9l\u00e8ne" }
        SI { "Slov\u00e9nie" }
        SK { "Slovaquie" }
        SM { "Saint-Marin" }
        SN { "S\u00e9n\u00e9gal" }
        SO { "Somalie" }
        SP { "Serbie" }
        ST { "Sao Tom\u00e9-et-Principe" }
        SY { "Syrie" }

        TD { "Tchad" }
        TF { "Terres Fran\u00e7aise Australes" }
        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" }

        VE { "V\u00e9n\u00e9zuela" }
        VG { "Iles Vierges Britanniques" }
        VI { "Iles Vierges Am\u00e9ricaines" }

        WF { "Wallis et Futuna" }

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

        ZA { "Afrique du Sud" }
        //ZR { "Za\u00efre" } // Zaire is now the Democratic Republic of Congo (CD)
        ZM { "Zambie" }
    }

    Languages { 
        root  { "racine" }

        ab { "abkhaze" }
        aa { "afar" }
        af { "afrikaans" }
        sq { "albanais" }
        am { "amharique" }
        ar { "arabe" }
        hy { "arm\u00e9nien" }
        as { "assamais" }
        ay { "aymara" }
        az { "az\u00e9ri" }
        ba { "bachkir" }
        eu { "basque" }
        bn { "bengali" }
        dz { "dzongkha" }
        bh { "bihari" }
        bi { "bichlamar" }
        br { "breton" }
        bg { "bulgare" }
        my { "birman" }
        be { "bi\u00e9lorusse" }
        km { "khmer" }
        ca { "catalan" }
        zh { "chinois" }
        co { "corse" }
        hr { "croate" }
        cs { "tch\u00e8que" }
        da { "danois" }
        nl { "hollandais" } // n\u00e9erlandais ?
        en { "anglais" }
        eo { "esp\u00e9ranto" }
        et { "estonien" }
        fo { "f\u00e9ro\u00efen" }
        fj { "fidjien" }
        fi { "finnois" }
        fr { "fran\u00e7ais" }
        fy { "frison" }
        gl { "galicien" }
        de { "allemand" }
        el { "grec" }
        gn { "guarani" }
        gu { "goudjrati" }
        ha { "haoussa" }
        he { "h\u00e9breu" }
        hi { "hindi" }
        hu { "hongrois" }
        is { "islandais" }
        id { "indon\u00e9sien" }
        ia { "interlingua" }
        iu { "inuktitut" }
        ik { "inupiaq" }
        ga { "irlandais" }
        it { "italien" }
        ja { "japonais" }
        jv { "javanais" }
        //jw { "javanais" } // Use jv instead
        kn { "kannada" }
        ks { "kashmiri" }
        kk { "kazakh" }
        rw { "rwanda" }
        ky { "kirghize" }
        ko { "cor\u00e9en" }
        ku { "kurde" }
        lo { "lao" }
        la { "latin" }
        lv { "letton" }
        ln { "lingala" }
        lt { "lithuanien" }
        mk { "mac\u00e9donien" }
        mg { "malgache" }
        ms { "malais" }
        ml { "malayalam" }
        mt { "maltais" }
        mi { "maori" }
        mr { "marathe" }
        mo { "moldave" }
        mn { "mongol" }
        na { "nauruan" }
        ne { "n\u00e9palais" }
        no { "norv\u00e9gien" }
        oc { "occitan" }
        or { "oriya" }
        om { "galla" }
        ps { "pachto" }
        fa { "persan" }
        pl { "polonais" }
        pt { "portugais" }
        pa { "pendjabi" }
        rm { "rh\u00e9toroman" }
        ro { "roumain" }
        ru { "russe" }
        sm { "samoan" }
        sg { "sango" }
        sa { "sanscrit" }
        gd { "e\u00e9cossais ga\u00e9lique" }
        ie { "interlingu\u00eb" }
        ka { "ge\u00e9orgien" }
        kl { "groe\u00e9nlandais" }
        qu { "que\u00e9chua" }
	rn { "roundi" }
        sr { "serbe" }
        sh { "serbo-croate" }
        st { "sotho du sud" }
        tn { "setswana" }
        sn { "shona" }
        sd { "sindhi" }
        si { "singhalais" }
        ss { "swati" }
        sk { "slovaque" }
        sl { "slov\u00e8ne" }
        so { "somali" }
        es { "espagnol" }
        su { "soundanais" }
        sw { "swahili" }
        sv { "su\u00e9dois" }
        tl { "tagalog" }
        tg { "tadjik" }
        ta { "tamoul" }
        tt { "tatare" }
        te { "te\u00e9lougou" }
        th { "tha\u00ef" }
        bo { "tib\u00e9tain" }
        ti { "tigrigna" }
        to { "tonga" }
        ts { "tsonga" }
        tr { "turc" }
        tk { "turkm\u00e8ne" }
        tw { "twi" }
        ug { "ou\u00efgour" }
        uk { "ukrainien" }
        ur { "ourdou" }
        uz { "ouzbek" }
        vi { "vietnamien" }
        vo { "volap\u00fck" }
        cy { "gallois" }
        wo { "wolof" }
        xh { "xhosa" }
        yi { "yiddish" }
        yo { "yoruba" }
        za { "zhuang" }
        zu { "zoulou" }
    }

    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.",
    }
    LocaleID:int { 0x0c }
//    LocaleString { "fr" }
    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",
    }
//    ShortLanguage { "fra" }
    localPatternChars { "GaMjkHmsSEDFwWxhKzAe" }
    zoneStrings { 
        {
            "Africa/Casablanca",
            "GMT",
            "GMT",
            "GMT",
            "GMT",
        }
    }
//    LocaleScript{  
//        "Latn",  // ISO 15924 Name 
//    }
    ExemplarCharacters { "[a-z \u00e9 \u00e8 \u00f9 \u00e7 \u00e0 \u00e2 \u00ea \u00ee \u00f4 \u00fb \u00e6 \u0153 \u00eb \u00ef \u00ff]" }

// http://www.elections.ca/gen_info/backgrounders/ec90815_f.html
// http://lcweb.loc.gov/standards/iso639-2/frenchlangn.html
// http://www.egt.ie/standards/iso3166/iso3166-1-fr.html

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

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