# Copyright 2012 Google Inc.
# 
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
# 
# http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.

#
# The key is an ISO4217 currency code, and the value is of the form:
#   display name|symbol|decimal digits|not-used-flag|rounding
# 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
# If a currency should be rounded to a multiple of of the least significant
#   digit, rounding will be present
# Trailing empty fields can be omitted

# DO NOT EDIT - GENERATED FROM CLDR DATA
ADP = peseta andorrana||0|1
AED = dírham de los Emiratos Árabes Unidos
AFA = afgani (1927–2002)|||1
AFN = afgani||0
ALL = lek||0
AMD = dram
ANG = florín de las Antillas Neerlandesas
AOA = kuanza
AOK = kwanza angoleño (1977–1990)|||1
AON = nuevo kwanza angoleño (1990–2000)|||1
AOR = kwanza reajustado angoleño (1995–1999)|||1
ARA = austral argentino|||1
ARP = peso argentino (1983–1985)|||1
ARS = peso argentino
ATS = chelín austriaco|||1
AUD = dólar australiano
AWG = florín arubeño
AZM = manat azerí (1993–2006)|||1
AZN = manat azerbaiyano
BAD = dinar bosnio|||1
BAM = marco convertible de Bosnia y Herzegovina
BBD = dólar barbadense
BDT = taka
BEC = franco belga (convertible)|||1
BEF = franco belga|||1
BEL = franco belga (financiero)|||1
BGL = lev fuerte búlgaro|||1
BGN = lev búlgaro
BHD = dinar bahreiní||3
BIF = franco burundés||0
BMD = dólar de Bermudas
BND = dólar bruneano
BOB = boliviano
BOP = peso boliviano|||1
BOV = MVDOL boliviano|||1
BRB = nuevo cruceiro brasileño (1967–1986)|||1
BRC = cruzado brasileño|||1
BRE = cruceiro brasileño (1990–1993)|||1
BRL = real brasileño
BRN = nuevo cruzado brasileño|||1
BRR = cruceiro brasileño|||1
BSD = dólar bahameño
BTN = gultrum
BUK = kyat birmano|||1
BWP = pula
BYB = nuevo rublo bielorruso (1994–1999)|||1
BYN = rublo bielorruso
BYR = rublo bielorruso (2000–2016)||0|1
BZD = dólar beliceño
CAD = dólar canadiense|CA$
CDF = franco congoleño
CHE = euro WIR|||1
CHF = franco suizo
CHW = franco WIR|||1
CLF = unidad de fomento chilena||4|1
CLP = peso chileno||0
CNH = yuan chino (extracontinental)|||1
CNY = yuan
COP = peso colombiano
COU = unidad de valor real colombiana|||1
CRC = colón costarricense
CSD = antiguo dinar serbio|||1
CSK = corona fuerte checoslovaca|||1
CUC = peso cubano convertible
CUP = peso cubano
CVE = escudo de Cabo Verde
CYP = libra chipriota|||1
CZK = corona checa
DDM = ostmark de Alemania del Este|||1
DEM = marco alemán|||1
DJF = franco yibutiano||0
DKK = corona danesa
DOP = peso dominicano
DZD = dinar argelino
ECS = sucre ecuatoriano|||1
ECV = unidad de valor constante (UVC) ecuatoriana|||1
EEK = corona estonia|||1
EGP = libra egipcia
ERN = nakfa
ESA = peseta española (cuenta A)|||1
ESB = peseta española (cuenta convertible)|||1
ESP = peseta española|₧|0|1
ETB = bir
EUR = euro|€
FIM = marco finlandés|||1
FJD = dólar fiyiano
FKP = libra malvinense
FRF = franco francés|||1
GBP = libra esterlina
GEK = kupon larit georgiano|||1
GEL = lari|₾
GHC = cedi ghanés (1979–2007)|||1
GHS = cedi
GIP = libra gibraltareña
GMD = dalasi
GNF = franco guineano||0
GNS = syli guineano|||1
GQE = ekuele de Guinea Ecuatorial|||1
GRD = dracma griego|||1
GTQ = quetzal guatemalteco
GWE = escudo de Guinea Portuguesa|||1
GWP = peso de Guinea-Bissáu|||1
GYD = dólar guyanés
HKD = dólar hongkonés
HNL = lempira hondureño
HRD = dinar croata|||1
HRK = kuna
HTG = gourde haitiano
HUF = forinto húngaro
IDR = rupia indonesia
IEP = libra irlandesa|||1
ILP = libra israelí|||1
ILS = nuevo séquel israelí
INR = rupia india
IQD = dinar iraquí||0
IRR = rial iraní||0
ISK = corona islandesa||0
ITL = lira italiana||0|1
JMD = dólar jamaicano
JOD = dinar jordano||3
JPY = yen||0
KES = chelín keniano
KGS = som
KHR = riel
KMF = franco comorense||0
KPW = won norcoreano||0
KRW = won surcoreano||0
KWD = dinar kuwaití||3
KYD = dólar de las Islas Caimán
KZT = tenge kazako
LAK = kip||0
LBP = libra libanesa||0
LKR = rupia esrilanquesa
LRD = dólar liberiano
LSL = loti lesothense
LTL = litas lituano|||1
LTT = talonas lituano|||1
LUC = franco convertible luxemburgués|||1
LUF = franco luxemburgués||0|1
LUL = franco financiero luxemburgués|||1
LVL = lats letón|||1
LVR = rublo letón|||1
LYD = dinar libio||3
MAD = dírham marroquí
MAF = franco marroquí|||1
MDL = leu moldavo
MGA = ariari||0
MGF = franco malgache||0|1
MKD = dinar macedonio
MLF = franco malí|||1
MMK = kiat||0
MNT = tugrik
MOP = pataca de Macao
MRO = uguiya (1973–2017)||0|1
MRU = uguiya
MTL = lira maltesa|||1
MTP = libra maltesa|||1
MUR = rupia mauriciana
MVR = rufiya
MWK = kwacha malauí
MXN = peso mexicano
MXP = peso de plata mexicano (1861–1992)|||1
MXV = unidad de inversión (UDI) mexicana|||1
MYR = ringit
MZE = escudo mozambiqueño|||1
MZM = antiguo metical mozambiqueño|||1
MZN = metical
NAD = dólar namibio
NGN = naira
NIC = córdoba nicaragüense (1988–1991)|||1
NIO = córdoba nicaragüense
NLG = florín neerlandés|||1
NOK = corona noruega
NPR = rupia nepalí
NZD = dólar neozelandés
OMR = rial omaní||3
PAB = balboa panameño
PEI = inti peruano|||1
PEN = sol peruano
PES = sol peruano (1863–1965)|||1
PGK = kina
PHP = peso filipino
PKR = rupia pakistaní
PLN = esloti
PLZ = zloty polaco (1950–1995)|||1
PTE = escudo portugués|||1
PYG = guaraní paraguayo||0
QAR = rial catarí
RHD = dólar rodesiano|||1
ROL = antiguo leu rumano|||1
RON = leu rumano
RSD = dinar serbio||0
RUB = rublo ruso
RUR = rublo ruso (1991–1998)|||1
RWF = franco ruandés||0
SAR = rial saudí
SBD = dólar salomonense
SCR = rupia seychellense
SDD = dinar sudanés|||1
SDG = libra sudanesa
SDP = libra sudanesa antigua|||1
SEK = corona sueca
SGD = dólar singapurense
SHP = libra de Santa Elena
SIT = tólar esloveno|||1
SKK = corona eslovaca|||1
SLL = leona||0
SOS = chelín somalí||0
SRD = dólar surinamés
SRG = florín surinamés|||1
SSP = libra sursudanesa
STD = dobra (1977–2017)||0|1
STN = dobra
SUR = rublo soviético|||1
SVC = colón salvadoreño|||1
SYP = libra siria||0
SZL = lilangeni
THB = bat|฿
TJR = rublo tayiko|||1
TJS = somoni tayiko
TMM = manat turcomano (1993–2009)||0|1
TMT = manat turcomano
TND = dinar tunecino||3
TOP = paanga
TPE = escudo timorense|||1
TRL = lira turca (1922–2005)||0|1
TRY = lira turca|TL
TTD = dólar de Trinidad y Tobago
TWD = nuevo dólar taiwanés
TZS = chelín tanzano
UAH = grivna
UAK = karbovanet ucraniano|||1
UGS = chelín ugandés (1966–1987)|||1
UGX = chelín ugandés||0
USD = dólar estadounidense|US$
USN = dólar estadounidense (día siguiente)|||1
USS = dólar estadounidense (mismo día)|||1
UYI = peso uruguayo en unidades indexadas||0|1
UYP = peso uruguayo (1975–1993)|||1
UYU = peso uruguayo
UYW = unidad previsional uruguayo||4|1
UZS = sum
VEB = bolívar venezolano (1871–2008)|||1
VEF = bolívar venezolano (2008–2018)|||1
VES = bolívar venezolano
VND = dong|₫|0
VUV = vatu||0
WST = tala
XAF = franco CFA de África Central||0
XAG = plata|||1
XAU = oro|||1
XBA = unidad compuesta europea|||1
XBB = unidad monetaria europea|||1
XBC = unidad de cuenta europea (XBC)|||1
XBD = unidad de cuenta europea (XBD)|||1
XCD = dólar del Caribe Oriental
XDR = derechos especiales de giro|||1
XEU = unidad de moneda europea|||1
XFO = franco oro francés|||1
XFU = franco UIC francés|||1
XOF = franco CFA de África Occidental||0
XPD = paladio|||1
XPF = franco CFP|CFPF|0
XPT = platino|||1
XRE = fondos RINET|||1
XTS = código reservado para pruebas|||1
XXX = moneda desconocida|¤||1
YDD = dinar yemení|||1
YER = rial yemení||0
YUD = dinar fuerte yugoslavo|||1
YUM = super dinar yugoslavo|||1
YUN = dinar convertible yugoslavo|||1
ZAL = rand sudafricano (financiero)|||1
ZAR = rand
ZMK = kwacha zambiano (1968–2012)||0|1
ZMW = kwacha zambiano
ZRN = nuevo zaire zaireño|||1
ZRZ = zaire zaireño|||1
ZWD = dólar de Zimbabue||0|1
ZWL = dólar zimbabuense|||1
