﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/root.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/root.xml
 */
root{
    Currencies{
        AUD{
            "A$",
            "AUD",
        }
        BRL{
            "R$",
            "BRL",
        }
        CAD{
            "CA$",
            "CAD",
        }
        CNY{
            "CN¥",
            "CNY",
        }
        EUR{
            "€",
            "EUR",
        }
        GBP{
            "£",
            "GBP",
        }
        HKD{
            "HK$",
            "HKD",
        }
        ILS{
            "₪",
            "ILS",
        }
        INR{
            "₹",
            "INR",
        }
        JPY{
            "JP¥",
            "JPY",
        }
        KRW{
            "₩",
            "KRW",
        }
        MXN{
            "MX$",
            "MXN",
        }
        NZD{
            "NZ$",
            "NZD",
        }
        TWD{
            "NT$",
            "TWD",
        }
        USD{
            "US$",
            "USD",
        }
        VND{
            "₫",
            "VND",
        }
        XAF{
            "FCFA",
            "XAF",
        }
        XCD{
            "EC$",
            "XCD",
        }
        XOF{
            "CFA",
            "XOF",
        }
        XPF{
            "CFPF",
            "XPF",
        }
    }
    Currencies%narrow{
        AOA{"Kz"}
        ARS{"$"}
        AUD{"$"}
        BAM{"KM"}
        BBD{"$"}
        BDT{"৳"}
        BMD{"$"}
        BND{"$"}
        BOB{"Bs"}
        BRL{"R$"}
        BSD{"$"}
        BWP{"P"}
        BYR{"р."}
        BZD{"$"}
        CAD{"$"}
        CLP{"$"}
        CNY{"¥"}
        COP{"$"}
        CRC{"₡"}
        CUC{"$"}
        CUP{"$"}
        CZK{"Kč"}
        DKK{"kr"}
        DOP{"$"}
        EGP{"E£"}
        ESP{"₧"}
        EUR{"€"}
        FJD{"$"}
        FKP{"£"}
        GBP{"£"}
        GIP{"£"}
        GNF{"FG"}
        GTQ{"Q"}
        GYD{"$"}
        HKD{"$"}
        HNL{"L"}
        HRK{"kn"}
        HUF{"Ft"}
        IDR{"Rp"}
        ILS{"₪"}
        INR{"₹"}
        ISK{"kr"}
        JMD{"$"}
        JPY{"¥"}
        KHR{"៛"}
        KMF{"CF"}
        KPW{"₩"}
        KRW{"₩"}
        KYD{"$"}
        KZT{"₸"}
        LAK{"₭"}
        LBP{"L£"}
        LKR{"Rs"}
        LRD{"$"}
        LTL{"Lt"}
        LVL{"Ls"}
        MGA{"Ar"}
        MMK{"K"}
        MNT{"₮"}
        MUR{"Rs"}
        MXN{"$"}
        MYR{"RM"}
        NAD{"$"}
        NGN{"₦"}
        NIO{"C$"}
        NOK{"kr"}
        NPR{"Rs"}
        NZD{"$"}
        PHP{"₱"}
        PKR{"Rs"}
        PLN{"zł"}
        PYG{"₲"}
        RUB{"₽"}
        RUR{"р."}
        RWF{"RF"}
        SBD{"$"}
        SEK{"kr"}
        SGD{"$"}
        SHP{"£"}
        SRD{"$"}
        SSP{"£"}
        STD{"Db"}
        SYP{"£"}
        THB{"฿"}
        TOP{"T$"}
        TRY{"₺"}
        TTD{"$"}
        TWD{"$"}
        UAH{"₴"}
        USD{"$"}
        UYU{"$"}
        VEF{"Bs"}
        VND{"₫"}
        XCD{"$"}
        ZAR{"R"}
        ZMW{"ZK"}
    }
    Currencies%variant{
        GEL{"₾"}
        TRY{"TL"}
    }
    CurrencyUnitPatterns{
        other{"{0} {1}"}
    }
    Version{"2.1.19.19"}
    currencySpacing{
        afterCurrency{
            currencyMatch{"[:^S:]"}
            insertBetween{" "}
            surroundingMatch{"[:digit:]"}
        }
        beforeCurrency{
            currencyMatch{"[:^S:]"}
            insertBetween{" "}
            surroundingMatch{"[:digit:]"}
        }
    }
}
