﻿// ***************************************************************************
// *
// * 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{"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{"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{"Palestina"}
        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"}
        US{"US"}
    }
    Countries%variant{
        CD{"Kongo (Demokratesch Republik)"}
        CG{"Kongo (Republik)"}
        CI{"Elfebeeküst"}
        MK{"Mazedonien (EJR)"}
    }
    Version{"2.1.19.14"}
}
