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

com.squarespace.cldr.dates._CalendarFormatter_sr_Latn 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 "sr-Latn"
 * See http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
 */
public class _CalendarFormatter_sr_Latn extends CalendarFormatterBase {
  public _CalendarFormatter_sr_Latn() {
    this.locale = CLDR.Locale.sr_Latn;
    this.firstDay = 1;
    this.minDays = 1;
    this.eras = new FieldVariants(
          new String[] {"p. n. e.", "n. e."}, 
          new String[] {"p.n.e.", "n.e."}, 
          new String[] {}, 
          new String[] {"pre nove ere", "nove ere"});
    this.quartersFormat = new FieldVariants(
          new String[] {"K1", "K2", "K3", "K4"}, 
          new String[] {"1.", "2.", "3.", "4."}, 
          new String[] {}, 
          new String[] {"prvi kvartal", "drugi kvartal", "treći kvartal", "četvrti kvartal"});
    this.quartersStandalone = new FieldVariants(
          new String[] {"K1", "K2", "K3", "K4"}, 
          new String[] {"1.", "2.", "3.", "4."}, 
          new String[] {}, 
          new String[] {"prvi kvartal", "drugi kvartal", "treći kvartal", "četvrti kvartal"});
    this.monthsFormat = new FieldVariants(
          new String[] {"jan", "feb", "mar", "apr", "maj", "jun", "jul", "avg", "sep", "okt", "nov", "dec"}, 
          new String[] {"j", "f", "m", "a", "m", "j", "j", "a", "s", "o", "n", "d"}, 
          new String[] {}, 
          new String[] {"januar", "februar", "mart", "april", "maj", "jun", "jul", "avgust", "septembar", "oktobar", "novembar", "decembar"});
    this.monthsStandalone = new FieldVariants(
          new String[] {"jan", "feb", "mar", "apr", "maj", "jun", "jul", "avg", "sep", "okt", "nov", "dec"}, 
          new String[] {"j", "f", "m", "a", "m", "j", "j", "a", "s", "o", "n", "d"}, 
          new String[] {}, 
          new String[] {"januar", "februar", "mart", "april", "maj", "jun", "jul", "avgust", "septembar", "oktobar", "novembar", "decembar"});
    this.weekdaysFormat = new FieldVariants(
          new String[] {"ned", "pon", "uto", "sre", "čet", "pet", "sub"}, 
          new String[] {"n", "p", "u", "s", "č", "p", "s"}, 
          new String[] {"ne", "po", "ut", "sr", "če", "pe", "su"}, 
          new String[] {"nedelja", "ponedeljak", "utorak", "sreda", "četvrtak", "petak", "subota"});
    this.weekdaysStandalone = new FieldVariants(
          new String[] {"ned", "pon", "uto", "sre", "čet", "pet", "sub"}, 
          new String[] {"n", "p", "u", "s", "č", "p", "s"}, 
          new String[] {"ne", "po", "ut", "sr", "če", "pe", "su"}, 
          new String[] {"nedelja", "ponedeljak", "utorak", "sreda", "četvrtak", "petak", "subota"});
    this.dayPeriodsFormat = new FieldVariants(
          new String[] {"pre podne", "po podne"}, 
          new String[] {"a", "p"}, 
          new String[] {}, 
          new String[] {"pre podne", "po podne"});
    this.dayPeriodsStandalone = new FieldVariants(
          new String[] {"pre podne", "po podne"}, 
          new String[] {"pre podne", "po podne"}, 
          new String[] {}, 
          new String[] {"pre podne", "po podne"});
    this.exemplarCities = new HashMap() { {
      put("America/Adak", "Adak");
      put("America/Anchorage", "Enkoridž");
      put("America/Anguilla", "Angvila");
      put("America/Antigua", "Antigva");
      put("America/Araguaina", "Aragvajana");
      put("America/Argentina/Rio_Gallegos", "Rio Galjegos");
      put("America/Argentina/San_Juan", "San Huan");
      put("America/Argentina/Ushuaia", "Ušuaija");
      put("America/Argentina/La_Rioja", "La Rioha");
      put("America/Argentina/San_Luis", "San Lui");
      put("America/Argentina/Salta", "Salta");
      put("America/Argentina/Tucuman", "Tukuman");
      put("America/Aruba", "Aruba");
      put("America/Asuncion", "Asunsion");
      put("America/Bahia", "Baija");
      put("America/Bahia_Banderas", "Baija Banderas");
      put("America/Barbados", "Barbados");
      put("America/Belem", "Belem");
      put("America/Belize", "Belize");
      put("America/Blanc-Sablon", "Blank-Sejblon");
      put("America/Boa_Vista", "Boa Vista");
      put("America/Bogota", "Bogota");
      put("America/Boise", "Bojzi");
      put("America/Buenos_Aires", "Buenos Ajres");
      put("America/Cambridge_Bay", "Kembridž Bej");
      put("America/Campo_Grande", "Kampo Grande");
      put("America/Cancun", "Kankun");
      put("America/Caracas", "Karakas");
      put("America/Catamarca", "Katamarka");
      put("America/Cayenne", "Kajen");
      put("America/Cayman", "Kajmanska Ostrva");
      put("America/Chicago", "Čikago");
      put("America/Chihuahua", "Čihuahua");
      put("America/Coral_Harbour", "Koral Harbur");
      put("America/Cordoba", "Kordoba");
      put("America/Costa_Rica", "Kostarika");
      put("America/Creston", "Kreston");
      put("America/Cuiaba", "Kuiaba");
      put("America/Curacao", "Kiraso");
      put("America/Danmarkshavn", "Danmarkshagen");
      put("America/Dawson", "Doson");
      put("America/Dawson_Creek", "Doson Krik");
      put("America/Denver", "Denver");
      put("America/Detroit", "Detroit");
      put("America/Dominica", "Dominika");
      put("America/Edmonton", "Edmonton");
      put("America/Eirunepe", "Eirunepe");
      put("America/El_Salvador", "Salvador");
      put("America/Fort_Nelson", "Fort Nelson");
      put("America/Fortaleza", "Fortaleza");
      put("America/Glace_Bay", "Glejs Bej");
      put("America/Godthab", "Gothab");
      put("America/Goose_Bay", "Gus Bej");
      put("America/Grand_Turk", "Grand Turk");
      put("America/Grenada", "Grenada");
      put("America/Guadeloupe", "Gvadalupe");
      put("America/Guatemala", "Gvatemala");
      put("America/Guayaquil", "Gvajakil");
      put("America/Guyana", "Gvajana");
      put("America/Halifax", "Halifaks");
      put("America/Havana", "Havana");
      put("America/Hermosillo", "Hermosiljo");
      put("America/Indiana/Vincennes", "Vincenes, Indijana");
      put("America/Indiana/Petersburg", "Pitersburg, Indijana");
      put("America/Indiana/Tell_City", "Tel Siti");
      put("America/Indiana/Knox", "Noks, Indijana");
      put("America/Indiana/Winamac", "Vinamak, Indijana");
      put("America/Indiana/Marengo", "Marengo, Indijana");
      put("America/Indiana/Vevay", "Vevaj, Indijana");
      put("America/Indianapolis", "Indianapolis");
      put("America/Inuvik", "Inuvik");
      put("America/Iqaluit", "Ikvaluit");
      put("America/Jamaica", "Jamajka");
      put("America/Jujuy", "Žužui");
      put("America/Juneau", "Žuno");
      put("America/Kentucky/Monticello", "Montičelo, Kentaki");
      put("America/Kralendijk", "Kralendajk");
      put("America/La_Paz", "La Paz");
      put("America/Lima", "Lima");
      put("America/Los_Angeles", "Los Anđeles");
      put("America/Louisville", "Luivile");
      put("America/Lower_Princes", "Louer Prinsiz Kvorter");
      put("America/Maceio", "Masejo");
      put("America/Managua", "Managva");
      put("America/Manaus", "Manaus");
      put("America/Marigot", "Marigo");
      put("America/Martinique", "Martinik");
      put("America/Matamoros", "Matamoros");
      put("America/Mazatlan", "Mazatlan");
      put("America/Mendoza", "Mendosa");
      put("America/Menominee", "Menomini");
      put("America/Merida", "Merida");
      put("America/Metlakatla", "Metlakatla");
      put("America/Mexico_City", "Meksiko Siti");
      put("America/Miquelon", "Mikelon");
      put("America/Moncton", "Monkton");
      put("America/Monterrey", "Monterej");
      put("America/Montevideo", "Montevideo");
      put("America/Montserrat", "Montserat");
      put("America/Nassau", "Nasau");
      put("America/New_York", "Njujork");
      put("America/Nipigon", "Nipigon");
      put("America/Nome", "Nom");
      put("America/Noronha", "Noronja");
      put("America/North_Dakota/Beulah", "Bijula, Severna Dakota");
      put("America/North_Dakota/New_Salem", "Novi Salem, Severna Dakota");
      put("America/North_Dakota/Center", "Centar, Severna Dakota");
      put("America/Ojinaga", "Ohinaga");
      put("America/Panama", "Panama");
      put("America/Pangnirtung", "Pangnirtung");
      put("America/Paramaribo", "Paramaribo");
      put("America/Phoenix", "Finiks");
      put("America/Port-au-Prince", "Port-o-Prens");
      put("America/Port_of_Spain", "Port of Spejn");
      put("America/Porto_Velho", "Porto Veljo");
      put("America/Puerto_Rico", "Porto Riko");
      put("America/Rainy_River", "Rejni River");
      put("America/Rankin_Inlet", "Rankin Inlet");
      put("America/Recife", "Resife");
      put("America/Regina", "Regina");
      put("America/Resolute", "Resolut");
      put("America/Rio_Branco", "Rio Branko");
      put("America/Santa_Isabel", "Santa Izabel");
      put("America/Santarem", "Santarem");
      put("America/Santiago", "Santjago");
      put("America/Santo_Domingo", "Santo Domingo");
      put("America/Sao_Paulo", "Sao Paolo");
      put("America/Scoresbysund", "Skorezbisund");
      put("America/Sitka", "Sitka");
      put("America/St_Barthelemy", "Sv. Bartolomej");
      put("America/St_Johns", "Sv. Džon");
      put("America/St_Kitts", "Sent Kits");
      put("America/St_Lucia", "Sv. Lucija");
      put("America/St_Thomas", "Sv. Toma");
      put("America/St_Vincent", "Sent Vinsent");
      put("America/Swift_Current", "Svift Kurent");
      put("America/Tegucigalpa", "Tegusigalpa");
      put("America/Thule", "Tul");
      put("America/Thunder_Bay", "Tander Bej");
      put("America/Tijuana", "Tihuana");
      put("America/Toronto", "Toronto");
      put("America/Tortola", "Tortola");
      put("America/Vancouver", "Vankuver");
      put("America/Whitehorse", "Vajthors");
      put("America/Winnipeg", "Vinipeg");
      put("America/Yakutat", "Jakutat");
      put("America/Yellowknife", "Jelounajf");
      put("Atlantic/Azores", "Azori");
      put("Atlantic/Bermuda", "Bermuda");
      put("Atlantic/Canary", "Kanarska ostrva");
      put("Atlantic/Cape_Verde", "Zelenortska Ostrva");
      put("Atlantic/Faeroe", "Farska Ostrva");
      put("Atlantic/Madeira", "Madeira");
      put("Atlantic/Reykjavik", "Rejkjavik");
      put("Atlantic/South_Georgia", "Južna Džordžija");
      put("Atlantic/St_Helena", "Sveta Jelena");
      put("Atlantic/Stanley", "Stenli");
      put("Europe/Amsterdam", "Amsterdam");
      put("Europe/Andorra", "Andora");
      put("Europe/Astrakhan", "Astrakan");
      put("Europe/Athens", "Atina");
      put("Europe/Belgrade", "Beograd");
      put("Europe/Berlin", "Berlin");
      put("Europe/Bratislava", "Bratislava");
      put("Europe/Brussels", "Brisel");
      put("Europe/Bucharest", "Bukurešt");
      put("Europe/Budapest", "Budimpešta");
      put("Europe/Busingen", "Bisingen");
      put("Europe/Chisinau", "Kišinjev");
      put("Europe/Copenhagen", "Kopenhagen");
      put("Europe/Dublin", "Dablin");
      put("Europe/Gibraltar", "Gibraltar");
      put("Europe/Guernsey", "Gernzi");
      put("Europe/Helsinki", "Helsinki");
      put("Europe/Isle_of_Man", "Ostrvo Man");
      put("Europe/Istanbul", "Istanbul");
      put("Europe/Jersey", "Džersi");
      put("Europe/Kaliningrad", "Kalinjingrad");
      put("Europe/Kiev", "Kijev");
      put("Europe/Kirov", "Kirov");
      put("Europe/Lisbon", "Lisabon");
      put("Europe/Ljubljana", "Ljubljana");
      put("Europe/London", "London");
      put("Europe/Luxembourg", "Luksemburg");
      put("Europe/Madrid", "Madrid");
      put("Europe/Malta", "Malta");
      put("Europe/Mariehamn", "Marihamn");
      put("Europe/Minsk", "Minsk");
      put("Europe/Monaco", "Monako");
      put("Europe/Moscow", "Moskva");
      put("Europe/Oslo", "Oslo");
      put("Europe/Paris", "Pariz");
      put("Europe/Podgorica", "Podgorica");
      put("Europe/Prague", "Prag");
      put("Europe/Riga", "Riga");
      put("Europe/Rome", "Rim");
      put("Europe/Samara", "Samara");
      put("Europe/San_Marino", "San Marino");
      put("Europe/Sarajevo", "Sarajevo");
      put("Europe/Simferopol", "Simferopolj");
      put("Europe/Skopje", "Skoplje");
      put("Europe/Sofia", "Sofija");
      put("Europe/Stockholm", "Stokholm");
      put("Europe/Tallinn", "Talin");
      put("Europe/Tirane", "Tirana");
      put("Europe/Ulyanovsk", "Uljanovsk");
      put("Europe/Uzhgorod", "Užgorod");
      put("Europe/Vaduz", "Vaduz");
      put("Europe/Vatican", "Vatikan");
      put("Europe/Vienna", "Beč");
      put("Europe/Vilnius", "Vilnjus");
      put("Europe/Volgograd", "Volgograd");
      put("Europe/Warsaw", "Varšava");
      put("Europe/Zagreb", "Zagreb");
      put("Europe/Zaporozhye", "Zaporožje");
      put("Europe/Zurich", "Cirih");
      put("Africa/Abidjan", "Abidžan");
      put("Africa/Accra", "Akra");
      put("Africa/Addis_Ababa", "Adis Abeba");
      put("Africa/Algiers", "Alžir");
      put("Africa/Asmera", "Asmera");
      put("Africa/Bamako", "Bamako");
      put("Africa/Bangui", "Bangui");
      put("Africa/Banjul", "Banžul");
      put("Africa/Bissau", "Bisao");
      put("Africa/Blantyre", "Blantir");
      put("Africa/Brazzaville", "Brazavil");
      put("Africa/Bujumbura", "Budžumbura");
      put("Africa/Cairo", "Kairo");
      put("Africa/Casablanca", "Kazablanka");
      put("Africa/Ceuta", "Seuta");
      put("Africa/Conakry", "Konakri");
      put("Africa/Dakar", "Dakar");
      put("Africa/Dar_es_Salaam", "Dar-es-Salam");
      put("Africa/Djibouti", "Džibuti");
      put("Africa/Douala", "Duala");
      put("Africa/El_Aaiun", "El Ajun");
      put("Africa/Freetown", "Fritaun");
      put("Africa/Gaborone", "Gaboron");
      put("Africa/Harare", "Harare");
      put("Africa/Johannesburg", "Johanesburg");
      put("Africa/Juba", "Džuba");
      put("Africa/Kampala", "Kampala");
      put("Africa/Khartoum", "Kartum");
      put("Africa/Kigali", "Kigali");
      put("Africa/Kinshasa", "Kinšasa");
      put("Africa/Lagos", "Lagos");
      put("Africa/Libreville", "Librevil");
      put("Africa/Lome", "Lome");
      put("Africa/Luanda", "Luanda");
      put("Africa/Lubumbashi", "Lubumbaši");
      put("Africa/Lusaka", "Lusaka");
      put("Africa/Malabo", "Malabo");
      put("Africa/Maputo", "Maputo");
      put("Africa/Maseru", "Maseru");
      put("Africa/Mbabane", "Mbabane");
      put("Africa/Mogadishu", "Mogadiš");
      put("Africa/Monrovia", "Monrovija");
      put("Africa/Nairobi", "Najrobi");
      put("Africa/Ndjamena", "Ndžamena");
      put("Africa/Niamey", "Nijamej");
      put("Africa/Nouakchott", "Nuakšot");
      put("Africa/Ouagadougou", "Uagadugu");
      put("Africa/Porto-Novo", "Porto Novo");
      put("Africa/Sao_Tome", "Sao Tome");
      put("Africa/Tripoli", "Tripoli");
      put("Africa/Tunis", "Tunis");
      put("Africa/Windhoek", "Vindhuk");
      put("Asia/Aden", "Aden");
      put("Asia/Almaty", "Almati");
      put("Asia/Amman", "Aman");
      put("Asia/Anadyr", "Anadir");
      put("Asia/Aqtau", "Aktau");
      put("Asia/Aqtobe", "Akutobe");
      put("Asia/Ashgabat", "Ašhabad");
      put("Asia/Baghdad", "Bagdad");
      put("Asia/Bahrain", "Bahrein");
      put("Asia/Baku", "Baku");
      put("Asia/Bangkok", "Bangkok");
      put("Asia/Barnaul", "Barnaul");
      put("Asia/Beirut", "Bejrut");
      put("Asia/Bishkek", "Biškek");
      put("Asia/Brunei", "Brunej");
      put("Asia/Calcutta", "Kalkuta");
      put("Asia/Chita", "Čita");
      put("Asia/Choibalsan", "Čojbalsan");
      put("Asia/Colombo", "Kolombo");
      put("Asia/Damascus", "Damask");
      put("Asia/Dhaka", "Daka");
      put("Asia/Dili", "Dili");
      put("Asia/Dubai", "Dubai");
      put("Asia/Dushanbe", "Dušanbe");
      put("Asia/Gaza", "Gaza");
      put("Asia/Hebron", "Hebron");
      put("Asia/Hong_Kong", "Hongkong");
      put("Asia/Hovd", "Hovd");
      put("Asia/Irkutsk", "Irkuck");
      put("Asia/Jakarta", "Džakarta");
      put("Asia/Jayapura", "Džajapura");
      put("Asia/Jerusalem", "Jerusalim");
      put("Asia/Kabul", "Kabul");
      put("Asia/Kamchatka", "Kamčatka");
      put("Asia/Karachi", "Karači");
      put("Asia/Katmandu", "Katmandu");
      put("Asia/Khandyga", "Handiga");
      put("Asia/Krasnoyarsk", "Krasnojarsk");
      put("Asia/Kuala_Lumpur", "Kuala Lumpur");
      put("Asia/Kuching", "Kučing");
      put("Asia/Kuwait", "Kuvajt");
      put("Asia/Macau", "Makao");
      put("Asia/Magadan", "Magadan");
      put("Asia/Makassar", "Makasar");
      put("Asia/Manila", "Manila");
      put("Asia/Muscat", "Muskat");
      put("Asia/Nicosia", "Nikozija");
      put("Asia/Novokuznetsk", "Novokuznjeck");
      put("Asia/Novosibirsk", "Novosibirsk");
      put("Asia/Omsk", "Omsk");
      put("Asia/Oral", "Oral");
      put("Asia/Phnom_Penh", "Pnom Pen");
      put("Asia/Pontianak", "Pontijanak");
      put("Asia/Pyongyang", "Pjongjang");
      put("Asia/Qatar", "Katar");
      put("Asia/Qyzylorda", "Kizilorda");
      put("Asia/Rangoon", "Rangun");
      put("Asia/Riyadh", "Rijad");
      put("Asia/Saigon", "Ho Ši Min");
      put("Asia/Sakhalin", "Sahalin");
      put("Asia/Samarkand", "Samarkand");
      put("Asia/Seoul", "Seul");
      put("Asia/Shanghai", "Šangaj");
      put("Asia/Singapore", "Singapur");
      put("Asia/Srednekolymsk", "Srednjekolimsk");
      put("Asia/Taipei", "Tajpej");
      put("Asia/Tashkent", "Taškent");
      put("Asia/Tbilisi", "Tbilisi");
      put("Asia/Tehran", "Teheran");
      put("Asia/Thimphu", "Timpu");
      put("Asia/Tokyo", "Tokio");
      put("Asia/Tomsk", "Tomsk");
      put("Asia/Ulaanbaatar", "Ulan Bator");
      put("Asia/Urumqi", "Urumkvi");
      put("Asia/Ust-Nera", "Ust-Nera");
      put("Asia/Vientiane", "Vijentijan");
      put("Asia/Vladivostok", "Vladivostok");
      put("Asia/Yakutsk", "Jakutsk");
      put("Asia/Yekaterinburg", "Jekaterinburg");
      put("Asia/Yerevan", "Jerevan");
      put("Indian/Antananarivo", "Antananarivo");
      put("Indian/Chagos", "Čagos");
      put("Indian/Christmas", "Božić");
      put("Indian/Cocos", "Kokos");
      put("Indian/Comoro", "Komoro");
      put("Indian/Kerguelen", "Kergelen");
      put("Indian/Mahe", "Mahe");
      put("Indian/Maldives", "Maldivi");
      put("Indian/Mauritius", "Mauricijus");
      put("Indian/Mayotte", "Majot");
      put("Indian/Reunion", "Reunion");
      put("Australia/Adelaide", "Adelejd");
      put("Australia/Brisbane", "Brizbejn");
      put("Australia/Broken_Hill", "Broken Hil");
      put("Australia/Currie", "Kari");
      put("Australia/Darwin", "Darvin");
      put("Australia/Eucla", "Iukla");
      put("Australia/Hobart", "Hobart");
      put("Australia/Lindeman", "Lindeman");
      put("Australia/Lord_Howe", "Lord Hau");
      put("Australia/Melbourne", "Melburn");
      put("Australia/Perth", "Pert");
      put("Australia/Sydney", "Sidnej");
      put("Pacific/Apia", "Apija");
      put("Pacific/Auckland", "Okland");
      put("Pacific/Bougainville", "Buganvil");
      put("Pacific/Chatham", "Čatam");
      put("Pacific/Easter", "Uskršnje ostrvo");
      put("Pacific/Efate", "Efat");
      put("Pacific/Enderbury", "Enderberi");
      put("Pacific/Fakaofo", "Fakaofo");
      put("Pacific/Fiji", "Fidži");
      put("Pacific/Funafuti", "Funafuti");
      put("Pacific/Galapagos", "Galapagos");
      put("Pacific/Gambier", "Gambije");
      put("Pacific/Guadalcanal", "Gvadalkanal");
      put("Pacific/Guam", "Guam");
      put("Pacific/Honolulu", "Honolulu");
      put("Pacific/Johnston", "Džonston");
      put("Pacific/Kiritimati", "Kiritimati");
      put("Pacific/Kosrae", "Košre");
      put("Pacific/Kwajalein", "Kvadžalejin");
      put("Pacific/Majuro", "Majuro");
      put("Pacific/Marquesas", "Markiz");
      put("Pacific/Midway", "Midvej");
      put("Pacific/Nauru", "Nauru");
      put("Pacific/Niue", "Niue");
      put("Pacific/Norfolk", "Norfolk");
      put("Pacific/Noumea", "Numea");
      put("Pacific/Pago_Pago", "Pago Pago");
      put("Pacific/Palau", "Palau");
      put("Pacific/Pitcairn", "Pitkern");
      put("Pacific/Ponape", "Ponape");
      put("Pacific/Port_Moresby", "Port Morzbi");
      put("Pacific/Rarotonga", "Rarotonga");
      put("Pacific/Saipan", "Sajpan");
      put("Pacific/Tahiti", "Tahiti");
      put("Pacific/Tarawa", "Tarava");
      put("Pacific/Tongatapu", "Tongatapu");
      put("Pacific/Truk", "Truk");
      put("Pacific/Wake", "Vejk");
      put("Pacific/Wallis", "Valis");
      put("Arctic/Longyearbyen", "Longjerbjen");
      put("Antarctica/Casey", "Kejsi");
      put("Antarctica/Davis", "Dejvis");
      put("Antarctica/DumontDUrville", "Dimon d’Urvil");
      put("Antarctica/Macquarie", "Mekvori");
      put("Antarctica/Mawson", "Moson");
      put("Antarctica/McMurdo", "Makmurdo");
      put("Antarctica/Palmer", "Palmer");
      put("Antarctica/Rothera", "Rotera");
      put("Antarctica/Syowa", "Šova");
      put("Antarctica/Troll", "Trol");
      put("Antarctica/Vostok", "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", "Nepoznat grad");
    } };

    this.timezoneNames = new HashMap() { {

      put("Europe/Dublin", new TimeZoneNames("Europe/Dublin",   new TimeZoneNames.Name(null, null, "Irska standardno vreme"),
        null));

      put("Europe/London", new TimeZoneNames("Europe/London",   new TimeZoneNames.Name(null, null, "Britanija letnje računanje vremena"),
        null));

      put("Etc/UTC", new TimeZoneNames("Etc/UTC",   new TimeZoneNames.Name(null, "Koordinisano univerzalno vreme", null),
        new TimeZoneNames.Name(null, "UTC", null)));
    } };

    this.metazoneNames = new HashMap() { {

      put("Acre", new TimeZoneNames("Acre", 
        new TimeZoneNames.Name("Akre vreme", "Akre standardno vreme", "Akre letnje računanje vremena"),
        null));

      put("Afghanistan", new TimeZoneNames("Afghanistan", 
        new TimeZoneNames.Name(null, "Avganistan vreme", null),
        null));

      put("Africa_Central", new TimeZoneNames("Africa_Central", 
        new TimeZoneNames.Name(null, "Centralno-afričko vreme", null),
        null));

      put("Africa_Eastern", new TimeZoneNames("Africa_Eastern", 
        new TimeZoneNames.Name(null, "Istočno-afričko vreme", null),
        null));

      put("Africa_Southern", new TimeZoneNames("Africa_Southern", 
        new TimeZoneNames.Name(null, "Južno-afričko vreme", null),
        null));

      put("Africa_Western", new TimeZoneNames("Africa_Western", 
        new TimeZoneNames.Name("Zapadno-afričko vreme", "Zapadno-afričko standardno vreme", "Zapadno-afričko letnje računanje vremena"),
        null));

      put("Alaska", new TimeZoneNames("Alaska", 
        new TimeZoneNames.Name("Aljaska", "Aljaska, standardno vreme", "Aljaska, letnje računanje vremena"),
        null));

      put("Almaty", new TimeZoneNames("Almaty", 
        new TimeZoneNames.Name("Almati vreme", "Almati standardno vreme", "Almati letnje računanje vremena"),
        null));

      put("Amazon", new TimeZoneNames("Amazon", 
        new TimeZoneNames.Name("Amazon vreme", "Amazon standardno vreme", "Amazon letnje računanje vremena"),
        null));

      put("America_Central", new TimeZoneNames("America_Central", 
        new TimeZoneNames.Name("Severnoameričko centralno vreme", "Severnoameričko centralno standardno vreme", "Severnoameričko centralno letnje vreme"),
        null));

      put("America_Eastern", new TimeZoneNames("America_Eastern", 
        new TimeZoneNames.Name("Severnoameričko istočno vreme", "Severnoameričko istočno standardno vreme", "Severnoameričko istočno letnje vreme"),
        null));

      put("America_Mountain", new TimeZoneNames("America_Mountain", 
        new TimeZoneNames.Name("Severnoameričko planinsko vreme", "Severnoameričko planinsko standardno vreme", "Severnoameričko planinsko letnje vreme"),
        null));

      put("America_Pacific", new TimeZoneNames("America_Pacific", 
        new TimeZoneNames.Name("Severnoameričko pacifičko vreme", "Severnoameričko pacifičko standardno vreme", "Severnoameričko pacifičko letnje vreme"),
        null));

      put("Anadyr", new TimeZoneNames("Anadyr", 
        new TimeZoneNames.Name("Anadir vreme", "Anadir standardno vreme", "Anadir letnje računanje vremena"),
        null));

      put("Apia", new TimeZoneNames("Apia", 
        new TimeZoneNames.Name("Apija vreme", "Apija standardno vreme", "Apija letnje računanje vremena"),
        null));

      put("Aqtau", new TimeZoneNames("Aqtau", 
        new TimeZoneNames.Name("Akvatau vreme", "Akvatau standardno vreme", "Akvatau letnje računanje vremena"),
        null));

      put("Aqtobe", new TimeZoneNames("Aqtobe", 
        new TimeZoneNames.Name("Akutobe vreme", "Akutobe standardno vreme", "Akutobe letnje računanje vremena"),
        null));

      put("Arabian", new TimeZoneNames("Arabian", 
        new TimeZoneNames.Name("Arabijsko vreme", "Arabijsko standardno vreme", "Arabijsko letnje računanje vremena"),
        null));

      put("Argentina", new TimeZoneNames("Argentina", 
        new TimeZoneNames.Name("Argentina vreme", "Argentina standardno vreme", "Argentina letnje računanje vremena"),
        null));

      put("Argentina_Western", new TimeZoneNames("Argentina_Western", 
        new TimeZoneNames.Name("Zapadna Argentina vreme", "Zapadna Argentina standardno vreme", "Zapadna Argentina letnje računanje vremena"),
        null));

      put("Armenia", new TimeZoneNames("Armenia", 
        new TimeZoneNames.Name("Jermenija vreme", "Jermenija standardno vreme", "Jermenija letnje računanje vremena"),
        null));

      put("Atlantic", new TimeZoneNames("Atlantic", 
        new TimeZoneNames.Name("Atlantsko vreme", "Atlantsko standardno vreme", "Atlantsko letnje računanje vremena"),
        null));

      put("Australia_Central", new TimeZoneNames("Australia_Central", 
        new TimeZoneNames.Name("Australijsko centralno vreme", "Australijsko centralno standardno vreme", "Australijsko centralno letnje računanje vremena"),
        null));

      put("Australia_CentralWestern", new TimeZoneNames("Australia_CentralWestern", 
        new TimeZoneNames.Name("Australijsko centralno zapadno vreme", "Australijsko centralno zapadno standardno vreme", "Australijsko centralno zapadno letnje računanje vremena"),
        null));

      put("Australia_Eastern", new TimeZoneNames("Australia_Eastern", 
        new TimeZoneNames.Name("Australijsko istočno vreme", "Australijsko istočno standardno vreme", "Australijsko istočno letnje računanje vremena"),
        null));

      put("Australia_Western", new TimeZoneNames("Australia_Western", 
        new TimeZoneNames.Name("Australijsko zapadno vreme", "Australijsko zapadno standardno vreme", "Australijsko zapadno letnje računanje vremena"),
        null));

      put("Azerbaijan", new TimeZoneNames("Azerbaijan", 
        new TimeZoneNames.Name("Azerbejdžan vreme", "Azerbejdžan standardno vreme", "Azerbejdžan letnje računanje vremena"),
        null));

      put("Azores", new TimeZoneNames("Azores", 
        new TimeZoneNames.Name("Azori vreme", "Azori standardno vreme", "Azori letnje računanje vremena"),
        null));

      put("Bangladesh", new TimeZoneNames("Bangladesh", 
        new TimeZoneNames.Name("Bangladeš vreme", "Bangladeš standardno vreme", "Bangladeš letnje računanje vremena"),
        null));

      put("Bhutan", new TimeZoneNames("Bhutan", 
        new TimeZoneNames.Name(null, "Butan vreme", null),
        null));

      put("Bolivia", new TimeZoneNames("Bolivia", 
        new TimeZoneNames.Name(null, "Bolivija vreme", null),
        null));

      put("Brasilia", new TimeZoneNames("Brasilia", 
        new TimeZoneNames.Name("Brazilija vreme", "Brazilija standardno vreme", "Brazilija letnje računanje vremena"),
        null));

      put("Brunei", new TimeZoneNames("Brunei", 
        new TimeZoneNames.Name(null, "Brunej Darusalum vreme", null),
        null));

      put("Cape_Verde", new TimeZoneNames("Cape_Verde", 
        new TimeZoneNames.Name("Zelenortska Ostrva vreme", "Zelenortska Ostrva standardno vreme", "Zelenortska Ostrva letnje računanje vremena"),
        null));

      put("Chamorro", new TimeZoneNames("Chamorro", 
        new TimeZoneNames.Name(null, "Čamoro vreme", null),
        null));

      put("Chatham", new TimeZoneNames("Chatham", 
        new TimeZoneNames.Name("Čatam vreme", "Čatam standardno vreme", "Čatam letnje računanje vremena"),
        null));

      put("Chile", new TimeZoneNames("Chile", 
        new TimeZoneNames.Name("Čile vreme", "Čile standardno vreme", "Čile letnje računanje vremena"),
        null));

      put("China", new TimeZoneNames("China", 
        new TimeZoneNames.Name("Kina vreme", "Kinesko standardno vreme", "Kina letnje računanje vremena"),
        null));

      put("Choibalsan", new TimeZoneNames("Choibalsan", 
        new TimeZoneNames.Name("Čojbalsan vreme", "Čojbalsan standardno vreme", "Čojbalsan letnje računanje vremena"),
        null));

      put("Christmas", new TimeZoneNames("Christmas", 
        new TimeZoneNames.Name(null, "Božićno ostrvo vreme", null),
        null));

      put("Cocos", new TimeZoneNames("Cocos", 
        new TimeZoneNames.Name(null, "Kokos (Keling) Ostrva vreme", null),
        null));

      put("Colombia", new TimeZoneNames("Colombia", 
        new TimeZoneNames.Name("Kolumbija vreme", "Kolumbija standardno vreme", "Kolumbija letnje računanje vremena"),
        null));

      put("Cook", new TimeZoneNames("Cook", 
        new TimeZoneNames.Name("Kukova ostrva vreme", "Kukova ostrva standardno vreme", "Kukova ostrva polu-letnje računanje vremena"),
        null));

      put("Cuba", new TimeZoneNames("Cuba", 
        new TimeZoneNames.Name("Kuba vreme", "Kuba standardno vreme", "Kuba letnje računanje vremena"),
        null));

      put("Davis", new TimeZoneNames("Davis", 
        new TimeZoneNames.Name(null, "Dejvis vreme", null),
        null));

      put("DumontDUrville", new TimeZoneNames("DumontDUrville", 
        new TimeZoneNames.Name(null, "Dimon d’Urvil vreme", null),
        null));

      put("East_Timor", new TimeZoneNames("East_Timor", 
        new TimeZoneNames.Name(null, "Istočni timor vreme", null),
        null));

      put("Easter", new TimeZoneNames("Easter", 
        new TimeZoneNames.Name("Uskršnja ostrva vreme", "Uskršnja ostrva standardno vreme", "Uskršnja ostrva letnje računanje vremena"),
        null));

      put("Ecuador", new TimeZoneNames("Ecuador", 
        new TimeZoneNames.Name(null, "Ekvador vreme", null),
        null));

      put("Europe_Central", new TimeZoneNames("Europe_Central", 
        new TimeZoneNames.Name("Srednjeevropsko vreme", "Srednjeevropsko standardno vreme", "Srednjeevropsko letnje računanje vremena"),
        new TimeZoneNames.Name("CET", "CET", "CEST")));

      put("Europe_Eastern", new TimeZoneNames("Europe_Eastern", 
        new TimeZoneNames.Name("Istočnoevropsko vreme", "Istočnoevropsko standardno vreme", "Istočnoevropsko letnje računanje vremena"),
        new TimeZoneNames.Name("EET", "EET", "EEST")));

      put("Europe_Further_Eastern", new TimeZoneNames("Europe_Further_Eastern", 
        new TimeZoneNames.Name(null, "dalji istok Evrope", null),
        null));

      put("Europe_Western", new TimeZoneNames("Europe_Western", 
        new TimeZoneNames.Name("Zapadnoevropsko vreme", "Zapadnoevropsko standardno vreme", "Zapadnoevropsko letnje računanje vremena"),
        new TimeZoneNames.Name("WET", "WET", "WEST")));

      put("Falkland", new TimeZoneNames("Falkland", 
        new TimeZoneNames.Name("Folklandska Ostrva vreme", "Folklandska Ostrva standardno vreme", "Folklandska Ostrva letnje računanje vremena"),
        null));

      put("Fiji", new TimeZoneNames("Fiji", 
        new TimeZoneNames.Name("Fidži vreme", "Fidži standardno vreme", "Fidži letnje računanje vremena"),
        null));

      put("French_Guiana", new TimeZoneNames("French_Guiana", 
        new TimeZoneNames.Name(null, "Francuska Gvajana vreme", null),
        null));

      put("French_Southern", new TimeZoneNames("French_Southern", 
        new TimeZoneNames.Name(null, "Francusko južno i antarktičko vreme", null),
        null));

      put("Galapagos", new TimeZoneNames("Galapagos", 
        new TimeZoneNames.Name(null, "Galapagos vreme", null),
        null));

      put("Gambier", new TimeZoneNames("Gambier", 
        new TimeZoneNames.Name(null, "Gambije vreme", null),
        null));

      put("Georgia", new TimeZoneNames("Georgia", 
        new TimeZoneNames.Name("Gruzija vreme", "Gruzija standardno vreme", "Gruzija letnje računanje vremena"),
        null));

      put("Gilbert_Islands", new TimeZoneNames("Gilbert_Islands", 
        new TimeZoneNames.Name(null, "Gilbert ostrva vreme", null),
        null));

      put("GMT", new TimeZoneNames("GMT", 
        new TimeZoneNames.Name(null, "Srednje vreme po Griniču", null),
        new TimeZoneNames.Name(null, "GMT", null)));

      put("Greenland_Eastern", new TimeZoneNames("Greenland_Eastern", 
        new TimeZoneNames.Name("Istočni Grenland vreme", "Istočni Grenland standardno vreme", "Istočni Grenland letnje računanje vremena"),
        null));

      put("Greenland_Western", new TimeZoneNames("Greenland_Western", 
        new TimeZoneNames.Name("Zapadni Grenland vreme", "Zapadni Grenland standardno vreme", "Zapadni Grenland letnje računanje vremena"),
        null));

      put("Guam", new TimeZoneNames("Guam", 
        new TimeZoneNames.Name(null, "Guam standardno vreme", null),
        null));

      put("Gulf", new TimeZoneNames("Gulf", 
        new TimeZoneNames.Name(null, "Zalivsko vreme", null),
        null));

      put("Guyana", new TimeZoneNames("Guyana", 
        new TimeZoneNames.Name(null, "Gvajana vreme", null),
        null));

      put("Hawaii_Aleutian", new TimeZoneNames("Hawaii_Aleutian", 
        new TimeZoneNames.Name("Havajsko-aleutsko vreme", "Havajsko-aleutsko standardno vreme", "Havajsko-aleutsko letnje računanje vremena"),
        null));

      put("Hong_Kong", new TimeZoneNames("Hong_Kong", 
        new TimeZoneNames.Name("Hong Kong vreme", "Hong Kong standardno vreme", "Hong Kong letnje računanje vremena"),
        null));

      put("Hovd", new TimeZoneNames("Hovd", 
        new TimeZoneNames.Name("Hovd vreme", "Hovd standardno vreme", "Hovd letnje računanje vremena"),
        null));

      put("India", new TimeZoneNames("India", 
        new TimeZoneNames.Name(null, "Indijsko standardno vreme", null),
        null));

      put("Indian_Ocean", new TimeZoneNames("Indian_Ocean", 
        new TimeZoneNames.Name(null, "Indijsko okeansko vreme", null),
        null));

      put("Indochina", new TimeZoneNames("Indochina", 
        new TimeZoneNames.Name(null, "Indokina vreme", null),
        null));

      put("Indonesia_Central", new TimeZoneNames("Indonesia_Central", 
        new TimeZoneNames.Name(null, "Centralno-indonezijsko vreme", null),
        null));

      put("Indonesia_Eastern", new TimeZoneNames("Indonesia_Eastern", 
        new TimeZoneNames.Name(null, "Istočno-indonezijsko vreme", null),
        null));

      put("Indonesia_Western", new TimeZoneNames("Indonesia_Western", 
        new TimeZoneNames.Name(null, "Zapadno-indonezijsko vreme", null),
        null));

      put("Iran", new TimeZoneNames("Iran", 
        new TimeZoneNames.Name("Iran vreme", "Iran standardno vreme", "Iran letnje računanje vremena"),
        null));

      put("Irkutsk", new TimeZoneNames("Irkutsk", 
        new TimeZoneNames.Name("Irkuck vreme", "Irkuck standardno vreme", "Irkuck letnje računanje vremena"),
        null));

      put("Israel", new TimeZoneNames("Israel", 
        new TimeZoneNames.Name("Izraelsko vreme", "Izraelsko standardno vreme", "Izraelsko letnje računanje vremena"),
        null));

      put("Japan", new TimeZoneNames("Japan", 
        new TimeZoneNames.Name("Japansko vreme", "Japansko standardno vreme", "Japansko letnje računanje vremena"),
        null));

      put("Kamchatka", new TimeZoneNames("Kamchatka", 
        new TimeZoneNames.Name("Petropavlovsko-kamčatsko vreme", "Petropavlovsko-kamčatsko standardno vreme", "Petropavlovsko-kamčatsko letnje računanje vremena"),
        null));

      put("Kazakhstan_Eastern", new TimeZoneNames("Kazakhstan_Eastern", 
        new TimeZoneNames.Name(null, "Istočno-kazahstansko vreme", null),
        null));

      put("Kazakhstan_Western", new TimeZoneNames("Kazakhstan_Western", 
        new TimeZoneNames.Name(null, "Zapadno-kazahstansko vreme", null),
        null));

      put("Korea", new TimeZoneNames("Korea", 
        new TimeZoneNames.Name("Korejsko vreme", "Korejsko standardno vreme", "Korejsko letnje računanje vremena"),
        null));

      put("Kosrae", new TimeZoneNames("Kosrae", 
        new TimeZoneNames.Name(null, "Košre vreme", null),
        null));

      put("Krasnoyarsk", new TimeZoneNames("Krasnoyarsk", 
        new TimeZoneNames.Name("Krasnojarsk vreme", "Krasnojarsk standardno vreme", "Krasnojarsk letnje računanje vremena"),
        null));

      put("Kyrgystan", new TimeZoneNames("Kyrgystan", 
        new TimeZoneNames.Name(null, "Kirgistan vreme", null),
        null));

      put("Lanka", new TimeZoneNames("Lanka", 
        new TimeZoneNames.Name(null, "Šri Lanka vreme", null),
        null));

      put("Line_Islands", new TimeZoneNames("Line_Islands", 
        new TimeZoneNames.Name(null, "Ostrva Lajn vreme", null),
        null));

      put("Lord_Howe", new TimeZoneNames("Lord_Howe", 
        new TimeZoneNames.Name("Lord Hov vreme", "Lord Hov standardno vreme", "Lord Hov letnje računanje vremena"),
        null));

      put("Macau", new TimeZoneNames("Macau", 
        new TimeZoneNames.Name("Makao vreme", "Makao standardno vreme", "Makao letnje računanje vremena"),
        null));

      put("Macquarie", new TimeZoneNames("Macquarie", 
        new TimeZoneNames.Name(null, "Ostrvo Makveri vreme", null),
        null));

      put("Magadan", new TimeZoneNames("Magadan", 
        new TimeZoneNames.Name("Magadan vreme", "Magadan standardno vreme", "Magadan letnje računanje vremena"),
        null));

      put("Malaysia", new TimeZoneNames("Malaysia", 
        new TimeZoneNames.Name(null, "Malezija vreme", null),
        null));

      put("Maldives", new TimeZoneNames("Maldives", 
        new TimeZoneNames.Name(null, "Maldivi vreme", null),
        null));

      put("Marquesas", new TimeZoneNames("Marquesas", 
        new TimeZoneNames.Name(null, "Markiz vreme", null),
        null));

      put("Marshall_Islands", new TimeZoneNames("Marshall_Islands", 
        new TimeZoneNames.Name(null, "Maršalska Ostrva vreme", null),
        null));

      put("Mauritius", new TimeZoneNames("Mauritius", 
        new TimeZoneNames.Name("Mauricijus vreme", "Mauricijus standardno vreme", "Mauricijus letnje računanje vremena"),
        null));

      put("Mawson", new TimeZoneNames("Mawson", 
        new TimeZoneNames.Name(null, "Moson vreme", null),
        null));

      put("Mexico_Northwest", new TimeZoneNames("Mexico_Northwest", 
        new TimeZoneNames.Name("Severozapadni Meksiko", "Severozapadni Meksiko standardno vreme", "Severozapadni Meksiko letnje računanje vremena"),
        null));

      put("Mexico_Pacific", new TimeZoneNames("Mexico_Pacific", 
        new TimeZoneNames.Name("Meksički Pacifik", "Meksički Pacifik standardno vreme", "Meksički Pacifik letnje računanje vremena"),
        null));

      put("Mongolia", new TimeZoneNames("Mongolia", 
        new TimeZoneNames.Name("Ulan Bator vreme", "Ulan Bator standardno vreme", "Ulan Bator letnje računanje vremena"),
        null));

      put("Moscow", new TimeZoneNames("Moscow", 
        new TimeZoneNames.Name("Moskva vreme", "Moskva standardno vreme", "Moskva letnje računanje vremena"),
        null));

      put("Myanmar", new TimeZoneNames("Myanmar", 
        new TimeZoneNames.Name(null, "Mijanmar vreme", null),
        null));

      put("Nauru", new TimeZoneNames("Nauru", 
        new TimeZoneNames.Name(null, "Nauru vreme", null),
        null));

      put("Nepal", new TimeZoneNames("Nepal", 
        new TimeZoneNames.Name(null, "Nepal vreme", null),
        null));

      put("New_Caledonia", new TimeZoneNames("New_Caledonia", 
        new TimeZoneNames.Name("Nova Kaledonija vreme", "Nova Kaledonija standardno vreme", "Nova Kaledonija letnje računanje vremena"),
        null));

      put("New_Zealand", new TimeZoneNames("New_Zealand", 
        new TimeZoneNames.Name("Novi Zeland vreme", "Novi Zeland standardno vreme", "Novi Zeland letnje računanje vremena"),
        null));

      put("Newfoundland", new TimeZoneNames("Newfoundland", 
        new TimeZoneNames.Name("Njufaundlend vreme", "Njufaundlend standardno vreme", "Njufaundlend letnje računanje vremena"),
        null));

      put("Niue", new TimeZoneNames("Niue", 
        new TimeZoneNames.Name(null, "Niue vreme", null),
        null));

      put("Norfolk", new TimeZoneNames("Norfolk", 
        new TimeZoneNames.Name(null, "Norfolk Ostrvo vreme", null),
        null));

      put("Noronha", new TimeZoneNames("Noronha", 
        new TimeZoneNames.Name("Fernando de Noronja vreme", "Fernando de Noronja standardno vreme", "Fernando de Noronja letnje računanje vremena"),
        null));

      put("North_Mariana", new TimeZoneNames("North_Mariana", 
        new TimeZoneNames.Name(null, "Severna Marijanska Ostrva vreme", null),
        null));

      put("Novosibirsk", new TimeZoneNames("Novosibirsk", 
        new TimeZoneNames.Name("Novosibirsk vreme", "Novosibirsk standardno vreme", "Novosibirsk letnje računanje vremena"),
        null));

      put("Omsk", new TimeZoneNames("Omsk", 
        new TimeZoneNames.Name("Omsk vreme", "Omsk standardno vreme", "Omsk letnje računanje vremena"),
        null));

      put("Pakistan", new TimeZoneNames("Pakistan", 
        new TimeZoneNames.Name("Pakistan vreme", "Pakistan standardno vreme", "Pakistan letnje računanje vremena"),
        null));

      put("Palau", new TimeZoneNames("Palau", 
        new TimeZoneNames.Name(null, "Palau vreme", null),
        null));

      put("Papua_New_Guinea", new TimeZoneNames("Papua_New_Guinea", 
        new TimeZoneNames.Name(null, "Papua Nova Gvineja vreme", null),
        null));

      put("Paraguay", new TimeZoneNames("Paraguay", 
        new TimeZoneNames.Name("Paragvaj vreme", "Paragvaj standardno vreme", "Paragvaj letnje računanje vremena"),
        null));

      put("Peru", new TimeZoneNames("Peru", 
        new TimeZoneNames.Name("Peru vreme", "Peru standardno vreme", "Peru letnje računanje vremena"),
        null));

      put("Philippines", new TimeZoneNames("Philippines", 
        new TimeZoneNames.Name("Filipini vreme", "Filipini standardno vreme", "Filipini letnje računanje vremena"),
        null));

      put("Phoenix_Islands", new TimeZoneNames("Phoenix_Islands", 
        new TimeZoneNames.Name(null, "Feniks ostrva vreme", null),
        null));

      put("Pierre_Miquelon", new TimeZoneNames("Pierre_Miquelon", 
        new TimeZoneNames.Name("Sen Pjer i Mikelon vreme", "Sen Pjer i Mikelon standardno vreme", "Sen Pjer i Mikelon letnje računanje vremena"),
        null));

      put("Pitcairn", new TimeZoneNames("Pitcairn", 
        new TimeZoneNames.Name(null, "Pitkern vreme", null),
        null));

      put("Ponape", new TimeZoneNames("Ponape", 
        new TimeZoneNames.Name(null, "Ponpej vreme", null),
        null));

      put("Pyongyang", new TimeZoneNames("Pyongyang", 
        new TimeZoneNames.Name(null, "Pjongjanško vreme", null),
        null));

      put("Qyzylorda", new TimeZoneNames("Qyzylorda", 
        new TimeZoneNames.Name("Kizilorda vreme", "Kizilorda standardno vreme", "Kizilorda letnje računanje vremena"),
        null));

      put("Reunion", new TimeZoneNames("Reunion", 
        new TimeZoneNames.Name(null, "Reinion vreme", null),
        null));

      put("Rothera", new TimeZoneNames("Rothera", 
        new TimeZoneNames.Name(null, "Rotera vreme", null),
        null));

      put("Sakhalin", new TimeZoneNames("Sakhalin", 
        new TimeZoneNames.Name("Sahalin vreme", "Sahalin standardno vreme", "Sahalin letnje računanje vremena"),
        null));

      put("Samara", new TimeZoneNames("Samara", 
        new TimeZoneNames.Name("Samara vreme", "Samara standardno vreme", "Samara letnje računanje vremena"),
        null));

      put("Samoa", new TimeZoneNames("Samoa", 
        new TimeZoneNames.Name("Samoa vreme", "Samoa standardno vreme", "Samoa letnje računanje vremena"),
        null));

      put("Seychelles", new TimeZoneNames("Seychelles", 
        new TimeZoneNames.Name(null, "Sejšeli vreme", null),
        null));

      put("Singapore", new TimeZoneNames("Singapore", 
        new TimeZoneNames.Name(null, "Singapur standardno vreme", null),
        null));

      put("Solomon", new TimeZoneNames("Solomon", 
        new TimeZoneNames.Name(null, "Solomonska Ostrva vreme", null),
        null));

      put("South_Georgia", new TimeZoneNames("South_Georgia", 
        new TimeZoneNames.Name(null, "Južna Džordžija vreme", null),
        null));

      put("Suriname", new TimeZoneNames("Suriname", 
        new TimeZoneNames.Name(null, "Surinam vreme", null),
        null));

      put("Syowa", new TimeZoneNames("Syowa", 
        new TimeZoneNames.Name(null, "Šova vreme", null),
        null));

      put("Tahiti", new TimeZoneNames("Tahiti", 
        new TimeZoneNames.Name(null, "Tahiti vreme", null),
        null));

      put("Taipei", new TimeZoneNames("Taipei", 
        new TimeZoneNames.Name("Tajpej vreme", "Tajpej standardno vreme", "Tajpej letnje vreme"),
        null));

      put("Tajikistan", new TimeZoneNames("Tajikistan", 
        new TimeZoneNames.Name(null, "Tadžikistan vreme", null),
        null));

      put("Tokelau", new TimeZoneNames("Tokelau", 
        new TimeZoneNames.Name(null, "Tokelau vreme", null),
        null));

      put("Tonga", new TimeZoneNames("Tonga", 
        new TimeZoneNames.Name("Tonga vreme", "Tonga standardno vreme", "Tonga letnje računanje vremena"),
        null));

      put("Truk", new TimeZoneNames("Truk", 
        new TimeZoneNames.Name(null, "Čuuk vreme", null),
        null));

      put("Turkmenistan", new TimeZoneNames("Turkmenistan", 
        new TimeZoneNames.Name("Turkmenistan vreme", "Turkmenistan standardno vreme", "Turkmenistan letnje računanje vremena"),
        null));

      put("Tuvalu", new TimeZoneNames("Tuvalu", 
        new TimeZoneNames.Name(null, "Tuvalu vreme", null),
        null));

      put("Uruguay", new TimeZoneNames("Uruguay", 
        new TimeZoneNames.Name("Urugvaj vreme", "Urugvaj standardno vreme", "Urugvaj letnje računanje vremena"),
        null));

      put("Uzbekistan", new TimeZoneNames("Uzbekistan", 
        new TimeZoneNames.Name("Uzbekistan vreme", "Uzbekistan standardno vreme", "Uzbekistan letnje računanje vremena"),
        null));

      put("Vanuatu", new TimeZoneNames("Vanuatu", 
        new TimeZoneNames.Name("Vanuatu vreme", "Vanuatu standardno vreme", "Vanuatu letnje računanje vremena"),
        null));

      put("Venezuela", new TimeZoneNames("Venezuela", 
        new TimeZoneNames.Name(null, "Venecuela vreme", null),
        null));

      put("Vladivostok", new TimeZoneNames("Vladivostok", 
        new TimeZoneNames.Name("Vladivostok vreme", "Vladivostok standardno vreme", "Vladivostok letnje računanje vremena"),
        null));

      put("Volgograd", new TimeZoneNames("Volgograd", 
        new TimeZoneNames.Name("Volgograd vreme", "Volgograd standardno vreme", "Volgograd letnje računanje vremena"),
        null));

      put("Vostok", new TimeZoneNames("Vostok", 
        new TimeZoneNames.Name(null, "Vostok vreme", null),
        null));

      put("Wake", new TimeZoneNames("Wake", 
        new TimeZoneNames.Name(null, "Vejk ostrvo vreme", null),
        null));

      put("Wallis", new TimeZoneNames("Wallis", 
        new TimeZoneNames.Name(null, "Valis i Futuna Ostrva vreme", null),
        null));

      put("Yakutsk", new TimeZoneNames("Yakutsk", 
        new TimeZoneNames.Name("Jakutsk vreme", "Jakutsk standardno vreme", "Jakutsk letnje računanje vremena"),
        null));

      put("Yekaterinburg", new TimeZoneNames("Yekaterinburg", 
        new TimeZoneNames.Name("Jekaterinburg vreme", "Jekaterinburg standardno vreme", "Jekaterinburg letnje računanje vremena"),
        null));
    } };
  }

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

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

