﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/xog.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/xog.xml
 */
xog{
    Currencies{
        AED{
            "AED",
            "Diraamu eya Emireeti",
        }
        AOA{
            "AOA",
            "Kwanza y'Angola",
        }
        AUD{
            "A$",
            "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 (1968–2012)",
        }
        ZMW{
            "ZMW",
            "Kwaca ey'eZambya",
        }
        ZWD{
            "ZWD",
            "Doola ey'eZimbabwe",
        }
    }
    Version{"2.0.92.87"}
}
