﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/ksb.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/ksb.xml
 */
ksb{
    Currencies{
        AED{
            "AED",
            "dilham ya Falme za Kialabu",
        }
        AOA{
            "AOA",
            "kwanza ya Angola",
        }
        AUD{
            "A$",
            "dola ya Austlalia",
        }
        BHD{
            "BHD",
            "dinali ya Bahaleni",
        }
        BIF{
            "BIF",
            "falanga ya Bulundi",
        }
        BWP{
            "BWP",
            "pula ya Botswana",
        }
        CAD{
            "CA$",
            "dola ya Kanada",
        }
        CDF{
            "CDF",
            "falanga ya Kongo",
        }
        CHF{
            "CHF",
            "falanga ya Uswisi",
        }
        CNY{
            "CN¥",
            "yaun lenminbi ya China",
        }
        CVE{
            "CVE",
            "eskudo ya Kepuvede",
        }
        DJF{
            "DJF",
            "falanga ya Jibuti",
        }
        DZD{
            "DZD",
            "dinali ya Aljelia",
        }
        EGP{
            "EGP",
            "pauni ya Misli",
        }
        ERN{
            "ERN",
            "nakfa ya Elitlea",
        }
        ETB{
            "ETB",
            "bil ya Uhabeshi",
        }
        EUR{
            "€",
            "yulo",
        }
        GBP{
            "£",
            "pauni ya Uingeeza",
        }
        GHC{
            "GHC",
            "sedi ya Ghana",
        }
        GMD{
            "GMD",
            "dalasi ya Gambia",
        }
        GNS{
            "GNS",
            "falanga ya Gine",
        }
        INR{
            "₹",
            "lupia ya India",
        }
        JPY{
            "JP¥",
            "salafu ya Kijapani",
        }
        KES{
            "KES",
            "shilingi ya Kenya",
        }
        KMF{
            "KMF",
            "falanga ya Komolo",
        }
        LRD{
            "LRD",
            "dola ya Libelia",
        }
        LSL{
            "LSL",
            "loti ya Lesoto",
        }
        LYD{
            "LYD",
            "dinali ya Libya",
        }
        MAD{
            "MAD",
            "dilham ya Moloko",
        }
        MGA{
            "MGA",
            "falanga ya Bukini",
        }
        MRO{
            "MRO",
            "ugwiya ya Molitania",
        }
        MUR{
            "MUR",
            "lupia ya Molisi",
        }
        MWK{
            "MWK",
            "kwacha ya Malawi",
        }
        MZM{
            "MZM",
            "metikali ya Msumbiji",
        }
        NAD{
            "NAD",
            "dola ya Namibia",
        }
        NGN{
            "NGN",
            "naila ya Naijelia",
        }
        RWF{
            "RWF",
            "falanga ya Lwanda",
        }
        SAR{
            "SAR",
            "liyal ya Saudia",
        }
        SCR{
            "SCR",
            "lupia ya Shelisheli",
        }
        SDG{
            "SDG",
            "dinali ya Sudani",
        }
        SDP{
            "SDP",
            "pauni ya Sudani",
        }
        SHP{
            "SHP",
            "pauni ya Santahelena",
        }
        SLL{
            "SLL",
            "leoni",
        }
        SOS{
            "SOS",
            "shilingi ya Somalia",
        }
        STD{
            "STD",
            "dobla ya Sao Tome na Plincipe",
        }
        SZL{
            "SZL",
            "lilangeni",
        }
        TND{
            "TND",
            "dinali ya Tunisia",
        }
        TZS{
            "TSh",
            "shilingi ya Tanzania",
        }
        UGX{
            "UGX",
            "shilingi ya Uganda",
        }
        USD{
            "US$",
            "dola ya Malekani",
        }
        XAF{
            "FCFA",
            "falanga CFA BEAC",
        }
        XOF{
            "CFA",
            "falanga CFA BCEAO",
        }
        ZAR{
            "ZAR",
            "landi ya Aflika Kusini",
        }
        ZMK{
            "ZMK",
            "kwacha ya Zambia (1968-2012)",
        }
        ZMW{
            "ZMW",
            "kwacha ya Zambia",
        }
        ZWD{
            "ZWD",
            "dola ya Zimbabwe",
        }
    }
    Version{"2.0.82.45"}
}
