# 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 = бразільскі рэал
BSD = багамскі долар
BTN = бутанскі нгултрум
BWP = батсванская пула
BYN = беларускі рубель|Br
BYR = беларускі рубель (2000–2016)||0|1
BZD = белізскі долар
CAD = канадскі долар
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 = японская іена|¥|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 = новазеландскі долар
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 = замбійская квача
