# Do not edit - generated from Unicode CLDR data
#   main/es_UY.xml - r4123 2009-05-05 19:06:42 -0400 (Tue, 05 May 2009)
#
# 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

ADP = peseta andorrana||0|1
AED = dírham de los Emiratos Árabes Unidos
AFA = afgani (1927-2002)|||1
AFN = afgani|Af|0
ALL = lek albanés||0
AMD = dram armenio||0
ANG = florín de las Antillas Neerlandesas|NAf.
AOA = kwanza angoleño|Kz
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
ARL = ARL|$L||1
ARM = ARM|m$n||1
ARP = peso argentino (1983-1985)|||1
ARS = peso argentino|AR$
ATS = chelín austriaco|||1
AUD = dólar australiano|AU$
AWG = florín de Aruba|Afl.
AZM = manat azerí (1993-2006)|||1
AZN = manat azerí|man.
BAD = dinar bosnio|||1
BAM = marco convertible de Bosnia-Herzegovina|KM
BBD = dólar de Barbados|Bds$
BDT = taka de Bangladesh|Tk
BEC = franco belga (convertible)
BEF = franco belga|BF||1
BEL = franco belga (financiero)
BGL = lev fuerte búlgaro|||1
BGN = nuevo lev búlgaro
BHD = dinar bahreiní|BD|3
BIF = franco de Burundi|FBu|0
BMD = dólar de Bermudas|BD$
BND = dólar de Brunéi|BN$
BOB = boliviano|Bs
BOP = peso boliviano|$b.||1
BOV = MVDOL boliviano
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|BS$
BTN = ngultrum butanés|Nu.
BUK = kyat birmano|||1
BWP = pula botsuano
BYB = nuevo rublo bielorruso (1994-1999)|||1
BYR = rublo bielorruso||0
BZD = dólar de Belice|BZ$
CAD = dólar canadiense|CA$
CDF = franco congoleño
CHE = euro WIR
CHF = franco suizo|Fr.
CHW = franco WIR
CLE = CLE|Eº||1
CLF = unidad de fomento chilena||0
CLP = peso chileno|CL$|0
CNY = yuan renminbi chino|CN¥
COP = peso colombiano|CO$|0
COU = unidad de valor real colombiana
CRC = colón costarricense|₡|0
CSD = antiguo dinar serbio|||1
CSK = corona fuerte checoslovaca|||1
CUC = CUC|CUC$
CUP = peso cubano|CU$
CVE = escudo de Cabo Verde|CV$
CYP = libra chipriota|CY£||1
CZK = corona checa|Kč
DDM = ostmark de Alemania del Este|||1
DEM = marco alemán|DM||1
DJF = franco de Yibuti|Fdj|0
DKK = corona danesa|Dkr
DOP = peso dominicano|RD$
DZD = dinar argelino|DA
ECS = sucre ecuatoriano|||1
ECV = unidad de valor constante (UVC) ecuatoriana
EEK = corona estonia|Ekr
EGP = libra egipcia|EG£
EQE = EQE|||1
ERN = nakfa eritreo|Nfk
ESA = peseta española (cuenta A)
ESB = peseta española (cuenta convertible)
ESP = peseta española|₧|0|1
ETB = birr etíope|Br
EUR = euro|€
FIM = marco finlandés|mk||1
FJD = dólar de las Islas Fiyi|FJ$
FKP = libra de las Islas Malvinas|FK£
FRF = franco francés|₣||1
GBP = libra esterlina británica|£
GEK = kupon larit georgiano|||1
GEL = lari georgiano
GHC = cedi ghanés|₵||1
GHS = GHS|GH₵
GIP = libra de Gibraltar|GI£
GMD = dalasi gambiano
GNF = franco guineano|FG|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
GYD = dólar guyanés|GY$|0
HKD = dólar de Hong Kong|HK$
HNL = lempira hondureño
HRD = dinar croata|||1
HRK = kuna croata|kn
HTG = gourde haitiano
HUF = florín húngaro|Ft|0
IDR = rupia indonesia|Rp|0
IEP = libra irlandesa|IR£||1
ILP = libra israelí|I£||1
ILS = nuevo sheqel israelí|₪
INR = rupia india|Rs
IQD = dinar iraquí||0
IRR = rial iraní||0
ISK = corona islandesa|Ikr|0
ITL = lira italiana|IT₤|0|1
JMD = dólar de Jamaica|J$
JOD = dinar jordano|JD|3
JPY = yen japonés|JP¥|0
KES = chelín keniata|Ksh
KGS = som kirguís
KHR = riel camboyano
KMF = franco comorense|CF|0
KPW = won norcoreano||0
KRW = won surcoreano|₩|0
KWD = dinar kuwaití|KD|3
KYD = dólar de las Islas Caimán|KY$
KZT = tenge kazako
LAK = kip laosiano|₭|0
LBP = libra libanesa|LB£|0
LKR = rupia de Sri Lanka|SLRs
LRD = dólar liberiano|L$
LSL = loti lesothense
LSM = LSM|||1
LTL = litas lituano|Lt
LTT = talonas lituano|||1
LUC = franco convertible luxemburgués
LUF = franco luxemburgués||0|1
LUL = franco financiero luxemburgués
LVL = lats letón|Ls
LVR = rublo letón|||1
LYD = dinar libio|LD|3
MAD = dirham 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|MOP$
MRO = ouguiya mauritano|UM|0
MTL = lira maltesa|Lm||1
MTP = libra maltesa|MT£||1
MUR = rupia mauriciana|MURs|0
MVR = rufiyaa de Maldivas
MWK = kwacha de Malawi
MXN = peso mexicano
MXP = peso de plata mexicano (1861-1992)|MX$||1
MXV = unidad de inversión (UDI) mexicana
MYR = ringgit malasio|RM
MZE = escudo mozambiqueño|||1
MZM = antiguo metical mozambiqueño|Mt||1
MZN = metical mozambiqueño|MTn
NAD = dólar de Namibia|N$
NGN = naira nigeriano|₦
NIC = córdoba nicaragüense|||1
NIO = córdoba oro nicaragüense|C$
NLG = florín neerlandés|fl||1
NOK = corona noruega|Nkr
NPR = rupia nepalesa|NPRs
NZD = dólar neozelandés|NZ$
OMR = rial omaní||3
PAB = balboa panameño|B/.
PEI = inti peruano|I/.||1
PEN = nuevo sol peruano|S/.
PES = sol peruano|||1
PGK = kina de Papúa Nueva Guinea
PHP = peso filipino|₱
PKR = rupia pakistaní|PKRs|0
PLN = zloty polaco|zł
PLZ = zloty polaco (1950-1995)|||1
PTE = escudo portugués|Esc||1
PYG = guaraní paraguayo|₲|0
QAR = riyal de Qatar|QR
RHD = dólar rodesiano|RH$||1
ROL = antiguo leu rumano|||1
RON = leu rumano
RSD = dinar serbio|din.|0
RUB = rublo ruso
RUR = rublo ruso (1991-1998)|||1
RWF = franco ruandés||0
SAR = riyal saudí|SR
SBD = dólar de las Islas Salomón|SI$
SCR = rupia de Seychelles|SRe
SDD = dinar sudanés|LSd||1
SDG = libra sudanesa
SDP = libra sudanesa antigua|||1
SEK = corona sueca|Skr
SGD = dólar singapurense|S$
SHP = libra de Santa Elena|SH£
SIT = tólar esloveno|||1
SKK = corona eslovaca|Sk||1
SLL = leone de Sierra Leona|Le|0
SOS = chelín somalí|Ssh|0
SRD = dólar surinamés|SR$
SRG = florín surinamés|Sf||1
STD = dobra de Santo Tomé y Príncipe|Db|0
SUR = rublo soviético|||1
SVC = colón salvadoreño|SV₡||1
SYP = libra siria|SY£|0
SZL = lilangeni suazi
THB = baht tailandés|฿
TJR = rublo tayiko|||1
TJS = somoni tayiko
TMM = manat turcomano||0|1
TND = dinar tunecino|DT|3
TOP = paʻanga tongano|T$
TPE = escudo timorense|||1
TRL = lira turca antigua||0|1
TRY = nueva lira turca|TL
TTD = dólar de Trinidad y Tobago|TT$
TWD = nuevo dólar taiwanés|NT$
TZS = chelín tanzano|TSh|0
UAH = grivna ucraniana|₴
UAK = karbovanet ucraniano|||1
UGS = chelín ugandés (1966-1987)|||1
UGX = chelín ugandés|USh|0
USD = dólar estadounidense|US$
USN = dólar estadounidense (día siguiente)
USS = dólar estadounidense (mismo día)
UYI = peso uruguayo en unidades indexadas
UYP = peso uruguayo (1975-1993)|||1
UYU = peso uruguayo|$
UZS = sum uzbeko||0
VEB = bolívar venezolano|||1
VEF = bolívar fuerte venezolano|Bs.F.
VND = dong vietnamita|₫|0
VUV = vatu vanuatuense|VT|0
WST = tala samoano|WS$
XAF = franco CFA BEAC|FCFA|0
XAG = plata
XAU = oro
XBA = unidad compuesta europea
XBB = unidad monetaria europea
XBC = unidad de cuenta europea (XBC)
XBD = unidad de cuenta europea (XBD)
XCD = dólar del Caribe Oriental|EC$
XDR = derechos especiales de giro
XEU = unidad de moneda europea
XFO = franco oro francés
XFU = franco UIC francés
XOF = franco CFA BCEAO|CFA|0
XPD = paladio
XPF = franco CFP|CFPF|0
XPT = platino
XRE = fondos RINET
XTS = código reservado para pruebas
XXX = Sin divisa
YDD = dinar yemení|||1
YER = rial yemení|YR|0
YUD = dinar fuerte yugoslavo|||1
YUM = super dinar yugoslavo|||1
YUN = dinar convertible yugoslavo|||1
ZAL = rand sudafricano (financiero)
ZAR = rand sudafricano|R
ZMK = kwacha zambiano|ZK|0
ZRN = nuevo zaire zaireño|NZ||1
ZRZ = zaire zaireño|||1
ZWD = dólar de Zimbabue|Z$|0|1
