﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/kln.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/kln.xml
 */
kln{
    Currencies{
        AED{
            "AED",
            "Rabisiekab Kibagegeitab arabuk",
        }
        AOA{
            "AOA",
            "Rabisiekab Angolan",
        }
        AUD{
            "A$",
            "Dolaitab Australian",
        }
        BHD{
            "BHD",
            "Rabisiekab Bahrain",
        }
        BIF{
            "BIF",
            "Rabisiekab Burundi",
        }
        BWP{
            "BWP",
            "Rabisiekab Botswana",
        }
        CAD{
            "CA$",
            "Dolaitab Kanada",
        }
        CDF{
            "CDF",
            "Rabisiekab Congo",
        }
        CHF{
            "CHF",
            "Rabisiekab Swiss",
        }
        CNY{
            "CN¥",
            "Rabisiekab China",
        }
        CVE{
            "CVE",
            "Rabisiekab Kepuvede",
        }
        DJF{
            "DJF",
            "Rabisiekab Jibuti",
        }
        DZD{
            "DZD",
            "Rabisiekab Algerian",
        }
        EGP{
            "EGP",
            "Pauditab Misri",
        }
        ERN{
            "ERN",
            "Rabisiekab Eritrea",
        }
        ETB{
            "ETB",
            "Rabisiekab Ethiopia",
        }
        EUR{
            "€",
            "Yuroit",
        }
        GBP{
            "£",
            "pounditab Uingereza",
        }
        GHC{
            "GHC",
            "Rabisiekab Ghana",
        }
        GMD{
            "GMD",
            "Rabisiekab Gambia",
        }
        GNS{
            "GNS",
            "Rabisiekab Guinea",
        }
        INR{
            "₹",
            "Rabisiekab India",
        }
        JPY{
            "JP¥",
            "Rabisiekab Japan",
        }
        KES{
            "Ksh",
            "Silingitab ya Kenya",
        }
        KMF{
            "KMF",
            "Rabisiekab Komoro",
        }
        LRD{
            "LRD",
            "Dolaitab Liberia",
        }
        LSL{
            "LSL",
            "Rabisiekab Lesoto",
        }
        LYD{
            "LYD",
            "Rabisiekab Libya",
        }
        MAD{
            "MAD",
            "Rabisiekab Moroccan",
        }
        MGA{
            "MGA",
            "Rabisiekab Malagasy",
        }
        MRO{
            "MRO",
            "Rabisiekab Mauritania",
        }
        MUR{
            "MUR",
            "Rabisiekab Mauritius",
        }
        MWK{
            "MWK",
            "Rabisiekaby Malawi",
        }
        MZM{
            "MZM",
            "Rabisiekab Msumbiji",
        }
        NAD{
            "NAD",
            "Dolaitab Namibia",
        }
        NGN{
            "NGN",
            "Rabisiekab Nigeria",
        }
        RWF{
            "RWF",
            "Rabisiekab Rwanda",
        }
        SAR{
            "SAR",
            "Rabisiekab Saudia",
        }
        SCR{
            "SCR",
            "Rabisiekab Shelisheli",
        }
        SDG{
            "SDG",
            "Pouditab Sudan",
        }
        SHP{
            "SHP",
            "Pouditab helena ne tilil",
        }
        SLL{
            "SLL",
            "Leonit",
        }
        SOS{
            "SOS",
            "siligitab Somalia",
        }
        STD{
            "STD",
            "Rabisiekab Sao Tome ak Principe",
        }
        SZL{
            "SZL",
            "Lilangenit",
        }
        TND{
            "TND",
            "RabisiekabTunisia",
        }
        TZS{
            "TZS",
            "silingitab Tanzania",
        }
        UGX{
            "UGX",
            "Silingitab Uganda",
        }
        USD{
            "US$",
            "Dolaitab ya Amareka",
        }
        XAF{
            "FCFA",
            "Rabisiekab CFA BEAC",
        }
        XOF{
            "CFA",
            "Rabisiekab CFA BCEAO",
        }
        ZAR{
            "ZAR",
            "Randitab Afrika nebo murot tai",
        }
        ZMK{
            "ZMK",
            "Kwachaitab Zambia (1968-2012)",
        }
        ZMW{
            "ZMW",
            "Kwachaitab Zambia",
        }
        ZWD{
            "ZWD",
            "Dolaitab ya Zimbabwe",
        }
    }
    Version{"2.0.82.45"}
}
