﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/os.xml
// *
// ***************************************************************************
os{
    Currencies{
        BRL{
            "R$",
            "Бразилиаг реал",
        }
        EUR{
            "€",
            "Евро",
        }
        GBP{
            "£",
            "Бритайнаг Фунт",
        }
        GEL{
            "GEL",
            "Лар",
        }
        RUB{
            "RUB",
            "Сом",
        }
        USD{
            "$",
            "АИШ-ы Доллар",
        }
        XXX{
            "XXX",
            "Нӕзонгӕ валютӕ",
        }
    }
    CurrencyPlurals{
        BRL{
            one{"бразилиаг реал"}
            other{"бразилиаг реалы"}
        }
        EUR{
            one{"евро"}
            other{"евройы"}
        }
        GBP{
            one{"бритайнаг фунт"}
            other{"бритайнаг фунты"}
        }
        GEL{
            one{"лар"}
            other{"лары"}
        }
        RUB{
            one{"сом"}
            other{"сомы"}
        }
        USD{
            one{"АИШ-ы доллар"}
            other{"АИШ-ы доллары"}
        }
        XXX{
            one{"нӕзонгӕ валютӕ"}
            other{"нӕзонгӕ валютӕйы"}
        }
    }
    CurrencyUnitPatterns{
        one{"{0} {1}"}
        other{"{0} {1}"}
    }
    Version{"2.1.19.14"}
}
