﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/uz.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/uz.xml
 */
uz{
    Countries{
        001{"Dunyo"}
        002{"Afrika"}
        003{"Shimoliy Amerika"}
        005{"Janubiy Amerika"}
        009{"Okeaniya"}
        011{"Gʻarbiy Afrika"}
        013{"Markaziy Amerika"}
        014{"Sharqiy Afrika"}
        015{"Shimoliy Afrika"}
        017{"Markaziy Afrika"}
        018{"Janubi-Afrika"}
        019{"Amerika"}
        021{"Shimoli-Amerika"}
        029{"Karib havzasi"}
        030{"Sharqiy Osiyo"}
        034{"Janubiy Osiyo"}
        035{"Janubiy-Sharqiy Osiyo"}
        039{"Janubiy Yevropa"}
        053{"Avstralaziya"}
        054{"Melaneziya"}
        057{"Mikroneziya mintaqasi"}
        061{"Polineziya"}
        142{"Osiyo"}
        143{"Markaziy Osiyo"}
        145{"Gʻarbiy Osiyo"}
        150{"Yevropa"}
        151{"Sharqiy Yevropa"}
        154{"Shimoliy Yevropa"}
        155{"Gʻarbiy Yevropa"}
        419{"Lotin Amerikasi"}
        AC{"Vozneseniye oroli"}
        AD{"Andorra"}
        AE{"Birlashgan Arab Amirliklari"}
        AF{"Afgʻoniston"}
        AG{"Antigua va Barbados"}
        AI{"Angila"}
        AL{"Albaniya"}
        AM{"Armaniston"}
        AO{"Angola"}
        AQ{"Antarktika"}
        AR{"Argentina"}
        AS{"Amerika Samoasi"}
        AT{"Avstriya"}
        AU{"Avstraliya"}
        AW{"Aruba"}
        AX{"Aland orollari"}
        AZ{"Ozarbayjon"}
        BA{"Bosniya va Gertsegovina"}
        BB{"Barbados"}
        BD{"Bangladesh"}
        BE{"Belgiya"}
        BF{"Burkina-Faso"}
        BG{"Bolgariya"}
        BH{"Bahrayn"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"Muqaddas Varfalomey"}
        BM{"Bermuda"}
        BN{"Bruney"}
        BO{"Boliviya"}
        BQ{"Karib Niderlandiyasi"}
        BR{"Braziliya"}
        BS{"Bagama orollari"}
        BT{"Butan"}
        BV{"Buvet oroli"}
        BW{"Botsvanna"}
        BY{"Belorusiya"}
        BZ{"Beliz"}
        CA{"Kanada"}
        CC{"Kokos (Kiling) orollari"}
        CD{"Kongo-Kinshasa"}
        CF{"Markaziy Afrika Respublikasi"}
        CG{"Kongo Brazzavil"}
        CH{"Shveysariya"}
        CI{"Kot-d-Ivuar"}
        CK{"Kuk orollari"}
        CL{"Chili"}
        CM{"Kamerun"}
        CN{"Xitoy"}
        CO{"Kolumbiya"}
        CP{"Klipperton oroli"}
        CR{"Kosta-Rika"}
        CU{"Kuba"}
        CV{"Kabo-Verde"}
        CW{"Kurasao"}
        CX{"Rojdestvo oroli"}
        CY{"Kipr"}
        CZ{"Chexiya Respublikasi"}
        DE{"Olmoniya"}
        DG{"Diyego Garsiya"}
        DJ{"Djibuti"}
        DK{"Daniya"}
        DM{"Dominika"}
        DO{"Dominikan Respublikasi"}
        DZ{"Jazoir"}
        EA{"Seyta va Melilla"}
        EC{"Ekvador"}
        EE{"Estoniya"}
        EG{"Misr"}
        EH{"Gʻarbiy Sahroi Kabir"}
        ER{"Eritreya"}
        ES{"Ispaniya"}
        ET{"Efiopiya"}
        EU{"Yevropa Ittifoqi"}
        FI{"Finlyandiya"}
        FJ{"Fiji orollari"}
        FK{"Folklend orollari"}
        FM{"Mikroneziya"}
        FO{"Farer orollari"}
        FR{"Fransiya"}
        GA{"Gabon"}
        GB{"Birlashgan Qirollik"}
        GD{"Grenada"}
        GE{"Gruziya"}
        GF{"Frantsuz Gvianasi"}
        GG{"Gernsi"}
        GH{"Gana"}
        GI{"Gibraltar"}
        GL{"Grenlandiya"}
        GM{"Gambiya"}
        GN{"Gvineya"}
        GP{"Gvadelupe"}
        GQ{"Ekvatorial Gvineya"}
        GR{"Gretsiya"}
        GS{"Janubiy Djordjiya va Janubiy Sendvich orollari"}
        GT{"Gvatemala"}
        GU{"Guam"}
        GW{"Gvineya-Bisau"}
        GY{"Gayana"}
        HK{"Gonkong Xitoy MMH"}
        HM{"Gerd oroli va MakDonald orollari"}
        HN{"Gonduras"}
        HR{"Xorvatiya"}
        HT{"Gaiti"}
        HU{"Vengriya"}
        IC{"Kanar orollari"}
        ID{"Indoneziya"}
        IE{"Irlandiya"}
        IL{"Isroil"}
        IM{"Men oroli"}
        IN{"Hindiston"}
        IO{"Britaniya Hind okeani hududi"}
        IQ{"Iroq"}
        IR{"Eron"}
        IS{"Islandiya"}
        IT{"Italiya"}
        JE{"Djersi"}
        JM{"Yamayka"}
        JO{"Iordaniya"}
        JP{"Yaponiya"}
        KE{"Keniya"}
        KG{"Qirgʻiziston"}
        KH{"Kambodja"}
        KI{"Kiribati"}
        KM{"Komor orollari"}
        KN{"Sent-Kits va Nevis"}
        KP{"Shimoliy Koreya"}
        KR{"Janubiy Koreya"}
        KW{"Kuvayt"}
        KY{"Kayman orollari"}
        KZ{"Qozogʻiston"}
        LA{"Laos"}
        LB{"Livan"}
        LC{"Sent-Lyusiya"}
        LI{"Lixtenshteyn"}
        LK{"Shri-Lanka"}
        LR{"Liberiya"}
        LS{"Lesoto"}
        LT{"Litva"}
        LU{"Lyuksemburg"}
        LV{"Latviya"}
        LY{"Liviya"}
        MA{"Marokash"}
        MC{"Monako"}
        MD{"Moldova"}
        ME{"Chernogoriya"}
        MF{"Sent-Martin"}
        MG{"Madagaskar"}
        MH{"Marshal orollari"}
        MK{"Makedoniya"}
        ML{"Mali"}
        MM{"Myanma (Birma)"}
        MN{"Mugʻuliston"}
        MO{"Makao Xitoy MMH"}
        MP{"Shimoliy Marianna orollari"}
        MQ{"Martinika"}
        MR{"Mavritaniya"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Mavrikiy"}
        MV{"Maldiv orollari"}
        MW{"Malavi"}
        MX{"Meksika"}
        MY{"Malayziya"}
        MZ{"Mozambik"}
        NA{"Namibiya"}
        NC{"Yangi Kaledoniya"}
        NE{"Niger"}
        NF{"Norfolk orollari"}
        NG{"Nigeriya"}
        NI{"Nikaragua"}
        NL{"Niderlandiya"}
        NO{"Norvegiya"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niuye"}
        NZ{"Yangi Zelandiya"}
        OM{"Ummon"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Frantsuz Polineziyasi"}
        PG{"Papua Yangi Gvineya"}
        PH{"Filippin"}
        PK{"Pokiston"}
        PL{"Polsha"}
        PM{"Sent-Pyer va Mikelon"}
        PN{"Pitkarin orollari"}
        PR{"Puerto-Riko"}
        PS{"Falastin hududi"}
        PT{"Portugaliya"}
        PW{"Palau"}
        PY{"Paragvay"}
        QA{"Qatar"}
        QO{"Yondosh Okeaniya"}
        RE{"Reyunon"}
        RO{"Ruminiya"}
        RS{"Serbiya"}
        RU{"Rossiya"}
        RW{"Ruanda"}
        SA{"Saudiya Arabistoni"}
        SB{"Solomon orollari"}
        SC{"Seyshel orollari"}
        SD{"Sudan"}
        SE{"Shvetsiya"}
        SG{"Singapur"}
        SH{"Muqaddas Yelena orollari"}
        SI{"Sloveniya"}
        SJ{"Savlbard va Jan Mayen"}
        SK{"Slovakiya"}
        SL{"Syerra-Leone"}
        SM{"San-Marino"}
        SN{"Senegal"}
        SO{"Somali"}
        SR{"Surinam"}
        SS{"Janubiy Sudan"}
        ST{"San-Tome va Prinsipi"}
        SV{"El-Salvador"}
        SX{"Sint-Maarten"}
        SY{"Suriya"}
        SZ{"Svazilend"}
        TA{"Tristan de Kuna"}
        TC{"Turks va Kaykos orollari"}
        TD{"Chad"}
        TF{"Frantsiya janubiy xududlari"}
        TG{"Togo"}
        TH{"Tayland"}
        TJ{"Tojikiston"}
        TK{"Tokelau"}
        TL{"Sharqiy-Timor"}
        TM{"Turkmaniston"}
        TN{"Tunis"}
        TO{"Tonga"}
        TR{"Turkiya"}
        TT{"Trinidad va Tobago"}
        TV{"Tuvalu"}
        TW{"Tayvan"}
        TZ{"Tanzaniya"}
        UA{"Ukraina"}
        UG{"Uganda"}
        UM{"AQSH yondosh orollari"}
        US{"Qoʻshma Shtatlar"}
        UY{"Urugvay"}
        UZ{"Oʻzbekiston"}
        VA{"Vatikan"}
        VC{"Sent-Vinsent va Grenadin"}
        VE{"Venesuela"}
        VG{"Britaniya Virdjiniya orollari"}
        VI{"AQSH Virdjiniya orollari"}
        VN{"Vyetnam"}
        VU{"Vanuatu"}
        WF{"Uellis va Futuna"}
        WS{"Samoa"}
        XK{"Kosovo"}
        YE{"Yaman"}
        YT{"Mayotta"}
        ZA{"Janubiy Afrika"}
        ZM{"Zambiya"}
        ZW{"Zimbabve"}
        ZZ{"Nomaʼlum hudud"}
    }
    CountriesShort{
        GB{"Birlashgan Qirollik"}
        HK{"Gonkong"}
        MO{"Makao"}
        PS{"Falastina"}
        US{"AKSH"}
    }
    Version{"2.0.92.87"}
}
