﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/swc.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/swc.xml
 */
swc{
    Currencies{
        AED{
            "AED",
            "Dirham ya Falme za Kiarabu",
        }
        AOA{
            "AOA",
            "Kwanza ya Angola",
        }
        AUD{
            "A$",
            "Dola ya Australia",
        }
        BHD{
            "BHD",
            "Dinari ya Bahareni",
        }
        BIF{
            "BIF",
            "Faranga ya Burundi",
        }
        BWP{
            "BWP",
            "Pula ya Botswana",
        }
        CAD{
            "CA$",
            "Dola ya Kanada",
        }
        CDF{
            "FC",
            "Faranga ya Kongo",
        }
        CHF{
            "CHF",
            "Faranga ya Uswisi",
        }
        CNY{
            "CN¥",
            "Yuan Renminbi ya China",
        }
        CVE{
            "CVE",
            "Eskudo ya Kepuvede",
        }
        DJF{
            "DJF",
            "Faranga ya Jibuti",
        }
        DZD{
            "DZD",
            "Dinari ya Aljeria",
        }
        EGP{
            "EGP",
            "Pauni ya Misri",
        }
        ERN{
            "ERN",
            "Nakfa ya Eritrea",
        }
        ETB{
            "ETB",
            "Bir ya Uhabeshi",
        }
        EUR{
            "€",
            "Yuro",
        }
        GBP{
            "£",
            "Pauni ya Uingereza",
        }
        GHC{
            "GHC",
            "Sedi ya Ghana",
        }
        GMD{
            "GMD",
            "Dalasi ya Gambia",
        }
        GNS{
            "GNS",
            "Faranga ya Gine",
        }
        INR{
            "₹",
            "Rupia ya India",
        }
        JPY{
            "JP¥",
            "Sarafu ya Kijapani",
        }
        KES{
            "KES",
            "Shilingi ya Kenya",
        }
        KMF{
            "KMF",
            "Faranga ya Komoro",
        }
        LRD{
            "LRD",
            "Dola ya Liberia",
        }
        LSL{
            "LSL",
            "Loti ya Lesoto",
        }
        LYD{
            "LYD",
            "Dinari ya Libya",
        }
        MAD{
            "MAD",
            "Dirham ya Moroko",
        }
        MGA{
            "MGA",
            "Ariary ya Bukini",
        }
        MRO{
            "MRO",
            "Ugwiya ya Moritania",
        }
        MUR{
            "MUR",
            "Rupia ya Morisi",
        }
        MWK{
            "MWK",
            "Kwacha ya Malawi",
        }
        MZM{
            "MZM",
            "Metikali ya Msumbiji",
        }
        NAD{
            "NAD",
            "Dola ya Namibia",
        }
        NGN{
            "NGN",
            "Naira ya Nijeria",
        }
        RWF{
            "RWF",
            "Faranga ya Rwanda",
        }
        SAR{
            "SAR",
            "Riyal ya Saudia",
        }
        SCR{
            "SCR",
            "Rupia ya Shelisheli",
        }
        SDG{
            "SDG",
            "Pauni ya Sudani",
        }
        SHP{
            "SHP",
            "Pauni ya Santahelena",
        }
        SLL{
            "SLL",
            "Leoni",
        }
        SOS{
            "SOS",
            "Shilingi ya Somalia",
        }
        STD{
            "STD",
            "Dobra ya Sao Tome na Principe",
        }
        SZL{
            "SZL",
            "Lilangeni",
        }
        TND{
            "TND",
            "Dinari ya Tunisia",
        }
        TZS{
            "TZS",
            "Shilingi ya Tanzania",
        }
        UGX{
            "UGX",
            "Shilingi ya Uganda",
        }
        USD{
            "US$",
            "Dola ya Marekani",
        }
        XAF{
            "FCFA",
            "Faranga CFA BEAC",
        }
        XOF{
            "CFA",
            "Faranga CFA BCEAO",
        }
        ZAR{
            "ZAR",
            "Randi ya Afrika Kusini",
        }
        ZMK{
            "ZMK",
            "Kwacha ya Zambia (1968-2012)",
        }
        ZMW{
            "ZMW",
            "Kwacha ya Zambia",
        }
        ZWD{
            "ZWD",
            "Dola ya Zimbabwe",
        }
    }
    Version{"2.0.82.45"}
}
