﻿// ***************************************************************************
// *
// * Copyright (C) 2011 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/ln.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/ln.xml
 */
ln{
    Currencies{
        AED{
            "AED",
            "Dirihamɛ ya Lémila alabo",
        }
        AOA{
            "AOA",
            "Kwanza ya Angóla",
        }
        AUD{
            "AU$",
            "Dolarɛ ya Ositali",
        }
        BHD{
            "BHD",
            "Dinarɛ ya Bahrɛnɛ",
        }
        BIF{
            "BIF",
            "Falánga ya Burundi",
        }
        BWP{
            "BWP",
            "Pula ya Botswana",
        }
        CAD{
            "CA$",
            "Dolarɛ ya Kanadá",
        }
        CDF{
            "CDF",
            "Falánga ya Kongó",
        }
        CHF{
            "CHF",
            "Falánga ya Swisɛ",
        }
        CNY{
            "CN¥",
            "Yuanɛ Renminbi ya Sinɛ",
        }
        CVE{
            "CVE",
            "Esikudo ya Kapevɛrɛ",
        }
        DJF{
            "DJF",
            "Falánga ya Dzibuti",
        }
        DZD{
            "DZD",
            "Dinarɛ ya Alizeri",
        }
        EGP{
            "EGP",
            "Paunɛ ya Ezípitɛ",
        }
        ERN{
            "ERN",
            "Nakfa ya Elitlɛ",
        }
        ETB{
            "ETB",
            "Birɛ ya Etsiópi",
        }
        EUR{
            "€",
            "Ɛlɔ́",
        }
        GBP{
            "£",
            "Paunɛ ya Angɛlɛtɛ́lɛ",
        }
        GHC{
            "GHC",
            "Sedi ya Gana",
        }
        GMD{
            "GMD",
            "Dalasi ya Gambi",
        }
        GNS{
            "GNS",
            "Falánga ya Ginɛ",
        }
        INR{
            "₹",
            "Rupi ya Índɛ",
        }
        JPY{
            "JP¥",
            "Yeni ya Zapɔ",
        }
        KES{
            "KES",
            "Shilingɛ ya Kenya",
        }
        KMF{
            "KMF",
            "Falánga ya Komoro",
        }
        LRD{
            "LRD",
            "Dolarɛ ya Liberya",
        }
        LSL{
            "LSL",
            "Loti ya Lesóto",
        }
        LYD{
            "LYD",
            "Dinarɛ ya Libí",
        }
        MAD{
            "MAD",
            "Dirihame ya Marokɛ",
        }
        MGA{
            "MGA",
            "Falánga ya Madagasikarɛ",
        }
        MRO{
            "MRO",
            "Ugwiya ya Moritani",
        }
        MUR{
            "MUR",
            "Rupi ya Morisi",
        }
        MWK{
            "MWK",
            "Kwasha ya Malawi",
        }
        MZM{
            "MZM",
            "Metikali ya Mozambiki",
        }
        NAD{
            "NAD",
            "Dolarɛ ya Namibi",
        }
        NGN{
            "NGN",
            "Naira ya Nizerya",
        }
        RWF{
            "RWF",
            "Falánga ya Rwanda",
        }
        SAR{
            "SAR",
            "Riyalɛ ya Alabi Sawuditɛ",
        }
        SCR{
            "SCR",
            "Rupi ya Sɛshɛlɛ",
        }
        SDG{
            "SDG",
            "Dinarɛ ya Sudá",
        }
        SDP{
            "SDP",
            "Paunɛ ya Sudá",
        }
        SHP{
            "SHP",
            "Paunɛ ya Sántu elena",
        }
        SLL{
            "SLL",
            "Leonɛ",
        }
        SOS{
            "SOS",
            "Shilingɛ ya Somali",
        }
        STD{
            "STD",
            "Dobra ya Sao Tomé mpé Presipe",
        }
        SZL{
            "SZL",
            "Lilangeni",
        }
        TND{
            "TND",
            "Dinarɛ ya Tinizi",
        }
        TZS{
            "TZS",
            "Shilingɛ ya Tanzani",
        }
        UGX{
            "UGX",
            "Shilingɛ ya Uganda",
        }
        USD{
            "US$",
            "Dolarɛ ya Ameriki",
        }
        XAF{
            "FCFA",
            "Falánga CFA BEAC",
        }
        XOF{
            "CFA",
            "Falánga CFA BCEAO",
        }
        ZAR{
            "ZAR",
            "Randɛ ya Afríka Súdi",
        }
        ZMK{
            "ZMK",
            "Kwasha ya Zambi",
        }
        ZWD{
            "ZWD",
            "Dolarɛ ya Zimbabwɛ",
        }
    }
    Version{"2.0.57.98"}
}
