# 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:
#  cldrVersion=21.0
#  number=$Revision: 6546 $
#  type=root
#  date=$Date: 2012-02-07 13:32:35 -0500 (Tue, 07 Feb 2012) $

ADP = peseta andorrana||0|1
AED = dirham dals Emirats Arabs Unids
AFA = afghani (1927–2002)|||1
AFN = afghani||0
ALK = lek albanais (1947–1961)|||1
ALL = lek||0
AMD = dram armen||0
ANG = flurin da las Antillas Olandaisas
AOA = kwanza angolan
AOK = kwanza angolan (1977-1990)|||1
AON = nov kwanza angolan|||1
AOR = kwanza angolan reajustado|||1
ARA = austral argentin|||1
ARL = peso argentin ley|||1
ARM = peso argentin moneda nacional|||1
ARP = peso argentin (1983-1985)|||1
ARS = peso argentin
ATS = schilling austriac|||1
AUD = dollar australian|AU$
AWG = flurin da l'Aruba
AZM = manat aserbaidschanic (1993-2006)|||1
AZN = manat aserbaidschanic
BAD = dinar da la Bosnia ed Erzegovina|||1
BAM = marc convertibel bosniac
BAN = nov dinar da la Bosnia ed Erzegovina|||1
BBD = dollar da Barbados
BDT = taka bangladais
BEC = franc beltg (convertibel)|||1
BEF = franc beltg|||1
BEL = franc beltg (finanzial)|||1
BGL = lev bulgar|||1
BGM = lev bulgar socialistic|||1
BGN = nov lev bulgar
BGO = vegl lev bulgar|||1
BHD = dinar dal Bahrain||3
BIF = franc dal Burundi||0
BMD = dollar da las Bermudas
BND = dollar dal Brunei
BOB = boliviano
BOL = vegl boliviano|||1
BOP = peso bolivian|||1
BOV = mvdol bolivian|||1
BRB = cruzeiro novo brasilian (1967-1986)|||1
BRC = cruzado brasilian|||1
BRE = cruzeiro brasilian (1990-1993)|||1
BRL = real brasilian|R$
BRN = cruzado novo brasilian|||1
BRR = cruzeiro brasilian|||1
BRZ = vegl cruzeiro brasilian|||1
BSD = dollar da las Bahamas
BTN = ngultrum butanais
BUK = Kyat burmais|||1
BWP = pula da la Botswana
BYB = nov rubel bieloruss (1994-1999)|||1
BYR = rubel bieloruss||0
BZD = dollar dal Belize
CAD = dollar canadais|CA$
CDF = franc congolais
CHE = euro WIR|||1
CHF = franc svizzer||||5
CHW = franc WIR|||1
CLE = escudo chilen|||1
CLF = unidades de fomento chilenas||0|1
CLP = peso chilen||0
CNY = yuan renminbi chinais|CN¥
COP = peso columbian||0
COU = unidad de valor real|||1
CRC = colon da la Costa Rica||0
CSD = vegl dinar serb|||1
CSK = cruna tschecoslovaca|||1
CUP = peso cuban
CVE = escudo dal Cap Verd
CYP = glivra cipriota|||1
CZK = cruna tscheca
DDM = marc da la Germania da l'Ost|||1
DEM = marc tudestg|||1
DJF = franc dal Dschibuti||0
DKK = cruna danaisa
DOP = peso dominican
DZD = dinar algerian
ECS = sucre equadorian|||1
ECV = unitad da scuntrada da l'Ecuador|||1
EEK = cruna estona|||1
EGP = glivra egipziana
ERN = nakfa eritreic
ESA = peseta spagnola (conto A)|||1
ESB = peseta spagnola (conto convertibel)|||1
ESP = peseta spagnola||0|1
ETB = birr etiopic
EUR = euro|€
FIM = marc finlandais|||1
FJD = dollar dal Fidschi
FKP = glivra dal Falkland
FRF = franc franzos|||1
GBP = glivra sterlina|UK£
GEK = kupon larit georgian|||1
GEL = lari georgian
GHC = cedi ghanais (1979-2007)|||1
GHS = cedi ghanais
GIP = glivra da Gibraltar
GMD = dalasi gambic
GNF = franc da la Guinea||0
GNS = syli da la Guinea|||1
GQE = ekwele da la Guinea Equatoriala|||1
GRD = drachma greca|||1
GTQ = quetzal da la Guatemala
GWE = escudo da la Guinea Portugaisa|||1
GWP = peso da la Guinea-Bissau|||1
GYD = dollar da la Guyana||0
HKD = dollar da Hongkong|HK$
HNL = lempira hondurian
HRD = dinar croat|||1
HRK = kuna croata
HTG = gourde haitian
HUF = forint ungarais||0
IDR = rupia indonaisa||0
IEP = glivra indonaisa|||1
ILP = glivra israeliana|||1
ILR = vegl sheqel israelian|||1
ILS = sheqel|₪
INR = rupia indica|Rs.
IQD = dinar iracais||0
IRR = rial iranais||0
ISJ = veglia cruna islandaisa|||1
ISK = cruna islandaisa||0
ITL = lira taliana||0|1
JMD = dollar giamaican
JOD = dinar jordanic||3
JPY = yen giapunais|JP¥|0
KES = schilling kenian
KGS = som kirghis
KHR = riel cambodschan
KMF = franc comorian||0
KPW = won da la Corea dal Nord||0
KRH = hwan da la Corea dal Sid|||1
KRO = vegl won da la Corea dal Sid|||1
KRW = won da la Corea dal Sid|₩|0
KWD = dinar dal Kuwait||3
KYD = dollar da las Inslas Cayman
KZT = tenge casac
LAK = kip laot||0
LBP = glivra libanaisa||0
LKR = rupia da la Sri Lanka
LRD = dollar liberian
LSL = loti dal Lesotho
LTL = litas lituan
LTT = talonas lituan|||1
LUC = franc convertibel luxemburgais|||1
LUF = franc luxemburgais||0|1
LUL = franc finanzial luxemburgais|||1
LVL = lats letton
LVR = rubel letton|||1
LYD = dinar libic||3
MAD = dirham marocan
MAF = franc marocan|||1
MCF = franc monegas|||1
MDC = cupon moldav|||1
MDL = leu moldav
MGA = ariary madagasc||0
MGF = franc madagasc||0|1
MKD = dinar da la Macedonia
MKN = vegl dinar macedon|||1
MLF = franc dal Mali|||1
MMK = Kyat dal Myanmar||0
MNT = tugrik mongolic||0
MOP = pataca dal Macao
MRO = ouguiya da la Mauretania||0
MTL = lira maltaisa|||1
MTP = glivra maltaisa|||1
MUR = rupia dal Mauritius||0
MVP = rupia da las Maledivas|||1
MVR = rufiyaa da las Maledivas
MWK = kwacha dal Malawi
MXN = peso mexican|MX$
MXP = peso d'argient mexican (1861-1992)|||1
MXV = unidad de inversion mexicana (UDI)|||1
MYR = ringgit da la Malaisia
MZE = escudo dal mozambican|||1
MZM = vegl metical mozambican|||1
MZN = metical dal mozambican
NAD = dollar namibian
NGN = naira nigeriana
NIC = cordoba nicaraguan|||1
NIO = cordoba oro nicaraguan
NLG = flurin ollandais|||1
NOK = cruna norvegiaisa
NPR = rupia nepalaisa
NZD = dollar da la Nova Zelanda|NZ$
OMR = rial da l'Oman||3
PAB = balboa dal Panama
PEI = inti peruan|||1
PEN = nov sol peruan
PES = sol peruan|||1
PGK = kina da la Papua Nova Guinea
PHP = peso filippin
PKR = rupia pakistana||0
PLN = zloty polac
PLZ = zloty polac (1950-1995)|||1
PTE = escudo portugais|||1
PYG = guarani paraguaian||0
QAR = riyal da Katar
RHD = dollar rodesian|||1
ROL = vegl leu rumen|||1
RON = leu rumen
RSD = dinar serb||0
RUB = rubel russ (nov)
RUR = rubel russ (vegl)|||1
RWF = franc ruandais||0
SAR = riyal saudit
SBD = dollar da las Salomonas
SCR = rupia da las Seychellas
SDD = dinar sudanais|||1
SDG = glivra sudanaisa
SDP = glivra sudanaisa (1956–2007)|||1
SEK = cruna svedaisa
SGD = dollar dal Singapur
SHP = glivra da Sontg'Elena
SIT = tolar sloven|||1
SKK = cruna slovaca|||1
SLL = leone da la Sierra Leone||0
SOS = schilling somalian||0
SRD = dollar surinam
SRG = flurin surinam|||1
STD = dobra da São Tomé e Principe||0
SUR = rubel sovietic|||1
SVC = colon da l'El Salvador|||1
SYP = glivra siriana||0
SZL = lilangeni dal Swaziland
THB = baht tailandais|฿
TJR = rubel dal Tadschikistan|||1
TJS = somoni dal Tadschikistan
TMM = manat turkmen||0|1
TND = dinar tunesian||3
TOP = pa'anga da Tonga
TPE = escudo da Timor|||1
TRL = lira tirca||0|1
TRY = nova lira tirca
TTD = dollar da Trinidad e Tobago
TWD = nov dollar taiwanais|NT$
TZS = schilling tansanian||0
UAH = hryvnia ucranais
UAK = karbovanetz ucranais|||1
UGS = schilling ucranais|||1
UGX = schilling ugandais||0
USD = dollar dals Stadis Unids da l'America|US$
USN = dollar dals Stadis Unids da l'America (proxim di)|||1
USS = dollar dals Stadis Unids da l'America (medem di)|||1
UYI = peso da l'Uruguay (unidades indexadas)|||1
UYP = nov peso da l'Uruguay (1975-1993)|||1
UYU = peso da l'Uruguay
UZS = sum usbec||0
VEB = bolivar venezuelan|||1
VEF = bolivar fuerte venezuelan
VND = dong vietnamais|₫|0
VNN = vegl dong vietnamais|||1
VUV = vatu dal Vanuatu||0
WST = tala da la Samoa
XAF = franc CFA BEAC|FCFA|0
XAG = argient|||1
XAU = aur|||1
XBA = unitad europeica cumponida|||1
XBC = unitad dal quint europeica (XBC)|||1
XBD = unitad dal quint europeica (XBD)|||1
XCD = dollar da la Caribica Orientala|EC$
XDR = dretgs da prelevaziun spezials|||1
XFO = franc d'aur franzos|||1
XFU = franc UIC franzos|||1
XOF = franc CFA BCEAO|CFA|0
XPD = palladi|||1
XPF = franc CFP|CFPF|0
XPT = platin|||1
XRE = fonds RINET|||1
XTS = code per verifitgar la valuta|||1
XXX = valuta nunenconuschenta|||1
YDD = dinar dal Jemen|||1
YER = rial dal Jemen||0
YUD = dinar jugoslav (1966-1990)|||1
YUM = nov dinar jugoslav|||1
YUN = dinar jugoslav convertibel|||1
YUR = dinar jugoslav refurmà|||1
ZAL = rand sidafrican (finanzial)|||1
ZAR = rand sidafrican
ZMK = kwacha da la sambia||0
ZRN = nov zaire dal Zaire|||1
ZRZ = zaire dal Zaire|||1
ZWD = dollar dal Simbabwe||0|1
