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

fr {
    Version{"1.1"}
    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 Centre-Africaine" }
        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 { "Guin\u00e9e Fran\u00e7aise" }
        GL { "Groenland" }
        GM { "Gambie" }
        GN { "Guin\u00e9e" }
        GQ { "Guin\u00e9e Equatoriale" }
        GR { "Gr\u00e8ce" }
        GW { "Guin\u00e9e-Bissau" }
        GY { "Guyane" }

        HK { "Hong-Kong SAR" }
        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 SAR Chine" }
        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 Australes Fran\u00e7aises" }
        TH { "Tha\u00eflande" }
        TJ { "Tadjikistan" }
        TL { "Timor Oriental" }
        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" }
        ka { "georgien" }
        de { "allemand" }
        el { "grec" }
        kl { "groenlandais" }
        gn { "guarani" }
        gu { "goudjrati" }
        ha { "haoussa" }
        he { "h\u00e9breu" }
        hi { "hindi" }
        hu { "hongrois" }
        is { "islandais" }
        id { "indon\u00e9sien" }
        ia { "interlingua" }
        ie { "interlingue" }
        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" }
        rn { "rundi" }
        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" }
        qu { "quechua" }
        rm { "rh\u00e9toroman" }
        ro { "roumain" }
        ru { "russe" }
        sm { "samoan" }
        sg { "sango" }
        sa { "sanscrit" }
        gd { "ecossais ga\u00e9lique" }
        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 { "telugu" }
        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]" }

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