All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.squarespace.cldr.dates._CalendarFormatter_uk Maven / Gradle / Ivy

//
//
// AUTO-GENERATED CLASS - DO NOT EDIT
//
//
package com.squarespace.cldr.dates;

import com.squarespace.cldr.CLDR;
import java.lang.Override;
import java.lang.String;
import java.lang.StringBuilder;
import java.time.ZonedDateTime;
import java.util.HashMap;

/**
 * Locale "uk"
 * See http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
 */
public class _CalendarFormatter_uk extends CalendarFormatterBase {
  public _CalendarFormatter_uk() {
    this.locale = CLDR.Locale.uk;
    this.firstDay = 1;
    this.minDays = 1;
    this.eras = new FieldVariants(
          new String[] {"до н. е.", "н. е."}, 
          new String[] {"до н.е.", "н.е."}, 
          new String[] {}, 
          new String[] {"до нашої ери", "нашої ери"});
    this.quartersFormat = new FieldVariants(
          new String[] {"1-й кв.", "2-й кв.", "3-й кв.", "4-й кв."}, 
          new String[] {"1", "2", "3", "4"}, 
          new String[] {}, 
          new String[] {"1-й квартал", "2-й квартал", "3-й квартал", "4-й квартал"});
    this.quartersStandalone = new FieldVariants(
          new String[] {"1-й кв.", "2-й кв.", "3-й кв.", "4-й кв."}, 
          new String[] {"1", "2", "3", "4"}, 
          new String[] {}, 
          new String[] {"1-й квартал", "2-й квартал", "3-й квартал", "4-й квартал"});
    this.monthsFormat = new FieldVariants(
          new String[] {"січ.", "лют.", "бер.", "квіт.", "трав.", "черв.", "лип.", "серп.", "вер.", "жовт.", "лист.", "груд."}, 
          new String[] {"с", "л", "б", "к", "т", "ч", "л", "с", "в", "ж", "л", "г"}, 
          new String[] {}, 
          new String[] {"січня", "лютого", "березня", "квітня", "травня", "червня", "липня", "серпня", "вересня", "жовтня", "листопада", "грудня"});
    this.monthsStandalone = new FieldVariants(
          new String[] {"січ", "лют", "бер", "кві", "тра", "чер", "лип", "сер", "вер", "жов", "лис", "гру"}, 
          new String[] {"С", "Л", "Б", "К", "Т", "Ч", "Л", "С", "В", "Ж", "Л", "Г"}, 
          new String[] {}, 
          new String[] {"січень", "лютий", "березень", "квітень", "травень", "червень", "липень", "серпень", "вересень", "жовтень", "листопад", "грудень"});
    this.weekdaysFormat = new FieldVariants(
          new String[] {"нд", "пн", "вт", "ср", "чт", "пт", "сб"}, 
          new String[] {"Н", "П", "В", "С", "Ч", "П", "С"}, 
          new String[] {"нд", "пн", "вт", "ср", "чт", "пт", "сб"}, 
          new String[] {"неділя", "понеділок", "вівторок", "середа", "четвер", "пʼятниця", "субота"});
    this.weekdaysStandalone = new FieldVariants(
          new String[] {"нд", "пн", "вт", "ср", "чт", "пт", "сб"}, 
          new String[] {"Н", "П", "В", "С", "Ч", "П", "С"}, 
          new String[] {"нд", "пн", "вт", "ср", "чт", "пт", "сб"}, 
          new String[] {"неділя", "понеділок", "вівторок", "середа", "четвер", "пʼятниця", "субота"});
    this.dayPeriodsFormat = new FieldVariants(
          new String[] {"дп", "пп"}, 
          new String[] {"дп", "пп"}, 
          new String[] {}, 
          new String[] {"дп", "пп"});
    this.dayPeriodsStandalone = new FieldVariants(
          new String[] {"дп", "пп"}, 
          new String[] {"дп", "пп"}, 
          new String[] {}, 
          new String[] {"дп", "пп"});
    this.exemplarCities = new HashMap() { {
      put("America/Adak", "Адак");
      put("America/Anchorage", "Анкоридж");
      put("America/Anguilla", "Ангілья");
      put("America/Antigua", "Антигуа");
      put("America/Araguaina", "Арагуайна");
      put("America/Argentina/Rio_Gallegos", "Ріо-Гальєгос");
      put("America/Argentina/San_Juan", "Сан-Хуан");
      put("America/Argentina/Ushuaia", "Ушуая");
      put("America/Argentina/La_Rioja", "Ла-Ріоха");
      put("America/Argentina/San_Luis", "Сан-Луїс");
      put("America/Argentina/Salta", "Сальта");
      put("America/Argentina/Tucuman", "Тукуман");
      put("America/Aruba", "Аруба");
      put("America/Asuncion", "Асунсьйон");
      put("America/Bahia", "Байя");
      put("America/Bahia_Banderas", "Баїя Бандерас");
      put("America/Barbados", "Барбадос");
      put("America/Belem", "Белен");
      put("America/Belize", "Беліз");
      put("America/Blanc-Sablon", "Бланк-Саблон");
      put("America/Boa_Vista", "Боа-Віста");
      put("America/Bogota", "Богота");
      put("America/Boise", "Бойсе");
      put("America/Buenos_Aires", "Буенос-Айрес");
      put("America/Cambridge_Bay", "Кембридж-Бей");
      put("America/Campo_Grande", "Кампу-Гранді");
      put("America/Cancun", "Канкун");
      put("America/Caracas", "Каракас");
      put("America/Catamarca", "Катамарка");
      put("America/Cayenne", "Каєнна");
      put("America/Cayman", "Кайманові острови");
      put("America/Chicago", "Чикаго");
      put("America/Chihuahua", "Чіуауа");
      put("America/Coral_Harbour", "Корал-Гарбор");
      put("America/Cordoba", "Кордова");
      put("America/Costa_Rica", "Коста-Рика");
      put("America/Creston", "Крестон");
      put("America/Cuiaba", "Куяба");
      put("America/Curacao", "Кюрасао");
      put("America/Danmarkshavn", "Денмарксхавн");
      put("America/Dawson", "Доусон");
      put("America/Dawson_Creek", "Доусон-Крік");
      put("America/Denver", "Денвер");
      put("America/Detroit", "Детройт");
      put("America/Dominica", "Домініка");
      put("America/Edmonton", "Едмонтон");
      put("America/Eirunepe", "Ейрунепе");
      put("America/El_Salvador", "Сальвадор");
      put("America/Fort_Nelson", "Форт Нельсон");
      put("America/Fortaleza", "Форталеза");
      put("America/Glace_Bay", "Глейс-Бей");
      put("America/Godthab", "Нуук");
      put("America/Goose_Bay", "Гуз-Бей");
      put("America/Grand_Turk", "Гранд-Терк");
      put("America/Grenada", "Гренада");
      put("America/Guadeloupe", "Гваделупа");
      put("America/Guatemala", "Гватемала");
      put("America/Guayaquil", "Гуаякіль");
      put("America/Guyana", "Гаяна");
      put("America/Halifax", "Галіфакс");
      put("America/Havana", "Гавана");
      put("America/Hermosillo", "Ермосільйо");
      put("America/Indiana/Vincennes", "Вінсенс, Індіана");
      put("America/Indiana/Petersburg", "Пітерсберг, Індіана");
      put("America/Indiana/Tell_City", "Телл-Сіті, Індіана");
      put("America/Indiana/Knox", "Нокс, Індіана");
      put("America/Indiana/Winamac", "Вінамак, Індіана");
      put("America/Indiana/Marengo", "Маренго, Індіана");
      put("America/Indiana/Vevay", "Вівей, Індіана");
      put("America/Indianapolis", "Індіанаполіс");
      put("America/Inuvik", "Інувік");
      put("America/Iqaluit", "Ікалуїт");
      put("America/Jamaica", "Ямайка");
      put("America/Jujuy", "Жужуй");
      put("America/Juneau", "Джуно");
      put("America/Kentucky/Monticello", "Монтіселло, Кентуккі");
      put("America/Kralendijk", "Кралендейк");
      put("America/La_Paz", "Ла-Пас");
      put("America/Lima", "Ліма");
      put("America/Los_Angeles", "Лос-Анджелес");
      put("America/Louisville", "Луїсвілл");
      put("America/Lower_Princes", "Лоуер-Принсес-Квотер");
      put("America/Maceio", "Масейо");
      put("America/Managua", "Манагуа");
      put("America/Manaus", "Манаус");
      put("America/Marigot", "Маріго");
      put("America/Martinique", "Мартиніка");
      put("America/Matamoros", "Матаморос");
      put("America/Mazatlan", "Масатлан");
      put("America/Mendoza", "Мендоса");
      put("America/Menominee", "Меноміні");
      put("America/Merida", "Меріда");
      put("America/Metlakatla", "Метлакатла");
      put("America/Mexico_City", "Мехіко");
      put("America/Miquelon", "Мікелон");
      put("America/Moncton", "Монктон");
      put("America/Monterrey", "Монтерей");
      put("America/Montevideo", "Монтевідео");
      put("America/Montserrat", "Монсеррат");
      put("America/Nassau", "Насау");
      put("America/New_York", "Нью-Йорк");
      put("America/Nipigon", "Ніпігон");
      put("America/Nome", "Ном");
      put("America/Noronha", "Норонья");
      put("America/North_Dakota/Beulah", "Бʼюла, Північна Дакота");
      put("America/North_Dakota/New_Salem", "Нью-Салем, Північна Дакота");
      put("America/North_Dakota/Center", "Сентр, Північна Дакота");
      put("America/Ojinaga", "Охінага");
      put("America/Panama", "Панама");
      put("America/Pangnirtung", "Пангніртанг");
      put("America/Paramaribo", "Парамарибо");
      put("America/Phoenix", "Фінікс");
      put("America/Port-au-Prince", "Порт-о-Пренс");
      put("America/Port_of_Spain", "Порт-оф-Спейн");
      put("America/Porto_Velho", "Порту-Велью");
      put("America/Puerto_Rico", "Пуерто-Рико");
      put("America/Rainy_River", "Рейні-Рівер");
      put("America/Rankin_Inlet", "Ренкін-Інлет");
      put("America/Recife", "Ресіфі");
      put("America/Regina", "Реджайна");
      put("America/Resolute", "Резольют");
      put("America/Rio_Branco", "Ріо-Бранко");
      put("America/Santa_Isabel", "Санта-Ісабель");
      put("America/Santarem", "Сантарен");
      put("America/Santiago", "Сантьяго");
      put("America/Santo_Domingo", "Санто-Домінго");
      put("America/Sao_Paulo", "Сан-Паулу");
      put("America/Scoresbysund", "Іттоккортоорміут");
      put("America/Sitka", "Сітка");
      put("America/St_Barthelemy", "Сен-Бартелемі");
      put("America/St_Johns", "Сент-Джонс");
      put("America/St_Kitts", "Сент-Кіттс");
      put("America/St_Lucia", "Сент-Люсія");
      put("America/St_Thomas", "Сент-Томас");
      put("America/St_Vincent", "Сент-Вінсент");
      put("America/Swift_Current", "Свіфт-Каррент");
      put("America/Tegucigalpa", "Тегусігальпа");
      put("America/Thule", "Туле");
      put("America/Thunder_Bay", "Тандер-Бей");
      put("America/Tijuana", "Тіхуана");
      put("America/Toronto", "Торонто");
      put("America/Tortola", "Тортола");
      put("America/Vancouver", "Ванкувер");
      put("America/Whitehorse", "Вайтгорс");
      put("America/Winnipeg", "Вінніпег");
      put("America/Yakutat", "Якутат");
      put("America/Yellowknife", "Єллоунайф");
      put("Atlantic/Azores", "Азорські Острови");
      put("Atlantic/Bermuda", "Бермуди");
      put("Atlantic/Canary", "Канарські Острови");
      put("Atlantic/Cape_Verde", "Кабо-Верде");
      put("Atlantic/Faeroe", "Фарерські Острови");
      put("Atlantic/Madeira", "Мадейра");
      put("Atlantic/Reykjavik", "Рейкʼявік");
      put("Atlantic/South_Georgia", "Південна Джорджія");
      put("Atlantic/St_Helena", "Острів Святої Єлени");
      put("Atlantic/Stanley", "Стенлі");
      put("Europe/Amsterdam", "Амстердам");
      put("Europe/Andorra", "Андорра");
      put("Europe/Astrakhan", "Астрахань");
      put("Europe/Athens", "Афіни");
      put("Europe/Belgrade", "Белград");
      put("Europe/Berlin", "Берлін");
      put("Europe/Bratislava", "Братислава");
      put("Europe/Brussels", "Брюссель");
      put("Europe/Bucharest", "Бухарест");
      put("Europe/Budapest", "Будапешт");
      put("Europe/Busingen", "Бюзінген");
      put("Europe/Chisinau", "Кишинів");
      put("Europe/Copenhagen", "Копенгаген");
      put("Europe/Dublin", "Дублін");
      put("Europe/Gibraltar", "Гібралтар");
      put("Europe/Guernsey", "Гернсі");
      put("Europe/Helsinki", "Гельсінкі");
      put("Europe/Isle_of_Man", "Острів Мен");
      put("Europe/Istanbul", "Стамбул");
      put("Europe/Jersey", "Джерсі");
      put("Europe/Kaliningrad", "Калінінград");
      put("Europe/Kiev", "Київ");
      put("Europe/Kirov", "Кіров");
      put("Europe/Lisbon", "Лісабон");
      put("Europe/Ljubljana", "Любляна");
      put("Europe/London", "Лондон");
      put("Europe/Luxembourg", "Люксембург");
      put("Europe/Madrid", "Мадрид");
      put("Europe/Malta", "Мальта");
      put("Europe/Mariehamn", "Марієгамн");
      put("Europe/Minsk", "Мінськ");
      put("Europe/Monaco", "Монако");
      put("Europe/Moscow", "Москва");
      put("Europe/Oslo", "Осло");
      put("Europe/Paris", "Париж");
      put("Europe/Podgorica", "Подгориця");
      put("Europe/Prague", "Прага");
      put("Europe/Riga", "Рига");
      put("Europe/Rome", "Рим");
      put("Europe/Samara", "Самара");
      put("Europe/San_Marino", "Сан-Марино");
      put("Europe/Sarajevo", "Сараєво");
      put("Europe/Simferopol", "Сімферополь");
      put("Europe/Skopje", "Скопʼє");
      put("Europe/Sofia", "Софія");
      put("Europe/Stockholm", "Стокгольм");
      put("Europe/Tallinn", "Таллінн");
      put("Europe/Tirane", "Тирана");
      put("Europe/Ulyanovsk", "Ульяновськ");
      put("Europe/Uzhgorod", "Ужгород");
      put("Europe/Vaduz", "Вадуц");
      put("Europe/Vatican", "Ватикан");
      put("Europe/Vienna", "Відень");
      put("Europe/Vilnius", "Вільнюс");
      put("Europe/Volgograd", "Волгоград");
      put("Europe/Warsaw", "Варшава");
      put("Europe/Zagreb", "Загреб");
      put("Europe/Zaporozhye", "Запоріжжя");
      put("Europe/Zurich", "Цюрих");
      put("Africa/Abidjan", "Абіджан");
      put("Africa/Accra", "Аккра");
      put("Africa/Addis_Ababa", "Аддис-Абеба");
      put("Africa/Algiers", "Алжир");
      put("Africa/Asmera", "Асмара");
      put("Africa/Bamako", "Бамако");
      put("Africa/Bangui", "Бангі");
      put("Africa/Banjul", "Банжул");
      put("Africa/Bissau", "Бісау");
      put("Africa/Blantyre", "Блантир");
      put("Africa/Brazzaville", "Браззавіль");
      put("Africa/Bujumbura", "Бужумбура");
      put("Africa/Cairo", "Каїр");
      put("Africa/Casablanca", "Касабланка");
      put("Africa/Ceuta", "Сеута");
      put("Africa/Conakry", "Конакрі");
      put("Africa/Dakar", "Дакар");
      put("Africa/Dar_es_Salaam", "Дар-ес-Салам");
      put("Africa/Djibouti", "Джибуті");
      put("Africa/Douala", "Дуала");
      put("Africa/El_Aaiun", "Ель-Аюн");
      put("Africa/Freetown", "Фрітаун");
      put("Africa/Gaborone", "Габороне");
      put("Africa/Harare", "Хараре");
      put("Africa/Johannesburg", "Йоганнесбург");
      put("Africa/Juba", "Джуба");
      put("Africa/Kampala", "Кампала");
      put("Africa/Khartoum", "Хартум");
      put("Africa/Kigali", "Кігалі");
      put("Africa/Kinshasa", "Кіншаса");
      put("Africa/Lagos", "Лагос");
      put("Africa/Libreville", "Лібревіль");
      put("Africa/Lome", "Ломе");
      put("Africa/Luanda", "Луанда");
      put("Africa/Lubumbashi", "Лубумбаші");
      put("Africa/Lusaka", "Лусака");
      put("Africa/Malabo", "Малабо");
      put("Africa/Maputo", "Мапуту");
      put("Africa/Maseru", "Масеру");
      put("Africa/Mbabane", "Мбабане");
      put("Africa/Mogadishu", "Могадишо");
      put("Africa/Monrovia", "Монровія");
      put("Africa/Nairobi", "Найробі");
      put("Africa/Ndjamena", "Нджамена");
      put("Africa/Niamey", "Ніамей");
      put("Africa/Nouakchott", "Нуакшотт");
      put("Africa/Ouagadougou", "Уагадугу");
      put("Africa/Porto-Novo", "Порто-Ново");
      put("Africa/Sao_Tome", "Сан-Томе");
      put("Africa/Tripoli", "Триполі");
      put("Africa/Tunis", "Туніс");
      put("Africa/Windhoek", "Віндгук");
      put("Asia/Aden", "Аден");
      put("Asia/Almaty", "Алмати");
      put("Asia/Amman", "Амман");
      put("Asia/Anadyr", "Анадир");
      put("Asia/Aqtau", "Актау");
      put("Asia/Aqtobe", "Актобе");
      put("Asia/Ashgabat", "Ашгабат");
      put("Asia/Baghdad", "Багдад");
      put("Asia/Bahrain", "Бахрейн");
      put("Asia/Baku", "Баку");
      put("Asia/Bangkok", "Бангкок");
      put("Asia/Barnaul", "Барнаул");
      put("Asia/Beirut", "Бейрут");
      put("Asia/Bishkek", "Бішкек");
      put("Asia/Brunei", "Бруней");
      put("Asia/Calcutta", "Колката");
      put("Asia/Chita", "Чита");
      put("Asia/Choibalsan", "Чойбалсан");
      put("Asia/Colombo", "Коломбо");
      put("Asia/Damascus", "Дамаск");
      put("Asia/Dhaka", "Дакка");
      put("Asia/Dili", "Ділі");
      put("Asia/Dubai", "Дубай");
      put("Asia/Dushanbe", "Душанбе");
      put("Asia/Gaza", "Газа");
      put("Asia/Hebron", "Хеврон");
      put("Asia/Hong_Kong", "Гонконг");
      put("Asia/Hovd", "Ховд");
      put("Asia/Irkutsk", "Іркутськ");
      put("Asia/Jakarta", "Джакарта");
      put("Asia/Jayapura", "Джайпур");
      put("Asia/Jerusalem", "Єрусалим");
      put("Asia/Kabul", "Кабул");
      put("Asia/Kamchatka", "Камчатка");
      put("Asia/Karachi", "Карачі");
      put("Asia/Katmandu", "Катманду");
      put("Asia/Khandyga", "Хандига");
      put("Asia/Krasnoyarsk", "Красноярськ");
      put("Asia/Kuala_Lumpur", "Куала-Лумпур");
      put("Asia/Kuching", "Кучінг");
      put("Asia/Kuwait", "Кувейт");
      put("Asia/Macau", "Макао");
      put("Asia/Magadan", "Магадан");
      put("Asia/Makassar", "Макассар");
      put("Asia/Manila", "Маніла");
      put("Asia/Muscat", "Маскат");
      put("Asia/Nicosia", "Нікосія");
      put("Asia/Novokuznetsk", "Новокузнецьк");
      put("Asia/Novosibirsk", "Новосибірськ");
      put("Asia/Omsk", "Омськ");
      put("Asia/Oral", "Орал");
      put("Asia/Phnom_Penh", "Пномпень");
      put("Asia/Pontianak", "Понтіанак");
      put("Asia/Pyongyang", "Пхеньян");
      put("Asia/Qatar", "Катар");
      put("Asia/Qyzylorda", "Кизилорда");
      put("Asia/Rangoon", "Янгон");
      put("Asia/Riyadh", "Ер-Ріяд");
      put("Asia/Saigon", "Хошимін");
      put("Asia/Sakhalin", "Сахалін");
      put("Asia/Samarkand", "Самарканд");
      put("Asia/Seoul", "Сеул");
      put("Asia/Shanghai", "Шанхай");
      put("Asia/Singapore", "Сінгапур");
      put("Asia/Srednekolymsk", "Середньоколимськ");
      put("Asia/Taipei", "Тайбей");
      put("Asia/Tashkent", "Ташкент");
      put("Asia/Tbilisi", "Тбілісі");
      put("Asia/Tehran", "Тегеран");
      put("Asia/Thimphu", "Тхімпху");
      put("Asia/Tokyo", "Токіо");
      put("Asia/Tomsk", "Томськ");
      put("Asia/Ulaanbaatar", "Улан-Батор");
      put("Asia/Urumqi", "Урумчі");
      put("Asia/Ust-Nera", "Усть-Нера");
      put("Asia/Vientiane", "Вʼєнтьян");
      put("Asia/Vladivostok", "Владивосток");
      put("Asia/Yakutsk", "Якутськ");
      put("Asia/Yekaterinburg", "Єкатеринбург");
      put("Asia/Yerevan", "Єреван");
      put("Indian/Antananarivo", "Антананаріву");
      put("Indian/Chagos", "Чагос");
      put("Indian/Christmas", "Острів Різдва");
      put("Indian/Cocos", "Кокосові Острови");
      put("Indian/Comoro", "Коморські острови");
      put("Indian/Kerguelen", "Кергелен");
      put("Indian/Mahe", "Махе");
      put("Indian/Maldives", "Мальдіви");
      put("Indian/Mauritius", "Маврикій");
      put("Indian/Mayotte", "Майотта");
      put("Indian/Reunion", "Реюньйон");
      put("Australia/Adelaide", "Аделаїда");
      put("Australia/Brisbane", "Брісбен");
      put("Australia/Broken_Hill", "Брокен-Хілл");
      put("Australia/Currie", "Каррі");
      put("Australia/Darwin", "Дарвін");
      put("Australia/Eucla", "Евкла");
      put("Australia/Hobart", "Гобарт");
      put("Australia/Lindeman", "Ліндеман");
      put("Australia/Lord_Howe", "Лорд-Хау");
      put("Australia/Melbourne", "Мельбурн");
      put("Australia/Perth", "Перт");
      put("Australia/Sydney", "Сідней");
      put("Pacific/Apia", "Апіа");
      put("Pacific/Auckland", "Окленд");
      put("Pacific/Bougainville", "Бугенвіль");
      put("Pacific/Chatham", "Чатем");
      put("Pacific/Easter", "Острів Пасхи");
      put("Pacific/Efate", "Ефате");
      put("Pacific/Enderbury", "Ендербері");
      put("Pacific/Fakaofo", "Факаофо");
      put("Pacific/Fiji", "Фіджі");
      put("Pacific/Funafuti", "Фунафуті");
      put("Pacific/Galapagos", "Галапагоські острови");
      put("Pacific/Gambier", "Гамбер");
      put("Pacific/Guadalcanal", "Гвадалканал");
      put("Pacific/Guam", "Гуам");
      put("Pacific/Honolulu", "Гонолулу");
      put("Pacific/Johnston", "Джонстон");
      put("Pacific/Kiritimati", "Кірітіматі");
      put("Pacific/Kosrae", "Косрае");
      put("Pacific/Kwajalein", "Кваджалейн");
      put("Pacific/Majuro", "Маджуро");
      put("Pacific/Marquesas", "Маркізькі острови");
      put("Pacific/Midway", "Мідвей");
      put("Pacific/Nauru", "Науру");
      put("Pacific/Niue", "Ніуе");
      put("Pacific/Norfolk", "Норфолк");
      put("Pacific/Noumea", "Нумеа");
      put("Pacific/Pago_Pago", "Паго-Паго");
      put("Pacific/Palau", "Палау");
      put("Pacific/Pitcairn", "Піткерн");
      put("Pacific/Ponape", "Понапе");
      put("Pacific/Port_Moresby", "Порт-Морсбі");
      put("Pacific/Rarotonga", "Раротонга");
      put("Pacific/Saipan", "Сайпан");
      put("Pacific/Tahiti", "Таїті");
      put("Pacific/Tarawa", "Тарава");
      put("Pacific/Tongatapu", "Тонгатапу");
      put("Pacific/Truk", "Трук");
      put("Pacific/Wake", "Вейк");
      put("Pacific/Wallis", "Волліс");
      put("Arctic/Longyearbyen", "Лонг’їр");
      put("Antarctica/Casey", "Кейсі");
      put("Antarctica/Davis", "Девіс");
      put("Antarctica/DumontDUrville", "Дюмон-дʼЮрвіль");
      put("Antarctica/Macquarie", "Маккуорі");
      put("Antarctica/Mawson", "Моусон");
      put("Antarctica/McMurdo", "Мак-Мердо");
      put("Antarctica/Palmer", "Палмер");
      put("Antarctica/Rothera", "Ротера");
      put("Antarctica/Syowa", "Сьова");
      put("Antarctica/Troll", "Тролл");
      put("Antarctica/Vostok", "Восток");
      put("Etc/GMT", "GMT");
      put("Etc/GMT1", "GMT+1");
      put("Etc/GMT10", "GMT+10");
      put("Etc/GMT11", "GMT+11");
      put("Etc/GMT12", "GMT+12");
      put("Etc/GMT2", "GMT+2");
      put("Etc/GMT3", "GMT+3");
      put("Etc/GMT4", "GMT+4");
      put("Etc/GMT5", "GMT+5");
      put("Etc/GMT6", "GMT+6");
      put("Etc/GMT7", "GMT+7");
      put("Etc/GMT8", "GMT+8");
      put("Etc/GMT9", "GMT+9");
      put("Etc/GMT-1", "GMT-1");
      put("Etc/GMT-10", "GMT-10");
      put("Etc/GMT-11", "GMT-11");
      put("Etc/GMT-12", "GMT-12");
      put("Etc/GMT-13", "GMT-13");
      put("Etc/GMT-14", "GMT-14");
      put("Etc/GMT-2", "GMT-2");
      put("Etc/GMT-3", "GMT-3");
      put("Etc/GMT-4", "GMT-4");
      put("Etc/GMT-5", "GMT-5");
      put("Etc/GMT-6", "GMT-6");
      put("Etc/GMT-7", "GMT-7");
      put("Etc/GMT-8", "GMT-8");
      put("Etc/GMT-9", "GMT-9");
      put("Etc/UTC", "UTC");
      put("Etc/Unknown", "Невідоме місто");
    } };

    this.timezoneNames = new HashMap() { {

      put("Europe/Dublin", new TimeZoneNames("Europe/Dublin",   new TimeZoneNames.Name(null, null, "за літнім часом в Ірландії"),
        null));

      put("Europe/London", new TimeZoneNames("Europe/London",   new TimeZoneNames.Name(null, null, "за літнім часом у Великій Британії"),
        null));

      put("Etc/UTC", new TimeZoneNames("Etc/UTC",   new TimeZoneNames.Name(null, "Всесвітній координований час", null),
        new TimeZoneNames.Name(null, "UTC", null)));
    } };

    this.metazoneNames = new HashMap() { {

      put("Acre", new TimeZoneNames("Acre", 
        new TimeZoneNames.Name("час: Акрі", "час: Акрі, стандартний", "час: Акрі, літній"),
        null));

      put("Afghanistan", new TimeZoneNames("Afghanistan", 
        new TimeZoneNames.Name(null, "за часом в Афганістані", null),
        null));

      put("Africa_Central", new TimeZoneNames("Africa_Central", 
        new TimeZoneNames.Name(null, "за центральноафриканським часом", null),
        null));

      put("Africa_Eastern", new TimeZoneNames("Africa_Eastern", 
        new TimeZoneNames.Name(null, "за східноафриканським часом", null),
        null));

      put("Africa_Southern", new TimeZoneNames("Africa_Southern", 
        new TimeZoneNames.Name(null, "за південноафриканським часом", null),
        null));

      put("Africa_Western", new TimeZoneNames("Africa_Western", 
        new TimeZoneNames.Name("за західноафриканським часом", "за західноафриканським стандартним часом", "за західноафриканським літнім часом"),
        null));

      put("Alaska", new TimeZoneNames("Alaska", 
        new TimeZoneNames.Name("за часом на Алясці", "за стандартним часом на Алясці", "за літнім часом на Алясці"),
        null));

      put("Amazon", new TimeZoneNames("Amazon", 
        new TimeZoneNames.Name("за часом на Амазонці", "за стандартним часом на Амазонці", "за літнім часом на Амазонці"),
        null));

      put("America_Central", new TimeZoneNames("America_Central", 
        new TimeZoneNames.Name("за північноамериканським центральним часом", "за північноамериканським центральним стандартним часом", "за північноамериканським центральним літнім часом"),
        null));

      put("America_Eastern", new TimeZoneNames("America_Eastern", 
        new TimeZoneNames.Name("за північноамериканським східним часом", "за північноамериканським східним стандартним часом", "за північноамериканським східним літнім часом"),
        null));

      put("America_Mountain", new TimeZoneNames("America_Mountain", 
        new TimeZoneNames.Name("за північноамериканським гірським часом", "за північноамериканським гірським стандартним часом", "за північноамериканським гірським літнім часом"),
        null));

      put("America_Pacific", new TimeZoneNames("America_Pacific", 
        new TimeZoneNames.Name("за північноамериканським тихоокеанським часом", "за північноамериканським тихоокеанським стандартним часом", "за північноамериканським тихоокеанським літнім часом"),
        null));

      put("Anadyr", new TimeZoneNames("Anadyr", 
        new TimeZoneNames.Name("час: Анадир", "час: Анадир, стандартний", "час: Анадир, літній"),
        null));

      put("Apia", new TimeZoneNames("Apia", 
        new TimeZoneNames.Name("за часом в Апіа", "за стандартним часом в Апіа", "за літнім часом в Апіа"),
        null));

      put("Arabian", new TimeZoneNames("Arabian", 
        new TimeZoneNames.Name("за арабським часом", "за арабським стандартним часом", "за арабським літнім часом"),
        null));

      put("Argentina", new TimeZoneNames("Argentina", 
        new TimeZoneNames.Name("за аргентинським часом", "за стандартним аргентинським часом", "за літнім аргентинським часом"),
        null));

      put("Argentina_Western", new TimeZoneNames("Argentina_Western", 
        new TimeZoneNames.Name("за західноаргентинським часом", "за стандартним західноаргентинським часом", "за літнім за західноаргентинським часом"),
        null));

      put("Armenia", new TimeZoneNames("Armenia", 
        new TimeZoneNames.Name("за вірменським часом", "за вірменським стандартним часом", "за вірменським літнім часом"),
        null));

      put("Atlantic", new TimeZoneNames("Atlantic", 
        new TimeZoneNames.Name("за атлантичним часом", "за атлантичним стандартним часом", "за атлантичним літнім часом"),
        null));

      put("Australia_Central", new TimeZoneNames("Australia_Central", 
        new TimeZoneNames.Name("за центральноавстралійським часом", "за стандартним центральноавстралійським часом", "за літнім центральноавстралійським часом"),
        null));

      put("Australia_CentralWestern", new TimeZoneNames("Australia_CentralWestern", 
        new TimeZoneNames.Name("за центральнозахідним австралійським часом", "за стандартним центральнозахідним австралійським часом", "за літнім центральнозахідним австралійським часом"),
        null));

      put("Australia_Eastern", new TimeZoneNames("Australia_Eastern", 
        new TimeZoneNames.Name("за східноавстралійським часом", "за стандартним східноавстралійським часом", "за літнім східноавстралійським часом"),
        null));

      put("Australia_Western", new TimeZoneNames("Australia_Western", 
        new TimeZoneNames.Name("за західноавстралійським часом", "за стандартним західноавстралійським часом", "за літнім західноавстралійським часом"),
        null));

      put("Azerbaijan", new TimeZoneNames("Azerbaijan", 
        new TimeZoneNames.Name("за часом в Азербайджані", "за стандартним часом в Азербайджані", "за літнім часом в Азербайджані"),
        null));

      put("Azores", new TimeZoneNames("Azores", 
        new TimeZoneNames.Name("за часом на Азорських Островах", "за стандартним часом на Азорських Островах", "за літнім часом на Азорських Островах"),
        null));

      put("Bangladesh", new TimeZoneNames("Bangladesh", 
        new TimeZoneNames.Name("за часом у Бангладеш", "за стандартним часом у Бангладеш", "за літнім часом у Бангладеш"),
        null));

      put("Bhutan", new TimeZoneNames("Bhutan", 
        new TimeZoneNames.Name(null, "за часом у Бутані", null),
        null));

      put("Bolivia", new TimeZoneNames("Bolivia", 
        new TimeZoneNames.Name(null, "за болівійським часом", null),
        null));

      put("Brasilia", new TimeZoneNames("Brasilia", 
        new TimeZoneNames.Name("за бразильським часом", "за стандартним бразильським часом", "за літнім бразильським часом"),
        null));

      put("Brunei", new TimeZoneNames("Brunei", 
        new TimeZoneNames.Name(null, "за часом у Брунеї", null),
        null));

      put("Cape_Verde", new TimeZoneNames("Cape_Verde", 
        new TimeZoneNames.Name("за часом на островах Кабо-Верде", "за стандартним часом на островах Кабо-Верде", "за літнім часом на островах Кабо-Верде"),
        null));

      put("Chamorro", new TimeZoneNames("Chamorro", 
        new TimeZoneNames.Name(null, "за часом на Північних Маріанських островах", null),
        null));

      put("Chatham", new TimeZoneNames("Chatham", 
        new TimeZoneNames.Name("за часом на архіпелазі Чатем", "за стандартним часом на архіпелазі Чатем", "за літнім часом на архіпелазі Чатем"),
        null));

      put("Chile", new TimeZoneNames("Chile", 
        new TimeZoneNames.Name("за чилійським часом", "за стандартним чилійським часом", "за літнім чилійським часом"),
        null));

      put("China", new TimeZoneNames("China", 
        new TimeZoneNames.Name("за китайським часом", "за китайським стандартним часом", "за китайським літнім часом"),
        null));

      put("Choibalsan", new TimeZoneNames("Choibalsan", 
        new TimeZoneNames.Name("за часом у Чойбалсан", "за стандартним часом у Чойбалсан", "за літнім часом у Чойбалсан"),
        null));

      put("Christmas", new TimeZoneNames("Christmas", 
        new TimeZoneNames.Name(null, "за часом на острові Різдва", null),
        null));

      put("Cocos", new TimeZoneNames("Cocos", 
        new TimeZoneNames.Name(null, "за часом на Кокосових Островах", null),
        null));

      put("Colombia", new TimeZoneNames("Colombia", 
        new TimeZoneNames.Name("за колумбійським часом", "за стандартним колумбійським часом", "за літнім колумбійським часом"),
        null));

      put("Cook", new TimeZoneNames("Cook", 
        new TimeZoneNames.Name("за часом на Островах Кука", "за стандартним часом на Островах Кука", "за літнім часом на Островах Кука"),
        null));

      put("Cuba", new TimeZoneNames("Cuba", 
        new TimeZoneNames.Name("за часом на Кубі", "за стандартним часом на Кубі", "за літнім часом на Кубі"),
        null));

      put("Davis", new TimeZoneNames("Davis", 
        new TimeZoneNames.Name(null, "за часом у Девіс", null),
        null));

      put("DumontDUrville", new TimeZoneNames("DumontDUrville", 
        new TimeZoneNames.Name(null, "за часом у Дюмон дʼЮрвіль", null),
        null));

      put("East_Timor", new TimeZoneNames("East_Timor", 
        new TimeZoneNames.Name(null, "за часом у Східному Тиморі", null),
        null));

      put("Easter", new TimeZoneNames("Easter", 
        new TimeZoneNames.Name("за часом на острові Пасхи", "за стандартним часом на острові Пасхи", "за літнім часом на острові Пасхи"),
        null));

      put("Ecuador", new TimeZoneNames("Ecuador", 
        new TimeZoneNames.Name(null, "за часом в Еквадорі", null),
        null));

      put("Europe_Central", new TimeZoneNames("Europe_Central", 
        new TimeZoneNames.Name("за центральноєвропейським часом", "за центральноєвропейським стандартним часом", "за центральноєвропейським літнім часом"),
        null));

      put("Europe_Eastern", new TimeZoneNames("Europe_Eastern", 
        new TimeZoneNames.Name("за східноєвропейським часом", "за східноєвропейським стандартним часом", "за східноєвропейським літнім часом"),
        null));

      put("Europe_Further_Eastern", new TimeZoneNames("Europe_Further_Eastern", 
        new TimeZoneNames.Name(null, "за далекосхідним європейським часом", null),
        null));

      put("Europe_Western", new TimeZoneNames("Europe_Western", 
        new TimeZoneNames.Name("за західноєвропейським часом", "за західноєвропейським стандартним часом", "за західноєвропейським літнім часом"),
        null));

      put("Falkland", new TimeZoneNames("Falkland", 
        new TimeZoneNames.Name("за часом на Фолклендських Островах", "за стандартним часом на Фолклендських Островах", "за літнім часом на Фолклендських Островах"),
        null));

      put("Fiji", new TimeZoneNames("Fiji", 
        new TimeZoneNames.Name("за часом на Фіджі", "за стандартним часом на Фіджі", "за літнім часом на Фіджі"),
        null));

      put("French_Guiana", new TimeZoneNames("French_Guiana", 
        new TimeZoneNames.Name(null, "за часом Французької Гвіани", null),
        null));

      put("French_Southern", new TimeZoneNames("French_Southern", 
        new TimeZoneNames.Name(null, "за часом на Французьких Південних і Антарктичних територіях", null),
        null));

      put("Galapagos", new TimeZoneNames("Galapagos", 
        new TimeZoneNames.Name(null, "за часом на Галапагоських островах", null),
        null));

      put("Gambier", new TimeZoneNames("Gambier", 
        new TimeZoneNames.Name(null, "за часом на острові Гамб’є", null),
        null));

      put("Georgia", new TimeZoneNames("Georgia", 
        new TimeZoneNames.Name("за часом у Грузії", "за стандартним часом у Грузії", "за літнім часом у Грузії"),
        null));

      put("Gilbert_Islands", new TimeZoneNames("Gilbert_Islands", 
        new TimeZoneNames.Name(null, "за часом на островах Гілберта", null),
        null));

      put("GMT", new TimeZoneNames("GMT", 
        new TimeZoneNames.Name(null, "за Гринвічем", null),
        null));

      put("Greenland_Eastern", new TimeZoneNames("Greenland_Eastern", 
        new TimeZoneNames.Name("за східним часом у Гренландії", "за стандартним східним часом у Гренландії", "за літнім східним часом у Гренландії"),
        null));

      put("Greenland_Western", new TimeZoneNames("Greenland_Western", 
        new TimeZoneNames.Name("за західним часом у Гренландії", "за стандартним західним часом у Гренландії", "за літнім західним часом у Гренландії"),
        null));

      put("Gulf", new TimeZoneNames("Gulf", 
        new TimeZoneNames.Name(null, "за часом Перської затоки", null),
        null));

      put("Guyana", new TimeZoneNames("Guyana", 
        new TimeZoneNames.Name(null, "за часом у Гаяні", null),
        null));

      put("Hawaii_Aleutian", new TimeZoneNames("Hawaii_Aleutian", 
        new TimeZoneNames.Name("за гавайсько-алеутським часом", "за стандартним гавайсько-алеутським часом", "за літнім гавайсько-алеутським часом"),
        null));

      put("Hong_Kong", new TimeZoneNames("Hong_Kong", 
        new TimeZoneNames.Name("за часом у Гонконзі", "за стандартним часом у Гонконзі", "за літнім часом у Гонконзі"),
        null));

      put("Hovd", new TimeZoneNames("Hovd", 
        new TimeZoneNames.Name("за часом у Ховді", "за стандартним часом у Ховді", "за літнім часом у Ховді"),
        null));

      put("India", new TimeZoneNames("India", 
        new TimeZoneNames.Name(null, "за індійським стандартним часом", null),
        null));

      put("Indian_Ocean", new TimeZoneNames("Indian_Ocean", 
        new TimeZoneNames.Name(null, "за часом в Індійському Океані", null),
        null));

      put("Indochina", new TimeZoneNames("Indochina", 
        new TimeZoneNames.Name(null, "за часом в Індокитаї", null),
        null));

      put("Indonesia_Central", new TimeZoneNames("Indonesia_Central", 
        new TimeZoneNames.Name(null, "за центральноіндонезійським часом", null),
        null));

      put("Indonesia_Eastern", new TimeZoneNames("Indonesia_Eastern", 
        new TimeZoneNames.Name(null, "за східноіндонезійським часом", null),
        null));

      put("Indonesia_Western", new TimeZoneNames("Indonesia_Western", 
        new TimeZoneNames.Name(null, "за західноіндонезійським часом", null),
        null));

      put("Iran", new TimeZoneNames("Iran", 
        new TimeZoneNames.Name("за іранським часом", "за іранським стандартним часом", "за іранським літнім часом"),
        null));

      put("Irkutsk", new TimeZoneNames("Irkutsk", 
        new TimeZoneNames.Name("за іркутським часом", "за іркутським стандартним часом", "за іркутським літнім часом"),
        null));

      put("Israel", new TimeZoneNames("Israel", 
        new TimeZoneNames.Name("за ізраїльським часом", "за ізраїльським стандартним часом", "за ізраїльським літнім часом"),
        null));

      put("Japan", new TimeZoneNames("Japan", 
        new TimeZoneNames.Name("за японським часом", "за японським стандартним часом", "за японським літнім часом"),
        null));

      put("Kamchatka", new TimeZoneNames("Kamchatka", 
        new TimeZoneNames.Name("за камчатським часом", "за камчатським стандартним часом", "за камчатським літнім часом"),
        null));

      put("Kazakhstan_Eastern", new TimeZoneNames("Kazakhstan_Eastern", 
        new TimeZoneNames.Name(null, "за східним часом у Казахстані", null),
        null));

      put("Kazakhstan_Western", new TimeZoneNames("Kazakhstan_Western", 
        new TimeZoneNames.Name(null, "за західним часом у Казахстані", null),
        null));

      put("Korea", new TimeZoneNames("Korea", 
        new TimeZoneNames.Name("за корейським часом", "за корейським стандартним часом", "за корейським літнім часом"),
        null));

      put("Kosrae", new TimeZoneNames("Kosrae", 
        new TimeZoneNames.Name(null, "за часом на острові Косрае", null),
        null));

      put("Krasnoyarsk", new TimeZoneNames("Krasnoyarsk", 
        new TimeZoneNames.Name("за красноярським часом", "за красноярським стандартним часом", "за красноярським літнім часом"),
        null));

      put("Kyrgystan", new TimeZoneNames("Kyrgystan", 
        new TimeZoneNames.Name(null, "за часом у Киргизстані", null),
        null));

      put("Lanka", new TimeZoneNames("Lanka", 
        new TimeZoneNames.Name(null, "час: Ланка", null),
        null));

      put("Line_Islands", new TimeZoneNames("Line_Islands", 
        new TimeZoneNames.Name(null, "за часом на острові Лайн", null),
        null));

      put("Lord_Howe", new TimeZoneNames("Lord_Howe", 
        new TimeZoneNames.Name("за часом на острові Лорд-Хау", "за стандартним часом на острові Лорд-Хау", "за літнім часом на острові Лорд-Хау"),
        null));

      put("Macquarie", new TimeZoneNames("Macquarie", 
        new TimeZoneNames.Name(null, "за часом на острові Маккуорі", null),
        null));

      put("Magadan", new TimeZoneNames("Magadan", 
        new TimeZoneNames.Name("за магаданським часом", "за магаданським стандартним часом", "за магаданським літнім часом"),
        null));

      put("Malaysia", new TimeZoneNames("Malaysia", 
        new TimeZoneNames.Name(null, "за часом у Малайзії", null),
        null));

      put("Maldives", new TimeZoneNames("Maldives", 
        new TimeZoneNames.Name(null, "за часом на Мальдівах", null),
        null));

      put("Marquesas", new TimeZoneNames("Marquesas", 
        new TimeZoneNames.Name(null, "за часом на Маркізьких островах", null),
        null));

      put("Marshall_Islands", new TimeZoneNames("Marshall_Islands", 
        new TimeZoneNames.Name(null, "за часом на Маршалових Островах", null),
        null));

      put("Mauritius", new TimeZoneNames("Mauritius", 
        new TimeZoneNames.Name("за часом на острові Маврикій", "за стандартним часом на острові Маврикій", "за літнім часом на острові Маврикій"),
        null));

      put("Mawson", new TimeZoneNames("Mawson", 
        new TimeZoneNames.Name(null, "за часом на станції Моусон", null),
        null));

      put("Mexico_Northwest", new TimeZoneNames("Mexico_Northwest", 
        new TimeZoneNames.Name("за північнозахідним часом у Мексиці", "за стандартним північнозахідним часом у Мексиці", "за літнім північнозахідним часом у Мексиці"),
        null));

      put("Mexico_Pacific", new TimeZoneNames("Mexico_Pacific", 
        new TimeZoneNames.Name("за тихоокеанським часом у Мексиці", "за стандартним тихоокеанським часом у Мексиці", "за літнім тихоокеанським часом у Мексиці"),
        null));

      put("Mongolia", new TimeZoneNames("Mongolia", 
        new TimeZoneNames.Name("за часом в Улан-Баторі", "за стандартним часом в Улан-Баторі", "за літнім часом в Улан-Баторі"),
        null));

      put("Moscow", new TimeZoneNames("Moscow", 
        new TimeZoneNames.Name("за московським часом", "за московським стандартним часом", "за московським літнім часом"),
        null));

      put("Myanmar", new TimeZoneNames("Myanmar", 
        new TimeZoneNames.Name(null, "за часом у Мʼянмі", null),
        null));

      put("Nauru", new TimeZoneNames("Nauru", 
        new TimeZoneNames.Name(null, "за часом на острові Науру", null),
        null));

      put("Nepal", new TimeZoneNames("Nepal", 
        new TimeZoneNames.Name(null, "за часом у Непалі", null),
        null));

      put("New_Caledonia", new TimeZoneNames("New_Caledonia", 
        new TimeZoneNames.Name("за часом на островах Нової Каледонії", "за стандартним часом на островах Нової Каледонії", "за літнім часом на островах Нової Каледонії"),
        null));

      put("New_Zealand", new TimeZoneNames("New_Zealand", 
        new TimeZoneNames.Name("за часом у Новій Зеландії", "за стандартним часом у Новій Зеландії", "за літнім часом у Новій Зеландії"),
        null));

      put("Newfoundland", new TimeZoneNames("Newfoundland", 
        new TimeZoneNames.Name("за часом на острові Ньюфаундленд", "за стандартним часом на острові Ньюфаундленд", "за літнім часом у Ньюфаундленд"),
        null));

      put("Niue", new TimeZoneNames("Niue", 
        new TimeZoneNames.Name(null, "за часом на острові Ніуе", null),
        null));

      put("Norfolk", new TimeZoneNames("Norfolk", 
        new TimeZoneNames.Name(null, "за часом на острові Норфолк", null),
        null));

      put("Noronha", new TimeZoneNames("Noronha", 
        new TimeZoneNames.Name("за часом на архіпелазі Фернанду-ді-Норонья", "за стандартним часом на архіпелазі Фернанду-ді-Норонья", "за літнім часом на архіпелазі Фернанду-ді-Норонья"),
        null));

      put("Novosibirsk", new TimeZoneNames("Novosibirsk", 
        new TimeZoneNames.Name("за новосибірським часом", "за новосибірським стандартним часом", "за новосибірським літнім часом"),
        null));

      put("Omsk", new TimeZoneNames("Omsk", 
        new TimeZoneNames.Name("за омським часом", "за омським стандартним часом", "за омським літнім часом"),
        null));

      put("Pakistan", new TimeZoneNames("Pakistan", 
        new TimeZoneNames.Name("за часом у Пакистані", "за стандартним часом у Пакистані", "за літнім часом у Пакистані"),
        null));

      put("Palau", new TimeZoneNames("Palau", 
        new TimeZoneNames.Name(null, "за часом на острові Палау", null),
        null));

      put("Papua_New_Guinea", new TimeZoneNames("Papua_New_Guinea", 
        new TimeZoneNames.Name(null, "за часом на островах Папуа Нова Гвінея", null),
        null));

      put("Paraguay", new TimeZoneNames("Paraguay", 
        new TimeZoneNames.Name("за парагвайським часом", "за стандартним парагвайським часом", "за літнім парагвайським часом"),
        null));

      put("Peru", new TimeZoneNames("Peru", 
        new TimeZoneNames.Name("за часом у Перу", "за стандартним часом у Перу", "за літнім часом у Перу"),
        null));

      put("Philippines", new TimeZoneNames("Philippines", 
        new TimeZoneNames.Name("за часом на Філіппінах", "за стандартним часом на Філіппінах", "за літнім часом на Філіппінах"),
        null));

      put("Phoenix_Islands", new TimeZoneNames("Phoenix_Islands", 
        new TimeZoneNames.Name(null, "за часом на островах Фенікс", null),
        null));

      put("Pierre_Miquelon", new TimeZoneNames("Pierre_Miquelon", 
        new TimeZoneNames.Name("за часом на островах Сен-П’єр і Мікелон", "за стандартним часом на островах Сен-П’єр і Мікелон", "за літнім часом на островах Сен-П’єр і Мікелон"),
        null));

      put("Pitcairn", new TimeZoneNames("Pitcairn", 
        new TimeZoneNames.Name(null, "за часом на островах Піткерн", null),
        null));

      put("Ponape", new TimeZoneNames("Ponape", 
        new TimeZoneNames.Name(null, "за часом на острові Понапе", null),
        null));

      put("Pyongyang", new TimeZoneNames("Pyongyang", 
        new TimeZoneNames.Name(null, "за часом у Пхеньяні", null),
        null));

      put("Qyzylorda", new TimeZoneNames("Qyzylorda", 
        new TimeZoneNames.Name("час: Кизилорда", "час: Кизилорда, стандартний", "час: Кизилорда, літній"),
        null));

      put("Reunion", new TimeZoneNames("Reunion", 
        new TimeZoneNames.Name(null, "за часом на острові Реюньйон", null),
        null));

      put("Rothera", new TimeZoneNames("Rothera", 
        new TimeZoneNames.Name(null, "за часом на станції Ротера", null),
        null));

      put("Sakhalin", new TimeZoneNames("Sakhalin", 
        new TimeZoneNames.Name("за сахалінським часом", "за сахалінським стандартним часом", "за сахалінським літнім часом"),
        null));

      put("Samara", new TimeZoneNames("Samara", 
        new TimeZoneNames.Name("за самарським часом", "за самарським стандартним часом", "за самарським літнім часом"),
        null));

      put("Samoa", new TimeZoneNames("Samoa", 
        new TimeZoneNames.Name("за часом на острові Самоа", "за стандартним часом на острові Самоа", "за літнім часом на острові Самоа"),
        null));

      put("Seychelles", new TimeZoneNames("Seychelles", 
        new TimeZoneNames.Name(null, "за часом на Сейшельських Островах", null),
        null));

      put("Singapore", new TimeZoneNames("Singapore", 
        new TimeZoneNames.Name(null, "за часом у Сінгапурі", null),
        null));

      put("Solomon", new TimeZoneNames("Solomon", 
        new TimeZoneNames.Name(null, "за часом на Соломонових островах", null),
        null));

      put("South_Georgia", new TimeZoneNames("South_Georgia", 
        new TimeZoneNames.Name(null, "за часом на острові Південна Джорджія", null),
        null));

      put("Suriname", new TimeZoneNames("Suriname", 
        new TimeZoneNames.Name(null, "за часом у Суринамі", null),
        null));

      put("Syowa", new TimeZoneNames("Syowa", 
        new TimeZoneNames.Name(null, "за часом на станції Сева", null),
        null));

      put("Tahiti", new TimeZoneNames("Tahiti", 
        new TimeZoneNames.Name(null, "за часом на острові Таїті", null),
        null));

      put("Taipei", new TimeZoneNames("Taipei", 
        new TimeZoneNames.Name("за часом у Тайбеї", "за стандартним часом у Тайбеї", "за літнім часом у Тайбеї"),
        null));

      put("Tajikistan", new TimeZoneNames("Tajikistan", 
        new TimeZoneNames.Name(null, "за часом у Таджикистані", null),
        null));

      put("Tokelau", new TimeZoneNames("Tokelau", 
        new TimeZoneNames.Name(null, "за часом на островах Токелау", null),
        null));

      put("Tonga", new TimeZoneNames("Tonga", 
        new TimeZoneNames.Name("за часом на островах Тонга", "за стандартним часом на островах Тонга", "за літнім часом на островах Тонга"),
        null));

      put("Truk", new TimeZoneNames("Truk", 
        new TimeZoneNames.Name(null, "за часом на островах Чуук", null),
        null));

      put("Turkmenistan", new TimeZoneNames("Turkmenistan", 
        new TimeZoneNames.Name("за часом у Туркменістані", "за стандартним часом у Туркменістані", "за літнім часом у Туркменістані"),
        null));

      put("Tuvalu", new TimeZoneNames("Tuvalu", 
        new TimeZoneNames.Name(null, "за часом на островах Тувалу", null),
        null));

      put("Uruguay", new TimeZoneNames("Uruguay", 
        new TimeZoneNames.Name("за часом в Уругваї", "за стандартним часом в Уругваї", "за літнім часом в Уругваї"),
        null));

      put("Uzbekistan", new TimeZoneNames("Uzbekistan", 
        new TimeZoneNames.Name("за часом в Узбекистані", "за стандартним часом в Узбекистані", "за літнім часом в Узбекистані"),
        null));

      put("Vanuatu", new TimeZoneNames("Vanuatu", 
        new TimeZoneNames.Name("за часом на островах Вануату", "за стандартним часом на островах Вануату", "за літнім часом на островах Вануату"),
        null));

      put("Venezuela", new TimeZoneNames("Venezuela", 
        new TimeZoneNames.Name(null, "за часом у Венесуелі", null),
        null));

      put("Vladivostok", new TimeZoneNames("Vladivostok", 
        new TimeZoneNames.Name("за владивостоцьким часом", "за владивостоцьким стандартним часом", "за владивостоцьким літнім часом"),
        null));

      put("Volgograd", new TimeZoneNames("Volgograd", 
        new TimeZoneNames.Name("за волгоградським часом", "за волгоградським стандартним часом", "за волгоградським літнім часом"),
        null));

      put("Vostok", new TimeZoneNames("Vostok", 
        new TimeZoneNames.Name(null, "за часом на станції Восток", null),
        null));

      put("Wake", new TimeZoneNames("Wake", 
        new TimeZoneNames.Name(null, "за часом на острові Вейк", null),
        null));

      put("Wallis", new TimeZoneNames("Wallis", 
        new TimeZoneNames.Name(null, "за часом на островах Уолліс і Футуна", null),
        null));

      put("Yakutsk", new TimeZoneNames("Yakutsk", 
        new TimeZoneNames.Name("за якутським часом", "за якутським стандартним часом", "за якутським літнім часом"),
        null));

      put("Yekaterinburg", new TimeZoneNames("Yekaterinburg", 
        new TimeZoneNames.Name("за єкатеринбурзьким часом", "за єкатеринбурзьким стандартним часом", "за єкатеринбурзьким літнім часом"),
        null));
    } };
  }

