﻿// ***************************************************************************
// *
// * Copyright (C) 2010 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/luo.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/luo.xml
 */
luo{
    Currencies{
        AED{
            "AED",
            "Dirham ya Falme za Kiarabu",
        }
        AOA{
            "Kz",
            "Kwanza ya Angola",
        }
        AUD{
            "AU$",
            "Dola ya Australia",
        }
        BHD{
            "BD",
            "Dinari ya Bahareni",
        }
        BIF{
            "FBu",
            "Faranga ya Burundi",
        }
        BWP{
            "BWP",
            "Pula mar Botswana",
        }
        CAD{
            "CA$",
            "Dola mar Kanada",
        }
        CDF{
            "CDF",
            "Faranga ya Kongo",
        }
        CHF{
            "CHF",
            "Faranga ya Uswisi",
        }
        CNY{
            "CN¥",
            "Yuan Renminbi ya China",
        }
        CVE{
            "CV$",
            "Eskudo ya Kepuvede",
        }
        DJF{
            "Fdj",
            "Faranga ya Jibuti",
        }
        DZD{
            "DA",
            "Dinari ya Aljeria",
        }
        EGP{
            "EGP",
            "Paund mar Misri",
        }
        ERN{
            "Nfk",
            "Nakfa ya Eritrea",
        }
        ETB{
            "Br",
            "Birr mar Ethiopia",
        }
        EUR{
            "€",
            "Yuro",
        }
        GBP{
            "£",
            "Pauni mar Uingereza",
        }
        GHC{
            "₵",
            "Sedi mar Ghana",
        }
        GMD{
            "GMD",
            "Dalasi ya Gambia",
        }
        GNS{
            "GNS" /** ===  */,
            "Faranga ya Gine",
        }
        INR{
            "Rs",
            "Rupia ya India",
        }
        JPY{
            "JP¥",
            "Yen mar Japan",
        }
        KES{
            "Ksh",
            "Siling mar Kenya",
        }
        KMF{
            "CF",
            "Faranga ya Komoro",
        }
        LRD{
            "L$",
            "Dola mar Liberia",
        }
        LSL{
            "LSL",
            "Loti ya Lesoto",
        }
        LYD{
            "LD",
            "Dinari ya Libya",
        }
        MAD{
            "MAD",
            "Dirham ya Moroko",
        }
        MGA{
            "MGA",
            "Ariary ya Bukini",
        }
        MRO{
            "UM",
            "Ugwiya ya Moritania",
        }
        MUR{
            "MURs",
            "Rupia ya Morisi",
        }
        MWK{
            "MWK",
            "Kwacha ya Malawi",
        }
        MZM{
            "Mt",
            "Metikali ya Msumbiji",
        }
        NAD{
            "N$",
            "Dola ya Namibia",
        }
        NGN{
            "₦",
            "Naira ya Nijeria",
        }
        RWF{
            "RWF",
            "Faranga ya Rwanda",
        }
        SAR{
            "SR",
            "Riyal ya Saudia",
        }
        SCR{
            "SRe",
            "Rupia ya Shelisheli",
        }
        SDG{
            "SDG",
            "Pauni ya Sudani",
        }
        SHP{
            "SH£",
            "Pauni ya Santahelena",
        }
        SLL{
            "Le",
            "Leoni",
        }
        SOS{
            "Ssh",
            "Shilingi ya Somalia",
        }
        STD{
            "Db",
            "Dobra ya Sao Tome na Principe",
        }
        SZL{
            "SZL",
            "Lilangeni",
        }
        TND{
            "DT",
            "Dinari ya Tunisia",
        }
        TZS{
            "TSh",
            "Shilingi ya Tanzania",
        }
        UGX{
            "USh",
            "Shilingi ya Uganda",
        }
        USD{
            "US$",
            "Dola",
        }
        XAF{
            "FCFA",
            "Faranga CFA BEAC",
        }
        XOF{
            "CFA",
            "Faranga CFA BCEAO",
        }
        ZAR{
            "R",
            "Randi ya Afrika Kusini",
        }
        ZMK{
            "ZK",
            "Kwacha ya Zambia",
        }
        ZWD{
            "Z$",
            "Dola ya Zimbabwe",
        }
    }
    Version{"2.0.45.90"}
}
