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

ADP = peseta andorrane|₧A|0|1
AED = dirham des Émirats arabes unis
AFA = afghani (1927–2002)|||1
AFN = afghani afghan||0
ALK = lek albanais (1947–1961)|||1
ALL = lek albanais||0
AMD = dram arménien||0
ANG = florin antillais|f.NA
AOA = kwanza angolais
AOK = kwanza angolais (1977-1990)|||1
AON = nouveau kwanza angolais (1990-2000)|||1
AOR = kwanza angolais réajusté (1995-1999)|||1
ARA = austral argentin|||1
ARP = peso argentin (1983-1985)|||1
ARS = peso argentin|$AR
ATS = schilling autrichien|||1
AUD = dollar australien|$AU
AWG = florin arubais
AZM = manat azéri (1993-2006)|||1
AZN = manat azéri
BAD = dinar bosniaque|||1
BAM = mark convertible bosniaque
BBD = dollar barbadien
BDT = taka bangladeshi
BEC = franc belge (convertible)|||1
BEF = franc belge|FB||1
BEL = franc belge (financier)|||1
BGL = lev bulgare (1962–1999)|||1
BGN = nouveau lev bulgare
BHD = dinar bahreïni||3
BIF = franc burundais||0
BMD = dollar bermudien|$BM
BND = dollar brunéien|$BN
BOB = boliviano
BOP = peso bolivien|||1
BOV = mvdol bolivien|||1
BRB = nouveau cruzeiro brésilien (1967–1986)|||1
BRC = cruzado brésilien (1986–1989)|||1
BRE = cruzeiro brésilien (1990–1993)|||1
BRL = réal brésilien|R$
BRN = nouveau cruzado|||1
BRR = cruzeiro|||1
BSD = dollar bahaméen|$BS
BTN = ngultrum bouthanais
BUK = kyat birman|||1
BWP = pula botswanais
BYB = nouveau rouble biélorusse (1994-1999)|||1
BYR = rouble biélorusse||0
BZD = dollar bélizéen|$BZ
CAD = dollar canadien|$CA
CDF = franc congolais|FrCD
CHE = euro WIR|||1
CHF = franc suisse||||5
CHW = franc WIR|||1
CLF = unité d’investissement chilienne||0|1
CLP = peso chilien|$CL|0
CNY = yuan renminbi chinois|Ұ
COP = peso colombien|$CO|0
COU = unité de valeur réelle colombienne|||1
CRC = colón costaricain||0
CSD = dinar serbo-monténégrin|||1
CSK = couronne forte tchécoslovaque|||1
CUC = peso cubain convertible
CUP = peso cubain|$CU
CVE = escudo capverdien|$CV
CYP = livre chypriote|£CY||1
CZK = couronne tchèque
DDM = mark est-allemand|||1
DEM = mark allemand|||1
DJF = franc djiboutien||0
DKK = couronne danoise|krD
DOP = peso dominicain
DZD = dinar algérien
ECS = sucre équatorien|||1
ECV = unité de valeur constante équatoriale (UVC)|||1
EEK = couronne estonienne|krE||1
EGP = livre égyptienne|£EG
ERN = nafka érythréen
ESA = peseta espagnole (compte A)|||1
ESB = peseta espagnole (compte convertible)|||1
ESP = peseta espagnole|₧|0|1
ETB = birr éthiopien
EUR = euro|€
FIM = mark finlandais|||1
FJD = dollar fidjien|$FJ
FKP = livre des Falkland|£FK
FRF = franc français|F||1
GBP = livre sterling|£UK
GEK = coupon de lari géorgien|||1
GEL = lari géorgien
GHC = cédi|||1
GHS = cédi ghanéen
GIP = livre de Gibraltar|£GI
GMD = dalasi gambien
GNF = franc guinéen||0
GNS = syli guinéen|||1
GQE = ekwélé équatoguinéen|||1
GRD = drachme grecque|||1
GTQ = quetzal guatémaltèque
GWE = escudo de Guinée portugaise|||1
GWP = peso bissau-guinéen|||1
GYD = dollar du Guyana|$GY|0
HKD = dollar de Hong Kong|$HK
HNL = lempira hondurien
HRD = dinar croate|||1
HRK = kuna croate
HTG = gourde haïtienne
HUF = forint hongrois||0
IDR = roupie indonésienne||0
IEP = livre irlandaise|£IE||1
ILP = livre israélienne|£IL||1
ILS = nouveau shekel israélien|₪
INR = roupie indienne|Rs.
IQD = dinar irakien||0
IRR = rial iranien||0
ISK = couronne islandaise|krI|0
ITL = lire italienne|₤IT|0|1
JMD = dollar jamaïcain|$JM
JOD = dinar jordanien|DJ|3
JPY = yen japonais|¥JP|0
KES = shilling kényan
KGS = som kirghize
KHR = riel cambodgien
KMF = franc comorien|FC|0
KPW = won nord-coréen|₩KP|0
KRW = won sud-coréen|₩|0
KWD = dinar koweïtien|DK|3
KYD = dollar des îles Caïmanes|$KY
KZT = tenge kazakh
LAK = kip loatien||0
LBP = livre libanaise|£LB|0
LKR = roupie srilankaise|RsSL
LRD = dollar libérien|$LR
LSL = loti lesothan
LTL = litas lituanien
LTT = talonas lituanien|||1
LUC = franc convertible luxembourgeois|||1
LUF = franc luxembourgeois||0|1
LUL = franc financier luxembourgeois|||1
LVL = lats letton
LVR = rouble letton|||1
LYD = dinar lybien|DL|3
MAD = dirham marocain
MAF = franc marocain|||1
MDL = leu moldave
MGA = ariary malgache||0
MGF = franc malgache||0|1
MKD = denar macédonien
MLF = franc malien|||1
MMK = kyat myanmarais||0
MNT = tugrik mongol||0
MOP = pataca macanaise
MRO = ouguiya mauritanien||0
MTL = lire maltaise|||1
MTP = livre maltaise|£MT||1
MUR = roupie mauricienne|RsMU|0
MVR = rufiyaa maldivien
MWK = kwacha malawite
MXN = peso mexicain|MX$
MXP = peso d’argent mexicain (1861–1992)|||1
MXV = unité de conversion mexicaine (UDI)|||1
MYR = ringgit malais
MZE = escudo mozambicain|||1
MZM = métical|||1
MZN = metical mozambicain
NAD = dollar namibien|$NA
NGN = naira nigérian
NIC = cordoba|||1
NIO = córdoba oro nicaraguayen
NLG = florin néerlandais|||1
NOK = couronne norvégienne|krN
NPR = roupie népalaise|RsNP
NZD = dollar néo-zélandais|$NZ
OMR = rial omani||3
PAB = balboa panaméen
PEI = inti péruvien|||1
PEN = nouveau sol péruvien
PES = sol péruvien|||1
PGK = kina papouan-néo-guinéen
PHP = peso philippin
PKR = roupie pakistanaise|RsPK|0
PLN = zloty polonais
PLZ = zloty (1950-1995)|||1
PTE = escudo portugais|||1
PYG = guaraní paraguayen||0
QAR = rial qatari|RQ
RHD = dollar rhodésien|$RH||1
ROL = ancien leu roumain|||1
RON = leu roumain
RSD = dinar serbe||0
RUB = rouble russe
RUR = rouble russe (1991–1998)|||1
RWF = franc rwandais|FR|0
SAR = rial saoudien
SBD = dollar des îles Salomon|$SB
SCR = roupie des Seychelles
SDD = dinar soudanais|||1
SDG = livre soudanaise
SDP = livre soudanaise (1956–2007)|||1
SEK = couronne suédoise|krS
SGD = dollar de Singapour|$SG
SHP = livre de Sainte-Hélène|£SH
SIT = tolar slovène|||1
SKK = couronne slovaque|||1
SLL = leone sierra-léonais||0
SOS = shilling somalien||0
SRD = dollar surinamais|$SR
SRG = florin surinamais|||1
STD = dobra santoméen||0
SUR = rouble soviétique|||1
SVC = colón salvadorien|₡SV||1
SYP = livre syrienne|£SY|0
SZL = lilangeni swazi
THB = baht thaïlandais|฿
TJR = rouble tadjik|||1
TJS = somoni tadjik
TMM = manat turkmène||0|1
TMT = nouveau manat turkmène
TND = dinar tunisien||3
TOP = pa’anga tongan
TPE = escudo timorais|||1
TRL = livre turque||0|1
TRY = nouvelle livre turque
TTD = dollar trinidadien|$TT
TWD = nouveau dollar taïwanais|NT$
TZS = shilling tanzanien||0
UAH = hryvnia ukrainienne
UAK = karbovanetz|||1
UGS = shilling ougandais (1966-1987)|||1
UGX = shilling ougandais||0
USD = dollar des États-Unis|$US
USN = dollar des Etats-Unis (jour suivant)|||1
USS = dollar des Etats-Unis (jour même)|||1
UYI = peso uruguayen (unités indexées)|||1
UYP = peso uruguayen (1975–1993)|||1
UYU = peso uruguayen|$UY
UZS = sum ouzbek||0
VEB = bolivar|||1
VEF = bolivar fuerte vénézuélien
VND = dông vietnamien|₫|0
VUV = vatu vanuatuan||0
WST = tala samoan
XAF = franc CFA (BEAC)|FCFA|0
XAG = argent|||1
XAU = or|||1
XBA = unité européenne composée|||1
XBB = unité monétaire européenne|||1
XBC = unité de compte européenne (XBC)|||1
XBD = unité de compte européenne (XBD)|||1
XCD = dollar des Caraïbes orientales|EC$
XDR = droit de tirage spécial|||1
XEU = unité de compte européenne (ECU)|||1
XFO = franc or|||1
XFU = franc UIC|||1
XOF = franc CFA (BCEAO)|CFA|0
XPD = palladium|||1
XPF = franc CFP|FCFP|0
XPT = platine|||1
XRE = type de fonds RINET|||1
XTS = (devise de test)|||1
XXX = devise inconnue ou non valide|||1
YDD = dinar du Yémen|||1
YER = rial yéménite|RY|0
YUD = nouveau dinar yougoslave|||1
YUM = dinar yougoslave Noviy|||1
YUN = dinar yougoslave convertible|||1
ZAL = rand sud-africain (financier)|||1
ZAR = rand sud-africain
ZMK = kwacha zambien||0
ZRN = nouveau zaïre zaïrien|||1
ZRZ = zaïre zaïrois|||1
ZWD = dollar zimbabwéen|$Z|0|1
ZWL = dollar zimbabwéen (2009)|||1
ZWR = dollar zimbabwéen (2008)|||1
