﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/lb.xml
// *
// ***************************************************************************
lb{
    Countries{
        001{"Welt"}
        002{"Afrika"}
        003{"Nordamerika"}
        005{"Südamerika"}
        009{"Ozeanien"}
        011{"Westafrika"}
        013{"Mëttelamerika"}
        014{"Ostafrika"}
        015{"Nordafrika"}
        017{"Zentralafrika"}
        018{"Südlecht Afrika"}
        019{"Amerika"}
        021{"Nërdlecht Amerika"}
        029{"Karibik"}
        030{"Ostasien"}
        034{"Südasien"}
        035{"Südostasien"}
        039{"Südeuropa"}
        053{"Australien an Neiséiland"}
        054{"Melanesien"}
        057{"Mikronesescht Inselgebitt"}
        061{"Polynesien"}
        142{"Asien"}
        143{"Zentralasien"}
        145{"Westasien"}
        150{"Europa"}
        151{"Osteuropa"}
        154{"Nordeuropa"}
        155{"Westeuropa"}
        419{"Latäinamerika"}
        AC{"Ascension"}
        AD{"Andorra"}
        AE{"Vereenegt Arabesch Emirater"}
        AF{"Afghanistan"}
        AG{"Antigua a Barbuda"}
        AI{"Anguilla"}
        AL{"Albanien"}
        AM{"Armenien"}
        AO{"Angola"}
        AQ{"Antarktis"}
        AR{"Argentinien"}
        AS{"Amerikanesch-Samoa"}
        AT{"Éisträich"}
        AU{"Australien"}
        AW{"Aruba"}
        AX{"Ålandinselen"}
        AZ{"Aserbaidschan"}
        BA{"Bosnien an Herzegowina"}
        BB{"Barbados"}
        BD{"Bangladesch"}
        BE{"Belsch"}
        BF{"Burkina Faso"}
        BG{"Bulgarien"}
        BH{"Bahrain"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"Saint-Barthélemy"}
        BM{"Bermuda"}
        BN{"Brunei"}
        BO{"Bolivien"}
        BQ{"Karibescht Holland"}
        BR{"Brasilien"}
        BS{"Bahamas"}
        BT{"Bhutan"}
        BV{"Bouvetinsel"}
        BW{"Botsuana"}
        BY{"Wäissrussland"}
        BZ{"Belize"}
        CA{"Kanada"}
        CC{"Kokosinselen"}
        CD{"Kongo-Kinshasa"}
        CF{"Zentralafrikanesch Republik"}
        CG{"Kongo-Brazzaville"}
        CH{"Schwäiz"}
        CI{"Côte d’Ivoire"}
        CK{"Cookinselen"}
        CL{"Chile"}
        CM{"Kamerun"}
        CN{"China"}
        CO{"Kolumbien"}
        CP{"Clipperton-Insel"}
        CR{"Costa Rica"}
        CU{"Kuba"}
        CV{"Kap Verde"}
        CW{"Curaçao"}
        CX{"Chrëschtdagsinsel"}
        CY{"Zypern"}
        CZ{"Tschechien"}
        DE{"Däitschland"}
        DG{"Diego Garcia"}
        DJ{"Dschibuti"}
        DK{"Dänemark"}
        DM{"Dominica"}
        DO{"Dominikanesch Republik"}
        DZ{"Algerien"}
        EA{"Ceuta a Melilla"}
        EC{"Ecuador"}
        EE{"Estland"}
        EG{"Egypten"}
        EH{"Westsahara"}
        ER{"Eritrea"}
        ES{"Spanien"}
        ET{"Ethiopien"}
        EU{"Europäesch Unioun"}
        FI{"Finnland"}
        FJ{"Fidschi"}
        FK{"Falklandinselen"}
        FM{"Mikronesien"}
        FO{"Färöer"}
        FR{"Frankräich"}
        GA{"Gabun"}
        GB{"Groussbritannien"}
        GD{"Grenada"}
        GE{"Georgien"}
        GF{"Guayane"}
        GG{"Guernsey"}
        GH{"Ghana"}
        GI{"Gibraltar"}
        GL{"Grönland"}
        GM{"Gambia"}
        GN{"Guinea"}
        GP{"Guadeloupe"}
        GQ{"Equatorialguinea"}
        GR{"Griicheland"}
        GS{"Südgeorgien an déi Südlech Sandwichinselen"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Guinea-Bissau"}
        GY{"Guyana"}
        HK{"Spezialverwaltungszon Hong Kong"}
        HM{"Heard- a McDonald-Inselen"}
        HN{"Honduras"}
        HR{"Kroatien"}
        HT{"Haiti"}
        HU{"Ungarn"}
        IC{"Kanaresch Inselen"}
        ID{"Indonesien"}
        IE{"Irland"}
        IL{"Israel"}
        IM{"Isle of Man"}
        IN{"Indien"}
        IO{"Britescht Territorium am Indeschen Ozean"}
        IQ{"Irak"}
        IR{"Iran"}
        IS{"Island"}
        IT{"Italien"}
        JE{"Jersey"}
        JM{"Jamaika"}
        JO{"Jordanien"}
        JP{"Japan"}
        KE{"Kenia"}
        KG{"Kirgisistan"}
        KH{"Kambodscha"}
        KI{"Kiribati"}
        KM{"Komoren"}
        KN{"St. Kitts an Nevis"}
        KP{"Nordkorea"}
        KR{"Südkorea"}
        KW{"Kuwait"}
        KY{"Kaimaninselen"}
        KZ{"Kasachstan"}
        LA{"Laos"}
        LB{"Libanon"}
        LC{"St. Lucia"}
        LI{"Liechtenstein"}
        LK{"Sri Lanka"}
        LR{"Liberia"}
        LS{"Lesotho"}
        LT{"Litauen"}
        LU{"Lëtzebuerg"}
        LV{"Lettland"}
        LY{"Libyen"}
        MA{"Marokko"}
        MC{"Monaco"}
        MD{"Moldawien"}
        ME{"Montenegro"}
        MF{"St. Martin"}
        MG{"Madagaskar"}
        MH{"Marshallinselen"}
        MK{"Mazedonien"}
        ML{"Mali"}
        MM{"Myanmar"}
        MN{"Mongolei"}
        MO{"Spezialverwaltungszon Macau"}
        MP{"Nërdlech Marianen"}
        MQ{"Martinique"}
        MR{"Mauretanien"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Mauritius"}
        MV{"Maldiven"}
        MW{"Malawi"}
        MX{"Mexiko"}
        MY{"Malaysia"}
        MZ{"Mosambik"}
        NA{"Namibia"}
        NC{"Neikaledonien"}
        NE{"Niger"}
        NF{"Norfolkinsel"}
        NG{"Nigeria"}
        NI{"Nicaragua"}
        NL{"Holland"}
        NO{"Norwegen"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Neiséiland"}
        OM{"Oman"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Franséisch-Polynesien"}
        PG{"Papua-Neiguinea"}
        PH{"Philippinnen"}
        PK{"Pakistan"}
        PL{"Polen"}
        PM{"St. Pierre a Miquelon"}
        PN{"Pitcairninselen"}
        PR{"Puerto Rico"}
        PS{"Palestinensesch Autonomiegebidder"}
        PT{"Portugal"}
        PW{"Palau"}
        PY{"Paraguay"}
        QA{"Katar"}
        QO{"Baussecht Ozeanien"}
        RE{"Réunion"}
        RO{"Rumänien"}
        RS{"Serbien"}
        RU{"Russland"}
        RW{"Ruanda"}
        SA{"Saudi-Arabien"}
        SB{"Salomonen"}
        SC{"Seychellen"}
        SD{"Sudan"}
        SE{"Schweden"}
        SG{"Singapur"}
        SH{"St. Helena"}
        SI{"Slowenien"}
        SJ{"Svalbard a Jan Mayen"}
        SK{"Slowakei"}
        SL{"Sierra Leone"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somalia"}
        SR{"Suriname"}
        SS{"Südsudan"}
        ST{"São Tomé a Príncipe"}
        SV{"El Salvador"}
        SX{"Sint Maarten"}
        SY{"Syrien"}
        SZ{"Swasiland"}
        TA{"Tristan da Cunha"}
        TC{"Turks- a Caicosinselen"}
        TD{"Tschad"}
        TF{"Franséisch Süd- an Antarktisgebidder"}
        TG{"Togo"}
        TH{"Thailand"}
        TJ{"Tadschikistan"}
        TK{"Tokelau"}
        TL{"Osttimor"}
        TM{"Turkmenistan"}
        TN{"Tunesien"}
        TO{"Tonga"}
        TR{"Tierkei"}
        TT{"Trinidad an Tobago"}
        TV{"Tuvalu"}
        TW{"Taiwan"}
        TZ{"Tansania"}
        UA{"Ukrain"}
        UG{"Uganda"}
        UM{"Amerikanesch-Ozeanien"}
        US{"Vereenegt Staate vun Amerika"}
        UY{"Uruguay"}
        UZ{"Usbekistan"}
        VA{"Vatikanstad"}
        VC{"St. Vincent an d’Grenadinnen"}
        VE{"Venezuela"}
        VG{"Britesch Joffereninselen"}
        VI{"Amerikanesch Joffereninselen"}
        VN{"Vietnam"}
        VU{"Vanuatu"}
        WF{"Wallis a Futuna"}
        WS{"Samoa"}
        XK{"Kosovo"}
        YE{"Jemen"}
        YT{"Mayotte"}
        ZA{"Südafrika"}
        ZM{"Sambia"}
        ZW{"Simbabwe"}
        ZZ{"Onbekannt Regioun"}
    }
    Countries%short{
        GB{"GB"}
        HK{"Hong Kong"}
        MO{"Macau"}
        PS{"Palestina"}
        US{"US"}
    }
    Countries%variant{
        CD{"Kongo (Demokratesch Republik)"}
        CG{"Kongo (Republik)"}
        CI{"Elfebeeküst"}
        MK{"Mazedonien (EJR)"}
    }
    Version{"2.1.19.14"}
}
