﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/gsw.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/gsw.xml
 */
gsw{
    Countries{
        001{"Wält"}
        002{"Afrika"}
        003{"Nordameerika"}
        005{"Süüdameerika"}
        009{"Ozeaanie"}
        011{"Weschtafrika"}
        013{"Mittelameerika"}
        014{"Oschtafrika"}
        015{"Nordafrika"}
        017{"Zentraalafrika"}
        018{"Süüdlichs Afrika"}
        019{"Nord-, Mittel- und Süüdameerika"}
        021{"Nördlichs Ameerika"}
        029{"Karibik"}
        030{"Oschtaasie"}
        034{"Süüdaasie"}
        035{"Süüdoschtaasie"}
        039{"Süüdeuropa"}
        053{"Auschtraalie und Nöiseeland"}
        054{"Melaneesie"}
        057{"Mikroneesischs Inselgebiet"}
        061{"Polineesie"}
        142{"Aasie"}
        143{"Zentraalaasie"}
        145{"Weschtaasie"}
        150{"Euroopa"}
        151{"Oschteuroopa"}
        154{"Nordeuroopa"}
        155{"Weschteuroopa"}
        419{"Latiinameerika"}
        AD{"Andorra"}
        AE{"Veräinigti Arabischi Emiräät"}
        AF{"Afganischtan"}
        AG{"Antigua und Barbuda"}
        AI{"Anguilla"}
        AL{"Albaanie"}
        AM{"Armeenie"}
        AN{"Niderländischi Antille"}
        AO{"Angoola"}
        AQ{"Antarktis"}
        AR{"Argentiinie"}
        AS{"Amerikaanisch-Samoa"}
        AT{"Ööschtriich"}
        AU{"Auschtraalie"}
        AW{"Aruba"}
        AX{"Aaland-Insle"}
        AZ{"Aserbäidschan"}
        BA{"Bosnie und Herzegowina"}
        BB{"Barbados"}
        BD{"Bangladesch"}
        BE{"Belgie"}
        BF{"Burkina Faaso"}
        BG{"Bulgaarie"}
        BH{"Bachräin"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"St. Barthelemi"}
        BM{"Bermuuda"}
        BN{"Brunäi Tarussalam"}
        BO{"Boliivie"}
        BR{"Brasilie"}
        BS{"Bahaamas"}
        BT{"Bhutan"}
        BV{"Bouvet-Insle"}
        BW{"Botswana"}
        BY{"Wiissrussland"}
        BZ{"Belize"}
        CA{"Kanada"}
        CC{"Kokos-Insle"}
        CD{"Temokraatischi Republik Kongo"}
        CF{"Zentraalafrikaanischi Republik"}
        CG{"Kongo"}
        CH{"Schwiiz"}
        CI{"Elfebäiküschte"}
        CK{"Cook-Insle"}
        CL{"Tschile"}
        CM{"Kamerun"}
        CN{"Chiina"}
        CO{"Kolumbie"}
        CR{"Coschta Rica"}
        CS{"Särbie und Monteneegro"}
        CU{"Kuba"}
        CV{"Kap Verde"}
        CX{"Wienachts-Insle"}
        CY{"Tsüpere"}
        CZ{"Tschechischi Republik"}
        DE{"Tüütschland"}
        DJ{"Tschibuuti"}
        DK{"Tänemark"}
        DM{"Tominica"}
        DO{"Tominikaanischi Republik"}
        DZ{"Algeerie"}
        EC{"Ecuador"}
        EE{"Eestland"}
        EG{"Ägüpte"}
        EH{"Weschtsahara"}
        ER{"Äritreea"}
        ES{"Schpanie"}
        ET{"Äzioopie"}
        EU{"Europääischi Unioon"}
        FI{"Finnland"}
        FJ{"Fitschi"}
        FK{"Falkland-Insle"}
        FM{"Mikroneesie"}
        FO{"Färöer"}
        FR{"Frankriich"}
        GA{"Gabun"}
        GB{"Veräinigts Chönigriich"}
        GD{"Grenada"}
        GE{"Geoorgie"}
        GF{"Französisch-Guäjaana"}
        GG{"Gäärnsi"}
        GH{"Gaana"}
        GI{"Gibraltar"}
        GL{"Gröönland"}
        GM{"Gambia"}
        GN{"Gineea"}
        GP{"Guadälup"}
        GQ{"Äquatoriaalgineea"}
        GR{"Griecheland"}
        GS{"Süüdgeorgie und d’süüdlichi Sändwitsch-Insle"}
        GT{"Guatemaala"}
        GU{"Guam"}
        GW{"Gineea-Bissau"}
        GY{"Guäjaana"}
        HK{"Sonderverwaltigszone Hongkong"}
        HM{"Höörd- und MäcDonald-Insle"}
        HN{"Honduras"}
        HR{"Kroaazie"}
        HT{"Haiti"}
        HU{"Ungarn"}
        ID{"Indoneesie"}
        IE{"Irland"}
        IL{"Israel"}
        IM{"Insle vo Män"}
        IN{"Indie"}
        IO{"Britischs Territoorium im Indische Oozean"}
        IQ{"Iraak"}
        IR{"Iraan"}
        IS{"Iisland"}
        IT{"Itaalie"}
        JE{"Dschörsi"}
        JM{"Dschamäika"}
        JO{"Jordaanie"}
        JP{"Japan"}
        KE{"Keenia"}
        KG{"Kirgiisischtan"}
        KH{"Kambodscha"}
        KI{"Kiribaati"}
        KM{"Komoore"}
        KN{"St. Kitts und Niuwis"}
        KP{"Demokraatischi Volksrepublik Koreea"}
        KR{"Republik Koreea"}
        KW{"Kuwäit"}
        KY{"Käimän-Insle"}
        KZ{"Kasachschtan"}
        LA{"Laaos"}
        LB{"Libanon"}
        LC{"Sankta Lutschiia"}
        LI{"Liächteschtäi"}
        LK{"Schri Lanka"}
        LR{"Libeeria"}
        LS{"Lesooto"}
        LT{"Littaue"}
        LU{"Luxemburg"}
        LV{"Lettland"}
        LY{"Lüübie"}
        MA{"Marokko"}
        MC{"Monaco"}
        MD{"Republik Moldau"}
        ME{"Monteneegro"}
        MF{"St. Martin"}
        MG{"Madagaschkar"}
        MH{"Marshallinsle"}
        MK{"Mazedoonie"}
        ML{"Maali"}
        MM{"Müanmar"}
        MN{"Mongolei"}
        MO{"Sonderverwaltigszone Macao"}
        MP{"Nördlichi Mariaane"}
        MQ{"Martinigg"}
        MR{"Mauretaanie"}
        MS{"Moosörrat"}
        MT{"Malta"}
        MU{"Mauriizius"}
        MV{"Malediiwe"}
        MW{"Malaawi"}
        MX{"Mexiko"}
        MY{"Malaisia"}
        MZ{"Mosambik"}
        NA{"Namiibia"}
        NC{"Nöikaledoonie"}
        NE{"Niger"}
        NF{"Norfolk-Insle"}
        NG{"Nigeeria"}
        NI{"Nicaraagua"}
        NL{"Niderland"}
        NO{"Norweege"}
        NP{"Neepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Nöiseeland"}
        OM{"Omaan"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Französisch-Polineesie"}
        PG{"Papua-Neuguinea"}
        PH{"Philippiine"}
        PK{"Pakischtan"}
        PL{"Poole"}
        PM{"St. Pierr und Miggelo"}
        PN{"Pitggäärn"}
        PR{"Puerto Riggo"}
        PS{"Paläschtinänsischi Gebiet"}
        PT{"Portugal"}
        PW{"Palau"}
        PY{"Paraguai"}
        QA{"Ggatar"}
        QO{"Üssers Ozeaanie"}
        RE{"Reünioon"}
        RO{"Rumäänie"}
        RS{"Särbie"}
        RU{"Russischi Föderazioon"}
        RW{"Ruanda"}
        SA{"Saudi-Araabie"}
        SB{"Salomoone"}
        SC{"Seischälle"}
        SD{"Sudan"}
        SE{"Schweede"}
        SG{"Singapuur"}
        SH{"St. Helena"}
        SI{"Sloweenie"}
        SJ{"Svalbard und Jaan Määie"}
        SK{"Slowakäi"}
        SL{"Sierra Leoone"}
        SM{"San Mariino"}
        SN{"Senegal"}
        SO{"Somaalia"}
        SR{"Surinam"}
        ST{"Sao Tome und Prinssipe"}
        SV{"El Salvador"}
        SY{"Süürie"}
        SZ{"Swasiland"}
        TC{"Törks- und Gaiggos-Insle"}
        TD{"Tschad"}
        TF{"Französischi Süüd- und Antarktisgebiet"}
        TG{"Toogo"}
        TH{"Thailand"}
        TJ{"Tadschikischtan"}
        TK{"Tokelau"}
        TL{"Oschttimor"}
        TM{"Turkmeenischtan"}
        TN{"Tuneesie"}
        TO{"Tonga"}
        TR{"Türggei"}
        TT{"Trinidad und Tobaago"}
        TV{"Tuvalu"}
        TW{"Taiwan"}
        TZ{"Tansaniia"}
        UA{"Ukraiine"}
        UG{"Uganda"}
        UM{"Amerikanisch-Ozeaanie"}
        US{"Veräinigti Schtaate"}
        UY{"Uruguay"}
        UZ{"Uschbeekischtan"}
        VA{"Vatikanstadt"}
        VC{"Sankt Wässä und d’Grönadiine"}
        VE{"Venezueela"}
        VG{"Britischi Jungfere-Insle"}
        VI{"Amerikaanischi Jungfere-Insle"}
        VN{"Wietnam"}
        VU{"Wanuatu"}
        WF{"Wallis und Futuuna"}
        WS{"Samooa"}
        YE{"Jeeme"}
        YT{"Majott"}
        ZA{"Süüdafrika"}
        ZM{"Sambia"}
        ZW{"Simbabwe"}
        ZZ{"Unbekannti oder ungültigi Regioon"}
    }
    Version{"2.0.65.46"}
}
