# Copyright 2014 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:
#  cldrVersion=25
#  date=$Date: 2014-03-01 06:57:43 +0100 (Sat, 01 Mar 2014) $
#  number=$Revision: 9852 $
#  type=root
ADP = peseta andorrana||0|1
AED = dírham de los Emiratos Árabes Unidos
AFA = afgani (1927–2002)|||1
AFN = afgani afgano||0
ALL = lek albanés||0
AMD = dram armenio||0
ANG = florín de las Antillas Neerlandesas
AOA = kwanza angoleño
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|AR$
ATS = chelín austriaco|||1
AUD = dólar australiano|$
AWG = florín de Aruba
AZM = manat azerí (1993–2006)|||1
AZN = manat azerí
BAD = dinar bosnio|||1
BAM = marco convertible de Bosnia-Herzegovina
BBD = dólar de Barbados
BDT = taka de Bangladesh|৳
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 de Burundi||0
BMD = dólar de Bermudas|$
BND = dólar de Brunéi
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|R$
BRN = nuevo cruzado brasileño|||1
BRR = cruceiro brasileño|||1
BSD = dólar de las Bahamas|$
BTN = ngultrum butanés
BUK = kyat birmano|||1
BWP = pula botsuano
BYB = nuevo rublo bielorruso (1994–1999)|||1
BYR = rublo bielorruso||0
BZD = dólar de Belice|$
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||0|1
CLP = peso chileno|$|0
CNY = yuan chino|¥
COP = peso colombiano||0
COU = unidad de valor real colombiana|||1
CRC = colón costarricense||0
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 de Yibuti||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 eritreo
ESA = peseta española (cuenta A)|||1
ESB = peseta española (cuenta convertible)|||1
ESP = peseta española|₧|0|1
ETB = birr etíope
EUR = euro|€
FIM = marco finlandés|||1
FJD = dólar de las Islas Fiyi
FKP = libra de las Islas Malvinas
FRF = franco francés|||1
GBP = libra esterlina británica
GEK = kupon larit georgiano|||1
GEL = lari georgiano
GHC = cedi ghanés (1979–2007)|||1
GHS = cedi ghanés
GIP = libra de Gibraltar|£
GMD = dalasi gambiano
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||0
HKD = dólar de Hong Kong|$
HNL = lempira hondureño
HRD = dinar croata|||1
HRK = kuna croata
HTG = gourde haitiano
HUF = florín húngaro||0
IDR = rupia indonesia||0
IEP = libra irlandesa|||1
ILP = libra israelí|||1
ILS = nuevo sheqel israelí|₪
INR = rupia india
IQD = dinar iraquí||0
IRR = rial iraní||0
ISK = corona islandesa||0
ITL = lira italiana||0|1
JMD = dólar de Jamaica
JOD = dinar jordano||3
JPY = yen japonés|¥|0
KES = chelín keniata
KGS = som kirguís
KHR = riel camboyano
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 laosiano||0
LBP = libra libanesa||0
LKR = rupia de Sri Lanka
LRD = dólar liberiano
LSL = loti lesothense
LTL = litas lituano
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 = ariary malgache||0
MGF = franco malgache||0|1
MKD = dinar macedonio
MLF = franco malí|||1
MMK = kyat de Myanmar||0
MNT = tugrik mongol||0
MOP = pataca de Macao
MRO = ouguiya mauritano||0
MTL = lira maltesa|||1
MTP = libra maltesa|||1
MUR = rupia mauriciana||0
MVR = rufiyaa de Maldivas
MWK = kwacha de Malawi
MXN = peso mexicano|$
MXP = peso de plata mexicano (1861–1992)|||1
MXV = unidad de inversión (UDI) mexicana|||1
MYR = ringgit malasio
MZE = escudo mozambiqueño|||1
MZM = antiguo metical mozambiqueño|||1
MZN = metical mozambiqueño
NAD = dólar de Namibia|$
NGN = naira nigeriano
NIC = córdoba nicaragüense (1988–1991)|||1
NIO = córdoba nicaragüense
NLG = florín neerlandés|||1
NOK = corona noruega
NPR = rupia nepalesa
NZD = dólar neozelandés|$
OMR = rial omaní||3
PAB = balboa panameño
PEI = inti peruano|||1
PEN = nuevo sol peruano
PES = sol peruano|||1
PGK = kina de Papúa Nueva Guinea
PHP = peso filipino
PKR = rupia pakistaní||0
PLN = zloty polaco
PLZ = zloty polaco (1950–1995)|||1
PTE = escudo portugués|||1
PYG = guaraní paraguayo|₲|0
QAR = riyal de Qatar
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 = riyal saudí
SBD = dólar de las Islas Salomón|$
SCR = rupia de Seychelles
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 = leone de Sierra Leona||0
SOS = chelín somalí||0
SRD = dólar surinamés
SRG = florín surinamés|||1
SSP = libra sursudanesa|£
STD = dobra de Santo Tomé y Príncipe||0
SUR = rublo soviético|||1
SVC = colón salvadoreño|||1
SYP = libra siria||0
SZL = lilangeni suazi
THB = baht tailandés|฿
TJR = rublo tayiko|||1
TJS = somoni tayiko
TMM = manat turcomano (1993–2009)||0|1
TMT = manat turcomano
TND = dinar tunecino||3
TOP = paʻanga tongano
TPE = escudo timorense|||1
TRL = lira turca (1922–2005)||0|1
TRY = lira turca
TTD = dólar de Trinidad y Tobago|$
TWD = nuevo dólar taiwanés|NT$
TZS = chelín tanzano||0
UAH = grivna ucraniana|₴
UAK = karbovanet ucraniano|||1
UGS = chelín ugandés (1966–1987)|||1
UGX = chelín ugandés||0
USD = dólar estadounidense|$
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
UZS = som uzbeko||0
VEB = bolívar venezolano (1871–2008)|||1
VEF = bolívar venezolano
VND = dong vietnamita||0
VUV = vatu vanuatuense||0
WST = tala samoano
XAF = franco CFA BEAC|FCFA|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|EC$
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 BCEAO||0
XPD = paladio|||1
XPF = franco CFP||0
XPT = platino|||1
XRE = fondos RINET|||1
XTS = código reservado para pruebas|||1
XXX = divisa 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 sudafricano
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
