﻿// ***************************************************************************
// *
// * 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{"Elfebeeküst"}
        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{"Côte d’Ivoire"}
        MK{"Mazedonien (EJR)"}
    }
    Version{"2.1.12.94"}
}
