# 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 = Dirham ya Falme za Kiarabu
AOA = Kwanza ya Angola|Kz
AUD = Ndola ya Australia|AU$
BHD = Dinari ya Bahareni|BD|3
BIF = Faranga ya Burundi|FBu|0
BWP = Pula ya Botswana
CAD = Ndola ya Kanada|CA$
CDF = Faranga ya Kongo
CHF = Faranga ya Uswisi
CNY = Yuan Renminbi ya China|CN¥
CVE = Eskudo ya Kepuvede|CV$
DJF = Faranga ya Jibuti|Fdj|0
DZD = Dinari ya Aljeria|DA
EGP = Vaundi ya Misili|EG£
ERN = Nakfa ya Eritrea|Nfk
ETB = Bir ya Uhabeshi|Br
EUR = Yuro|€
GBP = Pauni ya Uingereza|UK£
GHC = Sedi ya Ghana|₵||1
GMD = Ndalasi ya Gambia
GNS = Faranga ya Gine|||1
INR = Rupia ya India|Rs.
JPY = Sarafu ya Kijapani|JP¥|0
KES = Silingi ya Kenya|Ksh
KMF = Faranga ya Komoro|CF|0
LRD = Dola ya Liberia|L$
LSL = Loti ya Lesoto
LYD = Dinari ya Libya|LD|3
MAD = Dirham ya Moroko
MGA = Ariary ya Bukini||0
MRO = Ugwiya ya Moritania|UM|0
MUR = Rupia ya Morisi|MURs|0
MWK = Kwacha ya Malawi
MZM = Metikali ya Msumbiji|Mt||1
NAD = Ndola ya Namibia|N$
NGN = Naira ya Nijeria|₦
RWF = Faranga ya Rwanda||0
SAR = Riyal ya Saudia|SR
SCR = Rupia ya Shelisheli|SRe
SDG = Vaũndi ya Sudani
SHP = Vaũndi ya Santahelena|SH£
SLL = Leoni|Le|0
SOS = Silingi ya Somalia|Ssh|0
STD = Dobra ya Sao Tome na Principe|Db|0
SZL = Lilangeni
TND = Ndinari ya Tunisia|DT|3
TZS = Silingi ya Tanzania|TSh|0
UGX = Silingi ya Uganda|USh|0
USD = Ndola ya Marekani|US$
XAF = Faranga CFA BEAC|FCFA|0
XOF = Faranga CFA BCEAO|CFA|0
ZAR = Randi ya Afrika Kusini|R
ZMK = Kwacha ya Zambia|ZK|0
ZWD = Ndola ya Zimbabwe|Z$|0|1
