﻿// ***************************************************************************
// *
// * Copyright (C) 2006 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/uz.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/uz.xml
 */
uz{
    AuxExemplarCharacters{"[ц щ ы ь]"}
    Countries{
        AF{"Афғонистон"}
        BR{"Бразилия"}
        CN{"Хитой"}
        DE{"Олмония"}
        FR{"Франция"}
        GB{"Бирлашган Қироллик"}
        IN{"Ҳиндистон"}
        IT{"Италия"}
        JP{"Япония"}
        RU{"Россия"}
        US{"Қўшма Штатлар"}
        UZ{"Ўзбекистон"}
    }
    Currencies{
        BRL{
            "BRL",
            "Бразил реали",
        }
        CNY{
            "CNY",
            "Хитой юани",
        }
        EUR{
            "€",
            "Евро",
        }
        GBP{
            "£",
            "Инглиз фунт стерлинги",
        }
        INR{
            "=0#Rs.|1#Re.|1<Rs.",
            "Ҳинд рупияси",
        }
        JPY{
            "¥",
            "Япон йенаси",
        }
        RUB{
            "RUB",
            "Рус рубли",
        }
        USD{
            "$",
            "АҚШ доллари",
        }
        UZS{
            "сўм",
            "Ўзбекистон сўм",
        }
    }
    ExemplarCharacters{"[а-г ғ д е ё ж-к қ л-у ў ф х ҳ ч ш ъ э-я]"}
    Languages{
        ar{"Арабча"}
        de{"Олмонча"}
        en{"Инглизча"}
        es{"Испанча"}
        fr{"Французча"}
        hi{"Ҳиндча"}
        it{"Италянча"}
        ja{"Японча"}
        pt{"Португалча"}
        ru{"Русча"}
        uz{"Ўзбек"}
        zh{"Хитойча"}
    }
    LocaleScript{
        "Cyrl",
    }
    NumberElements{
        ",",
        " ",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "‰",
        "∞",
        "NaN",
        "+",
    }
    Scripts{
        Arab{"Араб"}
        Cyrl{"Кирил"}
        Latn{"Лотин"}
    }
    Version{"1.32"}
    calendar{
        gregorian{
            dayNames{
                format{
                    abbreviated{
                        "Якш",
                        "Душ",
                        "Сеш",
                        "Чор",
                        "Пай",
                        "Жум",
                        "Шан",
                    }
                    wide{
                        "якшанба",
                        "душанба",
                        "сешанба",
                        "чоршанба",
                        "пайшанба",
                        "жума",
                        "шанба",
                    }
                }
                stand-alone{
                    narrow{
                        "Я",
                        "Д",
                        "С",
                        "Ч",
                        "П",
                        "Ж",
                        "Ш",
                    }
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Янв",
                        "Фев",
                        "Мар",
                        "Апр",
                        "Май",
                        "Июн",
                        "Июл",
                        "Авг",
                        "Сен",
                        "Окт",
                        "Ноя",
                        "Дек",
                    }
                    wide{
                        "Муҳаррам",
                        "Сафар",
                        "Рабиул-аввал",
                        "Рабиул-охир",
                        "Жумодиул-уло",
                        "Жумодиул-ухро",
                        "Ражаб",
                        "Шаъбон",
                        "Рамазон",
                        "Шаввол",
                        "Зил-қаъда",
                        "Зил-ҳижжа",
                    }
                }
                stand-alone{
                    narrow{
                        "Я",
                        "Ф",
                        "М",
                        "А",
                        "М",
                        "И",
                        "И",
                        "А",
                        "С",
                        "О",
                        "Н",
                        "Д",
                    }
                }
            }
        }
    }
    zoneStrings{
        "Asia:Kabul"{
            ec{"کابل"}
            ld{"افغانستان وقتی"}
            ls{"افغانستان وقتی"}
            sd{"AFT"}
            ss{"AFT"}
        }
    }
}
