﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/sn.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/sn.xml
 */
sn{
    Currencies{
        AED{
            "AED",
            "Diramu re United Arab Emirates",
        }
        AOA{
            "AOA",
            "Kwanza ye Angola",
        }
        AUD{
            "A$",
            "Dora re Australia",
        }
        BHD{
            "BHD",
            "Dhinari re Bhahareni",
        }
        BIF{
            "BIF",
            "Furenki re Bhurundi",
        }
        BWP{
            "BWP",
            "Pura re Botswana",
        }
        CAD{
            "CA$",
            "Dora re Kanada",
        }
        CDF{
            "CDF",
            "Furenki re Kongo",
        }
        CHF{
            "CHF",
            "Furenki re Swisi",
        }
        CNY{
            "CN¥",
            "Yuan Renminbi ye China",
        }
        CVE{
            "CVE",
            "Dhora re Escudo",
        }
        DJF{
            "DJF",
            "Furenki re Jibhuti",
        }
        DZD{
            "DZD",
            "Dhinari re Aljeria",
        }
        EGP{
            "EGP",
            "Paundi re Ijipita",
        }
        ERN{
            "ERN",
            "Nakfa re Eritrea",
        }
        ETB{
            "ETB",
            "Dhora re Etiopia",
        }
        EUR{
            "€",
            "Yuro",
        }
        GBP{
            "£",
            "Paundi ye Bhiriteni",
        }
        GHC{
            "GHC",
            "Sedi ye Ghana",
        }
        GMD{
            "GMD",
            "Dalasi ye Gambia",
        }
        GNS{
            "GNS",
            "Furenki re Gine",
        }
        INR{
            "₹",
            "Rupe re India",
        }
        JPY{
            "JP¥",
            "Yeni ye Japani",
        }
        KES{
            "KES",
            "Shiringi ye Kenya",
        }
        KMF{
            "KMF",
            "Furenki re Komoro",
        }
        LRD{
            "LRD",
            "Dora re Liberia",
        }
        LSL{
            "LSL",
            "Loti ye Lesoto",
        }
        LYD{
            "LYD",
            "Dinari re Libya",
        }
        MAD{
            "MAD",
            "Dirham ye Moroko",
        }
        MGA{
            "MGA",
            "Furenki re Malagasi",
        }
        MRO{
            "MRO",
            "Ugwiya ye Moritania",
        }
        MUR{
            "MUR",
            "Rupi ye Morishasi",
        }
        MWK{
            "MWK",
            "Kwacha ye Malawi",
        }
        MZM{
            "MZM",
            "Metika ye Mozambiki",
        }
        NAD{
            "NAD",
            "Dora re Namibia",
        }
        NGN{
            "NGN",
            "Naira ye Nijeria",
        }
        RWF{
            "RWF",
            "Furenki re Ruwanda",
        }
        SAR{
            "SAR",
            "Riyali re Saudi",
        }
        SCR{
            "SCR",
            "Rupi re Seyisheri",
        }
        SDG{
            "SDG",
            "Dinari re Sudani",
        }
        SDP{
            "SDP",
            "Paundi re Sudani",
        }
        SHP{
            "SHP",
            "Paundi re Senti Helena",
        }
        SLL{
            "SLL",
            "Leoni",
        }
        SOS{
            "SOS",
            "Shiringi re Somalia",
        }
        STD{
            "STD",
            "Dobra re Sao Tome ne Principe",
        }
        SZL{
            "SZL",
            "Lilangeni",
        }
        TND{
            "TND",
            "Dinari re Tunisia",
        }
        TZS{
            "TZS",
            "Shiringi re Tanzania",
        }
        UGX{
            "UGX",
            "Shiringi re Uganda",
        }
        USD{
            "US$",
            "Dora re Amerika",
        }
        XAF{
            "FCFA",
            "Furenki CFA BEAC",
        }
        XOF{
            "CFA",
            "Furenki CFA BCEAO",
        }
        ZAR{
            "ZAR",
            "Randi",
        }
        ZMK{
            "ZMK",
            "Kwacha ye Zambia (1968-2012)",
        }
        ZMW{
            "ZMW",
            "Kwacha ye Zambia",
        }
        ZWD{
            "ZWD",
            "Dora re Zimbabwe",
        }
    }
    Version{"2.0.82.45"}
}
