﻿// ***************************************************************************
// *
// * 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{
    Version{"2.0.98.52"}
    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: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"}
    }
}
