﻿// ***************************************************************************
// *
// * Copyright (C) 2010 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/lag.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/lag.xml
 */
lag{
    Currencies{
        AED{
            "AED",
            "Diriháamu ya Ʉtemi wa Kɨaráabu",
        }
        AOA{
            "Kz",
            "Kwáanza ya Angóola",
        }
        AUD{
            "AU$",
            "Dóola ya Ausitereelía",
        }
        BHD{
            "BD",
            "Dináari ya Baharéeni",
        }
        BIF{
            "FBu",
            "Faráanga ya Burúundi",
        }
        BWP{
            "BWP",
            "Púula ya Botiswáana",
        }
        CAD{
            "CA$",
            "Dóola ya Kánada",
        }
        CDF{
            "CDF",
            "Faráanga ya Kóongo",
        }
        CHF{
            "CHF",
            "Faráaka ya Uswíisi",
        }
        CNY{
            "CN¥",
            "Yúani Renimínibi ya Chíina",
        }
        CVE{
            "CV$",
            "Esikúudo ya Kepuvéede",
        }
        DJF{
            "Fdj",
            "Faráanga ya Jibóuti",
        }
        DZD{
            "DA",
            "Dináairi ya Alijéria",
        }
        EGP{
            "EG£",
            "Páundi ya Mísiri",
        }
        ERN{
            "Nfk",
            "Nákɨfa ya Eriterea",
        }
        ETB{
            "Br",
            "Bíiri ya Ʉhabéeshi",
        }
        EUR{
            "€",
            "Yúuro",
        }
        GBP{
            "£",
            "Páundi ya Ʉɨngɨréesa",
        }
        GHC{
            "₵",
            "Séedi ya Gáana",
        }
        GMD{
            "GMD",
            "Daláasi ya Gámbia",
        }
        GNS{
            "GNS" /** ===  */,
            "Faráanga ya Gíine",
        }
        INR{
            "Rs",
            "Rupía ya Índia",
        }
        JPY{
            "JP¥",
            "Yéeni ya Japáani",
        }
        KES{
            "Ksh",
            "Shilíingi ya Kéenya",
        }
        KMF{
            "CF",
            "Faráanga ya Komóoro",
        }
        LRD{
            "L$",
            "Dóola ya Libéria",
        }
        LSL{
            "LSL",
            "Lóoti ya Lesóoto",
        }
        LYD{
            "LD",
            "Dináari ya Líbia",
        }
        MAD{
            "MAD",
            "Diriháamu ya Moróoko",
        }
        MGA{
            "MGA",
            "Mpía ya bukini",
        }
        MRO{
            "UM",
            "Ungwíiya ya Moritánia",
        }
        MUR{
            "MURs",
            "Rupía ya Moríisi",
        }
        MWK{
            "MWK",
            "Kwáacha ya Maláawi",
        }
        MZM{
            "Mt",
            "Metikáali ya Musumbíiji",
        }
        NAD{
            "N$",
            "Dóola ya Namíbia",
        }
        NGN{
            "₦",
            "Naíira ya Niijéria",
        }
        RWF{
            "RWF",
            "Faráanga ya Rwáanda",
        }
        SAR{
            "SR",
            "Riyáali ya Saudía",
        }
        SCR{
            "SRe",
            "Rupía ya Shelishéeli",
        }
        SDG{
            "SDG",
            "Páundi ya Sudáani",
        }
        SHP{
            "SH£",
            "Páundi ya Mʉtakatíifu Heléena",
        }
        SLL{
            "Le",
            "Leóoni",
        }
        SOS{
            "Ssh",
            "Shilíingi ya Somália",
        }
        STD{
            "Db",
            "Dóbura ya SaoTóome na Pirínsipe",
        }
        SZL{
            "SZL",
            "Lilengéeni",
        }
        TND{
            "DT",
            "Dináari ya Tunísia",
        }
        TZS{
            "TSh",
            "Shilíingi ya Taansanía",
        }
        UGX{
            "USh",
            "Shilíingi ya Ugáanda",
        }
        USD{
            "US$",
            "Dóola ya Amerɨ́ka",
        }
        XAF{
            "FCFA",
            "Faráanga ya CFA BEAC",
        }
        XOF{
            "CFA",
            "Faráanga ya CFA BCEAO",
        }
        ZAR{
            "R",
            "Ráandi ya Afɨrɨka ya Saame",
        }
        ZMK{
            "ZK",
            "Kwácha ya Sámbia",
        }
        ZWD{
            "Z$",
            "Dóola ya Simbáabwe",
        }
    }
    Version{"2.0.45.90"}
}