  @Override
  public void formatWrapped(CalendarFormat wrapperType, CalendarFormat dateType,
      CalendarFormat timeType, String dateSkel, String timeSkel, ZonedDateTime d, StringBuilder b) {
    switch (wrapperType) {
      case SHORT:
      case MEDIUM:
      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: "E"
        formatField(d, 'E', 1, b);
        break;
      }
      case "Ed": {
        // Pattern: "E d."
        formatField(d, 'E', 1, b);
        b.append(" ");
        formatField(d, 'd', 1, b);
        b.append(".");
        break;
      }
      case "Ehm": {
        // Pattern: "E h:mm a"
        formatField(d, 'E', 1, b);
        b.append(" ");
        formatField(d, 'h', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        break;
      }
      case "EHm": {
        // Pattern: "E HH:mm"
        formatField(d, 'E', 1, b);
        b.append(" ");
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        break;
      }
      case "Ehms": {
        // Pattern: "E h:mm:ss a"
        formatField(d, 'E', 1, b);
        b.append(" ");
        formatField(d, 'h', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        break;
      }
      case "EHms": {
        // Pattern: "E HH:mm:ss"
        formatField(d, 'E', 1, b);
        b.append(" ");
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        break;
      }
      case "Gy": {
        // Pattern: "y. G"
        formatField(d, 'y', 1, b);
        b.append(". ");
        formatField(d, 'G', 1, b);
        break;
      }
      case "GyMMM": {
        // Pattern: "MMM y. G"
        formatField(d, 'M', 3, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        b.append(". ");
        formatField(d, 'G', 1, b);
        break;
      }
      case "GyMMMd": {
        // Pattern: "d. MMM y. G"
        formatField(d, 'd', 1, b);
        b.append(". ");
        formatField(d, 'M', 3, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        b.append(". ");
        formatField(d, 'G', 1, b);
        break;
      }
      case "GyMMMEd": {
        // Pattern: "E, d. MMM y. G"
        formatField(d, 'E', 1, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        b.append(". ");
        formatField(d, 'M', 3, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        b.append(". ");
        formatField(d, 'G', 1, b);
        break;
      }
      case "h": {
        // Pattern: "h a"
        formatField(d, 'h', 1, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        break;
      }
      case "H": {
        // Pattern: "HH"
        formatField(d, 'H', 2, b);
        break;
      }
      case "hm": {
        // Pattern: "h:mm a"
        formatField(d, 'h', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        break;
      }
      case "Hm": {
        // Pattern: "HH:mm"
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        break;
      }
      case "hms": {
        // Pattern: "h:mm:ss a"
        formatField(d, 'h', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        break;
      }
      case "Hms": {
        // Pattern: "HH:mm:ss"
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        break;
      }
      case "hmsv": {
        // Pattern: "h:mm:ss a v"
        formatField(d, 'h', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        b.append(" ");
        formatField(d, 'v', 1, b);
        break;
      }
      case "Hmsv": {
        // Pattern: "HH:mm:ss v"
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        b.append(" ");
        formatField(d, 'v', 1, b);
        break;
      }
      case "hmv": {
        // Pattern: "h:mm a v"
        formatField(d, 'h', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        b.append(" ");
        formatField(d, 'v', 1, b);
        break;
      }
      case "Hmv": {
        // Pattern: "HH:mm v"
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(" ");
        formatField(d, 'v', 1, b);
        break;
      }
      case "M": {
        // Pattern: "L"
        formatField(d, 'L', 1, b);
        break;
      }
      case "Md": {
        // Pattern: "d.M."
        formatField(d, 'd', 1, b);
        b.append(".");
        formatField(d, 'M', 1, b);
        b.append(".");
        break;
      }
      case "MEd": {
        // Pattern: "E, d.M."
        formatField(d, 'E', 1, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        b.append(".");
        formatField(d, 'M', 1, b);
        b.append(".");
        break;
      }
      case "MMdd": {
        // Pattern: "dd.MM."
        formatField(d, 'd', 2, b);
        b.append(".");
        formatField(d, 'M', 2, b);
        b.append(".");
        break;
      }
      case "MMM": {
        // Pattern: "LLL"
        formatField(d, 'L', 3, b);
        break;
      }
      case "MMMd": {
        // Pattern: "d. MMM"
        formatField(d, 'd', 1, b);
        b.append(". ");
        formatField(d, 'M', 3, b);
        break;
      }
      case "MMMdd": {
        // Pattern: "dd.MMM"
        formatField(d, 'd', 2, b);
        b.append(".");
        formatField(d, 'M', 3, b);
        break;
      }
      case "MMMEd": {
        // Pattern: "E d. MMM"
        formatField(d, 'E', 1, b);
        b.append(" ");
        formatField(d, 'd', 1, b);
        b.append(". ");
        formatField(d, 'M', 3, b);
        break;
      }
      case "MMMMd": {
        // Pattern: "d. MMMM"
        formatField(d, 'd', 1, b);
        b.append(". ");
        formatField(d, 'M', 4, b);
        break;
      }
      case "MMMMEd": {
        // Pattern: "E, d. MMMM"
        formatField(d, 'E', 1, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        b.append(". ");
        formatField(d, 'M', 4, b);
        break;
      }
      case "MMMMW-count-one": {
        // Pattern: "W. 'sedmica' 'u' MMM."
        formatField(d, 'W', 1, b);
        b.append(". sedmica u ");
        formatField(d, 'M', 3, b);
        b.append(".");
        break;
      }
      case "MMMMW-count-few": {
        // Pattern: "W. 'sedmica' 'u' MMM."
        formatField(d, 'W', 1, b);
        b.append(". sedmica u ");
        formatField(d, 'M', 3, b);
        b.append(".");
        break;
      }
      case "MMMMW-count-other": {
        // Pattern: "W. 'sedmica' 'u' MMM."
        formatField(d, 'W', 1, b);
        b.append(". sedmica u ");
        formatField(d, 'M', 3, b);
        b.append(".");
        break;
      }
      case "ms": {
        // Pattern: "mm:ss"
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        break;
      }
      case "y": {
        // Pattern: "y."
        formatField(d, 'y', 1, b);
        b.append(".");
        break;
      }
      case "yM": {
        // Pattern: "M.y."
        formatField(d, 'M', 1, b);
        b.append(".");
        formatField(d, 'y', 1, b);
        b.append(".");
        break;
      }
      case "yMd": {
        // Pattern: "d.M.y."
        formatField(d, 'd', 1, b);
        b.append(".");
        formatField(d, 'M', 1, b);
        b.append(".");
        formatField(d, 'y', 1, b);
        b.append(".");
        break;
      }
      case "yMEd": {
        // Pattern: "E, d.M.y."
        formatField(d, 'E', 1, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        b.append(".");
        formatField(d, 'M', 1, b);
        b.append(".");
        formatField(d, 'y', 1, b);
        b.append(".");
        break;
      }
      case "yMM": {
        // Pattern: "MM.y."
        formatField(d, 'M', 2, b);
        b.append(".");
        formatField(d, 'y', 1, b);
        b.append(".");
        break;
      }
      case "yMMdd": {
        // Pattern: "dd.MM.y."
        formatField(d, 'd', 2, b);
        b.append(".");
        formatField(d, 'M', 2, b);
        b.append(".");
        formatField(d, 'y', 1, b);
        b.append(".");
        break;
      }
      case "yMMM": {
        // Pattern: "MMM y."
        formatField(d, 'M', 3, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        b.append(".");
        break;
      }
      case "yMMMd": {
        // Pattern: "d. MMM y."
        formatField(d, 'd', 1, b);
        b.append(". ");
        formatField(d, 'M', 3, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        b.append(".");
        break;
      }
      case "yMMMEd": {
        // Pattern: "E, d. MMM y."
        formatField(d, 'E', 1, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        b.append(". ");
        formatField(d, 'M', 3, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        b.append(".");
        break;
      }
      case "yMMMM": {
        // Pattern: "MMMM y."
        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. 'sedmica' 'u' y."
        formatField(d, 'w', 1, b);
        b.append(". sedmica u ");
        formatField(d, 'y', 1, b);
        b.append(".");
        break;
      }
      case "yw-count-few": {
        // Pattern: "w. 'sedmica' 'u' y."
        formatField(d, 'w', 1, b);
        b.append(". sedmica u ");
        formatField(d, 'y', 1, b);
        b.append(".");
        break;
      }
      case "yw-count-other": {
        // Pattern: "w. 'sedmica' 'u' y."
        formatField(d, 'w', 1, b);
        b.append(". sedmica u ");
        formatField(d, 'y', 1, b);
        b.append(".");
        break;
      }
      default: {
        return false;
      }
    }
    return true;
  }

  @Override
  public void formatInterval(ZonedDateTime s, ZonedDateTime e, String k, DateTimeField f,
      StringBuilder b) {
    if (k != null && f != null) {
      switch (k) {
        case "d": {
          switch (f) {
            case DAY: {
              // "d–"
              formatField(s, 'd', 1, b);
              b.append("–");
              // "d"
              formatField(e, 'd', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "hm": {
          switch (f) {
            case AM_PM: {
              // "h:mm a – "
              formatField(s, 'h', 1, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append(" ");
              formatField(s, 'a', 1, b);
              b.append(" – ");
              // "h:mm a"
              formatField(e, 'h', 1, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              return;
            }
            case HOUR: {
              // "h:mm–"
              formatField(s, 'h', 1, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append("–");
              // "h:mm a"
              formatField(e, 'h', 1, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              return;
            }
            case MINUTE: {
              // "h:mm–"
              formatField(s, 'h', 1, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append("–");
              // "h:mm a"
              formatField(e, 'h', 1, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "Hm": {
          switch (f) {
            case HOUR: {
              // "HH:mm–"
              formatField(s, 'H', 2, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append("–");
              // "HH:mm"
              formatField(e, 'H', 2, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              return;
            }
            case MINUTE: {
              // "HH:mm–"
              formatField(s, 'H', 2, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append("–");
              // "HH:mm"
              formatField(e, 'H', 2, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "h": {
          switch (f) {
            case AM_PM: {
              // "h a – "
              formatField(s, 'h', 1, b);
              b.append(" ");
              formatField(s, 'a', 1, b);
              b.append(" – ");
              // "h a"
              formatField(e, 'h', 1, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              return;
            }
            case HOUR: {
              // "h–"
              formatField(s, 'h', 1, b);
              b.append("–");
              // "h a"
              formatField(e, 'h', 1, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "H": {
          switch (f) {
            case HOUR: {
              // "HH–"
              formatField(s, 'H', 2, b);
              b.append("–");
              // "HH"
              formatField(e, 'H', 2, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "yMMMEd": {
          switch (f) {
            case DAY: {
              // "E, dd. – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 2, b);
              b.append(". – ");
              // "E, dd. MMM y."
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 2, b);
              b.append(". ");
              formatField(e, 'M', 3, b);
              b.append(" ");
              formatField(e, 'y', 1, b);
              b.append(".");
              return;
            }
            case YEAR: {
              // "E, dd. MMM y. – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 2, b);
              b.append(". ");
              formatField(s, 'M', 3, b);
              b.append(" ");
              formatField(s, 'y', 1, b);
              b.append(". – ");
              // "E, dd. MMM y."
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 2, b);
              b.append(". ");
              formatField(e, 'M', 3, b);
              b.append(" ");
              formatField(e, 'y', 1, b);
              b.append(".");
              return;
            }
            case MONTH: {
              // "E, dd. MMM – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 2, b);
              b.append(". ");
              formatField(s, 'M', 3, b);
              b.append(" – ");
              // "E, dd. MMM y."
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 2, b);
              b.append(". ");
              formatField(e, 'M', 3, b);
              b.append(" ");
              formatField(e, 'y', 1, b);
              b.append(".");
              return;
            }
            default: break;
          }
          break;
        }
        case "yMEd": {
          switch (f) {
            case DAY: {
              // "E, d.M.y. – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 1, b);
              b.append(".");
              formatField(s, 'M', 1, b);
              b.append(".");
              formatField(s, 'y', 1, b);
              b.append(". – ");
              // "E, d.M.y."
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 1, b);
              b.append(".");
              formatField(e, 'M', 1, b);
              b.append(".");
              formatField(e, 'y', 1, b);
              b.append(".");
              return;
            }
            case YEAR: {
              // "E, d.M.y. – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 1, b);
              b.append(".");
              formatField(s, 'M', 1, b);
              b.append(".");
              formatField(s, 'y', 1, b);
              b.append(". – ");
              // "E, d.M.y."
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 1, b);
              b.append(".");
              formatField(e, 'M', 1, b);
              b.append(".");
              formatField(e, 'y', 1, b);
              b.append(".");
              return;
            }
            case MONTH: {
              // "E, d.M.y. – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 1, b);
              b.append(".");
              formatField(s, 'M', 1, b);
              b.append(".");
              formatField(s, 'y', 1, b);
              b.append(". – ");
              // "E, d.M.y."
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 1, b);
              b.append(".");
              formatField(e, 'M', 1, b);
              b.append(".");
              formatField(e, 'y', 1, b);
              b.append(".");
              return;
            }
            default: break;
          }
          break;
        }
        case "MMM": {
          switch (f) {
            case MONTH: {
              // "MMM–"
              formatField(s, 'M', 3, b);
              b.append("–");
              // "MMM"
              formatField(e, 'M', 3, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "yMMM": {
          switch (f) {
            case YEAR: {
              // "MMM y. – "
              formatField(s, 'M', 3, b);
              b.append(" ");
              formatField(s, 'y', 1, b);
              b.append(". – ");
              // "MMM y."
              formatField(e, 'M', 3, b);
              b.append(" ");
              formatField(e, 'y', 1, b);
              b.append(".");
              return;
            }
            case MONTH: {
              // "MMM–"
              formatField(s, 'M', 3, b);
              b.append("–");
              // "MMM y."
              formatField(e, 'M', 3, 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.M – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 1, b);
              b.append(".");
              formatField(s, 'M', 1, b);
              b.append(" – ");
              // "E, d.M"
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 1, b);
              b.append(".");
              formatField(e, 'M', 1, b);
              return;
            }
            case MONTH: {
              // "E, d.M – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 1, b);
              b.append(".");
              formatField(s, 'M', 1, b);
              b.append(" – ");
              // "E, d.M"
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 1, b);
              b.append(".");
              formatField(e, 'M', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "MMMEd": {
          switch (f) {
            case DAY: {
              // "E, dd. – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 2, b);
              b.append(". – ");
              // "E, dd. MMM"
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 2, b);
              b.append(". ");
              formatField(e, 'M', 3, b);
              return;
            }
            case MONTH: {
              // "E, dd. MMM – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 2, b);
              b.append(". ");
              formatField(s, 'M', 3, b);
              b.append(" – ");
              // "E, dd. MMM"
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 2, b);
              b.append(". ");
              formatField(e, 'M', 3, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "hv": {
          switch (f) {
            case AM_PM: {
              // "h a – "
              formatField(s, 'h', 1, b);
              b.append(" ");
              formatField(s, 'a', 1, b);
              b.append(" – ");
              // "h a v"
              formatField(e, 'h', 1, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              b.append(" ");
              formatField(e, 'v', 1, b);
              return;
            }
            case HOUR: {
              // "h–"
              formatField(s, 'h', 1, b);
              b.append("–");
              // "h a v"
              formatField(e, 'h', 1, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              b.append(" ");
              formatField(e, 'v', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "Hv": {
          switch (f) {
            case HOUR: {
              // "HH–"
              formatField(s, 'H', 2, b);
              b.append("–");
              // "HH v"
              formatField(e, 'H', 2, b);
              b.append(" ");
              formatField(e, 'v', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "hmv": {
          switch (f) {
            case AM_PM: {
              // "h:mm a – "
              formatField(s, 'h', 1, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append(" ");
              formatField(s, 'a', 1, b);
              b.append(" – ");
              // "h:mm a v"
              formatField(e, 'h', 1, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              b.append(" ");
              formatField(e, 'v', 1, b);
              return;
            }
            case HOUR: {
              // "h:mm–"
              formatField(s, 'h', 1, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append("–");
              // "h:mm a v"
              formatField(e, 'h', 1, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              b.append(" ");
              formatField(e, 'v', 1, b);
              return;
            }
            case MINUTE: {
              // "h:mm–"
              formatField(s, 'h', 1, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append("–");
              // "h:mm a v"
              formatField(e, 'h', 1, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              b.append(" ");
              formatField(e, 'v', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "Hmv": {
          switch (f) {
            case HOUR: {
              // "HH:mm–"
              formatField(s, 'H', 2, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append("–");
              // "HH:mm v"
              formatField(e, 'H', 2, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              b.append(" ");
              formatField(e, 'v', 1, b);
              return;
            }
            case MINUTE: {
              // "HH:mm–"
              formatField(s, 'H', 2, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append("–");
              // "HH:mm v"
              formatField(e, 'H', 2, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              b.append(" ");
              formatField(e, 'v', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "yMd": {
          switch (f) {
            case DAY: {
              // "d.M.y. – "
              formatField(s, 'd', 1, b);
              b.append(".");
              formatField(s, 'M', 1, b);
              b.append(".");
              formatField(s, 'y', 1, b);
              b.append(". – ");
              // "d.M.y."
              formatField(e, 'd', 1, b);
              b.append(".");
              formatField(e, 'M', 1, b);
              b.append(".");
              formatField(e, 'y', 1, b);
              b.append(".");
              return;
            }
            case YEAR: {
              // "d.M.y. – "
              formatField(s, 'd', 1, b);
              b.append(".");
              formatField(s, 'M', 1, b);
              b.append(".");
              formatField(s, 'y', 1, b);
              b.append(". – ");
              // "d.M.y."
              formatField(e, 'd', 1, b);
              b.append(".");
              formatField(e, 'M', 1, b);
              b.append(".");
              formatField(e, 'y', 1, b);
              b.append(".");
              return;
            }
            case MONTH: {
              // "d.M.y. – "
              formatField(s, 'd', 1, b);
              b.append(".");
              formatField(s, 'M', 1, b);
              b.append(".");
              formatField(s, 'y', 1, b);
              b.append(". – ");
              // "d.M.y."
              formatField(e, 'd', 1, b);
              b.append(".");
              formatField(e, 'M', 1, b);
              b.append(".");
              formatField(e, 'y', 1, b);
              b.append(".");
              return;
            }
            default: break;
          }
          break;
        }
        case "MMMd": {
          switch (f) {
            case DAY: {
              // "dd.–"
              formatField(s, 'd', 2, b);
              b.append(".–");
              // "dd. MMM"
              formatField(e, 'd', 2, b);
              b.append(". ");
              formatField(e, 'M', 3, b);
              return;
            }
            case MONTH: {
              // "dd. MMM – "
              formatField(s, 'd', 2, b);
              b.append(". ");
              formatField(s, 'M', 3, b);
              b.append(" – ");
              // "dd. MMM"
              formatField(e, 'd', 2, b);
              b.append(". ");
              formatField(e, 'M', 3, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "yM": {
          switch (f) {
            case YEAR: {
              // "M.y. – "
              formatField(s, 'M', 1, b);
              b.append(".");
              formatField(s, 'y', 1, b);
              b.append(". – ");
              // "M.y."
              formatField(e, 'M', 1, b);
              b.append(".");
              formatField(e, 'y', 1, b);
              b.append(".");
              return;
            }
            case MONTH: {
              // "M – "
              formatField(s, 'M', 1, b);
              b.append(" – ");
              // "M, y"
              formatField(e, 'M', 1, b);
              b.append(", ");
              formatField(e, 'y', 1, b);
              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.M – "
              formatField(s, 'd', 1, b);
              b.append(".");
              formatField(s, 'M', 1, b);
              b.append(" – ");
              // "d.M"
              formatField(e, 'd', 1, b);
              b.append(".");
              formatField(e, 'M', 1, b);
              return;
            }
            case MONTH: {
              // "d.M – "
              formatField(s, 'd', 1, b);
              b.append(".");
              formatField(s, 'M', 1, b);
              b.append(" – ");
              // "d.M"
              formatField(e, 'd', 1, b);
              b.append(".");
              formatField(e, 'M', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "y": {
          switch (f) {
            case YEAR: {
              // "y–"
              formatField(s, 'y', 1, b);
              b.append("–");
              // "y"
              formatField(e, 'y', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "yMMMd": {
          switch (f) {
            case DAY: {
              // "dd.–"
              formatField(s, 'd', 2, b);
              b.append(".–");
              // "dd. MMM y."
              formatField(e, 'd', 2, b);
              b.append(". ");
              formatField(e, 'M', 3, b);
              b.append(" ");
              formatField(e, 'y', 1, b);
              b.append(".");
              return;
            }
            case YEAR: {
              // "dd. MMM y. – "
              formatField(s, 'd', 2, b);
              b.append(". ");
              formatField(s, 'M', 3, b);
              b.append(" ");
              formatField(s, 'y', 1, b);
              b.append(". – ");
              // "dd. MMM y."
              formatField(e, 'd', 2, b);
              b.append(". ");
              formatField(e, 'M', 3, b);
              b.append(" ");
              formatField(e, 'y', 1, b);
              b.append(".");
              return;
            }
            case MONTH: {
              // "dd. MMM – "
              formatField(s, 'd', 2, b);
              b.append(". ");
              formatField(s, 'M', 3, b);
              b.append(" – ");
              // "dd. MMM y."
              formatField(e, 'd', 2, b);
              b.append(". ");
              formatField(e, 'M', 3, b);
              b.append(" ");
              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("GMT");
      return;
    }
    boolean emitMins = !_short || mins > 0;
    b.append("GMT");
    if (neg) {
      b.append("-");
      zeroPad2(b, hours, _short ? 1 : 2);
      if (emitMins) {
        b.append(":");
      }
      if (emitMins) {
        zeroPad2(b, mins, 2);
      }
    }
    else {
      b.append("+");
      zeroPad2(b, hours, _short ? 1 : 2);
      if (emitMins) {
        b.append(":");
      }
      if (emitMins) {
        zeroPad2(b, mins, 2);
      }
    }
  }

  protected void wrapTimeZoneRegion(StringBuilder b, String region) {
    b.append(region);
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy