# 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

BRL = Real Brasil|R$
CNY = Yuan Renminbi Tseina|CN¥
EUR = Ewro|€
GBP = Punt Sterling Prydain|UK£
INR = Rwpî India|Rs.
JPY = Yen Siapan|JP¥|0
RUB = Rwbl Rwsia
USD = Doler yr UDA|US$
