# 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
AED = арабын нэгдсэн эмиратын дирхам
AFN = афганистан афгани||0
ALL = албанийн лек||0
AMD = арменийн драм
ANG = нидерландын антиллъя гулдер
AOA = ангол кванза
ARS = аргентин песо
AUD = австрали доллар|A$
AWG = арубын флорин
AZN = азербайжаны манат
BAM = босни-герцеговин хөрвөгч марк
BBD = барбадос доллар
BDT = бангладеш така
BGN = болгарын лев
BHD = бахрейн динар||3
BIF = бурунд франк||0
BMD = бермуд доллар
BND = бруней доллар
BOB = боливи боливиано
BRL = бразилийн рил|R$
BSD = багам доллар
BTN = бутаны нгултрум
BWP = ботсвани пула
BYN = беларусь рубль
BYR = беларусь рубль (2000–2016)||0|1
BZD = белиз доллар
CAD = канад доллар|CA$
CDF = конго франк
CHF = швейцарь франк
CLP = чилийн песо||0
CNH = Хятадын юань|||1
CNY = хятад юань|CN¥
COP = колумбын песо
CRC = коста рикагийн колон
CUC = кубын хөрвөгч песо
CUP = кубын песо
CVE = кабо-верде эскудо
CZK = Чех крон
DJF = жибоути франк||0
DKK = данийн крон
DOP = доминиканы песо
DZD = алжир доллар
EGP = египет паунд
ERN = эритрей накфа
ETB = этиоп бирр
EUR = евро|€
FJD = фижи доллар
FKP = фолклэнд арлын паунд
GBP = британийн фунт|£
GEL = гүржийн лари
GHS = гана седи
GIP = гибралтар паунд
GMD = гамби даласи
GNF = гвиней франк||0
GTQ = гватемалын кецал
GYD = гайана доллар
HKD = хонгконг доллар|HK$
HNL = гондурасын лемпира
HRK = хорватын куна
HTG = гаитийн гоурд
HUF = унгарын форинт
IDR = индонези рупи
ILS = израилийн шинэ шекел|₪
INR = энэтхэг рупи|₹
IQD = ирак динар||0
IRR = иран риал||0
ISK = исландын крон||0
JMD = ямайк доллар
JOD = йордан динар||3
JPY = япон иен|JP¥|0
KES = кени шиллинг
KGS = кыргыз сом
KHR = камбож риел
KMF = комор франк||0
KPW = хойд солонгос вон||0
KRW = өмнөд солонгос вон|₩|0
KWD = кувейт динар||3
KYD = кайман арлын доллар
KZT = казахын тэнгэ
LAK = лаосын кип||0
LBP = ливан паунд||0
LKR = шри-ланк рупи
LRD = либери доллар
LTL = литвийн литас|||1
LVL = латвийн лац|||1
LYD = ливи доллар||3
MAD = мароккогийн дирхам
MDL = молдавын леу
MGA = малайн ариари||0
MKD = македони динар
MMK = мьянмарын киат||0
MNT = төгрөг|₮
MOP = макаогийн патака
MRO = мавритан угия (1973–2017)||0|1
MRU = мавритан угия
MUR = мавритын рупи
MVR = мальдив руфия
MWK = малави квача
MXN = мексикийн песо|MX$
MYR = малайзын рингит
MZN = мозамбик метикал
NAD = намиби доллар
NGN = нигери найра
NIO = никарагуагийн кордоба
NOK = норвегийн крон
NPR = балба рупи
NZD = шинэ зеланд доллар|NZ$
OMR = омани риал||3
PAB = панамын бальбоа
PEN = перугийн соль
PGK = папуа-шинэ гвинейн кина
PHP = филиппин песо
PKR = пакистан рупи
PLN = польшийн злот
PYG = парагвайн гуарани||0
QAR = катар риал
RON = румыны леу
RSD = серб динар||0
RUB = орос рубль|₽
RWF = руанд франк||0
SAR = сауди риал
SBD = соломон арлын доллар
SCR = сейшел рупи
SDG = судан паунд
SEK = шведийн крон
SGD = сингапур доллар
SHP = сент хелена фунт
SLL = сьерра леоны леон||0
SOS = сомали шиллинг||0
SRD = суринам доллар
SSP = өмнөд судан паунд
STD = сан-томе ба принсипи добра (1977–2017)||0|1
STN = сан-томе ба принсипи добра
SYP = сири паунд||0
SZL = свазиланд лилангени
THB = тайландын бат|฿
TJS = тажикийн сомон
TMT = туркмен манат
TND = тунис доллар||3
TOP = тонгагийн панга
TRY = туркийн лира|TL
TTD = тринидад ба тобаго доллар
TWD = шинэ тайвань доллар|NT$
TZS = танзани шиллинг
UAH = украины гривня
UGX = уганд шиллинг||0
USD = америк доллар|$
UYU = уругвайн песо
UZS = узбекийн сом
VEF = венесуэлийн боливар (2008–2018)|||1
VES = венесуэлийн боливар
VND = вьетнамын донг|₫|0
VUV = вануатугийн вату||0
WST = самоагийн тала
XAF = төв африкийн франк|FCFA|0
XCD = зүүн карибийн доллар|EC$
XOF = баруун африкийн франк|CFA|0
XPF = францын колоний франк|CFPF|0
XXX = тодорхойгүй мөнгөн тэмдэгт|¤||1
YER = йемен риал||0
ZAR = өмнөд африкийн ранд
ZMK = Замби квача (1968–2012)||0|1
ZMW = замби квача
