# 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
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 = Либерин доллар
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 = АЦШн доллар|US$
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 = Къилба-Африкин рэнд
ZMW = Замбин квача
