﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/rwk.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/rwk.xml
 */
rwk{
    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{
            "CDF",
            "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",
            "Faranga 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",
            "Dinari ya Sudani",
        }
        SDP{
            "SDP",
            "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{
            "TSh",
            "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"}
}
