# Do not edit - generated from Unicode CLDR data
#   main/sk.xml - r4184 2009-06-15 16:34:50 -0400 (Mon, 15 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 = Andorská peseta||0|1
AED = UAE dirham
AFA = AFA|||1
AFN = AFN|Af|0
ALL = Albánsky lek||0
AMD = Armenský dram||0
ANG = Nizozemský Antilský guilder|NAf.
AOA = Angolská kwanza|Kz
AOK = Angolská kwanza (1977-1990)|||1
AON = Angolská nová kwanza (1990-2000)|||1
AOR = Angolská kwanza Reajustado (1995-1999)|||1
ARA = Argentinský austral|₳||1
ARL = ARL|$L||1
ARM = ARM|m$n||1
ARP = Argentinské peso (1983-1985)|||1
ARS = Argentinské peso|AR$
ATS = Rakúsky šiling|||1
AUD = Austrálsky dolár|AU$
AWG = Arubský guilder|Afl.
AZM = Azerbaidžanský manat|||1
AZN = AZN|man.
BAD = Bosnianský dinár|||1
BAM = Bosnianský konvertibilná marka|KM
BBD = Barbadoský dolár|Bds$
BDT = Bangladéšska taka|Tk
BEC = Belgický frank (konvertibilný)
BEF = Belgický frank|BF||1
BEL = Belgický frank (finančný)
BGL = Bulharský leva|||1
BGN = Bulharský leva nový
BHD = Bahraiský dinár|BD|3
BIF = Burundský frank|FBu|0
BMD = Bermudský dolár|BD$
BND = Bruneiský dolár|BN$
BOB = Bolívijské Boliviano|Bs
BOP = Bolivíjske peso|$b.||1
BOV = Bolivíjske mvdol
BRB = Bolivíjske Cruzeiro Novo (1967-1986)|||1
BRC = Bolivíjske cruzado|||1
BRE = Bolivíjske cruzeiro (1990-1993)|||1
BRL = Bolivíjsky real|R$
BRN = Brazílske Cruzado Novo|||1
BRR = Brazílske cruzeiro|||1
BSD = Bahamský dolár|BS$
BTN = Bhutansky ngultrum|Nu.
BUK = Burmese Kyat|||1
BWP = Botswanan Pula
BYB = Belarussian nový rubeľ (1994-1999)|||1
BYR = Belarussian rubeľ||0
BZD = Belize dolár|BZ$
CAD = Kanadský dolár|CA$
CDF = Konžský frank Congolais
CHE = CHE
CHF = Švajčiarský frank|Fr.
CHW = CHW
CLE = CLE|Eº||1
CLF = Čílske Unidades de Fomento||0
CLP = Čílske peso|CL$|0
CNY = Čínsky Yuan Renminbi|CN¥
COP = Colombijské peso|CO$|0
COU = COU
CRC = Kostarikský colon|₡|0
CSD = CSD|||1
CSK = Československá koruna|||1
CUC = CUC|CUC$
CUP = Kubánske peso|CU$
CVE = Cape Verde eskudo|CV$
CYP = Cypruská libra|CY£||1
CZK = Česká koruna|Kč
DDM = Východonemecká marka|||1
DEM = Nemecká marka|DM||1
DJF = Džibutský frank|Fdj|0
DKK = Dánska krone|Dkr
DOP = Dominikánske peso|RD$
DZD = Alžírsky dinár|DA
ECS = Ekuadorský sucre|||1
ECV = Ekuadorský Unidad de Valor Constante (UVC)
EEK = Estónska kroon|Ekr
EGP = Egyptská libra|EG£
EQE = EQE|||1
ERN = Eritrejská nakfa|Nfk
ESA = ESA
ESB = ESB
ESP = Španielská peseta|Pts|0|1
ETB = Ethiopský birr|Br
EUR = Euro|€
FIM = Finská marka|mk||1
FJD = Fiji dolár|FJ$
FKP = Falklandská libra|FK£
FRF = Francúzsky frank|₣||1
GBP = Britská libra|£
GEK = Gruzínsky Kupon Larit|||1
GEL = Gruzínsky lari
GHC = Ghanský cedi|₵||1
GHS = GHS|GH₵
GIP = Gibraltarská libra|GI£
GMD = Gambský dalasi
GNF = Guinejský frank|FG|0
GNS = Guinejský syli|||1
GQE = Rovníková Guinea Ekwele Guineana|||1
GRD = Grécka drachma|₯||1
GTQ = Guatemalský quetzal
GWE = Portugalská Guinea eskudo|||1
GWP = Guinea-Bissau peso
GYD = Guyanský dolár|GY$|0
HKD = Hong Kongský dolár|HK$
HNL = Hoduraská lempira
HRD = Chorvátsky dinár|||1
HRK = Chorvátska kuna|kn
HTG = Haitské gourde
HUF = Maďarský forint|Ft|0
IDR = Indonézska rupia|Rp|0
IEP = Írska libra|IR£||1
ILP = Izraelská libra|I£||1
ILS = Izraelský šekel|₪
INR = Indijská rupia|Rs
IQD = Iracký dinár||0
IRR = Iránsky rial||0
ISK = Islandská krona|Ikr|0
ITL = Talianská lira|IT₤|0|1
JMD = Jamajský dolár|J$
JOD = Jordánsky dinár|JD|3
JPY = Japonský yen|JP¥|0
KES = Keňský šiling|Ksh
KGS = Kyrgyský som
KHR = Kambodžský riel
KMF = Comoro frank|CF|0
KPW = Severokórejský won||0
KRW = Juhokórejský won|₩|0
KWD = Kuvaitský dinár|KD|3
KYD = Kajmanský dolár|KY$
KZT = Kazažský tenge
LAK = Laoský kip|₭|0
LBP = Libanonská libra|LB£|0
LKR = Šrilanská rupia|SLRs
LRD = Libérský dolár|L$
LSL = Lesothský loti
LSM = LSM|||1
LTL = Litevská lita|Lt
LTT = Litevský talonas|||1
LUC = LUC
LUF = Luxemburský frank||0|1
LUL = LUL
LVL = Lotyšský lats|Ls
LVR = Lotyšský rubeľ|||1
LYD = Libyjský dinár|LD|3
MAD = Marocký dirham
MAF = Marocký frank|||1
MDL = Moldavský leu
MGA = Madagaskarský ariary||0
MGF = Madagaskarský frank||0|1
MKD = Macedónsky denár
MLF = Malský frank|||1
MMK = Myanmarský kyat||0
MNT = Mongolský tugrik|₮|0
MOP = Macao Pataca|MOP$
MRO = Mauritania Ouguiya|UM|0
MTL = Maltská lira|Lm||1
MTP = Maltská libra|MT£||1
MUR = Mauritská rupia|MURs|0
MVR = Maldivská rufiyaa
MWK = Malavská kwacha
MXN = Mexické peso
MXP = Mexické striborné peso (1861-1992)|MX$||1
MXV = Mexické Unidad de Inversion (UDI)
MYR = Malajský ringgit|RM
MZE = Mozambijské eskudo|||1
MZM = Mozambijské metical|Mt||1
MZN = MZN|MTn
NAD = Namibský dolár|N$
NGN = Nigerská naira|₦
NIC = Nikaragujská cordoba|||1
NIO = Nikaragujská Cordoba Oro|C$
NLG = Nizozemský guilder|fl||1
NOK = Nórksy krone|Nkr
NPR = Nepálska rupia|NPRs
NZD = Novozélandský dolár|NZ$
OMR = Ománský rial||3
PAB = Panamská balboa|B/.
PEI = Peruvský inti|I/.||1
PEN = Peruvský sol Nuevo|S/.
PES = Peruvský sol|||1
PGK = Papua Nová Guinea kina
PHP = Filipínske peso|₱
PKR = Pakistanská rupia|PKRs|0
PLN = Polský zloty|zł
PLZ = Polský zloty (1950-1995)|||1
PTE = Portugalské eskudo|Esc||1
PYG = Paraguayské guarani|₲|0
QAR = Qatarský rial|QR
RHD = RHD|RH$||1
ROL = Rumunský leu|||1
RON = Rumunský Lei
RSD = Srbský dinár|din.|0
RUB = Ruský rubeľ
RUR = Ruský rubeľ (1991-1998)|||1
RWF = Rwandský frank||0
SAR = Saudský riyal|SR
SBD = Solomon Islands dolár|SI$
SCR = Sejšelská rupia|SRe
SDD = Sudánsky dinár|LSd||1
SDG = SDG
SDP = Sudánska libra|||1
SEK = Švédska krona|Skr
SGD = Singapúrsky dolár|S$
SHP = Libra|SH£
SIT = Slovinský Tolar|||1
SKK = Slovenská koruna|Sk||1
SLL = Sierra Leone Leone|Le|0
SOS = Somálsky šiling|Ssh|0
SRD = SRD|SR$
SRG = Surinamský guilder|Sf||1
STD = Sao Tome a Principe dobra|Db|0
SUR = Sovietský rubeľ|||1
SVC = El Salvadorský colon|SV₡||1
SYP = Syrská libra|SY£|0
SZL = Swaziland lilangeni
THB = Thajský bát|฿
TJR = Tadžikistanský rubeľ|||1
TJS = Tadžikistanský somoni
TMM = Turkménsky manat||0|1
TND = Tuniský dinár|DT|3
TOP = Tonga Paʻanga|T$
TPE = Timorské eskudo|||1
TRL = Turecká lira||0|1
TRY = Nová turecká líra|TL
TTD = Trinidad a Tobago dolár|TT$
TWD = Taiwanský nový dolár|NT$
TZS = Tanzanský šiling|TSh|0
UAH = Ukrainská hrivna|₴
UAK = Ukrainský karbovanetz|||1
UGS = Ugandan šiling (1966-1987)|||1
UGX = Ugandský šiling|USh|0
USD = US dolár|US$
USN = US dolár (Next day)
USS = US dolár (Same day)
UYI = UYI
UYP = Uruguajské peso (1975-1993)|||1
UYU = Uruguajské peso Uruguayo|$U
UZS = Uzbekistanský sum||0
VEB = Venezuelský bolivar|||1
VEF = VEF|Bs.F.
VND = Vietnamský dong|₫|0
VUV = Vanuatu vatu|VT|0
WST = Západná Samoa tala|WS$
XAF = CFA frank BEAC|FCFA|0
XAG = XAG
XAU = Zlato
XBA = XBA
XBB = XBB
XBC = XBC
XBD = XBD
XCD = East Caribbean dolár|EC$
XDR = Špeciálne práva čerpania
XEU = XEU
XFO = Francúzsky zlatý frank
XFU = Francúzsky UIC-frank
XOF = CFA frank BCEAO|CFA|0
XPD = XPD
XPF = CFP frank|CFPF|0
XPT = XPT
XRE = XRE
XTS = XTS
XXX = XXX
YDD = Jemenský dinár|||1
YER = Jemenský rial|YR|0
YUD = Juhoslávsky dinár [YUD]|||1
YUM = Juhoslávsky Noviy dinár|||1
YUN = Juhoslávsky dinár|||1
ZAL = Juhoafrický rand (financial)
ZAR = Juhoafrický rand|R
ZMK = Zambská kwacha|ZK|0
ZRN = Zairský nový zaire|NZ||1
ZRZ = Zairský Zaire|||1
ZWD = Zimbabský dolár|Z$|0|1
