﻿// ***************************************************************************
// *
// * Copyright (C) 2011 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/xog.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/xog.xml
 */
xog{
    Currencies{
        AED{
            "AED",
            "Diraamu eya Emireeti",
        }
        AOA{
            "AOA",
            "Kwanza y'Angola",
        }
        AUD{
            "AU$",
            "Doola y'Awusiturelya",
        }
        BHD{
            "BHD",
            "Dinaali ya Baareeni",
        }
        BIF{
            "BIF",
            "Faranga ya burundi",
        }
        BWP{
            "BWP",
            "Pula ya Botiswana",
        }
        CAD{
            "CA$",
            "Doola ya Kanada",
        }
        CDF{
            "CDF",
            "Faranga ya Kongo",
        }
        CHF{
            "CHF",
            "Faranga ey'eSwitizirandi",
        }
        CNY{
            "CN¥",
            "Yuwani Reniminibi ya Cayina",
        }
        CVE{
            "CVE",
            "Esikudo ya Keepu Veredi",
        }
        DJF{
            "DJF",
            "Faranga ya Jjibuti",
        }
        DZD{
            "DZD",
            "Dinaali y'Aligerya",
        }
        EGP{
            "EGP",
            "Pawunda ya Misiri",
        }
        ERN{
            "ERN",
            "Nakifa ya Eritureya",
        }
        ETB{
            "ETB",
            "Biiru ya Esyopya",
        }
        EUR{
            "€",
            "Yuro",
        }
        GBP{
            "£",
            "Pawunda ya Bungereza",
        }
        GHC{
            "GHC",
            "Sedi ya Gana",
        }
        GMD{
            "GMD",
            "Dalasi ya Gambya",
        }
        GNS{
            "GNS",
            "Faranga ya Gini",
        }
        INR{
            "₹",
            "Rupiya ya Buyindi",
        }
        JPY{
            "JP¥",
            "Yeni ya Japani",
        }
        KES{
            "KES",
            "Silingi ya Kenya",
        }
        KMF{
            "KMF",
            "Faranga ya Komoro",
        }
        LRD{
            "LRD",
            "Doola ya Liberya",
        }
        LSL{
            "LSL",
            "Loti ya Lesoso",
        }
        LYD{
            "LYD",
            "Dinaali ya Libya",
        }
        MAD{
            "MAD",
            "Diraamu ey'eMoroko",
        }
        MGA{
            "MGA",
            "Faranga ey'eMalagase",
        }
        MRO{
            "MRO",
            "Wugwiya ey'eMawritenya",
        }
        MUR{
            "MUR",
            "Rupiya ey'eMawurisyasi",
        }
        MWK{
            "MWK",
            "Kwaca ey'eMalawi",
        }
        MZM{
            "MZM",
            "Metikaali ey'eMozambiiki",
        }
        NGN{
            "NGN",
            "Nayira ey'eNayijerya",
        }
        RWF{
            "RWF",
            "Faranga ey'eRwanda",
        }
        SAR{
            "SAR",
            "Riyaali ey'eBuwarabu",
        }
        SCR{
            "SCR",
            "Rupiya ey'eSesere",
        }
        SDG{
            "SDG",
            "Dinaali ey'eSudaani",
        }
        SDP{
            "SDP",
            "Pawunda ey'eSudaani",
        }
        SHP{
            "SHP",
            "Pawunda ey'eSenti Herena",
        }
        SLL{
            "SLL",
            "Lewone",
        }
        SOS{
            "SOS",
            "Silingi ey'eSomaliya",
        }
        STD{
            "STD",
            "Dobura ey'eSantome ne Purincipe",
        }
        SZL{
            "SZL",
            "Lilangeni",
        }
        TND{
            "TND",
            "Dinaali ey'eTunizya",
        }
        TZS{
            "TZS",
            "Silingi ey'eTanzaniya",
        }
        UGX{
            "USh",
            "Silingi eya Yuganda",
        }
        USD{
            "US$",
            "Doola ey'Amerika",
        }
        XAF{
            "FCFA",
            "Faranga yamu Afirika ya wakati",
        }
        XOF{
            "CFA",
            "Faranga yamu Afirika ya bugwanjuba",
        }
        ZAR{
            "ZAR",
            "Randi ey'eSawusafirika",
        }
        ZMK{
            "ZMK",
            "Kwaca ey'eZambya",
        }
        ZWD{
            "ZWD",
            "Doola ey'eZimbabwe",
        }
    }
    Version{"2.0.57.99"}
}
