﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/nyn.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/nyn.xml
 */
nyn{
    Currencies{
        AED{
            "AED",
            "Dirham za Buharabu",
        }
        AOA{
            "AOA",
            "Kwanza ya Angora",
        }
        AUD{
            "A$",
            "Doora ya Austureeriya",
        }
        BHD{
            "BHD",
            "Dinari ya Bahareni",
        }
        BIF{
            "BIF",
            "Faranga ya Burundi",
        }
        BWP{
            "BWP",
            "Pura ya Botswana",
        }
        CAD{
            "CA$",
            "Doora ya Kanada",
        }
        CDF{
            "CDF",
            "Faranga ya Kongo",
        }
        CHF{
            "CHF",
            "Faranga ya Swisi",
        }
        CNY{
            "CN¥",
            "Yuan Renminbi ya China",
        }
        CVE{
            "CVE",
            "Eskudo ya Kepuvede",
        }
        DJF{
            "DJF",
            "Faranga ya Gyibuti",
        }
        DZD{
            "DZD",
            "Dinari ya Arigyeriya",
        }
        EGP{
            "EGP",
            "Paundi ya Misiri",
        }
        ERN{
            "ERN",
            "Nakfa ya Eritireya",
        }
        ETB{
            "ETB",
            "Birr ya Ethiopiya",
        }
        EUR{
            "€",
            "Yuro",
        }
        GBP{
            "£",
            "Paundi ya Bungyereza",
        }
        GHC{
            "GHC",
            "Cedi ya Ghana",
        }
        GMD{
            "GMD",
            "Dalasi ya Gambia",
        }
        GNS{
            "GNS",
            "Faranga ya Guinea",
        }
        INR{
            "₹",
            "Rupiya ya India",
        }
        JPY{
            "JP¥",
            "Yeni ya Japaani",
        }
        KES{
            "KES",
            "Shiringi ya Kenya",
        }
        KMF{
            "KMF",
            "Faranga ya Komoro",
        }
        LRD{
            "LRD",
            "Doora ya Liberia",
        }
        LSL{
            "LSL",
            "Loti ya Lesoto",
        }
        LYD{
            "LYD",
            "Dinari ya Libya",
        }
        MAD{
            "MAD",
            "Dirram ya Moroko",
        }
        MGA{
            "MGA",
            "Ariari ya Maragariita",
        }
        MRO{
            "MRO",
            "Ougwiya ya Mouriteeniya",
        }
        MUR{
            "MUR",
            "Rupiiha ya Mauritiasi",
        }
        MWK{
            "MWK",
            "Kwaca ya Malawi",
        }
        MZM{
            "MZM",
            "Metikari ya Mozambikwi",
        }
        NAD{
            "NAD",
            "Doora ya Namibiya",
        }
        NGN{
            "NGN",
            "Naira ya Naigyeriya",
        }
        RWF{
            "RWF",
            "Faranga ya Rwanda",
        }
        SAR{
            "SAR",
            "Riya ya Saudi",
        }
        SCR{
            "SCR",
            "Rupiiha ya Sherisheri",
        }
        SDG{
            "SDG",
            "Dinari ya Sudani",
        }
        SDP{
            "SDP",
            "Paundi ya Sudan",
        }
        SHP{
            "SHP",
            "Paundi ya Senti Herena",
        }
        SLL{
            "SLL",
            "Leone",
        }
        SOS{
            "SOS",
            "Eshiringi ya Somalia",
        }
        STD{
            "STD",
            "Dobra ya Sao Tome na Purinsipo",
        }
        SZL{
            "SZL",
            "Lilangeni",
        }
        TND{
            "TND",
            "Dinari ya Tunisia",
        }
        TZS{
            "TZS",
            "Eshiringi ya Tanzania",
        }
        UGX{
            "USh",
            "Eshiringi ya Uganda",
        }
        USD{
            "US$",
            "Doora ya America",
        }
        XAF{
            "FCFA",
            "Faranga ya CFA BEAC",
        }
        XOF{
            "CFA",
            "Faranga ya CFA BCEAO",
        }
        ZAR{
            "ZAR",
            "Randi ya Sausi Afirika",
        }
        ZMK{
            "ZMK",
            "Kwacha ya Zambia (1968-2012)",
        }
        ZMW{
            "ZMW",
            "Kwacha ya Zambia",
        }
        ZWD{
            "ZWD",
            "Doora ya Zimbabwe",
        }
    }
    Version{"2.0.82.45"}
}