  @Override
  public void formatDate(CalendarFormat type, ZonedDateTime d, StringBuilder b) {
    if (type == null) {
      return;
    }
    switch (type) {
      case SHORT: {
        // "dd.MM.yy"
        formatField(d, 'd', 2, b);
        b.append(".");
        formatField(d, 'M', 2, b);
        b.append(".");
        formatField(d, 'y', 2, b);
        break;
      }
      case MEDIUM: {
        // "d MMM y 'р'."
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 3, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        b.append(" р.");
        break;
      }
      case LONG: {
        // "d MMMM y 'р'."
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 4, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        b.append(" р.");
        break;
      }
      case FULL: {
        // "EEEE, d MMMM y 'р'."
        formatField(d, 'E', 4, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 4, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        b.append(" р.");
        break;
      }
    }
  }

  @Override
  public void formatTime(CalendarFormat type, ZonedDateTime d, StringBuilder b) {
    if (type == null) {
      return;
    }
    switch (type) {
      case SHORT: {
        // "HH:mm"
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        break;
      }
      case MEDIUM: {
        // "HH:mm:ss"
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        break;
      }
      case LONG: {
        // "HH:mm:ss z"
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        b.append(" ");
        formatField(d, 'z', 1, b);
        break;
      }
      case FULL: {
        // "HH:mm:ss zzzz"
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        b.append(" ");
        formatField(d, 'z', 4, b);
        break;
      }
    }
  }

  @Override
  public void formatWrapped(CalendarFormat wrapperType, CalendarFormat dateType,
      CalendarFormat timeType, String dateSkel, String timeSkel, ZonedDateTime d, StringBuilder b) {
    switch (wrapperType) {
      case SHORT:
      case MEDIUM:
       {
        // "{1}, {0}"
        if (dateType != null) {
          formatDate(dateType, d, b);
        } else {
          formatSkeleton(dateSkel, d, b);
        }
        b.append(", ");
        if (timeType != null) {
          formatTime(timeType, d, b);
        } else {
          formatSkeleton(timeSkel, d, b);
        }
        break;
      }
      case LONG:
      case FULL:
       {
        // "{1} 'о' {0}"
        if (dateType != null) {
          formatDate(dateType, d, b);
        } else {
          formatSkeleton(dateSkel, d, b);
        }
        b.append(" о ");
        if (timeType != null) {
          formatTime(timeType, d, b);
        } else {
          formatSkeleton(timeSkel, d, b);
        }
        break;
      }
    }
  }

  @Override
  public boolean formatSkeleton(String skeleton, ZonedDateTime d, StringBuilder b) {
    if (skeleton == null) {
      return false;
    }
    switch (skeleton) {
      case "d": {
        // Pattern: "d"
        formatField(d, 'd', 1, b);
        break;
      }
      case "E": {
        // Pattern: "ccc"
        formatField(d, 'c', 3, b);
        break;
      }
      case "Ed": {
        // Pattern: "E, d"
        formatField(d, 'E', 1, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        break;
      }
      case "Ehm": {
        // Pattern: "E h:mm a"
        formatField(d, 'E', 1, b);
        b.append(" ");
        formatField(d, 'h', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        break;
      }
      case "EHm": {
        // Pattern: "E HH:mm"
        formatField(d, 'E', 1, b);
        b.append(" ");
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        break;
      }
      case "Ehms": {
        // Pattern: "E h:mm:ss a"
        formatField(d, 'E', 1, b);
        b.append(" ");
        formatField(d, 'h', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        break;
      }
      case "EHms": {
        // Pattern: "E HH:mm:ss"
        formatField(d, 'E', 1, b);
        b.append(" ");
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        break;
      }
      case "Gy": {
        // Pattern: "y G"
        formatField(d, 'y', 1, b);
        b.append(" ");
        formatField(d, 'G', 1, b);
        break;
      }
      case "GyMMM": {
        // Pattern: "LLL y G"
        formatField(d, 'L', 3, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        b.append(" ");
        formatField(d, 'G', 1, b);
        break;
      }
      case "GyMMMd": {
        // Pattern: "d MMM y G"
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 3, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        b.append(" ");
        formatField(d, 'G', 1, b);
        break;
      }
      case "GyMMMEd": {
        // Pattern: "E, d MMM y G"
        formatField(d, 'E', 1, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 3, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        b.append(" ");
        formatField(d, 'G', 1, b);
        break;
      }
      case "h": {
        // Pattern: "h a"
        formatField(d, 'h', 1, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        break;
      }
      case "H": {
        // Pattern: "HH"
        formatField(d, 'H', 2, b);
        break;
      }
      case "hm": {
        // Pattern: "h:mm a"
        formatField(d, 'h', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        break;
      }
      case "Hm": {
        // Pattern: "HH:mm"
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        break;
      }
      case "hms": {
        // Pattern: "h:mm:ss a"
        formatField(d, 'h', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        break;
      }
      case "Hms": {
        // Pattern: "HH:mm:ss"
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        break;
      }
      case "hmsv": {
        // Pattern: "h:mm:ss a v"
        formatField(d, 'h', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        b.append(" ");
        formatField(d, 'v', 1, b);
        break;
      }
      case "Hmsv": {
        // Pattern: "HH:mm:ss v"
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        b.append(" ");
        formatField(d, 'v', 1, b);
        break;
      }
      case "hmv": {
        // Pattern: "h:mm a v"
        formatField(d, 'h', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        b.append(" ");
        formatField(d, 'v', 1, b);
        break;
      }
      case "Hmv": {
        // Pattern: "HH:mm v"
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(" ");
        formatField(d, 'v', 1, b);
        break;
      }
      case "M": {
        // Pattern: "LL"
        formatField(d, 'L', 2, b);
        break;
      }
      case "Md": {
        // Pattern: "dd.MM"
        formatField(d, 'd', 2, b);
        b.append(".");
        formatField(d, 'M', 2, b);
        break;
      }
      case "MEd": {
        // Pattern: "E, dd.MM"
        formatField(d, 'E', 1, b);
        b.append(", ");
        formatField(d, 'd', 2, b);
        b.append(".");
        formatField(d, 'M', 2, b);
        break;
      }
      case "MMM": {
        // Pattern: "LLL"
        formatField(d, 'L', 3, b);
        break;
      }
      case "MMMd": {
        // Pattern: "d MMM"
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 3, b);
        break;
      }
      case "MMMEd": {
        // Pattern: "E, d MMM"
        formatField(d, 'E', 1, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 3, b);
        break;
      }
      case "MMMMd": {
        // Pattern: "d MMMM"
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 4, b);
        break;
      }
      case "MMMMEd": {
        // Pattern: "E, d MMMM"
        formatField(d, 'E', 1, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 4, b);
        break;
      }
      case "MMMMW-count-one": {
        // Pattern: "W-'й' 'тиж'. MMMM"
        formatField(d, 'W', 1, b);
        b.append("-й тиж. ");
        formatField(d, 'M', 4, b);
        break;
      }
      case "MMMMW-count-few": {
        // Pattern: "W-'й' 'тиж'. MMMM"
        formatField(d, 'W', 1, b);
        b.append("-й тиж. ");
        formatField(d, 'M', 4, b);
        break;
      }
      case "MMMMW-count-many": {
        // Pattern: "W-'й' 'тиж'. MMMM"
        formatField(d, 'W', 1, b);
        b.append("-й тиж. ");
        formatField(d, 'M', 4, b);
        break;
      }
      case "MMMMW-count-other": {
        // Pattern: "W-'й' 'тиж'. MMMM"
        formatField(d, 'W', 1, b);
        b.append("-й тиж. ");
        formatField(d, 'M', 4, b);
        break;
      }
      case "ms": {
        // Pattern: "mm:ss"
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        break;
      }
      case "y": {
        // Pattern: "y"
        formatField(d, 'y', 1, b);
        break;
      }
      case "yM": {
        // Pattern: "MM.y"
        formatField(d, 'M', 2, b);
        b.append(".");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yMd": {
        // Pattern: "dd.MM.y"
        formatField(d, 'd', 2, b);
        b.append(".");
        formatField(d, 'M', 2, b);
        b.append(".");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yMEd": {
        // Pattern: "E, dd.MM.y"
        formatField(d, 'E', 1, b);
        b.append(", ");
        formatField(d, 'd', 2, b);
        b.append(".");
        formatField(d, 'M', 2, b);
        b.append(".");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yMMM": {
        // Pattern: "LLL y"
        formatField(d, 'L', 3, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yMMMd": {
        // Pattern: "d MMM y"
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 3, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yMMMEd": {
        // Pattern: "E, d MMM y"
        formatField(d, 'E', 1, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 3, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yMMMM": {
        // Pattern: "LLLL y"
        formatField(d, 'L', 4, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yQQQ": {
        // Pattern: "QQQ y"
        formatField(d, 'Q', 3, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yQQQQ": {
        // Pattern: "QQQQ y 'р'."
        formatField(d, 'Q', 4, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        b.append(" р.");
        break;
      }
      case "yw-count-one": {
        // Pattern: "w-'й' 'тиж'. y 'р'."
        formatField(d, 'w', 1, b);
        b.append("-й тиж. ");
        formatField(d, 'y', 1, b);
        b.append(" р.");
        break;
      }
      case "yw-count-few": {
        // Pattern: "w-'й' 'тиж'. y 'р'."
        formatField(d, 'w', 1, b);
        b.append("-й тиж. ");
        formatField(d, 'y', 1, b);
        b.append(" р.");
        break;
      }
      case "yw-count-many": {
        // Pattern: "w-'й' 'тиж'. y 'р'."
        formatField(d, 'w', 1, b);
        b.append("-й тиж. ");
        formatField(d, 'y', 1, b);
        b.append(" р.");
        break;
      }
      case "yw-count-other": {
        // Pattern: "w-'й' 'тиж'. y 'р'."
        formatField(d, 'w', 1, b);
        b.append("-й тиж. ");
        formatField(d, 'y', 1, b);
        b.append(" р.");
        break;
      }
      default: {
        return false;
      }
    }
    return true;
  }

  @Override
  public void formatInterval(ZonedDateTime s, ZonedDateTime e, String k, DateTimeField f,
      StringBuilder b) {
    if (k != null && f != null) {
      switch (k) {
        case "d": {
          switch (f) {
            case DAY: {
              // "d–"
              formatField(s, 'd', 1, b);
              b.append("–");
              // "d"
              formatField(e, 'd', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "hm": {
          switch (f) {
            case AM_PM: {
              // "h:mm a – "
              formatField(s, 'h', 1, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append(" ");
              formatField(s, 'a', 1, b);
              b.append(" – ");
              // "h:mm a"
              formatField(e, 'h', 1, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              return;
            }
            case HOUR: {
              // "h:mm–"
              formatField(s, 'h', 1, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append("–");
              // "h:mm a"
              formatField(e, 'h', 1, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              return;
            }
            case MINUTE: {
              // "h:mm–"
              formatField(s, 'h', 1, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append("–");
              // "h:mm a"
              formatField(e, 'h', 1, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "Hm": {
          switch (f) {
            case HOUR: {
              // "HH:mm–"
              formatField(s, 'H', 2, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append("–");
              // "HH:mm"
              formatField(e, 'H', 2, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              return;
            }
            case MINUTE: {
              // "HH:mm–"
              formatField(s, 'H', 2, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append("–");
              // "HH:mm"
              formatField(e, 'H', 2, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "h": {
          switch (f) {
            case AM_PM: {
              // "h a – "
              formatField(s, 'h', 1, b);
              b.append(" ");
              formatField(s, 'a', 1, b);
              b.append(" – ");
              // "h a"
              formatField(e, 'h', 1, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              return;
            }
            case HOUR: {
              // "h–"
              formatField(s, 'h', 1, b);
              b.append("–");
              // "h a"
              formatField(e, 'h', 1, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "H": {
          switch (f) {
            case HOUR: {
              // "HH–"
              formatField(s, 'H', 2, b);
              b.append("–");
              // "HH"
              formatField(e, 'H', 2, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "yMMMEd": {
          switch (f) {
            case DAY: {
              // "E, d – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 1, b);
              b.append(" – ");
              // "E, d MMM y"
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 1, b);
              b.append(" ");
              formatField(e, 'M', 3, b);
              b.append(" ");
              formatField(e, 'y', 1, b);
              return;
            }
            case YEAR: {
              // "E, d MMM y – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 1, b);
              b.append(" ");
              formatField(s, 'M', 3, b);
              b.append(" ");
              formatField(s, 'y', 1, b);
              b.append(" – ");
              // "E, d MMM y"
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 1, b);
              b.append(" ");
              formatField(e, 'M', 3, b);
              b.append(" ");
              formatField(e, 'y', 1, b);
              return;
            }
            case MONTH: {
              // "E, d MMM – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 1, b);
              b.append(" ");
              formatField(s, 'M', 3, b);
              b.append(" – ");
              // "E, d MMM y"
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 1, b);
              b.append(" ");
              formatField(e, 'M', 3, b);
              b.append(" ");
              formatField(e, 'y', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "yMEd": {
          switch (f) {
            case DAY: {
              // "E, dd.MM.y – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 2, b);
              b.append(".");
              formatField(s, 'M', 2, b);
              b.append(".");
              formatField(s, 'y', 1, b);
              b.append(" – ");
              // "E, dd.MM.y"
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 2, b);
              b.append(".");
              formatField(e, 'M', 2, b);
              b.append(".");
              formatField(e, 'y', 1, b);
              return;
            }
            case YEAR: {
              // "E, dd.MM.y – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 2, b);
              b.append(".");
              formatField(s, 'M', 2, b);
              b.append(".");
              formatField(s, 'y', 1, b);
              b.append(" – ");
              // "E, dd.MM.y"
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 2, b);
              b.append(".");
              formatField(e, 'M', 2, b);
              b.append(".");
              formatField(e, 'y', 1, b);
              return;
            }
            case MONTH: {
              // "E, dd.MM.y – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 2, b);
              b.append(".");
              formatField(s, 'M', 2, b);
              b.append(".");
              formatField(s, 'y', 1, b);
              b.append(" – ");
              // "E, dd.MM.y"
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 2, b);
              b.append(".");
              formatField(e, 'M', 2, b);
              b.append(".");
              formatField(e, 'y', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "MMM": {
          switch (f) {
            case MONTH: {
              // "LLL–"
              formatField(s, 'L', 3, b);
              b.append("–");
              // "LLL"
              formatField(e, 'L', 3, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "yMMM": {
          switch (f) {
            case YEAR: {
              // "LLL y – "
              formatField(s, 'L', 3, b);
              b.append(" ");
              formatField(s, 'y', 1, b);
              b.append(" – ");
              // "LLL y"
              formatField(e, 'L', 3, b);
              b.append(" ");
              formatField(e, 'y', 1, b);
              return;
            }
            case MONTH: {
              // "LLL–"
              formatField(s, 'L', 3, b);
              b.append("–");
              // "LLL y"
              formatField(e, 'L', 3, b);
              b.append(" ");
              formatField(e, 'y', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "M": {
          switch (f) {
            case MONTH: {
              // "M–"
              formatField(s, 'M', 1, b);
              b.append("–");
              // "M"
              formatField(e, 'M', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "MEd": {
          switch (f) {
            case DAY: {
              // "E, dd.MM – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 2, b);
              b.append(".");
              formatField(s, 'M', 2, b);
              b.append(" – ");
              // "E, dd.MM"
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 2, b);
              b.append(".");
              formatField(e, 'M', 2, b);
              return;
            }
            case MONTH: {
              // "E, dd.MM – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 2, b);
              b.append(".");
              formatField(s, 'M', 2, b);
              b.append(" – ");
              // "E, dd.MM"
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 2, b);
              b.append(".");
              formatField(e, 'M', 2, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "MMMEd": {
          switch (f) {
            case DAY: {
              // "E, d – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 1, b);
              b.append(" – ");
              // "E, d MMM"
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 1, b);
              b.append(" ");
              formatField(e, 'M', 3, b);
              return;
            }
            case MONTH: {
              // "E, d MMM – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 1, b);
              b.append(" ");
              formatField(s, 'M', 3, b);
              b.append(" – ");
              // "E, d MMM"
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 1, b);
              b.append(" ");
              formatField(e, 'M', 3, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "hv": {
          switch (f) {
            case AM_PM: {
              // "h a – "
              formatField(s, 'h', 1, b);
              b.append(" ");
              formatField(s, 'a', 1, b);
              b.append(" – ");
              // "h a v"
              formatField(e, 'h', 1, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              b.append(" ");
              formatField(e, 'v', 1, b);
              return;
            }
            case HOUR: {
              // "h–"
              formatField(s, 'h', 1, b);
              b.append("–");
              // "h a v"
              formatField(e, 'h', 1, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              b.append(" ");
              formatField(e, 'v', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "Hv": {
          switch (f) {
            case HOUR: {
              // "HH–"
              formatField(s, 'H', 2, b);
              b.append("–");
              // "HH v"
              formatField(e, 'H', 2, b);
              b.append(" ");
              formatField(e, 'v', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "hmv": {
          switch (f) {
            case AM_PM: {
              // "h:mm a – "
              formatField(s, 'h', 1, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append(" ");
              formatField(s, 'a', 1, b);
              b.append(" – ");
              // "h:mm a v"
              formatField(e, 'h', 1, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              b.append(" ");
              formatField(e, 'v', 1, b);
              return;
            }
            case HOUR: {
              // "h:mm–"
              formatField(s, 'h', 1, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append("–");
              // "h:mm a v"
              formatField(e, 'h', 1, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              b.append(" ");
              formatField(e, 'v', 1, b);
              return;
            }
            case MINUTE: {
              // "h:mm–"
              formatField(s, 'h', 1, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append("–");
              // "h:mm a v"
              formatField(e, 'h', 1, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              b.append(" ");
              formatField(e, 'v', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "Hmv": {
          switch (f) {
            case HOUR: {
              // "HH:mm–"
              formatField(s, 'H', 2, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append("–");
              // "HH:mm v"
              formatField(e, 'H', 2, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              b.append(" ");
              formatField(e, 'v', 1, b);
              return;
            }
            case MINUTE: {
              // "HH:mm–"
              formatField(s, 'H', 2, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append("–");
              // "HH:mm v"
              formatField(e, 'H', 2, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              b.append(" ");
              formatField(e, 'v', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "yMd": {
          switch (f) {
            case DAY: {
              // "dd.MM.y – "
              formatField(s, 'd', 2, b);
              b.append(".");
              formatField(s, 'M', 2, b);
              b.append(".");
              formatField(s, 'y', 1, b);
              b.append(" – ");
              // "dd.MM.y"
              formatField(e, 'd', 2, b);
              b.append(".");
              formatField(e, 'M', 2, b);
              b.append(".");
              formatField(e, 'y', 1, b);
              return;
            }
            case YEAR: {
              // "dd.MM.y – "
              formatField(s, 'd', 2, b);
              b.append(".");
              formatField(s, 'M', 2, b);
              b.append(".");
              formatField(s, 'y', 1, b);
              b.append(" – ");
              // "dd.MM.y"
              formatField(e, 'd', 2, b);
              b.append(".");
              formatField(e, 'M', 2, b);
              b.append(".");
              formatField(e, 'y', 1, b);
              return;
            }
            case MONTH: {
              // "dd.MM.y – "
              formatField(s, 'd', 2, b);
              b.append(".");
              formatField(s, 'M', 2, b);
              b.append(".");
              formatField(s, 'y', 1, b);
              b.append(" – ");
              // "dd.MM.y"
              formatField(e, 'd', 2, b);
              b.append(".");
              formatField(e, 'M', 2, b);
              b.append(".");
              formatField(e, 'y', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "MMMd": {
          switch (f) {
            case DAY: {
              // "d–"
              formatField(s, 'd', 1, b);
              b.append("–");
              // "d MMM"
              formatField(e, 'd', 1, b);
              b.append(" ");
              formatField(e, 'M', 3, b);
              return;
            }
            case MONTH: {
              // "d MMM – "
              formatField(s, 'd', 1, b);
              b.append(" ");
              formatField(s, 'M', 3, b);
              b.append(" – ");
              // "d MMM"
              formatField(e, 'd', 1, b);
              b.append(" ");
              formatField(e, 'M', 3, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "yM": {
          switch (f) {
            case YEAR: {
              // "MM.y – "
              formatField(s, 'M', 2, b);
              b.append(".");
              formatField(s, 'y', 1, b);
              b.append(" – ");
              // "MM.y"
              formatField(e, 'M', 2, b);
              b.append(".");
              formatField(e, 'y', 1, b);
              return;
            }
            case MONTH: {
              // "MM.y – "
              formatField(s, 'M', 2, b);
              b.append(".");
              formatField(s, 'y', 1, b);
              b.append(" – ");
              // "MM.y"
              formatField(e, 'M', 2, b);
              b.append(".");
              formatField(e, 'y', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "yMMMM": {
          switch (f) {
            case YEAR: {
              // "LLLL y – "
              formatField(s, 'L', 4, b);
              b.append(" ");
              formatField(s, 'y', 1, b);
              b.append(" – ");
              // "LLLL y"
              formatField(e, 'L', 4, b);
              b.append(" ");
              formatField(e, 'y', 1, b);
              return;
            }
            case MONTH: {
              // "LLLL – "
              formatField(s, 'L', 4, b);
              b.append(" – ");
              // "LLLL y"
              formatField(e, 'L', 4, b);
              b.append(" ");
              formatField(e, 'y', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "Md": {
          switch (f) {
            case DAY: {
              // "dd.MM – "
              formatField(s, 'd', 2, b);
              b.append(".");
              formatField(s, 'M', 2, b);
              b.append(" – ");
              // "dd.MM"
              formatField(e, 'd', 2, b);
              b.append(".");
              formatField(e, 'M', 2, b);
              return;
            }
            case MONTH: {
              // "dd.MM – "
              formatField(s, 'd', 2, b);
              b.append(".");
              formatField(s, 'M', 2, b);
              b.append(" – ");
              // "dd.MM"
              formatField(e, 'd', 2, b);
              b.append(".");
              formatField(e, 'M', 2, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "y": {
          switch (f) {
            case YEAR: {
              // "y–"
              formatField(s, 'y', 1, b);
              b.append("–");
              // "y"
              formatField(e, 'y', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "yMMMd": {
          switch (f) {
            case DAY: {
              // "d–"
              formatField(s, 'd', 1, b);
              b.append("–");
              // "d MMM y"
              formatField(e, 'd', 1, b);
              b.append(" ");
              formatField(e, 'M', 3, b);
              b.append(" ");
              formatField(e, 'y', 1, b);
              return;
            }
            case YEAR: {
              // "d MMM y – "
              formatField(s, 'd', 1, b);
              b.append(" ");
              formatField(s, 'M', 3, b);
              b.append(" ");
              formatField(s, 'y', 1, b);
              b.append(" – ");
              // "d MMM y"
              formatField(e, 'd', 1, b);
              b.append(" ");
              formatField(e, 'M', 3, b);
              b.append(" ");
              formatField(e, 'y', 1, b);
              return;
            }
            case MONTH: {
              // "d MMM – "
              formatField(s, 'd', 1, b);
              b.append(" ");
              formatField(s, 'M', 3, b);
              b.append(" – ");
              // "d MMM y"
              formatField(e, 'd', 1, b);
              b.append(" ");
              formatField(e, 'M', 3, b);
              b.append(" ");
              formatField(e, 'y', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        default: break;
      }
      // "{0} – {1}"
      formatSkeleton(k, s, b);
      b.append(" – ");
      formatSkeleton(k, e, b);
    }
  }

  protected void wrapTimeZoneGMT(StringBuilder b, boolean neg, int hours, int mins,
      boolean _short) {
    if (hours == 0 && mins == 0) {
      b.append("GMT");
      return;
    }
    boolean emitMins = !_short || mins > 0;
    b.append("GMT");
    if (neg) {
      b.append("-");
      zeroPad2(b, hours, _short ? 1 : 2);
      if (emitMins) {
        b.append(":");
      }
      if (emitMins) {
        zeroPad2(b, mins, 2);
      }
    }
    else {
      b.append("+");
      zeroPad2(b, hours, _short ? 1 : 2);
      if (emitMins) {
        b.append(":");
      }
      if (emitMins) {
        zeroPad2(b, mins, 2);
      }
    }
  }

  protected void wrapTimeZoneRegion(StringBuilder b, String region) {
    b.append("час: ");
    b.append(region);
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy