﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/gsw.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/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 Emirate"}
        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"}
        CU{"Kuba"}
        CV{"Kap Verde"}
        CX{"Wienachts-Insle"}
        CY{"Zypere"}
        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{"Äthiopie"}
        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{"St. 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{"Myanmar (Burma)"}
        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{"Maläisia"}
        MZ{"Mosambik"}
        NA{"Namiibia"}
        NC{"Nöikaledoonie"}
        NE{"Niger"}
        NF{"Norfolk-Insle"}
        NG{"Nigeeria"}
        NI{"Nicaraagua"}
        NL{"Holland"}
        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{"Russland"}
        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{"Somaalie"}
        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{"St. Vincent 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"}
    }
    Countries%variant{
        MK{"Mazedoonie (EJRM)"}
    }
    CountriesShort{
        HK{"Hongkong"}
        MO{"Macao"}
    }
    Version{"2.1.7.41"}
}
