﻿// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml
hsb{
    Countries{
        001{"swět"}
        002{"Afrika"}
        003{"Sewjerna Amerika"}
        005{"Južna Amerika"}
        009{"Oceaniska"}
        011{"zapadna Afrika"}
        013{"Srjedźna Amerika"}
        014{"wuchodna Afrika"}
        015{"sewjerna Afrika"}
        017{"srjedźna Afrika"}
        018{"južna Afrika"}
        019{"Amerika"}
        021{"sewjerny ameriski kontinent"}
        029{"Karibika"}
        030{"wuchodna Azija"}
        034{"južna Azija"}
        035{"juhowuchodna Azija"}
        039{"južna Europa"}
        053{"Awstralazija"}
        054{"Melaneziska"}
        057{"Mikroneziska (kupowy region)"}
        061{"Polyneziska"}
        142{"Azija"}
        143{"centralna Azija"}
        145{"zapadna Azija"}
        150{"Europa"}
        151{"wuchodna Europa"}
        154{"sewjerna Europa"}
        155{"zapadna Europa"}
        419{"Łaćonska Amerika"}
        AC{"Ascension"}
        AD{"Andorra"}
        AE{"Zjednoćene arabske emiraty"}
        AF{"Afghanistan"}
        AG{"Antigua a Barbuda"}
        AI{"Anguilla"}
        AL{"Albanska"}
        AM{"Armenska"}
        AO{"Angola"}
        AQ{"Antarktika"}
        AR{"Argentinska"}
        AS{"Ameriska Samoa"}
        AT{"Awstriska"}
        AU{"Awstralska"}
        AW{"Aruba"}
        AX{"Åland"}
        AZ{"Azerbajdźan"}
        BA{"Bosniska a Hercegowina"}
        BB{"Barbados"}
        BD{"Bangladeš"}
        BE{"Belgiska"}
        BF{"Burkina Faso"}
        BG{"Bołharska"}
        BH{"Bahrain"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"St. Barthélemy"}
        BM{"Bermudy"}
        BN{"Brunei"}
        BO{"Boliwiska"}
        BQ{"Karibiska Nižozemska"}
        BR{"Brazilska"}
        BS{"Bahamy"}
        BT{"Bhutan"}
        BV{"Bouvetowa kupa"}
        BW{"Botswana"}
        BY{"Běłoruska"}
        BZ{"Belize"}
        CA{"Kanada"}
        CC{"Kokosowe kupy"}
        CD{"Kongo-Kinshasa"}
        CF{"Centralnoafriska republika"}
        CG{"Kongo-Brazzaville"}
        CH{"Šwicarska"}
        CI{"Côte d’Ivoire"}
        CK{"Cookowe kupy"}
        CL{"Chilska"}
        CM{"Kamerun"}
        CN{"China"}
        CO{"Kolumbiska"}
        CP{"Clippertonowa kupa"}
        CR{"Kosta Rika"}
        CU{"Kuba"}
        CV{"Kap Verde"}
        CW{"Curaçao"}
        CX{"Hodowna kupa"}
        CY{"Cypern"}
        CZ{"Čěska republika"}
        DE{"Němska"}
        DG{"Diego Garcia"}
        DJ{"Dźibuti"}
        DK{"Danska"}
        DM{"Dominika"}
        DO{"Dominikanska republika"}
        DZ{"Algeriska"}
        EA{"Ceuta a Melilla"}
        EC{"Ekwador"}
        EE{"Estiska"}
        EG{"Egyptowska"}
        EH{"Zapadna Sahara"}
        ER{"Eritreja"}
        ES{"Španiska"}
        ET{"Etiopiska"}
        EU{"Europska unija"}
        FI{"Finska"}
        FJ{"Fidźi"}
        FK{"Falklandske kupy"}
        FM{"Mikroneziska"}
        FO{"Färöske kupy"}
        FR{"Francoska"}
        GA{"Gabun"}
        GB{"Zjednoćene kralestwo"}
        GD{"Grenada"}
        GE{"Georgiska"}
        GF{"Francoska Guyana"}
        GG{"Guernsey"}
        GH{"Ghana"}
        GI{"Gibraltar"}
        GL{"Grönlandska"}
        GM{"Gambija"}
        GN{"Gineja"}
        GP{"Guadeloupe"}
        GQ{"Ekwatorialna Gineja"}
        GR{"Grjekska"}
        GS{"Južna Georgiska a Južne Sandwichowe kupy"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Gineja-Bissau"}
        GY{"Guyana"}
        HK{"Wosebita zarjadniska cona Hongkong"}
        HM{"Heardowa kupa a McDonaldowe kupy"}
        HN{"Honduras"}
        HR{"Chorwatska"}
        HT{"Haiti"}
        HU{"Madźarska"}
        IC{"Kanariske kupy"}
        ID{"Indoneska"}
        IE{"Irska"}
        IL{"Israel"}
        IM{"Man"}
        IN{"Indiska"}
        IO{"Britiski teritorij w Indiskim oceanje"}
        IQ{"Irak"}
        IR{"Iran"}
        IS{"Islandska"}
        IT{"Italska"}
        JE{"Jersey"}
        JM{"Jamaika"}
        JO{"Jordaniska"}
        JP{"Japanska"}
        KE{"Kenija"}
        KG{"Kirgizistan"}
        KH{"Kambodźa"}
        KI{"Kiribati"}
        KM{"Komory"}
        KN{"St. Kitts a Nevis"}
        KP{"Sewjerna Koreja"}
        KR{"Južna Koreja"}
        KW{"Kuwait"}
        KY{"Kajmanske kupy"}
        KZ{"Kazachstan"}
        LA{"Laos"}
        LB{"Libanon"}
        LC{"St. Lucia"}
        LI{"Liechtenstein"}
        LK{"Sri Lanka"}
        LR{"Liberija"}
        LS{"Lesotho"}
        LT{"Litawska"}
        LU{"Luxemburgska"}
        LV{"Letiska"}
        LY{"Libyska"}
        MA{"Marokko"}
        MC{"Monaco"}
        MD{"Moldawska"}
        ME{"Montenegro"}
        MF{"St. Martin"}
        MG{"Madagaskar"}
        MH{"Marshallowe kupy"}
        ML{"Mali"}
        MM{"Myanmar"}
        MN{"Mongolska"}
        MO{"Wosebita zarjadniska cona Macao"}
        MP{"Sewjerne Mariany"}
        MQ{"Martinique"}
        MR{"Mawretanska"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Mauritius"}
        MV{"Malediwy"}
        MW{"Malawi"}
        MX{"Mexiko"}
        MY{"Malajzija"}
        MZ{"Mosambik"}
        NA{"Namibija"}
        NC{"Nowa Kaledoniska"}
        NE{"Niger"}
        NF{"Norfolkowa kupa"}
        NG{"Nigerija"}
        NI{"Nikaragua"}
        NL{"Nižozemska"}
        NO{"Norwegska"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Nowoseelandska"}
        OM{"Oman"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Francoska Polyneziska"}
        PG{"Papuwa-Nowa Gineja"}
        PH{"Filipiny"}
        PK{"Pakistan"}
        PL{"Pólska"}
        PM{"St. Pierre a Miquelon"}
        PN{"Pitcairnowe kupy"}
        PR{"Puerto Rico"}
        PS{"Palestinski awtonomny teritorij"}
        PT{"Portugalska"}
        PW{"Palau"}
        PY{"Paraguay"}
        QA{"Katar"}
        QO{"Wonkowna Oceaniska"}
        RE{"Réunion"}
        RO{"Rumunska"}
        RS{"Serbiska"}
        RU{"Ruska"}
        RW{"Ruanda"}
        SA{"Sawdi-Arabska"}
        SB{"Salomony"}
        SC{"Seychelle"}
        SD{"Sudan"}
        SE{"Šwedska"}
        SG{"Singapur"}
        SH{"St. Helena"}
        SI{"Słowjenska"}
        SJ{"Svalbard a Jan Mayen"}
        SK{"Słowakska"}
        SL{"Sierra Leone"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somalija"}
        SR{"Surinam"}
        SS{"Južny Sudan"}
        ST{"São Tomé a Príncipe"}
        SV{"El Salvador"}
        SX{"Sint Maarten"}
        SY{"Syriska"}
        SZ{"Swaziska"}
        TA{"Tristan da Cunha"}
        TC{"kupy Turks a Caicos"}
        TD{"Čad"}
        TF{"Francoski južny a antarktiski teritorij"}
        TG{"Togo"}
        TH{"Thailandska"}
        TJ{"Tadźikistan"}
        TK{"Tokelau"}
        TL{"Timor-Leste"}
        TM{"Turkmeniska"}
        TN{"Tuneziska"}
        TO{"Tonga"}
        TR{"Turkowska"}
        TT{"Trinidad a Tobago"}
        TV{"Tuvalu"}
        TW{"Taiwan"}
        TZ{"Tansanija"}
        UA{"Ukraina"}
        UG{"Uganda"}
        UM{"Ameriska Oceaniska"}
        UN{"Zjednoćene narody"}
        US{"Zjednoćene staty Ameriki"}
        UY{"Uruguay"}
        UZ{"Uzbekistan"}
        VA{"Vatikanske město"}
        VC{"St. Vincent a Grenadiny"}
        VE{"Venezuela"}
        VG{"Britiske knježniske kupy"}
        VI{"Ameriske knježniske kupy"}
        VN{"Vietnam"}
        VU{"Vanuatu"}
        WF{"Wallis a Futuna"}
        WS{"Samoa"}
        XK{"Kosowo"}
        YE{"Jemen"}
        YT{"Mayotte"}
        ZA{"Južna Afrika (Republika)"}
        ZM{"Sambija"}
        ZW{"Simbabwe"}
        ZZ{"njeznaty region"}
    }
    Countries%short{
        GB{"UK"}
        HK{"Hongkong"}
        MO{"Macao"}
        PS{"Palestina"}
        US{"USA"}
    }
    Countries%variant{
        CD{"Kongo (Demokratiska republika)"}
        CG{"Kongo (Republika)"}
        CI{"Słonowinowy pobrjóh"}
        FK{"Falklandske kupy (Malwiny)"}
        TL{"Wuchodny Timor"}
    }
    Version{"38"}
}
