﻿// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
gsw{
    Version{"2.1.41.34"}
    zoneStrings{
        "Africa:Accra"{
            ec{"Akkra"}
        }
        "Africa:Addis_Ababa"{
            ec{"Addis Abeba"}
        }
        "Africa:Algiers"{
            ec{"Algier"}
        }
        "Africa:Cairo"{
            ec{"Kairo"}
        }
        "Africa:Dar_es_Salaam"{
            ec{"Daressalam"}
        }
        "Africa:Djibouti"{
            ec{"Dschibuti"}
        }
        "Africa:El_Aaiun"{
            ec{"El Aaiún"}
        }
        "Africa:Khartoum"{
            ec{"Khartum"}
        }
        "Africa:Mogadishu"{
            ec{"Mogadischu"}
        }
        "Africa:Ouagadougou"{
            ec{"Wagadugu"}
        }
        "Africa:Sao_Tome"{
            ec{"São Tomé"}
        }
        "America:Asuncion"{
            ec{"Asunción"}
        }
        "America:Cayman"{
            ec{"Kaimaninsle"}
        }
        "America:Curacao"{
            ec{"Curaçao"}
        }
        "America:El_Salvador"{
            ec{"Salvador"}
        }
        "America:Havana"{
            ec{"Havanna"}
        }
        "America:Indiana:Knox"{
            ec{"Knox"}
        }
        "America:Jamaica"{
            ec{"Jamaika"}
        }
        "America:Mexico_City"{
            ec{"Mexiko-Schtadt"}
        }
        "America:Port_of_Spain"{
            ec{"Port-of-Spain"}
        }
        "America:Scoresbysund"{
            ec{"Ittoqqortoormiit"}
        }
        "America:St_Kitts"{
            ec{"St. Kitts"}
        }
        "America:St_Lucia"{
            ec{"St. Lucia"}
        }
        "America:St_Thomas"{
            ec{"St. Thomas"}
        }
        "America:St_Vincent"{
            ec{"St. Vincent"}
        }
        "Antarctica:DumontDUrville"{
            ec{"Dumont D’Urville"}
        }
        "Antarctica:Vostok"{
            ec{"Woschtok"}
        }
        "Asia:Aqtobe"{
            ec{"Aktobe"}
        }
        "Asia:Baghdad"{
            ec{"Bagdad"}
        }
        "Asia:Bishkek"{
            ec{"Bischkek"}
        }
        "Asia:Damascus"{
            ec{"Damaskus"}
        }
        "Asia:Dushanbe"{
            ec{"Duschanbe"}
        }
        "Asia:Hong_Kong"{
            ec{"Hongkong"}
        }
        "Asia:Kamchatka"{
            ec{"Kamtschatka"}
        }
        "Asia:Krasnoyarsk"{
            ec{"Krasnojarsk"}
        }
        "Asia:Macau"{
            ec{"Macao"}
        }
        "Asia:Muscat"{
            ec{"Muschkat"}
        }
        "Asia:Nicosia"{
            ec{"Nikosia"}
        }
        "Asia:Novosibirsk"{
            ec{"Nowosibirsk"}
        }
        "Asia:Pyongyang"{
            ec{"Pjöngjang"}
        }
        "Asia:Qatar"{
            ec{"Katar"}
        }
        "Asia:Riyadh"{
            ec{"Riad"}
        }
        "Asia:Sakhalin"{
            ec{"Sachalin"}
        }
        "Asia:Singapore"{
            ec{"Singapur"}
        }
        "Asia:Taipei"{
            ec{"Taipeh"}
        }
        "Asia:Tashkent"{
            ec{"Taschkent"}
        }
        "Asia:Tbilisi"{
            ec{"Tiflis"}
        }
        "Asia:Tehran"{
            ec{"Teheran"}
        }
        "Asia:Tokyo"{
            ec{"Tokio"}
        }
        "Asia:Ulaanbaatar"{
            ec{"Ulan-Baator"}
        }
        "Asia:Vladivostok"{
            ec{"Wladiwostok"}
        }
        "Asia:Yakutsk"{
            ec{"Jakutsk"}
        }
        "Asia:Yekaterinburg"{
            ec{"Jekaterinburg"}
        }
        "Asia:Yerevan"{
            ec{"Erivan"}
        }
        "Atlantic:Azores"{
            ec{"Azore"}
        }
        "Atlantic:Bermuda"{
            ec{"Bermudas"}
        }
        "Atlantic:Canary"{
            ec{"Kanare"}
        }
        "Atlantic:Cape_Verde"{
            ec{"Kap Verde"}
        }
        "Atlantic:Faeroe"{
            ec{"Färöer"}
        }
        "Atlantic:South_Georgia"{
            ec{"Süüd-Georgie"}
        }
        "Atlantic:St_Helena"{
            ec{"St. Helena"}
        }
        "Etc:Unknown"{
            ec{"Unbekannt"}
        }
        "Europe:Athens"{
            ec{"Athen"}
        }
        "Europe:Brussels"{
            ec{"Brüssel"}
        }
        "Europe:Bucharest"{
            ec{"Bukarescht"}
        }
        "Europe:Chisinau"{
            ec{"Kischinau"}
        }
        "Europe:Copenhagen"{
            ec{"Kopehage"}
        }
        "Europe:Kiev"{
            ec{"Kiew"}
        }
        "Europe:Lisbon"{
            ec{"Lissabon"}
        }
        "Europe:Luxembourg"{
            ec{"Luxemburg"}
        }
        "Europe:Moscow"{
            ec{"Moskau"}
        }
        "Europe:Rome"{
            ec{"Rom"}
        }
        "Europe:Tirane"{
            ec{"Tirana"}
        }
        "Europe:Uzhgorod"{
            ec{"Uschgorod"}
        }
        "Europe:Vienna"{
            ec{"Wien"}
        }
        "Europe:Vilnius"{
            ec{"Wilna"}
        }
        "Europe:Warsaw"{
            ec{"Warschau"}
        }
        "Europe:Zaporozhye"{
            ec{"Saporischja"}
        }
        "Europe:Zurich"{
            ec{"Züri"}
        }
        "Indian:Christmas"{
            ec{"Wienachts-Insle"}
        }
        "Indian:Comoro"{
            ec{"Komore"}
        }
        "Indian:Maldives"{
            ec{"Maledive"}
        }
        "Indian:Reunion"{
            ec{"Réunion"}
        }
        "Pacific:Easter"{
            ec{"Oschterinsle"}
        }
        "Pacific:Fiji"{
            ec{"Fidschi"}
        }
        "meta:Acre"{
            ld{"Acre-Summerziit"}
            lg{"Acre-Ziit"}
            ls{"Acre-Schtandardziit"}
        }
        "meta:Afghanistan"{
            ls{"Afghanischtan-Ziit"}
        }
        "meta:Africa_Central"{
            ls{"Zentralafrikanischi Ziit"}
        }
        "meta:Africa_Eastern"{
            ls{"Oschtafrikanischi Ziit"}
        }
        "meta:Africa_Southern"{
            ls{"Süüdafrikanischi ziit"}
        }
        "meta:Africa_Western"{
            ld{"Weschtafrikanischi Summerziit"}
            lg{"Weschtafrikanischi Ziit"}
            ls{"Weschtafrikanischi Schtandardziit"}
        }
        "meta:Alaska"{
            ld{"Alaska-Summerziit"}
            lg{"Alaska-Ziit"}
            ls{"Alaska-Schtandardziit"}
        }
        "meta:Almaty"{
            ld{"Almaty-Summerziit"}
            lg{"Almaty-Ziit"}
            ls{"Almaty-Schtandardziit"}
        }
        "meta:Amazon"{
            ld{"Amazonas-Summerziit"}
            lg{"Amazonas-Ziit"}
            ls{"Amazonas-Schtandardziit"}
        }
        "meta:America_Central"{
            ld{"Amerika-Zentraal Summerziit"}
            lg{"Amerika-Zentraal Ziit"}
            ls{"Amerika-Zentraal Schtandardziit"}
        }
        "meta:Europe_Central"{
            ld{"Mitteleuropäischi Summerziit"}
            lg{"Mitteleuropäischi Ziit"}
            ls{"Mitteleuropäischi Schtandardziit"}
            sd{"MESZ"}
            sg{"MEZ"}
            ss{"MEZ"}
        }
        "meta:Europe_Eastern"{
            ld{"Oschteuropäischi Summerziit"}
            lg{"Oschteuropäischi Ziit"}
            ls{"Oschteuropäischi Schtandardziit"}
            sd{"OESZ"}
            sg{"OEZ"}
            ss{"OEZ"}
        }
        "meta:Europe_Western"{
            ld{"Weschteuropäischi Summerziit"}
            lg{"Weschteuropäischi Ziit"}
            ls{"Weschteuropäischi Schtandardziit"}
            sd{"WESZ"}
            sg{"WEZ"}
            ss{"WEZ"}
        }
        "meta:Moscow"{
            ld{"Moskauer Summerziit"}
            lg{"Moskauer Ziit"}
            ls{"Moskauer Schtandardziit"}
        }
        fallbackFormat{"{1} ({0})"}
        gmtFormat{"GMT{0}"}
        hourFormat{"+HH:mm;-HH:mm"}
    }
}
