﻿// ***************************************************************************
// *
// * 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/root.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/root.xml
 */
root{
    Version{"2.0.66.10"}
    zoneStrings{
        ""{
            ec{""}
            ld{""}
            ls{""}
            sd{""}
            ss{""}
        }
        "Africa:Asmera"{
            ec{"Asmara"}
        }
        "America:Coral_Harbour"{
            ec{"Atikokan"}
        }
        "America:Indiana:Knox"{
            ec{"Knox, Indiana"}
        }
        "America:Indiana:Marengo"{
            ec{"Marengo, Indiana"}
        }
        "America:Indiana:Petersburg"{
            ec{"Petersburg, Indiana"}
        }
        "America:Indiana:Tell_City"{
            ec{"Tell City, Indiana"}
        }
        "America:Indiana:Vevay"{
            ec{"Vevay, Indiana"}
        }
        "America:Indiana:Vincennes"{
            ec{"Vincennes, Indiana"}
        }
        "America:Indiana:Winamac"{
            ec{"Winamac, Indiana"}
        }
        "America:Kentucky:Monticello"{
            ec{"Monticello, Kentucky"}
        }
        "America:Lower_Princes"{
            ec{"Lower Prince's Quarter"}
        }
        "America:North_Dakota:Beulah"{
            ec{"Beulah, North Dakota"}
        }
        "America:North_Dakota:Center"{
            ec{"Center, North Dakota"}
        }
        "America:North_Dakota:New_Salem"{
            ec{"New Salem, North Dakota"}
        }
        "America:St_Barthelemy"{
            ec{"St. Barthelemy"}
        }
        "America:St_Johns"{
            ec{"St. John’s"}
        }
        "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"}
        }
        "Asia:Calcutta"{
            ec{"Kolkata"}
        }
        "Asia:Katmandu"{
            ec{"Kathmandu"}
        }
        "Asia:Saigon"{
            ec{"Ho Chi Minh"}
        }
        "Atlantic:Faeroe"{
            ec{"Faroe"}
        }
        "Atlantic:St_Helena"{
            ec{"St. Helena"}
        }
        "Etc:Unknown"{
            ec{"Unknown"}
        }
        "Pacific:Ponape"{
            ec{"Pohnpei"}
        }
        "Pacific:Truk"{
            ec{"Chuuk"}
        }
        fallbackFormat{"{1} ({0})"}
        fallbackRegionFormat{"{1} ({0})"}
        gmtFormat{"GMT{0}"}
        gmtZeroFormat{"GMT"}
        hourFormat{"+HH:mm;-HH:mm"}
        regionFormat{"({0})"}
        singleCountries{
            "Europe/Kiev",
            "Pacific/Majuro",
            "Africa/Bamako",
            "America/Godthab",
            "America/Santiago",
            "America/Guayaquil",
            "Asia/Shanghai",
            "Asia/Tashkent",
            "Asia/Kuala_Lumpur",
            "Europe/Madrid",
            "Europe/Lisbon",
            "Europe/London",
            "Pacific/Auckland",
            "Pacific/Tahiti",
        }
    }
}
