﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/en_001.xml
// *
// ***************************************************************************
en_001{
    Currencies{
        BYB{
            "BYB",
            "Belarusian New Rouble (1994–1999)",
        }
        BYR{
            "BYR",
            "Belarusian Rouble",
        }
        JPY{
            "JP¥",
            "Japanese Yen",
        }
        LVR{
            "LVR",
            "Latvian Rouble",
        }
        RUB{
            "RUB",
            "Russian Rouble",
        }
        RUR{
            "RUR",
            "Russian Rouble (1991–1998)",
        }
        TJR{
            "TJR",
            "Tajikistani Rouble",
        }
        USD{
            "US$",
            "US Dollar",
        }
    }
    CurrencyPlurals{
        BYB{
            one{"Belarusian new rouble (1994–1999)"}
            other{"Belarusian new roubles (1994–1999)"}
        }
        BYR{
            one{"Belarusian rouble"}
            other{"Belarusian roubles"}
        }
        LVR{
            one{"Latvian rouble"}
            other{"Latvian roubles"}
        }
        RUB{
            one{"Russian rouble"}
            other{"Russian roubles"}
        }
        RUR{
            one{"Russian rouble (1991–1998)"}
            other{"Russian roubles (1991–1998)"}
        }
        TJR{
            one{"Tajikistani rouble"}
            other{"Tajikistani roubles"}
        }
    }
    Version{"2.1.19.14"}
}
