# Do not edit - generated from Unicode CLDR data
#   main/es_GT.xml - r4178 2009-06-14 23:46:26 -0400 (Sun, 14 Jun 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|Q
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|$U
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
