﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/hsb.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{"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"}
        MK{"Makedonska"}
        ML{"Mali"}
        MM{"Myanmar"}
        MN{"Mongolska"}
        MO{"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{"Palestina"}
        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"}
        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"}
        US{"USA"}
    }
    Countries%variant{
        CD{"Kongo (Demokratiska republika)"}
        CG{"Kongo (Republika)"}
        CI{"Słonowinowy pobrjóh"}
        FK{"Falklandske kupy (Malwiny)"}
        MK{"Makedonska (FYROM)"}
        TL{"Wuchodny Timor"}
    }
    Version{"2.1.19.14"}
}
