# 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 = Армения драмы||0
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 = Колумбия песосы||0
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 = Гайана доллары||0
HKD = Гонконг доллары|HK$
HNL = Гондурас лемпирасы
HRK = Хорватия кунасы
HTG = Гаити гурды
HUF = Венгрия форинті
IDR = Индонезия рупиясы||0
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 = Моңғолия тугригі||0
MOP = Макао патакасы
MRO = Мавритания угиясы||0
MUR = Маврикий рупиясы||0
MVR = Мальдив руфиясы
MWK = Малави квачасы
MXN = Мексика песосы|MX$
MYR = Малайзия ринггиті
MZN = Мозамбик метикалы
NAD = Намибия доллары
NGN = Нигерия найрасы
NIO = Никарагуа кордобасы
NOK = Норвегия кроны
NPR = Непал рупиясы
NZD = Жаңа Зеландия доллары|NZ$
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|1
SYP = Сирия фунты||0
SZL = Свазиленд лилангениі
THB = Тай баты|฿
TJS = Тәжікстан сомониі
TMT = Түрікменстан манаты
TND = Тунис динары||3
TOP = Тонга паангасы
TRY = Түрік лирасы|TL
TTD = Тринидад және Тобаго доллары
TWD = Жаңа Тайван доллары|NT$
TZS = Танзания шиллингі||0
UAH = Украина гривнасы
UGX = Уганда шиллингі||0
USD = АҚШ доллары|$
UYU = Уругвай песосы
UZS = Өзбекстан сомы||0
VEF = Венесуэла боливары
VND = Вьетнам донгі|₫|0
VUV = Вануату ватуы||0
WST = Самоа таласы
XAF = КФА ВЕАС франкі|FCFA|0
XCD = Шығыс Кариб доллары|EC$
XOF = КФА ВСЕАО франкі|CFA|0
XPF = КФП франкі|CFPF|0
XXX = Белгісіз валюта|||1
YER = Йемен риалы||0
ZAR = Оңтүстік Африка рэнді
ZMW = Замбия квачасы
