# Do not edit - generated from Unicode CLDR data
#
# The key is an ISO4217 currency code, and the value is of the form:
#   display name|symbol|decimal digits|not-used-flag
# If a symbol is not supplied, the currency code will be used
# If # of decimal digits is omitted, 2 is used
# If a currency is not generally used, not-used-flag=1
# Trailing empty fields can be omitted

AED = arabu mara kafoli Diram
AOA = angola Kwanza|Kz
AUD = ositirali Dolar|AU$
BHD = bareyini Dinar|BD|3
BIF = burundi Fraŋ|FBu|0
BWP = bɔtisiwana Pula
CAD = kanada Dolar|CA$
CDF = kongole Fraŋ
CHF = suwisi Fraŋ
CNY = siniwa Yuwan|CN¥
CVE = capivɛrdi Esekudo|CV$
DJF = jibuti Fraŋ|Fdj|0
DZD = alizeri Dinar|DA
EGP = eziputi Livri|EG£
ERN = eritere Nafika|Nfk
ETB = etiopi Bir|Br
EUR = ero|€
GBP = angilɛ Livri Siterlingi|UK£
GHC = gana Sedi|₵||1
GMD = gambi Dalasi
GNS = gine Fraŋ|||1
INR = Ɛndu Rupi|Rs.
JPY = zapɔne Yɛn|JP¥|0
KES = keniya Siling|Ksh
KMF = komɔri Fraŋ|CF|0
LRD = liberiya Dolar|L$
LSL = lesoto Loti
LYD = libi Dinar|LD|3
MAD = marɔku Diram
MGA = madagasikari Fraŋ||0
MRO = mɔritani Uguwiya|UM|0
MUR = morisi Rupi|MURs|0
MWK = malawi Kwaca
MZM = mozanbiki Metikali|Mt||1
NAD = namibi Dolar|N$
NGN = nizeriya Nɛra|₦
RWF = ruwanda Fraŋ||0
SAR = sawudiya Riyal|SR
SCR = sesɛli Rupi|SRe
SDG = sudani Dinar
SDP = sudani Livri|||1
SHP = Ɛlɛni-Senu Livri|SH£
SLL = siyeralewɔni Lewɔni|Le|0
SOS = somali Siling|Ssh|0
STD = sawotome Dobra|Db|0
SZL = swazilandi Lilangeni
TND = tunizi Dinar|DT|3
TZS = tanzani Siling|TSh|0
UGX = uganda Siling|USh|0
USD = ameriki Dolar|US$
XAF = sefa Fraŋ (BEAC)|FCFA|0
XOF = sefa Fraŋ (BCEAO)|CFA|0
ZAR = sudafriki Randi|R
ZMK = zambi Kwaca|ZK|0
ZWD = zimbabuwe Dolar|Z$|0|1
