﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * 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{
            "A$",
            "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{
            "FC",
            "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 (1968-2012)",
        }
        ZMW{
            "ZMW",
            "Kwasha ya Zambi",
        }
        ZWD{
            "ZWD",
            "Dolarɛ ya Zimbabwɛ",
        }
    }
    Version{"2.0.82.45"}
}
