# 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 = Ango'otol lok' Falme za Kiarabu
AOA = Ango'otol lok' Angola|Kz
AUD = Ango'otol lok' Australia|AU$
BHD = Ango'otol lok' Bahareni|BD|3
BIF = Ango'otol lok' Burundi|FBu|0
BWP = Ango'otol lok' Botswana
CAD = Edola lok'Kanada|CA$
CDF = Ango'otol lok' Kongo
CHF = Ango'otol lok' Uswisi
CNY = Ango'otol lok' China|CN¥
CVE = Ango'otol lok' Kepuvede|CV$
DJF = Ango'otol lok' Jibuti|Fdj|0
DZD = Ango'otol lok' Aljeria|DA
EGP = Epaunt lok' Misri|EG£
ERN = Ango'otol lok' Eritrea|Nfk
ETB = Ango'otol lok' Uhabeshi|Br
EUR = Yuro|€
GBP = Epaunt lok' Uingereza|UK£
GHC = Sedi ya Ghana|₵||1
GMD = Dalasi ya Gambia
GNS = Ango'otol lok' Gine|||1
INR = Ango'otol lok' India|Rs.
JPY = Ango'otol lok' Kijapani|JP¥|0
KES = Ango'otol lok' Kenya|Ksh
KMF = Ango'otol lok' Komoro|CF|0
LRD = edola lok' Liberia|L$
LSL = Ango'otol lok' Lesoto
LYD = Ango'otol lok' Libya|LD|3
MAD = Ango'otol lok' Moroko
MGA = Ango'otol lok' Bukini||0
MRO = Ango'otol lok' Moritania|UM|0
MUR = Ango'otol lok' Morisi|MURs|0
MWK = Ango'otol lok' Malawi
MZM = Ango'otol lok' Msumbiji|Mt||1
NAD = Ango'otol lok' Namibia|N$
NGN = Ango'otol lok' Nijeria|₦
RWF = Ango'otol lok' Rwanda||0
SAR = Ango'otol lok' Saudia|SR
SCR = Ango'otol lok' Shelisheli|SRe
SDG = Epaunt Lok' Sudan
SHP = Ango'otol lok' Santahelena|SH£
SLL = Leoni|Le|0
SOS = Ango'otol lok' Somalia|Ssh|0
STD = Ango'otol lok' Sao Tome na Principe|Db|0
SZL = Lilangeni
TND = Ango'otol lok' Tunisia|DT|3
TZS = Ango'otol lok' Tanzania|TSh|0
UGX = Ango'otol lok' Uganda|USh|0
USD = edola lok' Amareka|US$
XAF = Ango'otol lok' CFA BEAC|FCFA|0
XOF = Ango'otol lok' CFA BCEAO|CFA|0
ZAR = Ango'otol lok' Afrika Kusini|R
ZMK = Ango'otol lok' Zambia|ZK|0
ZWD = Edola lok'Zimbabwe|Z$|0|1
