﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/agq.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/agq.xml
 */
agq{
    Currencies{
        AED{
            "AED",
            "Dilàm è Yùnaetɛ Alab Emelɛ̀",
        }
        AOA{
            "AOA",
            "Kwanzà è Àŋgolà",
        }
        AUD{
            "A$",
            "Dɔlà e Ùsɨ̀tɛ̀lɛlìa",
        }
        BHD{
            "BHD",
            "Dinà è Balae",
        }
        BIF{
            "BIF",
            "Fàlâŋ è Bùlundì",
        }
        BWP{
            "BWP",
            "Kpuwlà è Botɨshǔanà",
        }
        CAD{
            "CA$",
            "Dɔlà è Kanadà",
        }
        CDF{
            "CDF",
            "Fàlâŋ è Kuŋgùlê",
        }
        CHF{
            "CHF",
            "Fàlâŋ è Sues",
        }
        CNY{
            "CN¥",
            "Yùwân Lèmembi è Chaenî",
        }
        CVE{
            "CVE",
            "Kàbòvàdianù è Èsùkudò",
        }
        DJF{
            "DJF",
            "Fàlâŋ è Dzìbutì",
        }
        DZD{
            "DZD",
            "Dinà è Àdzɛlìa",
        }
        EGP{
            "EGP",
            "Bɔ̀ŋ è Edzì",
        }
        ERN{
            "ERN",
            "Nakafa è Èletɨ̀làe",
        }
        ETB{
            "ETB",
            "Bîi è Etyǒkpìa",
        }
        EUR{
            "€",
            "Yulù",
        }
        GBP{
            "£",
            "Bɔ̀ŋ Sɨ̀telè è Bèletì",
        }
        GHC{
            "GHC",
            "Sɛ̀di è Gaanà",
        }
        GMD{
            "GMD",
            "Dàlasì è Gambìa",
        }
        GNS{
            "GNS",
            "Fàlâŋ è Ginè",
        }
        INR{
            "₹",
            "Lukpì è Endìa",
        }
        JPY{
            "JP¥",
            "Ghɨ̂n Dzàkpànê",
        }
        KES{
            "KES",
            "Shwɨlà tɨ Kenyà",
        }
        KMF{
            "KMF",
            "Fàlâŋ è Komolìa",
        }
        LRD{
            "LRD",
            "Dɔlà Làebɛlìa",
        }
        LSL{
            "LSL",
            "Lɔtì Lèsutù",
        }
        LYD{
            "LYD",
            "Dinà è Lebìa",
        }
        MAD{
            "MAD",
            "Dilàm è Mòlokò",
        }
        MGA{
            "MGA",
            "Àlǐalè è Màlàgasì",
        }
        MRO{
            "MRO",
            "Ùgueya è Mùlètenyìa",
        }
        MUR{
            "MUR",
            "Lukpìi è Mùleshòs",
        }
        MWK{
            "MWK",
            "Kwachà è Màlawè",
        }
        MZM{
            "MZM",
            "Mètikà è Mùzàmbî",
        }
        NAD{
            "NAD",
            "Dɔlà è Nàmibìa",
        }
        NGN{
            "NGN",
            "Naelà è Gɨ̀anyɨ",
        }
        RWF{
            "RWF",
            "Fàlâŋ è Lùwandà",
        }
        SAR{
            "SAR",
            "Leyà è Sàwudì",
        }
        SCR{
            "SCR",
            "Lukpìi è Sɛchɛ̀lɛ̀",
        }
        SDG{
            "SDG",
            "Bɔ̀ŋ è Sùdànê",
        }
        SHP{
            "SHP",
            "Bɔ̀ŋ è Sɛ̀n Èlenà",
        }
        SLL{
            "SLL",
            "Lyɔ̂ŋ",
        }
        SOS{
            "SOS",
            "Shwɨlà è Sùmalìa",
        }
        STD{
            "STD",
            "Dɔbàlà è Sàwu Tɔ̀me à Pèlènsipè",
        }
        SZL{
            "SZL",
            "Lèlàŋgenè",
        }
        TND{
            "TND",
            "Dinà è Tùwneshìa",
        }
        TZS{
            "TZS",
            "Shwɨlà è Tàanzanyìa",
        }
        UGX{
            "UGX",
            "Shwɨlà è Yùgandà",
        }
        USD{
            "US$",
            "Dɔlà è US",
        }
        XAF{
            "FCFA",
            "CFA Fàlâŋ BEAC",
        }
        XOF{
            "CFA",
            "CFA Fàlâŋ BCEAO",
        }
        ZAR{
            "ZAR",
            "Lân è Afɨlekà ghɨ Emàm ghò",
        }
        ZMK{
            "ZMK",
            "Kwachà è Zambìa (1968–2012)",
        }
        ZMW{
            "ZMW",
            "Kwachà è Zambìa",
        }
        ZWD{
            "ZWD",
            "Dɔlà è Zìmbagbɛ̀",
        }
    }
    Version{"2.0.92.87"}
}
