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

ADP = andorranske pesetas||0|1
AED = UAE dirham
AFA = afgansk afghani (1927-2002)|||1
AFN = afgansk afgani||0
ALL = albanske lek||0
AMD = armenske dram||0
ANG = nederlandske antillegylden
AOA = angolanske kwanza
AOK = angolanske kwanza (1977-1990)|||1
AON = angolanske nye kwanza (1990-2000)|||1
AOR = angolanske omjusterte kwanza (1995-1999)|||1
ARA = argentinske australer|||1
ARP = argentinske pesos (1983-1985)|||1
ARS = argentinske pesos
ATS = østerrikske shilling|||1
AUD = australske dollar|AU$
AWG = arubiske gylden
AZM = aserbajdsjanske manat (1993-2006)|||1
AZN = aserbajdsjanske manat
BAD = bosnisk-hercegovinske dinarer|||1
BAM = bosnisk-hercegovinske mark (konvertible)
BBD = barbadiske dollar
BDT = bangladeshiske taka
BEC = belgiske franc (konvertible)|||1
BEF = belgiske franc|||1
BEL = belgiske franc (finansielle)|||1
BGL = bulgarske lev (hard)|||1
BGN = bulgarske lev
BHD = bahrainske dinarer||3
BIF = burundiske franc||0
BMD = bermudiske dollar
BND = bruneiske dollar
BOB = bolivianske boliviano
BOP = bolivianske pesos|||1
BOV = bolivianske mvdol|||1
BRB = brasilianske cruzeiro novo (1967-1986)|||1
BRC = brasilianske cruzado|||1
BRE = brasilianske cruzeiro (1990-1993)|||1
BRL = brasilianske realer|R$
BRN = brasilianske cruzado novo|||1
BRR = brasilianske cruzeiro|||1
BSD = bahamske dollar
BTN = bhutanske ngultrum
BUK = burmesiske kyat|||1
BWP = botswanske pula
BYB = hviterussiske nye rubler (1994-1999)|||1
BYR = hviterussiske rubler||0
BZD = beliziske dollar
CAD = kanadiske dollar|CA$
CDF = kongolesiske franc (congolais)
CHE = WIR euro|||1
CHF = sveitsiske franc||||5
CHW = WIR franc|||1
CLF = chilenske unidades de fomento||0|1
CLP = chilenske pesos||0
CNY = kinesiske yuan renminbi|CN¥
COP = colombianske pesos||0
COU = unidad de valor real|||1
CRC = costaricanske colon||0
CSD = gamle serbiske dinarer|||1
CSK = tsjekkoslovakiske koruna (hard)|||1
CUC = kubansk konvertibel peso
CUP = kubanske pesos
CVE = kappverdiske escudo
CYP = kypriotiske pund|||1
CZK = tsjekkiske koruna
DDM = østtyske ostmark|||1
DEM = tyske mark|||1
DJF = djiboutiske franc||0
DKK = danske kroner
DOP = dominikanske pesos
DZD = algeriske dinarer
ECS = ecuadorianske sucre|||1
ECV = ecuadorianske unidad de valor constante (UVC)|||1
EEK = estiske kroon|||1
EGP = egyptiske pund
ERN = eritreiske nakfa
ESA = spanske peseta (A-konto)|||1
ESB = spanske peseta (konvertibel konto)|||1
ESP = spanske peseta||0|1
ETB = etiopiske birr
EUR = euro|€
FIM = finske mark|||1
FJD = fijianske dollar
FKP = Falkland-pund
FRF = franske franc|||1
GBP = britiske pund sterling|UK£
GEK = georgiske kupon larit|||1
GEL = georgiske lari
GHC = ghanesisk cedi (1979-2007)|||1
GHS = ghanesisk cedi
GIP = gibraltarske pund
GMD = gambiske dalasi
GNF = guineanske franc||0
GNS = guineanske syli|||1
GQE = ekvatorialguineanske ekwele guineana|||1
GRD = greske drakmer|||1
GTQ = guatemalanske quetzal
GWE = portugisiske guinea escudo|||1
GWP = Guinea-Bissau-pesos|||1
GYD = guyanske dollar||0
HKD = Hongkong-dollar|HK$
HNL = Hoduras Lempira
HRD = kroatiske dinarer|||1
HRK = kroatiske kuna
HTG = haitiske gourde
HUF = ungarske forinter||0
IDR = indonesiske rupier||0
IEP = irske pund|||1
ILP = israelske pund|||1
ILR = israelsk gammel shekel|||1
ILS = israelske nye shekler|₪
INR = indiske rupier|Rs.
IQD = irakske dinarer||0
IRR = iranske rialer||0
ISJ = gammel islandsk krone|||1
ISK = islandske kroner||0
ITL = italienske lire||0|1
JMD = jamaikanske dollar
JOD = jordanske dinarer||3
JPY = japanske yen|JP¥|0
KES = kenyanske shilling
KGS = kirgisiske som
KHR = kambodsjanske riel
KMF = komoriske franc||0
KPW = nordkoreanske won||0
KRW = sørkoreanske won|₩|0
KWD = kuwaitiske dinarer||3
KYD = caymanske dollar
KZT = kasakhstanske tenge
LAK = laotiske kip||0
LBP = libanesiske pund||0
LKR = srilankiske rupier
LRD = liberiske dollar
LSL = lesothiske loti
LTL = litauiske lita
LTT = litauiske talonas|||1
LUC = luxemburgske konvertible franc|||1
LUF = luxemburgske franc||0|1
LUL = luxemburgske finansielle franc|||1
LVL = latviske lats
LVR = latviske rubler|||1
LYD = libyske dinarer||3
MAD = marokkanske dirham
MAF = marokkanske franc|||1
MDL = moldovske leu
MGA = madagassiske ariary||0
MGF = madagassiske franc||0|1
MKD = makedonske denarer
MLF = maliske franc|||1
MMK = myanmarske kyat||0
MNT = mongolske tugrik||0
MOP = makaoske pataca
MRO = mauritanske ouguiya||0
MTL = maltesiske lira|||1
MTP = maltesiske pund|||1
MUR = mauritiske rupier||0
MVR = maldiviske rufiyaa
MWK = malawiske kwacha
MXN = meksikanske pesos|MX$
MXP = meksikanske sølvpesos (1861-1992)|||1
MXV = meksikanske unidad de inversion (UDI)|||1
MYR = malaysiske ringgit
MZE = mosambikiske escudo|||1
MZM = gamle mosambikiske metical|||1
MZN = mosambikiske metical
NAD = namibiske dollar
NGN = nigerianske naira
NIC = nicaraguanske cordoba (1988–1991)|||1
NIO = nicaraguanske cordoba oro
NLG = nederlandske gylden|||1
NOK = norske kroner|kr
NPR = nepalske rupier
NZD = new zealandske dollar|NZ$
OMR = omanske rialer||3
PAB = panamanske balboa
PEI = peruvianske inti|||1
PEN = peruvianske nye sol
PES = peruvianske sol|||1
PGK = papuanske kina
PHP = filippinske pesos
PKR = pakistanske rupier||0
PLN = polske zloty
PLZ = polske zloty (1950-1995)|||1
PTE = portugisiske escudo|||1
PYG = paraguayanske guarani||0
QAR = qatarske rialer
RHD = rhodesiske dollar|||1
ROL = gamle rumenske leu|||1
RON = rumenske leu
RSD = serbiske dinarer||0
RUB = russiske rubler
RUR = russiske rubler (1991-1998)|||1
RWF = rwandiske franc||0
SAR = saudiarabiske riyaler
SBD = salomonske dollar
SCR = seychelliske rupier
SDD = sudanesiske dinarer|||1
SDG = sudanske pund
SDP = sudanesiske pund|||1
SEK = svenske kroner
SGD = singaporske dollar
SHP = sankthelenske pund
SIT = slovenske tolar|||1
SKK = slovakiske koruna|||1
SLL = sierraleonske leone||0
SOS = somaliske shilling||0
SRD = surinamske dollar
SRG = surinamske gylden|||1
STD = Sao Tome og Principe-dobra||0
SUR = sovjetiske rubler|||1
SVC = salvadoranske colon|||1
SYP = syriske pund||0
SZL = swazilandske lilangeni
THB = thailandske baht|฿
TJR = tadsjikiske rubler|||1
TJS = tadsjikiske somoni
TMM = turkmenske manat||0|1
TMT = turkmenistansk ny manat
TND = tunisiske dinarer||3
TOP = tonganske paʻanga
TPE = timoresiske escudo|||1
TRL = tyrkiske lire||0|1
TRY = ny tyrkisk lire
TTD = trinidadiske dollar
TWD = taiwanske nye dollar|NT$
TZS = tanzanianske shilling||0
UAH = ukrainske hryvnia
UAK = ukrainske karbovanetz|||1
UGS = ugandiske shilling (1966-1987)|||1
UGX = ugandiske shilling||0
USD = amerikanske dollar|US$
USN = amerikanske dollar (neste dag)|||1
USS = amerikanske dollar (samme dag)|||1
UYP = uruguayanske pesos (1975-1993)|||1
UYU = uruguayanske peso uruguayo
UZS = usbekiske sum||0
VEB = venezuelanske bolivar|||1
VEF = venezuelanske bolivar fuerte
VND = vietnamesiske dong|₫|0
VUV = vanuatiske vatu||0
WST = vestsamoiske tala
XAF = CFA franc BEAC|FCFA|0
XAG = sølv|||1
XAU = gull|||1
XBA = europeisk sammensatt enhet|||1
XBB = europeisk monetær enhet|||1
XBC = europeisk kontoenhet (XBC)|||1
XBD = europeisk kontoenhet (XBD)|||1
XCD = østkaribiske dollar|EC$
XDR = spesielle trekkrettigheter|||1
XEU = europeisk valutaenhet|||1
XFO = franske gullfranc|||1
XFU = franske UIC-franc|||1
XOF = CFA franc BCEAO|CFA|0
XPD = palladium|||1
XPF = CFP franc|CFPF|0
XPT = platina|||1
XRE = RINET-fond|||1
XTS = testvalutakode|||1
XXX = ukjent eller ugyldig valuta|||1
YDD = jemenittiske dinarer|||1
YER = jemenittiske rialer||0
YUD = jugoslaviske dinarer (hard)|||1
YUM = jugoslaviske noviy-dinarer|||1
YUN = jugoslaviske konvertible dinarer|||1
ZAL = sørafrikanske rand (finansielle)|||1
ZAR = sørafrikanske rand
ZMK = zambiske kwacha||0
ZRN = zairiske nye zaire|||1
ZRZ = zairiske zaire|||1
ZWD = zimbabwiske dollar||0|1
ZWL = zimbabwisk dollar (2009)|||1
