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

com.squarespace.cldr.dates._CalendarFormatter_bg 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 "bg"
 * See http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
 */
public class _CalendarFormatter_bg extends CalendarFormatterBase {
  public _CalendarFormatter_bg() {
    this.locale = CLDR.Locale.bg;
    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[] {"am", "pm"}, 
          new String[] {"am", "pm"}, 
          new String[] {}, 
          new String[] {"пр.об.", "сл.об."});
    this.dayPeriodsStandalone = new FieldVariants(
          new String[] {"am", "pm"}, 
          new String[] {"am", "pm"}, 
          new String[] {}, 
          new String[] {"am", "pm"});
    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("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("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("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: {
        // "d.MM.yy 'г'."
        formatField(d, 'd', 1, b);
        b.append(".");
        formatField(d, 'M', 2, b);
        b.append(".");
        formatField(d, 'y', 2, b);
        b.append(" г.");
        break;
      }
      case MEDIUM: {
        // "d.MM.y 'г'."
        formatField(d, 'd', 1, b);
        b.append(".");
        formatField(d, 'M', 2, 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: {
        // "H:mm"
        formatField(d, 'H', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        break;
      }
      case MEDIUM: {
        // "H:mm:ss"
        formatField(d, 'H', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        break;
      }
      case LONG: {
        // "H:mm:ss z"
        formatField(d, 'H', 1, 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: {
        // "H:mm:ss zzzz"
        formatField(d, 'H', 1, 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:
      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, H:mm:ss"
        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);
        break;
      }
      case "Gy": {
        // Pattern: "y 'г'. G"
        formatField(d, 'y', 1, b);
        b.append(" г. ");
        formatField(d, 'G', 1, b);
        break;
      }
      case "GyMMM": {
        // Pattern: "MM.y 'г'. G"
        formatField(d, 'M', 2, b);
        b.append(".");
        formatField(d, 'y', 1, b);
        b.append(" г. ");
        formatField(d, 'G', 1, b);
        break;
      }
      case "GyMMMd": {
        // Pattern: "d.MM.y 'г'. G"
        formatField(d, 'd', 1, b);
        b.append(".");
        formatField(d, 'M', 2, b);
        b.append(".");
        formatField(d, 'y', 1, b);
        b.append(" г. ");
        formatField(d, 'G', 1, b);
        break;
      }
      case "GyMMMEd": {
        // Pattern: "E, d.MM.y 'г'. G"
        formatField(d, 'E', 1, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        b.append(".");
        formatField(d, 'M', 2, b);
        b.append(".");
        formatField(d, 'y', 1, b);
        b.append(" г. ");
        formatField(d, 'G', 1, b);
        break;
      }
      case "GyMMMM": {
        // Pattern: "MMMM y 'г'. G"
        formatField(d, 'M', 4, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        b.append(" г. ");
        formatField(d, 'G', 1, b);
        break;
      }
      case "GyMMMMd": {
        // Pattern: "d MMMM y 'г'. G"
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 4, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        b.append(" г. ");
        formatField(d, 'G', 1, b);
        break;
      }
      case "GyMMMMEd": {
        // Pattern: "E, d MMMM y 'г'. G"
        formatField(d, 'E', 1, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 4, 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: "H"
        formatField(d, 'H', 1, 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: "H:mm"
        formatField(d, 'H', 1, 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: "H:mm:ss"
        formatField(d, 'H', 1, 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: "L"
        formatField(d, 'L', 1, b);
        break;
      }
      case "Md": {
        // Pattern: "d.MM"
        formatField(d, 'd', 1, b);
        b.append(".");
        formatField(d, 'M', 2, b);
        break;
      }
      case "MEd": {
        // Pattern: "E, d.MM"
        formatField(d, 'E', 1, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        b.append(".");
        formatField(d, 'M', 2, b);
        break;
      }
      case "MMM": {
        // Pattern: "MM"
        formatField(d, 'M', 2, b);
        break;
      }
      case "MMMd": {
        // Pattern: "d.MM"
        formatField(d, 'd', 1, b);
        b.append(".");
        formatField(d, 'M', 2, b);
        break;
      }
      case "MMMEd": {
        // Pattern: "E, d.MM"
        formatField(d, 'E', 1, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        b.append(".");
        formatField(d, 'M', 2, b);
        break;
      }
      case "MMMM": {
        // Pattern: "LLLL"
        formatField(d, 'L', 4, b);
        break;
      }
      case "MMMMd": {
        // Pattern: "d MMMM"
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 4, b);
        break;
      }
      case "MMMMdd": {
        // 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 'от' MMM"
        b.append("седмица ");
        formatField(d, 'W', 1, b);
        b.append(" от ");
        formatField(d, 'M', 3, b);
        break;
      }
      case "MMMMW-count-other": {
        // Pattern: "'седмица' W 'от' MMM"
        b.append("седмица ");
        formatField(d, 'W', 1, b);
        b.append(" от ");
        formatField(d, 'M', 3, b);
        break;
      }
      case "ms": {
        // Pattern: "m:ss"
        formatField(d, 'm', 1, b);
        b.append(":");
        formatField(d, 's', 2, b);
        break;
      }
      case "y": {
        // Pattern: "y 'г'."
        formatField(d, 'y', 1, b);
        b.append(" г.");
        break;
      }
      case "yM": {
        // Pattern: "MM.y 'г'."
        formatField(d, 'M', 2, b);
        b.append(".");
        formatField(d, 'y', 1, b);
        b.append(" г.");
        break;
      }
      case "yMd": {
        // Pattern: "d.MM.y 'г'."
        formatField(d, 'd', 1, b);
        b.append(".");
        formatField(d, 'M', 2, b);
        b.append(".");
        formatField(d, 'y', 1, b);
        b.append(" г.");
        break;
      }
      case "yMEd": {
        // Pattern: "E, d.MM.y 'г'."
        formatField(d, 'E', 1, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        b.append(".");
        formatField(d, 'M', 2, b);
        b.append(".");
        formatField(d, 'y', 1, b);
        b.append(" г.");
        break;
      }
      case "yMMM": {
        // Pattern: "MM.y 'г'."
        formatField(d, 'M', 2, b);
        b.append(".");
        formatField(d, 'y', 1, b);
        b.append(" г.");
        break;
      }
      case "yMMMd": {
        // Pattern: "d.MM.y 'г'."
        formatField(d, 'd', 1, b);
        b.append(".");
        formatField(d, 'M', 2, b);
        b.append(".");
        formatField(d, 'y', 1, b);
        b.append(" г.");
        break;
      }
      case "yMMMEd": {
        // Pattern: "E, d.MM.y 'г'."
        formatField(d, 'E', 1, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        b.append(".");
        formatField(d, 'M', 2, b);
        b.append(".");
        formatField(d, 'y', 1, b);
        b.append(" г.");
        break;
      }
      case "yMMMM": {
        // Pattern: "MMMM y 'г'."
        formatField(d, 'M', 4, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        b.append(" г.");
        break;
      }
      case "yMMMMd": {
        // Pattern: "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 "yMMMMEd": {
        // Pattern: "E, d MMMM y 'г'."
        formatField(d, 'E', 1, 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;
      }
      case "yQQQ": {
        // Pattern: "QQQ y 'г'."
        formatField(d, 'Q', 3, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        b.append(" г.");
        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 'г'."
        b.append("седмица ");
        formatField(d, 'w', 1, b);
        b.append(" от ");
        formatField(d, 'y', 1, b);
        b.append(" г.");
        break;
      }
      case "yw-count-other": {
        // Pattern: "'седмица' w 'от' y 'г'."
        b.append("седмица ");
        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 "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 "MMMMd": {
          switch (f) {
            case DAY: {
              // "d – "
              formatField(s, 'd', 1, b);
              b.append(" – ");
              // "d MMMM"
              formatField(e, 'd', 1, b);
              b.append(" ");
              formatField(e, 'M', 4, b);
              return;
            }
            case MONTH: {
              // "d MMMM – "
              formatField(s, 'd', 1, b);
              b.append(" ");
              formatField(s, 'M', 4, b);
              b.append(" – ");
              // "d MMMM"
              formatField(e, 'd', 1, b);
              b.append(" ");
              formatField(e, 'M', 4, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "H": {
          switch (f) {
            case HOUR: {
              // "H – "
              formatField(s, 'H', 1, b);
              b.append(" – ");
              // "H"
              formatField(e, 'H', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "yMMMEd": {
          switch (f) {
            case DAY: {
              // "E, d.MM – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 1, b);
              b.append(".");
              formatField(s, 'M', 2, b);
              b.append(" – ");
              // "E, d.MM.y г."
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 1, b);
              b.append(".");
              formatField(e, 'M', 2, b);
              b.append(".");
              formatField(e, 'y', 1, b);
              b.append(" г.");
              return;
            }
            case YEAR: {
              // "E, d.MM.y г. – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 1, b);
              b.append(".");
              formatField(s, 'M', 2, b);
              b.append(".");
              formatField(s, 'y', 1, b);
              b.append(" г. – ");
              // "E, d.MM.y г."
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 1, b);
              b.append(".");
              formatField(e, 'M', 2, b);
              b.append(".");
              formatField(e, 'y', 1, b);
              b.append(" г.");
              return;
            }
            case MONTH: {
              // "E, d.MM – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 1, b);
              b.append(".");
              formatField(s, 'M', 2, b);
              b.append(" – ");
              // "E, d.MM.y г."
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 1, b);
              b.append(".");
              formatField(e, 'M', 2, b);
              b.append(".");
              formatField(e, 'y', 1, b);
              b.append(" г.");
              return;
            }
            default: break;
          }
          break;
        }
        case "yMEd": {
          switch (f) {
            case DAY: {
              // "E, d.MM – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 1, b);
              b.append(".");
              formatField(s, 'M', 2, b);
              b.append(" – ");
              // "E, d.MM.y г."
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 1, b);
              b.append(".");
              formatField(e, 'M', 2, b);
              b.append(".");
              formatField(e, 'y', 1, b);
              b.append(" г.");
              return;
            }
            case YEAR: {
              // "E, d.MM.y г. – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 1, b);
              b.append(".");
              formatField(s, 'M', 2, b);
              b.append(".");
              formatField(s, 'y', 1, b);
              b.append(" г. – ");
              // "E, d.MM.y г."
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 1, b);
              b.append(".");
              formatField(e, 'M', 2, b);
              b.append(".");
              formatField(e, 'y', 1, b);
              b.append(" г.");
              return;
            }
            case MONTH: {
              // "E, d.MM – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 1, b);
              b.append(".");
              formatField(s, 'M', 2, b);
              b.append(" – ");
              // "E, d.MM.y г."
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 1, b);
              b.append(".");
              formatField(e, 'M', 2, b);
              b.append(".");
              formatField(e, 'y', 1, b);
              b.append(" г.");
              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, d.MM – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 1, b);
              b.append(".");
              formatField(s, 'M', 2, b);
              b.append(" – ");
              // "E, d.MM"
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 1, b);
              b.append(".");
              formatField(e, 'M', 2, b);
              return;
            }
            case MONTH: {
              // "E, d.MM – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 1, b);
              b.append(".");
              formatField(s, 'M', 2, b);
              b.append(" – ");
              // "E, d.MM"
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 1, b);
              b.append(".");
              formatField(e, 'M', 2, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "MMMEd": {
          switch (f) {
            case DAY: {
              // "E, d.MM – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 1, b);
              b.append(".");
              formatField(s, 'M', 2, b);
              b.append(" – ");
              // "E, d.MM"
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 1, b);
              b.append(".");
              formatField(e, 'M', 2, b);
              return;
            }
            case MONTH: {
              // "E, d.MM – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 1, b);
              b.append(".");
              formatField(s, 'M', 2, b);
              b.append(" – ");
              // "E, d.MM"
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 1, b);
              b.append(".");
              formatField(e, 'M', 2, 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 "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 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 MINUTE: {
              // "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;
            }
            default: break;
          }
          break;
        }
        case "yMMMMd": {
          switch (f) {
            case DAY: {
              // "d – "
              formatField(s, 'd', 1, b);
              b.append(" – ");
              // "d MMMM y г."
              formatField(e, 'd', 1, b);
              b.append(" ");
              formatField(e, 'M', 4, b);
              b.append(" ");
              formatField(e, 'y', 1, b);
              b.append(" г.");
              return;
            }
            case YEAR: {
              // "d MMMM y г. – "
              formatField(s, 'd', 1, b);
              b.append(" ");
              formatField(s, 'M', 4, b);
              b.append(" ");
              formatField(s, 'y', 1, b);
              b.append(" г. – ");
              // "d MMMM y г."
              formatField(e, 'd', 1, b);
              b.append(" ");
              formatField(e, 'M', 4, b);
              b.append(" ");
              formatField(e, 'y', 1, b);
              b.append(" г.");
              return;
            }
            case MONTH: {
              // "d MMMM – "
              formatField(s, 'd', 1, b);
              b.append(" ");
              formatField(s, 'M', 4, b);
              b.append(" – ");
              // "d MMMM y г."
              formatField(e, 'd', 1, b);
              b.append(" ");
              formatField(e, 'M', 4, b);
              b.append(" ");
              formatField(e, 'y', 1, b);
              b.append(" г.");
              return;
            }
            default: break;
          }
          break;
        }
        case "yMMMd": {
          switch (f) {
            case DAY: {
              // "d.MM – "
              formatField(s, 'd', 1, b);
              b.append(".");
              formatField(s, 'M', 2, b);
              b.append(" – ");
              // "d.MM.y г."
              formatField(e, 'd', 1, b);
              b.append(".");
              formatField(e, 'M', 2, b);
              b.append(".");
              formatField(e, 'y', 1, b);
              b.append(" г.");
              return;
            }
            case YEAR: {
              // "d.MM.y г. – "
              formatField(s, 'd', 1, b);
              b.append(".");
              formatField(s, 'M', 2, b);
              b.append(".");
              formatField(s, 'y', 1, b);
              b.append(" г. – ");
              // "d.MM.y г."
              formatField(e, 'd', 1, b);
              b.append(".");
              formatField(e, 'M', 2, b);
              b.append(".");
              formatField(e, 'y', 1, b);
              b.append(" г.");
              return;
            }
            case MONTH: {
              // "d.MM – "
              formatField(s, 'd', 1, b);
              b.append(".");
              formatField(s, 'M', 2, b);
              b.append(" – ");
              // "d.MM.y г."
              formatField(e, 'd', 1, b);
              b.append(".");
              formatField(e, 'M', 2, b);
              b.append(".");
              formatField(e, 'y', 1, b);
              b.append(" г.");
              return;
            }
            default: break;
          }
          break;
        }
        case "yMMMMEd": {
          switch (f) {
            case DAY: {
              // "E, d MMMM – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 1, b);
              b.append(" ");
              formatField(s, 'M', 4, b);
              b.append(" – ");
              // "E, d MMMM y г."
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 1, b);
              b.append(" ");
              formatField(e, 'M', 4, b);
              b.append(" ");
              formatField(e, 'y', 1, b);
              b.append(" г.");
              return;
            }
            case YEAR: {
              // "E, d MMMM y г. – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 1, b);
              b.append(" ");
              formatField(s, 'M', 4, b);
              b.append(" ");
              formatField(s, 'y', 1, b);
              b.append(" г. – ");
              // "E, d MMMM y г."
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 1, b);
              b.append(" ");
              formatField(e, 'M', 4, b);
              b.append(" ");
              formatField(e, 'y', 1, b);
              b.append(" г.");
              return;
            }
            case MONTH: {
              // "E, d MMMM – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 1, b);
              b.append(" ");
              formatField(s, 'M', 4, b);
              b.append(" – ");
              // "E, d MMMM y г."
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 1, b);
              b.append(" ");
              formatField(e, 'M', 4, b);
              b.append(" ");
              formatField(e, 'y', 1, b);
              b.append(" г.");
              return;
            }
            default: break;
          }
          break;
        }
        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 "MMMM": {
          switch (f) {
            case MONTH: {
              // "LLLL – "
              formatField(s, 'L', 4, b);
              b.append(" – ");
              // "LLLL"
              formatField(e, 'L', 4, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "Hm": {
          switch (f) {
            case HOUR: {
              // "H:mm – "
              formatField(s, 'H', 1, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append(" – ");
              // "H:mm"
              formatField(e, 'H', 1, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              return;
            }
            case MINUTE: {
              // "H:mm – "
              formatField(s, 'H', 1, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append(" – ");
              // "H:mm"
              formatField(e, 'H', 1, 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 "MMM": {
          switch (f) {
            case MONTH: {
              // "MM – "
              formatField(s, 'M', 2, b);
              b.append(" – ");
              // "MM"
              formatField(e, 'M', 2, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "yMMM": {
          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);
              b.append(" г.");
              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);
              b.append(" г.");
              return;
            }
            default: break;
          }
          break;
        }
        case "Hv": {
          switch (f) {
            case HOUR: {
              // "H – "
              formatField(s, 'H', 1, b);
              b.append(" – ");
              // "H v"
              formatField(e, 'H', 1, b);
              b.append(" ");
              formatField(e, 'v', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "Hmv": {
          switch (f) {
            case HOUR: {
              // "H:mm – "
              formatField(s, 'H', 1, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append(" – ");
              // "H:mm v"
              formatField(e, 'H', 1, b);
              b.append(":");
              formatField(e, 'm', 2, 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 v"
              formatField(e, 'H', 1, 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: {
              // "d.MM – "
              formatField(s, 'd', 1, b);
              b.append(".");
              formatField(s, 'M', 2, b);
              b.append(" – ");
              // "d.MM.y г."
              formatField(e, 'd', 1, b);
              b.append(".");
              formatField(e, 'M', 2, b);
              b.append(".");
              formatField(e, 'y', 1, b);
              b.append(" г.");
              return;
            }
            case YEAR: {
              // "d.MM.y г. – "
              formatField(s, 'd', 1, b);
              b.append(".");
              formatField(s, 'M', 2, b);
              b.append(".");
              formatField(s, 'y', 1, b);
              b.append(" г. – ");
              // "d.MM.y г."
              formatField(e, 'd', 1, b);
              b.append(".");
              formatField(e, 'M', 2, b);
              b.append(".");
              formatField(e, 'y', 1, b);
              b.append(" г.");
              return;
            }
            case MONTH: {
              // "d.MM – "
              formatField(s, 'd', 1, b);
              b.append(".");
              formatField(s, 'M', 2, b);
              b.append(" – ");
              // "d.MM.y г."
              formatField(e, 'd', 1, b);
              b.append(".");
              formatField(e, 'M', 2, b);
              b.append(".");
              formatField(e, 'y', 1, b);
              b.append(" г.");
              return;
            }
            default: break;
          }
          break;
        }
        case "MMMd": {
          switch (f) {
            case DAY: {
              // "d.MM – "
              formatField(s, 'd', 1, b);
              b.append(".");
              formatField(s, 'M', 2, b);
              b.append(" – ");
              // "d.MM"
              formatField(e, 'd', 1, b);
              b.append(".");
              formatField(e, 'M', 2, b);
              return;
            }
            case MONTH: {
              // "d.MM – "
              formatField(s, 'd', 1, b);
              b.append(".");
              formatField(s, 'M', 2, b);
              b.append(" – ");
              // "d.MM"
              formatField(e, 'd', 1, b);
              b.append(".");
              formatField(e, 'M', 2, 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);
              b.append(" г.");
              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);
              b.append(" г.");
              return;
            }
            default: break;
          }
          break;
        }
        case "yMMMM": {
          switch (f) {
            case YEAR: {
              // "MMMM y г. – "
              formatField(s, 'M', 4, b);
              b.append(" ");
              formatField(s, 'y', 1, b);
              b.append(" г. – ");
              // "MMMM y г."
              formatField(e, 'M', 4, b);
              b.append(" ");
              formatField(e, 'y', 1, b);
              b.append(" г.");
              return;
            }
            case MONTH: {
              // "MMMM – "
              formatField(s, 'M', 4, b);
              b.append(" – ");
              // "MMMM y г."
              formatField(e, 'M', 4, b);
              b.append(" ");
              formatField(e, 'y', 1, b);
              b.append(" г.");
              return;
            }
            default: break;
          }
          break;
        }
        case "Md": {
          switch (f) {
            case DAY: {
              // "d.MM – "
              formatField(s, 'd', 1, b);
              b.append(".");
              formatField(s, 'M', 2, b);
              b.append(" – ");
              // "d.MM"
              formatField(e, 'd', 1, b);
              b.append(".");
              formatField(e, 'M', 2, b);
              return;
            }
            case MONTH: {
              // "d.MM – "
              formatField(s, 'd', 1, b);
              b.append(".");
              formatField(s, 'M', 2, b);
              b.append(" – ");
              // "d.MM"
              formatField(e, 'd', 1, b);
              b.append(".");
              formatField(e, 'M', 2, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "MMMMEd": {
          switch (f) {
            case DAY: {
              // "E, d MMMM – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 1, b);
              b.append(" ");
              formatField(s, 'M', 4, b);
              b.append(" – ");
              // "E, d MMMM"
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 1, b);
              b.append(" ");
              formatField(e, 'M', 4, b);
              return;
            }
            case MONTH: {
              // "E, d MMMM – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 1, b);
              b.append(" ");
              formatField(s, 'M', 4, b);
              b.append(" – ");
              // "E, d MMMM"
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 1, b);
              b.append(" ");
              formatField(e, 'M', 4, 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);
              b.append(" г.");
              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("Гринуич");
      return;
    }
    boolean emitMins = !_short || mins > 0;
    b.append("Гринуич");
    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(region);
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy