# 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 = Аруба флорині
AZM = Азербайджан манаты (1993–2006)|||1
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 = Оңтүстік Африка рэнді
ZMW = Замбия квачасы
