﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/twq.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/twq.xml
 */
twq{
    Currencies{
        AED{
            "AED",
            "Laaraw Immaara Margantey Dirham",
        }
        AOA{
            "AOA",
            "Angoola Kwanza",
        }
        AUD{
            "A$",
            "Ostraali Dollar",
        }
        BHD{
            "BHD",
            "Bahareen Dinar",
        }
        BIF{
            "BIF",
            "Burundi Fraŋ",
        }
        BWP{
            "BWP",
            "Botswaana Pund",
        }
        CAD{
            "CA$",
            "Kanaada Dollar",
        }
        CDF{
            "CDF",
            "Kongo Fraŋ",
        }
        CHF{
            "CHF",
            "Swisu Fraŋ",
        }
        CNY{
            "CN¥",
            "Sinwa Yuan Renminbi",
        }
        CVE{
            "CVE",
            "Kapuver Escudo",
        }
        DJF{
            "DJF",
            "Jibuuti Fraŋ",
        }
        DZD{
            "DZD",
            "Alžeeri Dinar",
        }
        EGP{
            "EGP",
            "Misra Pund",
        }
        ERN{
            "ERN",
            "Eritree Nafka",
        }
        ETB{
            "ETB",
            "Ecioopi Birr",
        }
        EUR{
            "€",
            "Eero",
        }
        GBP{
            "£",
            "Britin Pund",
        }
        GHC{
            "GHC",
            "Gaana Šiidi",
        }
        GMD{
            "GMD",
            "Gambi Dalasi",
        }
        GNS{
            "GNS",
            "Ginee Fraŋ",
        }
        INR{
            "₹",
            "Indu Rupii",
        }
        JPY{
            "JP¥",
            "Jaapoŋ Yen",
        }
        KES{
            "KES",
            "Keeniya Šiiliŋ",
        }
        KMF{
            "KMF",
            "Komoor Fraŋ",
        }
        LRD{
            "LRD",
            "Liberia Dollar",
        }
        LSL{
            "LSL",
            "Leezoto Loti",
        }
        LYD{
            "LYD",
            "Liibi Dinar",
        }
        MAD{
            "MAD",
            "Maarok Dirham",
        }
        MGA{
            "MGA",
            "Malgaaši Fraŋ",
        }
        MRO{
            "MRO",
            "Mooritaani Ugiya",
        }
        MUR{
            "MUR",
            "Mooris Rupii",
        }
        MWK{
            "MWK",
            "Malaawi Kwaca",
        }
        MZM{
            "MZM",
            "Mozambik Metikal",
        }
        NAD{
            "NAD",
            "Naamibi Dollar",
        }
        NGN{
            "NGN",
            "Naajiriya Neera",
        }
        RWF{
            "RWF",
            "Rwanda Fraŋ",
        }
        SAR{
            "SAR",
            "Saudiya Riyal",
        }
        SCR{
            "SCR",
            "Seešel Rupii",
        }
        SDG{
            "SDG",
            "Suudaŋ Dinar",
        }
        SDP{
            "SDP",
            "Suudaŋ Pund",
        }
        SHP{
            "SHP",
            "Seŋ Helena Fraŋ",
        }
        SLL{
            "SLL",
            "Leeon",
        }
        SOS{
            "SOS",
            "Somaali Šiiliŋ",
        }
        STD{
            "STD",
            "Sao Tome nda Prinsipe Dobra",
        }
        SZL{
            "SZL",
            "Lilangeni",
        }
        TND{
            "TND",
            "Tunizi Dinar",
        }
        TZS{
            "TZS",
            "Tanzaani Šiiliŋ",
        }
        UGX{
            "UGX",
            "Uganda Šiiliŋ",
        }
        USD{
            "US$",
            "Ameriki Dollar",
        }
        XAF{
            "FCFA",
            "CFA Fraŋ (BEAC)",
        }
        XOF{
            "CFA",
            "CFA Fraŋ (BCEAO)",
        }
        ZAR{
            "ZAR",
            "Hawasa Afriki Rand",
        }
        ZMK{
            "ZMK",
            "Zambi Kwaca (1968–2012)",
        }
        ZMW{
            "ZMW",
            "Zambi Kwaca",
        }
        ZWD{
            "ZWD",
            "Zimbabwe Dollar",
        }
    }
    Version{"2.0.92.87"}
}
