﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/nd.xml
// *
// ***************************************************************************
nd{
    Currencies{
        AED{
            "AED",
            "Dola laseArab",
        }
        AOA{
            "AOA",
            "Kwanza yase Angola",
        }
        AUD{
            "A$",
            "Dola yase Australia",
        }
        BHD{
            "BHD",
            "Dinari yase Bhahareni",
        }
        BIF{
            "BIF",
            "Fulenki yase Bhurundi",
        }
        BWP{
            "BWP",
            "Phula yase Botswana",
        }
        CAD{
            "CA$",
            "Dola yase Khanada",
        }
        CDF{
            "CDF",
            "Fulenki yase Khongo",
        }
        CHF{
            "CHF",
            "Fulenki yase Swisi",
        }
        CNY{
            "CN¥",
            "Yuan Renminbi yase China",
        }
        CVE{
            "CVE",
            "Escudo Caboverdiano",
        }
        DJF{
            "DJF",
            "Fulenki yase Jibhuthi",
        }
        DZD{
            "DZD",
            "Dinali yase Aljeriya",
        }
        EGP{
            "EGP",
            "Phawundi laseGibhide",
        }
        ERN{
            "ERN",
            "Nakfa yase Eritrea",
        }
        ETB{
            "ETB",
            "Dola laseEthiopia",
        }
        EUR{
            "€",
            "Yuro",
        }
        GBP{
            "£",
            "Phawundi yase Ngilandi",
        }
        GHC{
            "GHC",
            "Sedi yase Ghana",
        }
        GMD{
            "GMD",
            "Dalasi yase Gambia",
        }
        GNS{
            "GNS",
            "Fulenki yase Gine",
        }
        INR{
            "₹",
            "Rupi yase Indiya",
        }
        JPY{
            "JP¥",
            "Yeni yase Japhani",
        }
        KES{
            "KES",
            "Shilingi yase Kenya",
        }
        KMF{
            "KMF",
            "Fulenki yase Khomoro",
        }
        LRD{
            "LRD",
            "Dola yase Libheriya",
        }
        LSL{
            "LSL",
            "Lothi yase Lesotho",
        }
        LYD{
            "LYD",
            "Dinari yase Libya",
        }
        MAD{
            "MAD",
            "Dirham yase Morokho",
        }
        MGA{
            "MGA",
            "Fulenki yase Malagasi",
        }
        MRO{
            "MRO",
            "Ugwiya yase Moritaniya",
        }
        MUR{
            "MUR",
            "Rupi yase Morishasi",
        }
        MWK{
            "MWK",
            "Kwacha yase Malawi",
        }
        MZM{
            "MZM",
            "Metikali yase Mozambiki",
        }
        NAD{
            "NAD",
            "Dola yase Namibiya",
        }
        NGN{
            "NGN",
            "Nayira yase Nijeriya",
        }
        RWF{
            "RWF",
            "Fulenki yase Ruwanda",
        }
        SAR{
            "SAR",
            "Riyal yase Saudi",
        }
        SCR{
            "SCR",
            "Rupi yase Seyisheli",
        }
        SDG{
            "SDG",
            "Dinari yase Sudani",
        }
        SDP{
            "SDP",
            "Phawundi yase Sudani",
        }
        SHP{
            "SHP",
            "Phawundindi laseSt Helena",
        }
        SLL{
            "SLL",
            "Leyoni",
        }
        SOS{
            "SOS",
            "Shilingi yase Somaliya",
        }
        STD{
            "STD",
            "Dobra yase Sao Tome lo Principe",
        }
        SZL{
            "SZL",
            "Lilangeni",
        }
        TND{
            "TND",
            "Dinari yase Tunisiya",
        }
        TZS{
            "TZS",
            "Shilingi yase Tanzaniya",
        }
        UGX{
            "UGX",
            "Shilingi yase Uganda",
        }
        USD{
            "US$",
            "Dola yase Amelika",
        }
        XAF{
            "FCFA",
            "Fulenki CFA BEAC",
        }
        XOF{
            "CFA",
            "Fulenki CFA BCEAO",
        }
        ZAR{
            "ZAR",
            "Randi yase Afrika ye Zanzi",
        }
        ZMK{
            "ZMK",
            "Kwacha yase Zambiya (1968–2012)",
        }
        ZMW{
            "ZMW",
            "Kwacha yase Zambiya",
        }
        ZWD{
            "ZWD",
            "Dola yase Zimbabwe",
        }
    }
    Version{"2.1.15.45"}
}
