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

com.squarespace.cldr.dates._CalendarFormatter_el_CY 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 "el-CY"
 * See http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
 */
public class _CalendarFormatter_el_CY extends CalendarFormatterBase {
  public _CalendarFormatter_el_CY() {
    this.locale = CLDR.Locale.el_CY;
    this.firstDay = 1;
    this.minDays = 1;
    this.eras = new FieldVariants(
          new String[] {"π.Χ.", "μ.Χ."}, 
          new String[] {"π.Χ.", "μ.Χ."}, 
          new String[] {}, 
          new String[] {"προ Χριστού", "μετά Χριστόν"});
    this.quartersFormat = new FieldVariants(
          new String[] {"Τ1", "Τ2", "Τ3", "Τ4"}, 
          new String[] {"1", "2", "3", "4"}, 
          new String[] {}, 
          new String[] {"1ο τρίμηνο", "2ο τρίμηνο", "3ο τρίμηνο", "4ο τρίμηνο"});
    this.quartersStandalone = new FieldVariants(
          new String[] {"Τ1", "Τ2", "Τ3", "Τ4"}, 
          new String[] {"1", "2", "3", "4"}, 
          new String[] {}, 
          new String[] {"1ο τρίμηνο", "2ο τρίμηνο", "3ο τρίμηνο", "4ο τρίμηνο"});
    this.monthsFormat = new FieldVariants(
          new String[] {"Ιαν", "Φεβ", "Μαρ", "Απρ", "Μαΐ", "Ιουν", "Ιουλ", "Αυγ", "Σεπ", "Οκτ", "Νοε", "Δεκ"}, 
          new String[] {"Ι", "Φ", "Μ", "Α", "Μ", "Ι", "Ι", "Α", "Σ", "Ο", "Ν", "Δ"}, 
          new String[] {}, 
          new String[] {"Ιανουαρίου", "Φεβρουαρίου", "Μαρτίου", "Απριλίου", "Μαΐου", "Ιουνίου", "Ιουλίου", "Αυγούστου", "Σεπτεμβρίου", "Οκτωβρίου", "Νοεμβρίου", "Δεκεμβρίου"});
    this.monthsStandalone = new FieldVariants(
          new String[] {"Ιαν", "Φεβ", "Μάρ", "Απρ", "Μάι", "Ιούν", "Ιούλ", "Αύγ", "Σεπ", "Οκτ", "Νοέ", "Δεκ"}, 
          new String[] {"Ι", "Φ", "Μ", "Α", "Μ", "Ι", "Ι", "Α", "Σ", "Ο", "Ν", "Δ"}, 
          new String[] {}, 
          new String[] {"Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάιος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"});
    this.weekdaysFormat = new FieldVariants(
          new String[] {"Κυρ", "Δευ", "Τρί", "Τετ", "Πέμ", "Παρ", "Σάβ"}, 
          new String[] {"Κ", "Δ", "Τ", "Τ", "Π", "Π", "Σ"}, 
          new String[] {"Κυ", "Δε", "Τρ", "Τε", "Πέ", "Πα", "Σά"}, 
          new String[] {"Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο"});
    this.weekdaysStandalone = new FieldVariants(
          new String[] {"Κυρ", "Δευ", "Τρί", "Τετ", "Πέμ", "Παρ", "Σάβ"}, 
          new String[] {"Κ", "Δ", "Τ", "Τ", "Π", "Π", "Σ"}, 
          new String[] {"Κυ", "Δε", "Τρ", "Τε", "Πέ", "Πα", "Σά"}, 
          new String[] {"Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο"});
    this.dayPeriodsFormat = new FieldVariants(
          new String[] {"π.μ.", "μ.μ."}, 
          new String[] {"πμ", "μμ"}, 
          new String[] {}, 
          new String[] {"π.μ.", "μ.μ."});
    this.dayPeriodsStandalone = new FieldVariants(
          new String[] {"π.μ.", "μ.μ."}, 
          new String[] {"π.μ.", "μ.μ."}, 
          new String[] {}, 
          new String[] {"π.μ.", "μ.μ."});
    this.exemplarCities = new HashMap() { {
      put("America/Adak", "Άντακ");
      put("America/Anchorage", "Άνκορατζ");
      put("America/Anguilla", "Ανγκουίλα");
      put("America/Antigua", "Αντίγκουα");
      put("America/Araguaina", "Αραγκουάινα");
      put("America/Argentina/Rio_Gallegos", "Ρίο Γκαγιέγκος");
      put("America/Argentina/San_Juan", "Σαν Χουάν");
      put("America/Argentina/Ushuaia", "Ουσουάια");
      put("America/Argentina/La_Rioja", "Λα Ριόχα");
      put("America/Argentina/San_Luis", "Σαν Λούις");
      put("America/Argentina/Salta", "Σάλτα");
      put("America/Argentina/Tucuman", "Τουκουμάν");
      put("America/Aruba", "Αρούμπα");
      put("America/Asuncion", "Ασουνσιόν");
      put("America/Bahia", "Μπάχια");
      put("America/Bahia_Banderas", "Μπαχία Ντε Μπαντέρας");
      put("America/Barbados", "Μπαρμπέιντος");
      put("America/Belem", "Μπέλεμ");
      put("America/Belize", "Μπελίζ");
      put("America/Blanc-Sablon", "Μπλαν Σαμπλόν");
      put("America/Boa_Vista", "Μπόα Βίστα");
      put("America/Bogota", "Μπογκοτά");
      put("America/Boise", "Μπόιζι");
      put("America/Buenos_Aires", "Μπουένος Άιρες");
      put("America/Cambridge_Bay", "Κέμπριτζ Μπέι");
      put("America/Campo_Grande", "Κάμπο Γκράντε");
      put("America/Cancun", "Κανκούν");
      put("America/Caracas", "Καράκας");
      put("America/Catamarca", "Καταμάρκα");
      put("America/Cayenne", "Καγιένε");
      put("America/Cayman", "Κέιμαν");
      put("America/Chicago", "Σικάγο");
      put("America/Chihuahua", "Τσιουάουα");
      put("America/Coral_Harbour", "Ατικόκαν");
      put("America/Cordoba", "Κόρδοβα");
      put("America/Costa_Rica", "Κόστα Ρίκα");
      put("America/Creston", "Κρέστον");
      put("America/Cuiaba", "Κουϊάμπα");
      put("America/Curacao", "Κουρασάο");
      put("America/Danmarkshavn", "Ντανμαρκσάβν");
      put("America/Dawson", "Ντόσον");
      put("America/Dawson_Creek", "Ντόσον Κρικ");
      put("America/Denver", "Ντένβερ");
      put("America/Detroit", "Ντιτρόιτ");
      put("America/Dominica", "Ντομίνικα");
      put("America/Edmonton", "Έντμοντον");
      put("America/Eirunepe", "Εϊρουνέπε");
      put("America/El_Salvador", "Ελ Σαλβαδόρ");
      put("America/Fort_Nelson", "Φορτ Νέλσον");
      put("America/Fortaleza", "Φορταλέζα");
      put("America/Glace_Bay", "Γκλέις Μπέι");
      put("America/Godthab", "Νουούκ");
      put("America/Goose_Bay", "Γκους Μπέι");
      put("America/Grand_Turk", "Γκραντ Τουρκ");
      put("America/Grenada", "Γρενάδα");
      put("America/Guadeloupe", "Γουαδελούπη");
      put("America/Guatemala", "Γουατεμάλα");
      put("America/Guayaquil", "Γκουαγιακύλ");
      put("America/Guyana", "Γουιάνα");
      put("America/Halifax", "Χάλιφαξ");
      put("America/Havana", "Αβάνα");
      put("America/Hermosillo", "Ερμοσίγιο");
      put("America/Indiana/Vincennes", "Βανσέν, Ιντιάνα");
      put("America/Indiana/Petersburg", "Πίτερσμπεργκ, Ιντιάνα");
      put("America/Indiana/Tell_City", "Τελ Σίτι, Ιντιάνα");
      put("America/Indiana/Knox", "Νοξ, Ιντιάνα");
      put("America/Indiana/Winamac", "Γουίναμακ, Ιντιάνα");
      put("America/Indiana/Marengo", "Μαρένγκο, Ιντιάνα");
      put("America/Indiana/Vevay", "Βιβέι, Ιντιάνα");
      put("America/Indianapolis", "Ιντιανάπολις");
      put("America/Inuvik", "Ινούβικ");
      put("America/Iqaluit", "Ικαλούιτ");
      put("America/Jamaica", "Τζαμάικα");
      put("America/Jujuy", "Χουχούι");
      put("America/Juneau", "Τζούνο");
      put("America/Kentucky/Monticello", "Μοντιτσέλο, Κεντάκι");
      put("America/Kralendijk", "Κραλέντικ");
      put("America/La_Paz", "Λα Παζ");
      put("America/Lima", "Λίμα");
      put("America/Los_Angeles", "Λος Άντζελες");
      put("America/Louisville", "Λούιβιλ");
      put("America/Lower_Princes", "Lower Prince’s Quarter");
      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("Ώρα Κεντρικής Ευρώπης", "Χειμερινή ώρα Κεντρικής Ευρώπης", "Θερινή ώρα Κεντρικής Ευρώπης"),
        new TimeZoneNames.Name("CET", "CET", "CEST")));

      put("Europe_Eastern", new TimeZoneNames("Europe_Eastern", 
        new TimeZoneNames.Name("Ώρα Ανατολικής Ευρώπης", "Χειμερινή ώρα Ανατολικής Ευρώπης", "Θερινή ώρα Ανατολικής Ευρώπης"),
        new TimeZoneNames.Name("EET", "EET", "EEST")));

      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("Ώρα Δυτικής Ευρώπης", "Χειμερινή ώρα Δυτικής Ευρώπης", "Θερινή ώρα Δυτικής Ευρώπης"),
        new TimeZoneNames.Name("WET", "WET", "WEST")));

      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("Guam", new TimeZoneNames("Guam", 
        new TimeZoneNames.Name(null, "Ώρα Γκουάμ", null),
        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("Macau", new TimeZoneNames("Macau", 
        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("North_Mariana", new TimeZoneNames("North_Mariana", 
        new TimeZoneNames.Name(null, "Ώρα Νησιών Βόρειες Μαριάνες", null),
        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/M/yy"
        formatField(d, 'd', 1, b);
        b.append("/");
        formatField(d, 'M', 1, b);
        b.append("/");
        formatField(d, 'y', 2, b);
        break;
      }
      case MEDIUM: {
        // "d MMM y"
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 3, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        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);
        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);
        break;
      }
    }
  }

  @Override
  public void formatTime(CalendarFormat type, ZonedDateTime d, StringBuilder b) {
    if (type == null) {
      return;
    }
    switch (type) {
      case SHORT: {
        // "h:mm a"
        formatField(d, 'h', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        break;
      }
      case MEDIUM: {
        // "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 LONG: {
        // "h:mm:ss a z"
        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, 'z', 1, b);
        break;
      }
      case FULL: {
        // "h:mm:ss a zzzz"
        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, 'z', 4, b);
        break;
      }
    }
  }

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

  @Override
  public boolean formatSkeleton(String skeleton, ZonedDateTime d, StringBuilder b) {
    if (skeleton == null) {
      return false;
    }
    switch (skeleton) {
      case "d": {
        // Pattern: "d"
        formatField(d, 'd', 1, b);
        break;
      }
      case "E": {
        // Pattern: "ccc"
        formatField(d, 'c', 3, b);
        break;
      }
      case "Ed": {
        // Pattern: "E d"
        formatField(d, 'E', 1, b);
        b.append(" ");
        formatField(d, 'd', 1, b);
        break;
      }
      case "Ehm": {
        // Pattern: "E h:mm a"
        formatField(d, 'E', 1, b);
        b.append(" ");
        formatField(d, 'h', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        break;
      }
      case "EHm": {
        // Pattern: "E HH:mm"
        formatField(d, 'E', 1, b);
        b.append(" ");
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        break;
      }
      case "Ehms": {
        // Pattern: "E h:mm:ss a"
        formatField(d, 'E', 1, b);
        b.append(" ");
        formatField(d, 'h', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        break;
      }
      case "EHms": {
        // Pattern: "E HH:mm:ss"
        formatField(d, 'E', 1, b);
        b.append(" ");
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        break;
      }
      case "Gy": {
        // Pattern: "y G"
        formatField(d, 'y', 1, b);
        b.append(" ");
        formatField(d, 'G', 1, b);
        break;
      }
      case "GyMMM": {
        // Pattern: "LLL y G"
        formatField(d, 'L', 3, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        b.append(" ");
        formatField(d, 'G', 1, b);
        break;
      }
      case "GyMMMd": {
        // Pattern: "d MMM y G"
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 3, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        b.append(" ");
        formatField(d, 'G', 1, b);
        break;
      }
      case "GyMMMEd": {
        // Pattern: "E, d MMM y G"
        formatField(d, 'E', 1, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 3, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        b.append(" ");
        formatField(d, 'G', 1, b);
        break;
      }
      case "h": {
        // Pattern: "h a"
        formatField(d, 'h', 1, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        break;
      }
      case "H": {
        // Pattern: "HH"
        formatField(d, 'H', 2, b);
        break;
      }
      case "hm": {
        // Pattern: "h:mm a"
        formatField(d, 'h', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        break;
      }
      case "Hm": {
        // Pattern: "HH:mm"
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        break;
      }
      case "hms": {
        // Pattern: "h:mm:ss a"
        formatField(d, 'h', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        break;
      }
      case "Hms": {
        // Pattern: "HH:mm:ss"
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        break;
      }
      case "hmsv": {
        // Pattern: "h:mm:ss a v"
        formatField(d, 'h', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        b.append(" ");
        formatField(d, 'v', 1, b);
        break;
      }
      case "Hmsv": {
        // Pattern: "HH:mm:ss v"
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        b.append(" ");
        formatField(d, 'v', 1, b);
        break;
      }
      case "hmv": {
        // Pattern: "h:mm a v"
        formatField(d, 'h', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        b.append(" ");
        formatField(d, 'v', 1, b);
        break;
      }
      case "Hmv": {
        // Pattern: "HH:mm v"
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(" ");
        formatField(d, 'v', 1, b);
        break;
      }
      case "M": {
        // Pattern: "L"
        formatField(d, 'L', 1, b);
        break;
      }
      case "Md": {
        // Pattern: "d/M"
        formatField(d, 'd', 1, b);
        b.append("/");
        formatField(d, 'M', 1, b);
        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);
        break;
      }
      case "MMM": {
        // Pattern: "MMM"
        formatField(d, 'M', 3, b);
        break;
      }
      case "MMMd": {
        // Pattern: "d MMM"
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 3, b);
        break;
      }
      case "MMMEd": {
        // Pattern: "E, d MMM"
        formatField(d, 'E', 1, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 3, b);
        break;
      }
      case "MMMMd": {
        // Pattern: "d MMMM"
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 4, b);
        break;
      }
      case "MMMMEd": {
        // Pattern: "E, d MMMM"
        formatField(d, 'E', 1, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 4, b);
        break;
      }
      case "MMMMW-count-one": {
        // Pattern: "εβδομάδα W του 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: "mm:ss"
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        break;
      }
      case "y": {
        // Pattern: "y"
        formatField(d, 'y', 1, b);
        break;
      }
      case "yM": {
        // Pattern: "M/y"
        formatField(d, 'M', 1, b);
        b.append("/");
        formatField(d, 'y', 1, b);
        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);
        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);
        break;
      }
      case "yMMM": {
        // Pattern: "MMM y"
        formatField(d, 'M', 3, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yMMMd": {
        // Pattern: "d MMM y"
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 3, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yMMMEd": {
        // Pattern: "E, d MMM y"
        formatField(d, 'E', 1, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 3, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yMMMM": {
        // Pattern: "LLLL y"
        formatField(d, 'L', 4, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yQQQ": {
        // Pattern: "y QQQ"
        formatField(d, 'y', 1, b);
        b.append(" ");
        formatField(d, 'Q', 3, b);
        break;
      }
      case "yQQQQ": {
        // Pattern: "y QQQQ"
        formatField(d, 'y', 1, b);
        b.append(" ");
        formatField(d, 'Q', 4, b);
        break;
      }
      case "yw-count-one": {
        // Pattern: "εβδομάδα w του y"
        b.append("εβδομάδα ");
        formatField(d, 'w', 1, b);
        b.append(" του ");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yw-count-other": {
        // Pattern: "εβδομάδα w του y"
        b.append("εβδομάδα ");
        formatField(d, 'w', 1, b);
        b.append(" του ");
        formatField(d, 'y', 1, b);
        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 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);
              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);
              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);
              return;
            }
            default: break;
          }
          break;
        }
        case "yMEd": {
          switch (f) {
            case DAY: {
              // "E, dd/MM/y – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 2, b);
              b.append("/");
              formatField(s, 'M', 2, b);
              b.append("/");
              formatField(s, 'y', 1, b);
              b.append(" – ");
              // "E, dd/MM/y"
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 2, b);
              b.append("/");
              formatField(e, 'M', 2, b);
              b.append("/");
              formatField(e, 'y', 1, b);
              return;
            }
            case YEAR: {
              // "E, dd/MM/y – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 2, b);
              b.append("/");
              formatField(s, 'M', 2, b);
              b.append("/");
              formatField(s, 'y', 1, b);
              b.append(" – ");
              // "E, dd/MM/y"
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 2, b);
              b.append("/");
              formatField(e, 'M', 2, b);
              b.append("/");
              formatField(e, 'y', 1, b);
              return;
            }
            case MONTH: {
              // "E, dd/MM/y – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 2, b);
              b.append("/");
              formatField(s, 'M', 2, b);
              b.append("/");
              formatField(s, 'y', 1, b);
              b.append(" – ");
              // "E, dd/MM/y"
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 2, b);
              b.append("/");
              formatField(e, 'M', 2, b);
              b.append("/");
              formatField(e, 'y', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "MMM": {
          switch (f) {
            case MONTH: {
              // "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);
              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);
              return;
            }
            default: break;
          }
          break;
        }
        case "M": {
          switch (f) {
            case MONTH: {
              // "M–"
              formatField(s, 'M', 1, b);
              b.append("–");
              // "M"
              formatField(e, 'M', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "MEd": {
          switch (f) {
            case DAY: {
              // "E, dd/MM – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 2, b);
              b.append("/");
              formatField(s, 'M', 2, b);
              b.append(" – ");
              // "E, dd/MM"
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 2, b);
              b.append("/");
              formatField(e, 'M', 2, b);
              return;
            }
            case MONTH: {
              // "E, dd/MM – "
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 2, b);
              b.append("/");
              formatField(s, 'M', 2, b);
              b.append(" – ");
              // "E, dd/MM"
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 2, b);
              b.append("/");
              formatField(e, 'M', 2, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "MMMEd": {
          switch (f) {
            case DAY: {
              // "E, 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: {
              // "dd/MM/y – "
              formatField(s, 'd', 2, b);
              b.append("/");
              formatField(s, 'M', 2, b);
              b.append("/");
              formatField(s, 'y', 1, b);
              b.append(" – ");
              // "dd/MM/y"
              formatField(e, 'd', 2, b);
              b.append("/");
              formatField(e, 'M', 2, b);
              b.append("/");
              formatField(e, 'y', 1, b);
              return;
            }
            case YEAR: {
              // "dd/MM/y – "
              formatField(s, 'd', 2, b);
              b.append("/");
              formatField(s, 'M', 2, b);
              b.append("/");
              formatField(s, 'y', 1, b);
              b.append(" – ");
              // "dd/MM/y"
              formatField(e, 'd', 2, b);
              b.append("/");
              formatField(e, 'M', 2, b);
              b.append("/");
              formatField(e, 'y', 1, b);
              return;
            }
            case MONTH: {
              // "dd/MM/y – "
              formatField(s, 'd', 2, b);
              b.append("/");
              formatField(s, 'M', 2, b);
              b.append("/");
              formatField(s, 'y', 1, b);
              b.append(" – ");
              // "dd/MM/y"
              formatField(e, 'd', 2, b);
              b.append("/");
              formatField(e, 'M', 2, b);
              b.append("/");
              formatField(e, 'y', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "MMMd": {
          switch (f) {
            case DAY: {
              // "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: {
              // "MM/y – "
              formatField(s, 'M', 2, b);
              b.append("/");
              formatField(s, 'y', 1, b);
              b.append(" – ");
              // "MM/y"
              formatField(e, 'M', 2, b);
              b.append("/");
              formatField(e, 'y', 1, b);
              return;
            }
            case MONTH: {
              // "MM/y – "
              formatField(s, 'M', 2, b);
              b.append("/");
              formatField(s, 'y', 1, b);
              b.append(" – ");
              // "MM/y"
              formatField(e, 'M', 2, b);
              b.append("/");
              formatField(e, 'y', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "yMMMM": {
          switch (f) {
            case YEAR: {
              // "LLLL y – "
              formatField(s, 'L', 4, b);
              b.append(" ");
              formatField(s, 'y', 1, b);
              b.append(" – ");
              // "LLLL y"
              formatField(e, 'L', 4, b);
              b.append(" ");
              formatField(e, 'y', 1, b);
              return;
            }
            case MONTH: {
              // "LLLL–"
              formatField(s, 'L', 4, b);
              b.append("–");
              // "LLLL y"
              formatField(e, 'L', 4, b);
              b.append(" ");
              formatField(e, 'y', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "Md": {
          switch (f) {
            case DAY: {
              // "dd/MM – "
              formatField(s, 'd', 2, b);
              b.append("/");
              formatField(s, 'M', 2, b);
              b.append(" – ");
              // "dd/MM"
              formatField(e, 'd', 2, b);
              b.append("/");
              formatField(e, 'M', 2, b);
              return;
            }
            case MONTH: {
              // "dd/MM – "
              formatField(s, 'd', 2, b);
              b.append("/");
              formatField(s, 'M', 2, b);
              b.append(" – ");
              // "dd/MM"
              formatField(e, 'd', 2, b);
              b.append("/");
              formatField(e, 'M', 2, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "y": {
          switch (f) {
            case YEAR: {
              // "y–"
              formatField(s, 'y', 1, b);
              b.append("–");
              // "y"
              formatField(e, 'y', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "yMMMd": {
          switch (f) {
            case DAY: {
              // "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);
              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);
              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);
              return;
            }
            default: break;
          }
          break;
        }
        default: break;
      }
      // "{0} - {1}"
      formatSkeleton(k, s, b);
      b.append(" - ");
      formatSkeleton(k, e, b);
    }
  }

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

  protected void wrapTimeZoneRegion(StringBuilder b, String region) {
    b.append("Ώρα (");
    b.append(region);
    b.append(")");
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy