# Do not edit - generated from CLDR data
#  supplemental/supplementalData.xml revision 1.152 (2007/12/04 15:02:41)
#  main/ro.xml revision 1.86 (2007/11/28 00:21:09)
#
# 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 = pesetă andorrană||0|1
AED = dirham Emiratele Arabe Unite
ALL = leka albaneză
AMD = dram armean
ANG = gulden Antilele Olandeze
ARP = peso argentinian (1983–1985)|||1
ARS = peso argentinian
ATS = șiling austriac|||1
AUD = dolar australian
AZN = manat azerbaidjan
BAD = dinar Bosnia-Herțegovina|||1
BAM = marcă convertibilă bosniacă
BBD = dolar Barbados
BDT = taka Bangladeș
BEC = franc belgian (convertibil)|||1
BEF = franc belgian|||1
BEL = franc belgian (financiar)|||1
BGN = leva bulgărească nouă
BIF = franc Burundi||0
BMD = dolar Bermude
BND = dolar Brunei
BOB = boliviano
BOP = peso bolivian|||1
BOV = mvdol bolivian|||1
BRE = cruzeiro brazilian (1990–1993)|||1
BRL = real brazilian
BRR = cruzeiro brazilian|||1
BSD = dolar Bahamas
BTN = ngultrum Bhutan|||1
BUK = kyat birman|||1
BYR = rublă bielorusă||0
BZD = dolar Belize
CAD = dolar canadian
CDF = franc congolez
CHF = franc elvețian||2
CLP = peso chilian||0
CNY = yuan renminbi chinezesc
COP = peso columbian
CRC = colon costarican
CSD = dinar vechi Serbia și Muntenegru|||1
CUP = peso cubanez
CVE = escudo al Capului Verde
CYP = liră cipriotă|||1
CZK = coroană cehă
DDM = marcă est-germană|||1
DEM = marcă germană|||1
DJF = franc Djibouti||0
DKK = coroană daneză
DOP = peso dominican
DZD = dinar algerian
ECS = sucre Ecuador|||1
EEK = coroană estoniană
EGP = liră egipteană
ESP = pesetă spaniolă||0|1
ETB = birr etiopian
EUR = euro|euro
FIM = marcă finlandeză|||1
FJD = dolar Fiji
FKP = liră Insulele Falkland
FRF = franc francez|||1
GBP = liră sterlină
GEL = lari georgian
GHC = cedi Ghana|||1
GIP = liră Gibraltar
GMD = dalasi Gambia
GNF = franc Guineea||0
GRD = drahmă grecească|||1
GTQ = quetzal Guatemala
GWP = peso Guineea-Bissau
GYD = dolar Guyana
HKD = dolar Hong Kong
HNL = lempira Honduras
HRD = dinar croat|||1
HRK = kuna croată
HTG = gourde Haiti
HUF = forint maghiar
IDR = rupie indoneziană
IEP = liră irlandeză|||1
ILP = liră israeliană|||1
ILS = șechel israelian nou
INR = rupie indiană
IQD = dinar irakian||3
IRR = rial iranian
ISK = coroană islandeză
ITL = liră italiană||0|1
JMD = dolar jamaican
JOD = dinar iordanian||3
JPY = yen japonez||0
KES = șiling kenyan
KGS = som Kirghizstan
KHR = riel cambodgian
KMF = franc comorian||0
KPW = won nord-coreean
KRW = won sud-coreean||0
KWD = dinar kuweitian||3
KYD = dolar Insulele Cayman
LAK = kip Laos
LBP = liră libaneză
LKR = rupie Sri Lanka
LRD = dolar liberian
LTL = lit lituanian
LUC = franc convertibil luxemburghez|||1
LUF = franc luxemburghez||0|1
LUL = franc financiar luxemburghez|||1
LVL = lats Letonia
LVR = rublă Letonia|||1
LYD = dinar libian||3
MAD = dirham marocan
MAF = franc marocan|||1
MDL = leu moldovenesc
MGF = franc Madagascar||0|1
MKD = dinar macedonean
MLF = franc Mali|||1
MMK = kyat Myanmar
MNT = tugrik mongol
MTL = liră malteză|||1
MXN = peso mexican
MXP = peso mexican de argint (1861–1992)|||1
MYR = ringgit malaiezian
MZE = escudo Mozambic|||1
MZM = metical Mozambic vechi|||1
MZN = metical Mozambic
NAD = dolar namibian|||1
NIC = cordoba Nicaragua|||1
NLG = gulden olandez|||1
NOK = coroană norvegiană
NPR = rupie nepaleză
NZD = dolar neozeelandez
OMR = riyal Oman||3
PAB = balboa panamez
PEI = inti Peru|||1
PEN = sol nou Peru
PES = sol Peru|||1
PGK = kina Papua-Noua Guinee
PHP = peso filipinez
PKR = rupie pakistaneză
PLN = zlot nou polonez
PLZ = zlot polonez (1950–1995)|||1
PYG = guarani Paraguay||0
QAR = riyal Qatar
RHD = dolar rhodesian|||1
ROL = leu vechi|lei vechi||1
RON = leu|lei
RSD = dinar sârbesc
RUB = rublă rusească
RWF = franc rwandez||0
SAR = riyal Arabia Saudită
SBD = dolar Insulele Solomon
SCR = rupie Seychelles
SDD = dinar sudanez|||1
SDP = liră sudaneză|||1
SEK = coroană suedeză
SGD = dolar Singapore
SHP = liră Insula Sf. Elena
SIT = tolar sloven|||1
SKK = coroană slovacă
SLL = leu Sierra Leone
SOS = șiling somalez
SRD = dolar Surinam
SRG = gulden Surinam|||1
STD = dobra Sao Tome și Principe
SUR = rublă sovietică|||1
SVC = colon El Salvador
SYP = liră siriană
THB = baht thailandez
TJR = rublă Tadjikistan|||1
TND = dinar tunisian||3
TRL = liră turcească||0|1
TRY = liră turcească nouă
TTD = dolar Trinidad-Tobago
TWD = dolar nou Taiwan
TZS = șiling tanzanian
UAH = hryvna ucraineană
UAK = carboavă ucraineană|||1
UGS = șiling ugandez (1966–1987)|||1
UGX = șiling ugandez
USD = dolar american
USN = dolar american (ziua următoare)|||1
USS = dolar american (aceeași zi)|||1
UYP = peso Uruguay (1975–1993)|||1
UYU = peso nou Uruguay
UZS = sum Uzbekistan
VEB = bolivar Venezuela|||1
VND = dong vietnamez
XAF = franc Comunitatea Financiară||0
XAG = argint|||1
XAU = aur|||1
XCD = dolar Caraibele de Est
XDR = drepturi speciale de tragere|||1
XFO = franc francez aur|||1
XPD = paladiu|||1
XPT = platină|||1
XTS = cod monetar de test|||1
XXX = monedă necunoscută sau incorectă|||1
YDD = dinar Yemen|||1
YER = riyal Yemen
YUD = dinar iugoslav greu|||1
YUM = dinar iugoslav nou|||1
YUN = dinar iugoslav convertibil|||1
ZAL = rand sud-african (financiar)|||1
ZAR = rand sud-african
ZRN = zair nou|||1
ZWD = dolar Zimbabwe
