# Copyright 2012 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
ADP = pesseta andorrana||0|1
AED = dírham de la UEA
AFA = afgani afganès (1927–2002)|||1
AFN = afgani afganès||0
ALK = lek albanès (1946–1965)|||1
ALL = lek albanès||0
AMD = dram armeni
ANG = florí de les Antilles Neerlandeses
AOA = kwanza angolès
AOK = kwanza angolès (1977–1991)|||1
AON = nou kwanza angolès (1990–2000)|||1
AOR = kwanza angolès reajustat (1995–1999)|||1
ARA = austral argentí|||1
ARL = peso ley argentí (1970–1983)|||1
ARM = peso argentí (1981–1970)|||1
ARP = peso argentí (1983–1985)|||1
ARS = peso argentí
ATS = xíling austríac|||1
AUD = dòlar australià|AU$
AWG = florí d’Aruba
AZM = manat azerbaidjanès (1993–2006)|||1
AZN = manat azerbaidjanès
BAD = dinar de Bòsnia i Hercegovina (1992–1994)|||1
BAM = marc convertible de Bòsnia i Hercegovina
BAN = nou dinar de Bòsnia i Hercegovina (1994–1997)|||1
BBD = dòlar de Barbados
BDT = taka de Bangla Desh
BEC = franc belga (convertible)|||1
BEF = franc belga|||1
BEL = franc belga (financer)|||1
BGL = lev fort búlgar|||1
BGM = lev socialista búlgar|||1
BGN = lev búlgar
BGO = lev búlgar (1879–1952)|||1
BHD = dinar de Bahrain||3
BIF = franc de Burundi||0
BMD = dòlar de les Bermudes
BND = dòlar de Brunei
BOB = bolivià
BOL = boliviano bolivià (1863–1963)|||1
BOP = peso bolivià|||1
BOV = MVDOL bolivià|||1
BRB = cruzeiro novo brasiler (1967–1986)|||1
BRC = cruzado brasiler|||1
BRE = cruzeiro brasiler (1990–1993)|||1
BRL = real brasiler
BRN = cruzado novo brasiler|||1
BRR = cruzeiro brasiler|||1
BRZ = antic cruzeiro brasiler|||1
BSD = dòlar de les Bahames
BTN = ngultrum de Bhutan
BUK = kyat birmà|||1
BWP = pula de Botswana
BYB = nou ruble bielorús (1994–1999)|||1
BYN = ruble bielorús
BYR = ruble bielorús (2000–2016)||0|1
BZD = dòlar de Belize
CAD = dòlar canadenc
CDF = franc congolès
CHE = euro WIR|||1
CHF = franc suís
CHW = franc WIR|||1
CLE = escut xilè|||1
CLF = unidad de fomento xilena||4|1
CLP = peso xilè||0
CNH = iuan xinès extracontinental|||1
CNY = iuan xinès
COP = peso colombià
COU = unidad de valor real colombiana|||1
CRC = colon costa-riqueny
CSD = dinar serbi antic|||1
CSK = corona forta txecoslovaca|||1
CUC = peso convertible cubà
CUP = peso cubà
CVE = escut de Cap Verd
CYP = lliura xipriota|||1
CZK = corona txeca
DDM = marc de l’Alemanya Oriental|||1
DEM = marc alemany|||1
DJF = franc de Djibouti||0
DKK = corona danesa
DOP = peso dominicà
DZD = dinar algerià
ECS = sucre equatorià|||1
ECV = unidad de valor constante (UVC) equatoriana|||1
EEK = corona estoniana|||1
EGP = lliura egípcia
ERN = nakfa eritreu
ESA = pesseta espanyola (compte A)|||1
ESB = pesseta espanyola (compte convertible)|||1
ESP = pesseta espanyola|₧|0|1
ETB = birr etíop
EUR = euro|€
FIM = marc finlandès|||1
FJD = dòlar fijià
FKP = lliura de les illes Malvines
FRF = franc francès|||1
GBP = lliura esterlina britànica|£
GEK = cupó de lari georgià|||1
GEL = lari georgià|₾
GHC = cedi ghanès (1979–2007)|||1
GHS = cedi ghanès
GIP = lliura de Gibraltar
GMD = dalasi gambià
GNF = franc guineà||0
GNS = syli guineà|||1
GQE = ekwele de Guinea Equatorial|||1
GRD = dracma grega|||1
GTQ = quetzal guatemalenc
GWE = escut de la Guinea Portuguesa|||1
GWP = peso de Guinea Bissau|||1
GYD = dòlar de Guyana
HKD = dòlar de Hong Kong|HK$
HNL = lempira hondurenya
HRD = dinar croat|||1
HRK = kuna croata
HTG = gourde haitià
HUF = fòrint hongarès
IDR = rupia indonèsia
IEP = lliura irlandesa|||1
ILP = lliura israeliana|||1
ILR = xéquel israelià|||1
ILS = nou xéquel israelià|₪
INR = rupia índia|₹
IQD = dinar iraquià||0
IRR = rial iranià||0
ISJ = corona islandesa antiga|||1
ISK = corona islandesa||0
ITL = lira italiana||0|1
JMD = dòlar jamaicà
JOD = dinar jordà||3
JPY = ien japonès|JP¥|0
KES = xíling kenyà
KGS = som kirguís
KHR = riel cambodjà
KMF = franc de les Comores||0
KPW = won nord-coreà||0
KRH = hwan sud-coreà (1953–1962)|||1
KRO = antic won sud-coreà|||1
KRW = won sud-coreà|₩|0
KWD = dinar kuwaitià||3
KYD = dòlar de les illes Caiman
KZT = tenge kazakh
LAK = kip laosià||0
LBP = lliura libanesa||0
LKR = rupia de Sri Lanka
LRD = dòlar liberià
LSL = loti de Lesotho
LTL = litas lituà|||1
LTT = talonas lituà|||1
LUC = franc convertible luxemburguès|||1
LUF = franc luxemburguès||0|1
LUL = franc financer luxemburguès|||1
LVL = lats letó|||1
LVR = ruble letó|||1
LYD = dinar libi||3
MAD = dírham marroquí
MAF = franc marroquí|||1
MCF = franc monegasc|||1
MDC = cupó moldau|||1
MDL = leu moldau
MGA = ariary malgaix||0
MGF = franc malgaix||0|1
MKD = denar macedoni
MKN = denar macedoni (1992–1993)|||1
MLF = franc malià|||1
MMK = kyat de Myanmar||0
MNT = tögrög mongol
MOP = pataca de Macau
MRO = ouguiya maurità (1973–2017)||0|1
MRU = ouguiya maurità
MTL = lira maltesa|||1
MTP = lliura maltesa|||1
MUR = rupia mauriciana
MVR = rupia de les Maldives
MWK = kwacha malawià
MXN = peso mexicà
MXP = peso de plata mexicà (1861–1992)|||1
MXV = unidad de inversión (UDI) mexicana|||1
MYR = ringgit de Malàisia
MZE = escut moçambiquès|||1
MZM = antic metical moçambiquès|||1
MZN = metical moçambiquès
NAD = dòlar namibià
NGN = naira nigerià
NIC = córdoba nicaragüenca|||1
NIO = córdoba nicaragüenc
NLG = florí neerlandès|||1
NOK = corona noruega
NPR = rupia nepalesa
NZD = dòlar neozelandès|NZ$
OMR = rial omanita||3
PAB = balboa panameny
PEI = inti peruà|||1
PEN = sol peruà
PES = sol peruà (1863–1965)|||1
PGK = kina de Papua Nova Guinea
PHP = peso filipí
PKR = rupia pakistanesa
PLN = zloty polonès
PLZ = zloty polonès (1950–1995)|||1
PTE = escut portuguès|||1
PYG = guaraní paraguaià||0
QAR = rial de Qatar
RHD = dòlar rhodesià|||1
ROL = antic leu romanès|||1
RON = leu romanès
RSD = dinar serbi||0
RUB = ruble rus
RUR = ruble rus (1991–1998)|||1
RWF = franc de Ruanda||0
SAR = rial saudita
SBD = dòlar de les illes Salomó
SCR = rupia de les Seychelles
SDD = dinar sudanès|||1
SDG = lliura sudanesa
SDP = antiga lliura sudanesa|||1
SEK = corona sueca
SGD = dòlar de Singapur
SHP = lliura de Santa Helena
SIT = tolar eslovè|||1
SKK = corona eslovaca|||1
SLL = leone de Sierra Leone||0
SOS = xíling somali||0
SRD = dòlar de Surinam
SRG = florí de Surinam|||1
SSP = lliura del Sudan del Sud
STD = dobra de São Tomé i Príncipe (1977–2017)||0|1
STN = dobra de São Tomé i Príncipe
SUR = ruble soviètic|||1
SVC = colon salvadorenc|||1
SYP = lliura síria||0
SZL = lilangeni swazi
THB = baht tailandès|฿
TJR = ruble tadjik|||1
TJS = somoni tadjik
TMM = manat turcman (1993–2009)||0|1
TMT = manat turcman
TND = dinar tunisià||3
TOP = pa‘anga tongà
TPE = escut de Timor|||1
TRL = lira turca (1922–2005)||0|1
TRY = lira turca|TL
TTD = dòlar de Trinitat i Tobago
TWD = nou dòlar de Taiwan|NT$
TZS = xíling tanzà
UAH = hrívnia ucraïnesa
UAK = karbóvanets ucraïnès|||1
UGS = xíling ugandès (1966–1987)|||1
UGX = xíling ugandès||0
USD = dòlar dels Estats Units
USN = dòlar dels Estats Units (dia següent)|||1
USS = dòlar dels Estats Units (mateix dia)|||1
UYI = peso uruguaià en unitats indexades||0|1
UYP = peso uruguaià (1975–1993)|||1
UYU = peso uruguaià
UZS = som uzbek
VEB = bolívar veneçolà (1871–2008)|||1
VEF = bolívar veneçolà (2008–2018)|||1
VES = bolívar veneçolà
VND = dong vietnamita|₫|0
VNN = dong vietnamita (1978–1985)|||1
VUV = vatu de Vanuatu||0
WST = tala samoà
XAF = franc CFA BEAC|FCFA|0
XAG = plata|||1
XAU = or|||1
XBA = unitat compensatòria europea|||1
XBB = unitat monetària europea|||1
XBC = unitat de compte europea (XBC)|||1
XBD = unitat de compte europea (XBD)|||1
XCD = dòlar del Carib Oriental
XDR = drets especials de gir|||1
XEU = unitat de moneda europea|||1
XFO = franc or francès|||1
XFU = franc UIC francès|||1
XOF = franc CFA BCEAO|CFA|0
XPD = pal·ladi|||1
XPF = franc CFP|CFPF|0
XPT = platí|||1
XRE = fons RINET|||1
XTS = codi reservat per a proves|||1
XXX = moneda desconeguda|||1
YDD = dinar iemenita|||1
YER = rial iemenita||0
YUD = dinar fort iugoslau|||1
YUM = nou dinar iugoslau|||1
YUN = dinar convertible iugoslau|||1
YUR = dinar iugoslau reformat (1992–1993)|||1
ZAL = rand sud-africà (financer)|||1
ZAR = rand sud-africà
ZMK = kwacha zambià (1968–2012)||0|1
ZMW = kwacha zambià
ZRN = nou zaire zairès|||1
ZRZ = zaire zairès|||1
ZWD = dòlar zimbabuès (1980–2008)||0|1
ZWL = dòlar zimbabuès (2009)|||1
ZWR = dòlar zimbabuès (2008)|||1
