﻿// ***************************************************************************
// *
// * 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{"Shimoli-Amerika"}
        005{"Janubiy Amerika"}
        009{"Okeaniya"}
        011{"Gʻarbiy Afrika"}
        013{"Markaziy Amerika"}
        014{"Sharqiy Afrika"}
        015{"Shimoliy Afrika"}
        017{"Markaziy Afrika"}
        018{"Janubiy Afrika"}
        019{"Amerika"}
        021{"Shimoliy 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{"Avliyo Varfolomey"}
        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{"Germaniya"}
        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{"Quveyt"}
        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{"Mo‘g‘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{"Omon"}
        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{"Salvador"}
        SX{"Sint Martin"}
        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{"Janubi-Afrika"}
        ZM{"Zambiya"}
        ZW{"Zimbabve"}
        ZZ{"Nomaʼlum hudud"}
    }
    Countries%variant{
        CD{"Kongo (KDR)"}
        CG{"Kongo (Respublika)"}
        CI{"Fil Suyagi Qirgʻogʻi"}
        FK{"Folklend orollari (Malvin orollari)"}
        MK{"Makedoniya (SYUR)"}
        TL{"Sharqiy Timor"}
    }
    CountriesShort{
        GB{"B.Q."}
        HK{"Gonkong"}
        MO{"Makao"}
        PS{"Falastin"}
        US{"AQSH"}
    }
    Version{"2.1.10.42"}
}
