# Copyright 2014 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=25
#  date=$Date: 2014-03-01 06:57:43 +0100 (Sat, 01 Mar 2014) $
#  number=$Revision: 9852 $
#  type=root
AED = Арабын Нэгдсэн Эмиратын дирхам
AFN = Афганистаний афгани||0
ALL = Албани лек||0
AMD = Армени драм||0
ANG = Нидерланд Антиллъя гулден
AOA = Ангол кванза
ARS = Аргентин песо
AUD = Австралийн доллар|$
AWG = Аруба флорин
AZN = Азербайжан манат
BAM = Босни-Герцеговин хөрвөгч марк
BBD = Барбадос доллар
BDT = Бангладеш така|৳
BGN = Болгар лев
BHD = Бахрейн динар||3
BIF = Бурунд франк||0
BMD = Бермудын доллар|$
BND = Бруней доллар
BOB = Боливи боливиано
BRL = Бразилийн рил|R$
BSD = Багам доллар|$
BTN = Бутан нгултрум
BWP = Ботсвани пула
BYR = Беларус рубль||0
BZD = Белиз доллар|$
CAD = Канад доллар|CA$
CDF = Конго франк
CHF = Швейцар франк
CLP = Чили песо|$|0
CNY = Хятад юань|¥
COP = Колумбын песо||0
CRC = Коста Рика колон||0
CUC = Куба хөрвөгч песо
CUP = Куба песо|$
CVE = Кабо-Верде эскудо
CZK = Чех коруна
DJF = Жибоути франк||0
DKK = Данийн крон
DOP = Доминикан песо|$
DZD = Алжир доллар
EGP = Египет паунд
ERN = Эритрей накфа
ETB = Этиоп бирр
EUR = Евро|€
FJD = Фижи доллар
FKP = Фолклэнд Арлууд паунд
GBP = Англи фунт стерлинг|£
GEL = Гүрж лари
GHS = Гана седи
GIP = Гибралтар паунд|£
GMD = Гамби даласи
GNF = Гвиней франк||0
GTQ = Гватемал кецал
GYD = Гайана доллар||0
HKD = Хонгконг доллар|$
HNL = Гондурас лемпира
HRK = Хорватын куна
HTG = Гайти гоурде
HUF = Унгар форинт||0
IDR = Индонези рупи||0
ILS = Израиль шинэ шекел|₪
INR = Энэтхэг рупи
IQD = Ирак динар||0
IRR = Иран риал||0
ISK = Исланд крона||0
JMD = Ямайк доллар
JOD = Йордан динар||3
JPY = Япон иен|¥|0
KES = Кени шиллинг
KGS = Кыргыз сом
KHR = Камбож риел
KMF = Комор франк||0
KPW = Хойд Солонгос вон||0
KRW = Өмнөд Солонгос вон|₩|0
KWD = Кувейт динар||3
KYD = Кайманы Арлууд доллар|$
KZT = Казах тэнгэ|₸
LAK = Лао кип||0
LBP = Ливан паунд||0
LKR = Шри-Ланк рупи
LRD = Либери доллар
LTL = Литва литас
LVL = Латви лац|||1
LYD = Ливи доллар||3
MAD = Марокко дирхам
MDL = Молдав леу
MGA = Малайн ариари||0
MKD = Македони денар
MMK = Мьянмар киат||0
MNT = Төгрөг|₮|0
MOP = Макао патака
MRO = Мавритан угия||0
MUR = Мавритын рупи||0
MVR = Мальдив руфия
MWK = Малави квача
MXN = Мексик песо|$
MYR = Малайз ринггит
MZN = Мозамбик метикал
NAD = Намиби доллар|$
NGN = Нигери найра
NIO = Никарагуа кордоба
NOK = Норвеги кроне
NPR = Балба рупи
NZD = Шинэ Зеланд доллар|$
OMR = Омани риал||3
PAB = Панам бальбоа
PEN = Перу шинэ соль
PGK = Папуа-Шинэ Гвиней кина
PHP = Филиппин песо
PKR = Пакистан рупи||0
PLN = Польш злот
PYG = Парагвай гуарани|₲|0
QAR = Катар риал
RON = Румын леу
RSD = Серб динар||0
RUB = Орос рубль
RWF = Руанд франк||0
SAR = Саудын риял
SBD = Соломоны арлуудын доллар|$
SCR = Сейшел рупи
SDG = Судан паунд
SEK = Швед крона
SGD = Сингапур доллар|$
SHP = Сент Хелена паунд
SLL = Сьерра Леоне леоне||0
SOS = Сомали шиллинг||0
SRD = Суринам доллар
SSP = Өмнөд Судан паунд|£
STD = Сан-Томе ба Принсипи добра||0
SYP = Сири паунд||0
SZL = Свазиланд лилангени
THB = Тай бат|฿
TJS = Тажик сом
TMT = Туркмен манат
TND = Тунис доллар||3
TOP = Тонга панга
TRY = Туркийн лира
TTD = Тринидад ба Тобаго доллар|$
TWD = Шинэ Тайван доллар|NT$
TZS = Танзани шиллинг||0
UAH = Украйн гривня|₴
UGX = Уганд шиллинг||0
USD = Америк доллар|$
UYU = Уругвай песо
UZS = Узбек сом||0
VEF = Венесуэл боливар
VND = Вьетнам донг|₫|0
VUV = Вануату вату||0
WST = Самоа тала
XAF = Франк КФА BEAC|FCFA|0
XCD = Зүүн Карибийн доллар|EC$
XOF = Франк КФА BCЕАО|CFA|0
XPF = Франц Номхон далайн франк|CFPF|0
XXX = Тодорхойгүй мөнгөн тэмдэгт|||1
YER = Йемен риал||0
ZAR = Өмнөд Африкийн ранд
ZMK = Замби квача (1968–2012)||0|1
ZMW = Замби квача
