﻿// ***************************************************************************
// *
// * Copyright (C) 2016 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/br.xml
// *
// ***************************************************************************
br{
    Countries{
        001{"Bed"}
        002{"Afrika"}
        003{"Norzhamerika"}
        005{"Suamerika"}
        009{"Oseania"}
        011{"Afrika ar Cʼhornôg"}
        013{"Kreizamerika"}
        014{"Afrika ar Reter"}
        015{"Afrika an Norzh"}
        017{"Afrika ar Cʼhreiz"}
        018{"Afrika ar Su"}
        019{"Amerikaoù"}
        021{"Amerika an Norzh"}
        029{"Karib"}
        030{"Azia ar Reter"}
        034{"Azia ar Su"}
        035{"Azia ar Gevred"}
        039{"Europa ar Su"}
        053{"Aostralazia"}
        054{"Melanezia"}
        057{"Rannved Mikronezia"}
        061{"Polinezia"}
        142{"Azia"}
        143{"Azia ar Cʼhreiz"}
        145{"Azia ar Cʼhornôg"}
        150{"Europa"}
        151{"Europa ar Reter"}
        154{"Europa an Norzh"}
        155{"Europa ar Cʼhornôg"}
        419{"Amerika Latin"}
        AC{"Enez Ascension"}
        AD{"Andorra"}
        AE{"Emirelezhioù Arab Unanet"}
        AF{"Afghanistan"}
        AG{"Antigua ha Barbuda"}
        AI{"Anguilla"}
        AL{"Albania"}
        AM{"Armenia"}
        AO{"Angola"}
        AQ{"Antarktika"}
        AR{"Arcʼhantina"}
        AS{"Samoa Amerikan"}
        AT{"Aostria"}
        AU{"Aostralia"}
        AW{"Aruba"}
        AX{"Inizi Åland"}
        AZ{"Azerbaidjan"}
        BA{"Bosnia ha Herzegovina"}
        BB{"Barbados"}
        BD{"Bangladesh"}
        BE{"Belgia"}
        BF{"Burkina Faso"}
        BG{"Bulgaria"}
        BH{"Bahrein"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"Saint Barthélemy"}
        BM{"Bermuda"}
        BN{"Brunei"}
        BO{"Bolivia"}
        BQ{"Karib Nederlandat"}
        BR{"Brazil"}
        BS{"Bahamas"}
        BT{"Bhoutan"}
        BV{"Enez Bouvet"}
        BW{"Botswana"}
        BY{"Belarus"}
        BZ{"Belize"}
        CA{"Kanada"}
        CC{"Inizi Kokoz"}
        CD{"Kongo - Kinshasa"}
        CF{"Republik Kreizafrikan"}
        CG{"Kongo - Brazzaville"}
        CH{"Suis"}
        CI{"Aod an Olifant"}
        CK{"Inizi Cook"}
        CL{"Chile"}
        CM{"Kameroun"}
        CN{"Sina"}
        CO{"Kolombia"}
        CP{"Enez Clipperton"}
        CR{"Costa Rica"}
        CU{"Kuba"}
        CV{"Kab-Glas"}
        CW{"Curaçao"}
        CX{"Enez Christmas"}
        CY{"Kiprenez"}
        CZ{"Republik Tchek"}
        DE{"Alamagn"}
        DG{"Diego Garcia"}
        DJ{"Djibouti"}
        DK{"Danmark"}
        DM{"Dominica"}
        DO{"Republik Dominikan"}
        DZ{"Aljeria"}
        EA{"Ceuta ha Melilla"}
        EC{"Ecuador"}
        EE{"Estonia"}
        EG{"Egipt"}
        EH{"Sahara ar Cʼhornôg"}
        ER{"Eritrea"}
        ES{"Spagn"}
        ET{"Etiopia"}
        EU{"Unaniezh Europa"}
        FI{"Finland"}
        FJ{"Fidji"}
        FK{"Inizi Falkland"}
        FM{"Mikronezia"}
        FO{"Inizi Faero"}
        FR{"Frañs"}
        GA{"Gabon"}
        GB{"Rouantelezh-Unanet"}
        GD{"Grenada"}
        GE{"Jorjia"}
        GF{"Gwiana cʼhall"}
        GG{"Gwernenez"}
        GH{"Ghana"}
        GI{"Jibraltar"}
        GL{"Greunland"}
        GM{"Gambia"}
        GN{"Ginea"}
        GP{"Gwadeloup"}
        GQ{"Ginea ar Cʼheheder"}
        GR{"Gres"}
        GS{"Inizi Georgia ar Su hag Inizi Sandwich ar Su"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Ginea-Bissau"}
        GY{"Guyana"}
        HK{"Hong Kong"}
        HM{"Inizi Heard ha McDonald"}
        HN{"Honduras"}
        HR{"Kroatia"}
        HT{"Haiti"}
        HU{"Hungaria"}
        IC{"Inizi Kanariez"}
        ID{"Indonezia"}
        IE{"Iwerzhon"}
        IL{"Israel"}
        IM{"Enez Vanav"}
        IN{"India"}
        IO{"Tiriad breizhveurat Meurvor Indez"}
        IQ{"Iraq"}
        IR{"Iran"}
        IS{"Island"}
        IT{"Italia"}
        JE{"Jerzenez"}
        JM{"Jamaika"}
        JO{"Jordania"}
        JP{"Japan"}
        KE{"Kenya"}
        KG{"Kyrgyzstan"}
        KH{"Kambodja"}
        KI{"Kiribati"}
        KM{"Komorez"}
        KN{"Saint Kitts ha Nevis"}
        KP{"Korea an Norzh"}
        KR{"Korea ar Su"}
        KW{"Koweit"}
        KY{"Inizi Cayman"}
        KZ{"Kazakstan"}
        LA{"Laos"}
        LB{"Liban"}
        LC{"Saint Lucia"}
        LI{"Liechtenstein"}
        LK{"Sri Lanka"}
        LR{"Liberia"}
        LS{"Lesotho"}
        LT{"Lituania"}
        LU{"Luksembourg"}
        LV{"Latvia"}
        LY{"Libia"}
        MA{"Maroko"}
        MC{"Monaco"}
        MD{"Moldova"}
        ME{"Montenegro"}
        MF{"Saint Martin"}
        MG{"Madagaskar"}
        MH{"Inizi Marshall"}
        MK{"Makedonia"}
        ML{"Mali"}
        MM{"Myanmar (Birmania)"}
        MN{"Mongolia"}
        MO{"Macau"}
        MP{"Inizi Mariana an Norzh"}
        MQ{"Martinik"}
        MR{"Maouritania"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Moris"}
        MV{"Maldivez"}
        MW{"Malawi"}
        MX{"Mecʼhiko"}
        MY{"Malaysia"}
        MZ{"Mozambik"}
        NA{"Namibia"}
        NC{"Kaledonia Nevez"}
        NE{"Niger"}
        NF{"Enez Norfolk"}
        NG{"Nigeria"}
        NI{"Nicaragua"}
        NL{"Izelvroioù"}
        NO{"Norvegia"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Zeland-Nevez"}
        OM{"Oman"}
        PA{"Panamá"}
        PE{"Perou"}
        PF{"Polinezia Cʼhall"}
        PG{"Papoua Ginea-Nevez"}
        PH{"Filipinez"}
        PK{"Pakistan"}
        PL{"Polonia"}
        PM{"Sant-Pêr-ha-Mikelon"}
        PN{"Enez Pitcairn"}
        PR{"Puerto Rico"}
        PS{"Palestina"}
        PT{"Portugal"}
        PW{"Palau"}
        PY{"Paraguay"}
        QA{"Qatar"}
        QO{"Oseania diabell"}
        RE{"Ar Reünion"}
        RO{"Roumania"}
        RS{"Serbia"}
        RU{"Rusia"}
        RW{"Rwanda"}
        SA{"Arabia Saoudat"}
        SB{"Inizi Salomon"}
        SC{"Sechelez"}
        SD{"Soudan"}
        SE{"Sveden"}
        SG{"Singapour"}
        SH{"Saint-Helena"}
        SI{"Slovenia"}
        SJ{"Svalbard"}
        SK{"Slovakia"}
        SL{"Sierra Leone"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somalia"}
        SR{"Surinam"}
        SS{"Susoudan"}
        ST{"São Tomé ha Príncipe"}
        SV{"Salvador"}
        SX{"Sint Maarten"}
        SY{"Siria"}
        SZ{"Swaziland"}
        TA{"Tristan da Cunha"}
        TC{"Inizi Turks ha Caicos"}
        TD{"Tchad"}
        TF{"Douaroù aostral Frañs"}
        TG{"Togo"}
        TH{"Thailand"}
        TJ{"Tadjikistan"}
        TK{"Tokelau"}
        TL{"Timor-Leste"}
        TM{"Turkmenistan"}
        TN{"Tunizia"}
        TO{"Tonga"}
        TR{"Turkia"}
        TT{"Trinidad ha Tobago"}
        TV{"Tuvalu"}
        TW{"Taiwan"}
        TZ{"Tanzania"}
        UA{"Ukraina"}
        UG{"Ouganda"}
        UM{"Inizi diabell ar Stadoù-Unanet"}
        US{"Stadoù-Unanet"}
        UY{"Uruguay"}
        UZ{"Ouzbekistan"}
        VA{"Vatikan"}
        VC{"Sant Visant hag ar Grenadinez"}
        VE{"Venezuela"}
        VG{"Inizi Gwercʼh Breizh-Veur"}
        VI{"Inizi Gwercʼh ar Stadoù-Unanet"}
        VN{"Viêt Nam"}
        VU{"Vanuatu"}
        WF{"Wallis ha Futuna"}
        WS{"Samoa"}
        XK{"Kosovo"}
        YE{"Yemen"}
        YT{"Mayotte"}
        ZA{"Suafrika"}
        ZM{"Zambia"}
        ZW{"Zimbabwe"}
        ZZ{"Rannved dianav"}
    }
    Countries%short{
        GB{"RU"}
        US{"SU"}
    }
    Countries%variant{
        CD{"Kongo (RDK)"}
        CG{"Kongo (Republik)"}
        CI{"Aod Olifant"}
        FK{"Inizi Falkland (Inizi Maloù)"}
        MK{"Makedonia (RYKM)"}
        TL{"Timor ar Reter"}
    }
    Version{"2.1.22.93"}
}
