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

com.squarespace.cldr.dates._CalendarFormatter_es_PA 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 "es_PA"
 * See http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
 */
public class _CalendarFormatter_es_PA extends CalendarFormatterBase {
  public _CalendarFormatter_es_PA() {
    this.bundleId = CLDR.Locale.es_PA;
    this.firstDay = 0;
    this.minDays = 1;
    this.eras = new FieldVariants(
          new String[] {"a. C.", "d. C."}, 
          new String[] {"a. C.", "d. C."}, 
          new String[] {}, 
          new String[] {"antes de Cristo", "después de Cristo"});
    this.quartersFormat = new FieldVariants(
          new String[] {"T1", "T2", "T3", "T4"}, 
          new String[] {"1", "2", "3", "4"}, 
          new String[] {}, 
          new String[] {"1er. trimestre", "2do. trimestre", "3er. trimestre", "4.º trimestre"});
    this.quartersStandalone = new FieldVariants(
          new String[] {"T1", "T2", "T3", "T4"}, 
          new String[] {"1", "2", "3", "4"}, 
          new String[] {}, 
          new String[] {"1er. trimestre", "2do. trimestre", "3er. trimestre", "4.º trimestre"});
    this.monthsFormat = new FieldVariants(
          new String[] {"ene.", "feb.", "mar.", "abr.", "may.", "jun.", "jul.", "ago.", "sep.", "oct.", "nov.", "dic."}, 
          new String[] {"E", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, 
          new String[] {}, 
          new String[] {"enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"});
    this.monthsStandalone = new FieldVariants(
          new String[] {"ene.", "feb.", "mar.", "abr.", "may.", "jun.", "jul.", "ago.", "sep.", "oct.", "nov.", "dic."}, 
          new String[] {"E", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, 
          new String[] {}, 
          new String[] {"enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"});
    this.weekdaysFormat = new FieldVariants(
          new String[] {"dom.", "lun.", "mar.", "mié.", "jue.", "vie.", "sáb."}, 
          new String[] {"d", "l", "m", "m", "j", "v", "s"}, 
          new String[] {"DO", "LU", "MA", "MI", "JU", "VI", "SA"}, 
          new String[] {"domingo", "lunes", "martes", "miércoles", "jueves", "viernes", "sábado"});
    this.weekdaysStandalone = new FieldVariants(
          new String[] {"dom.", "lun.", "mar.", "mié.", "jue.", "vie.", "sáb."}, 
          new String[] {"D", "L", "M", "M", "J", "V", "S"}, 
          new String[] {"DO", "LU", "MA", "MI", "JU", "VI", "SA"}, 
          new String[] {"domingo", "lunes", "martes", "miércoles", "jueves", "viernes", "sábado"});
    this.dayPeriodsFormat = new FieldVariants(
          new String[] {"a. m.", "p. m."}, 
          new String[] {"a. m.", "p. m."}, 
          new String[] {}, 
          new String[] {"a. m.", "p. m."});
    this.dayPeriodsStandalone = new FieldVariants(
          new String[] {"a. m.", "p. m."}, 
          new String[] {"a. m.", "p. m."}, 
          new String[] {}, 
          new String[] {"a. m.", "p. m."});
    this.exemplarCities = new HashMap() { {
      put("America/Adak", "Adak");
      put("America/Anchorage", "Anchorage");
      put("America/Anguilla", "Anguila");
      put("America/Antigua", "Antigua");
      put("America/Araguaina", "Araguaína");
      put("America/Argentina/Rio_Gallegos", "Río Gallegos");
      put("America/Argentina/San_Juan", "San Juan");
      put("America/Argentina/Ushuaia", "Ushuaia");
      put("America/Argentina/La_Rioja", "La Rioja");
      put("America/Argentina/San_Luis", "San Luis");
      put("America/Argentina/Salta", "Salta");
      put("America/Argentina/Tucuman", "Tucumán");
      put("America/Aruba", "Aruba");
      put("America/Asuncion", "Asunción");
      put("America/Bahia", "Bahía");
      put("America/Bahia_Banderas", "Bahía de Banderas");
      put("America/Barbados", "Barbados");
      put("America/Belem", "Belén");
      put("America/Belize", "Belice");
      put("America/Blanc-Sablon", "Blanc-Sablon");
      put("America/Boa_Vista", "Boa Vista");
      put("America/Bogota", "Bogotá");
      put("America/Boise", "Boise");
      put("America/Buenos_Aires", "Buenos Aires");
      put("America/Cambridge_Bay", "Cambridge Bay");
      put("America/Campo_Grande", "Campo Grande");
      put("America/Cancun", "Cancún");
      put("America/Caracas", "Caracas");
      put("America/Catamarca", "Catamarca");
      put("America/Cayenne", "Cayena");
      put("America/Cayman", "Caimán");
      put("America/Chicago", "Chicago");
      put("America/Chihuahua", "Chihuahua");
      put("America/Coral_Harbour", "Atikokan");
      put("America/Cordoba", "Córdoba");
      put("America/Costa_Rica", "Costa Rica");
      put("America/Creston", "Creston");
      put("America/Cuiaba", "Cuiabá");
      put("America/Curacao", "Curazao");
      put("America/Danmarkshavn", "Danmarkshavn");
      put("America/Dawson", "Dawson");
      put("America/Dawson_Creek", "Dawson Creek");
      put("America/Denver", "Denver");
      put("America/Detroit", "Detroit");
      put("America/Dominica", "Dominica");
      put("America/Edmonton", "Edmonton");
      put("America/Eirunepe", "Eirunepé");
      put("America/El_Salvador", "El Salvador");
      put("America/Fort_Nelson", "Fort Nelson");
      put("America/Fortaleza", "Fortaleza");
      put("America/Glace_Bay", "Glace Bay");
      put("America/Godthab", "Nuuk");
      put("America/Goose_Bay", "Goose Bay");
      put("America/Grand_Turk", "Gran Turca");
      put("America/Grenada", "Granada");
      put("America/Guadeloupe", "Guadalupe");
      put("America/Guatemala", "Guatemala");
      put("America/Guayaquil", "Guayaquil");
      put("America/Guyana", "Guyana");
      put("America/Halifax", "Halifax");
      put("America/Havana", "La Habana");
      put("America/Hermosillo", "Hermosillo");
      put("America/Indiana/Vincennes", "Vincennes, Indiana");
      put("America/Indiana/Petersburg", "Petersburg, Indiana");
      put("America/Indiana/Tell_City", "Tell City, Indiana");
      put("America/Indiana/Knox", "Knox, Indiana");
      put("America/Indiana/Winamac", "Winamac, Indiana");
      put("America/Indiana/Marengo", "Marengo, Indiana");
      put("America/Indiana/Vevay", "Vevay, Indiana");
      put("America/Indianapolis", "Indianápolis");
      put("America/Inuvik", "Inuvik");
      put("America/Iqaluit", "Iqaluit");
      put("America/Jamaica", "Jamaica");
      put("America/Jujuy", "Jujuy");
      put("America/Juneau", "Juneau");
      put("America/Kentucky/Monticello", "Monticello, Kentucky");
      put("America/Kralendijk", "Kralendijk");
      put("America/La_Paz", "La Paz");
      put("America/Lima", "Lima");
      put("America/Los_Angeles", "Los Ángeles");
      put("America/Louisville", "Louisville");
      put("America/Lower_Princes", "Lower Prince’s Quarter");
      put("America/Maceio", "Maceió");
      put("America/Managua", "Managua");
      put("America/Manaus", "Manaos");
      put("America/Marigot", "Marigot");
      put("America/Martinique", "Martinica");
      put("America/Matamoros", "Matamoros");
      put("America/Mazatlan", "Mazatlán");
      put("America/Mendoza", "Mendoza");
      put("America/Menominee", "Menominee");
      put("America/Merida", "Mérida");
      put("America/Metlakatla", "Metlakatla");
      put("America/Mexico_City", "Ciudad de México");
      put("America/Miquelon", "Miquelón");
      put("America/Moncton", "Moncton");
      put("America/Monterrey", "Monterrey");
      put("America/Montevideo", "Montevideo");
      put("America/Montserrat", "Montserrat");
      put("America/Nassau", "Nassau");
      put("America/New_York", "Nueva York");
      put("America/Nipigon", "Nipigon");
      put("America/Nome", "Nome");
      put("America/Noronha", "Noronha");
      put("America/North_Dakota/Beulah", "Beulah, Dakota del Norte");
      put("America/North_Dakota/New_Salem", "New Salem, Dakota del Norte");
      put("America/North_Dakota/Center", "Center, Dakota del Norte");
      put("America/Ojinaga", "Ojinaga");
      put("America/Panama", "Panamá");
      put("America/Pangnirtung", "Pangnirtung");
      put("America/Paramaribo", "Paramaribo");
      put("America/Phoenix", "Phoenix");
      put("America/Port-au-Prince", "Puerto Príncipe");
      put("America/Port_of_Spain", "Puerto España");
      put("America/Porto_Velho", "Porto Velho");
      put("America/Puerto_Rico", "Puerto Rico");
      put("America/Rainy_River", "Rainy River");
      put("America/Rankin_Inlet", "Rankin Inlet");
      put("America/Recife", "Recife");
      put("America/Regina", "Regina");
      put("America/Resolute", "Resolute");
      put("America/Rio_Branco", "Río Branco");
      put("America/Santa_Isabel", "Santa Isabel");
      put("America/Santarem", "Santarém");
      put("America/Santiago", "Santiago");
      put("America/Santo_Domingo", "Santo Domingo");
      put("America/Sao_Paulo", "São Paulo");
      put("America/Scoresbysund", "Ittoqqortoormiit");
      put("America/Sitka", "Sitka");
      put("America/St_Barthelemy", "San Bartolomé");
      put("America/St_Johns", "San Juan de Terranova");
      put("America/St_Kitts", "San Cristóbal");
      put("America/St_Lucia", "Santa Lucía");
      put("America/St_Thomas", "St. Thomas");
      put("America/St_Vincent", "San Vicente");
      put("America/Swift_Current", "Swift Current");
      put("America/Tegucigalpa", "Tegucigalpa");
      put("America/Thule", "Thule");
      put("America/Thunder_Bay", "Thunder Bay");
      put("America/Tijuana", "Tijuana");
      put("America/Toronto", "Toronto");
      put("America/Tortola", "Tórtola");
      put("America/Vancouver", "Vancouver");
      put("America/Whitehorse", "Whitehorse");
      put("America/Winnipeg", "Winnipeg");
      put("America/Yakutat", "Yakutat");
      put("America/Yellowknife", "Yellowknife");
      put("Atlantic/Azores", "Azores");
      put("Atlantic/Bermuda", "Bermudas");
      put("Atlantic/Canary", "Islas Canarias");
      put("Atlantic/Cape_Verde", "Cabo Verde");
      put("Atlantic/Faeroe", "Islas Feroe");
      put("Atlantic/Madeira", "Madeira");
      put("Atlantic/Reykjavik", "Reikiavik");
      put("Atlantic/South_Georgia", "Georgia del Sur");
      put("Atlantic/St_Helena", "Santa Helena");
      put("Atlantic/Stanley", "Stanley");
      put("Europe/Amsterdam", "Ámsterdam");
      put("Europe/Andorra", "Andorra");
      put("Europe/Astrakhan", "Astracán");
      put("Europe/Athens", "Atenas");
      put("Europe/Belgrade", "Belgrado");
      put("Europe/Berlin", "Berlín");
      put("Europe/Bratislava", "Bratislava");
      put("Europe/Brussels", "Bruselas");
      put("Europe/Bucharest", "Bucarest");
      put("Europe/Budapest", "Budapest");
      put("Europe/Busingen", "Busingen");
      put("Europe/Chisinau", "Chisinau");
      put("Europe/Copenhagen", "Copenhague");
      put("Europe/Dublin", "Dublín");
      put("Europe/Gibraltar", "Gibraltar");
      put("Europe/Guernsey", "Guernsey");
      put("Europe/Helsinki", "Helsinki");
      put("Europe/Isle_of_Man", "Isla de Man");
      put("Europe/Istanbul", "Estambul");
      put("Europe/Jersey", "Jersey");
      put("Europe/Kaliningrad", "Kaliningrado");
      put("Europe/Kiev", "Kiev");
      put("Europe/Kirov", "Kírov");
      put("Europe/Lisbon", "Lisboa");
      put("Europe/Ljubljana", "Liubliana");
      put("Europe/London", "Londres");
      put("Europe/Luxembourg", "Luxemburgo");
      put("Europe/Madrid", "Madrid");
      put("Europe/Malta", "Malta");
      put("Europe/Mariehamn", "Mariehamn");
      put("Europe/Minsk", "Minsk");
      put("Europe/Monaco", "Mónaco");
      put("Europe/Moscow", "Moscú");
      put("Europe/Oslo", "Oslo");
      put("Europe/Paris", "París");
      put("Europe/Podgorica", "Podgorica");
      put("Europe/Prague", "Praga");
      put("Europe/Riga", "Riga");
      put("Europe/Rome", "Roma");
      put("Europe/Samara", "Samara");
      put("Europe/San_Marino", "San Marino");
      put("Europe/Sarajevo", "Sarajevo");
      put("Europe/Simferopol", "Simferopol");
      put("Europe/Skopje", "Skopie");
      put("Europe/Sofia", "Sofía");
      put("Europe/Stockholm", "Estocolmo");
      put("Europe/Tallinn", "Tallin");
      put("Europe/Tirane", "Tirana");
      put("Europe/Ulyanovsk", "Uliánovsk");
      put("Europe/Uzhgorod", "Uzhgorod");
      put("Europe/Vaduz", "Vaduz");
      put("Europe/Vatican", "El Vaticano");
      put("Europe/Vienna", "Viena");
      put("Europe/Vilnius", "Vilna");
      put("Europe/Volgograd", "Volgogrado");
      put("Europe/Warsaw", "Varsovia");
      put("Europe/Zagreb", "Zagreb");
      put("Europe/Zaporozhye", "Zaporizhia");
      put("Europe/Zurich", "Zúrich");
      put("Africa/Abidjan", "Abiyán");
      put("Africa/Accra", "Accra");
      put("Africa/Addis_Ababa", "Addis Abeba");
      put("Africa/Algiers", "Argel");
      put("Africa/Asmera", "Asmara");
      put("Africa/Bamako", "Bamako");
      put("Africa/Bangui", "Bangui");
      put("Africa/Banjul", "Banjul");
      put("Africa/Bissau", "Bisáu");
      put("Africa/Blantyre", "Blantyre");
      put("Africa/Brazzaville", "Brazzaville");
      put("Africa/Bujumbura", "Bujumbura");
      put("Africa/Cairo", "El Cairo");
      put("Africa/Casablanca", "Casablanca");
      put("Africa/Ceuta", "Ceuta");
      put("Africa/Conakry", "Conakry");
      put("Africa/Dakar", "Dakar");
      put("Africa/Dar_es_Salaam", "Dar es Salaam");
      put("Africa/Djibouti", "Yibuti");
      put("Africa/Douala", "Duala");
      put("Africa/El_Aaiun", "El Aaiún");
      put("Africa/Freetown", "Freetown");
      put("Africa/Gaborone", "Gaborone");
      put("Africa/Harare", "Harare");
      put("Africa/Johannesburg", "Johannesburgo");
      put("Africa/Juba", "Juba");
      put("Africa/Kampala", "Kampala");
      put("Africa/Khartoum", "Jartún");
      put("Africa/Kigali", "Kigali");
      put("Africa/Kinshasa", "Kinshasa");
      put("Africa/Lagos", "Lagos");
      put("Africa/Libreville", "Libreville");
      put("Africa/Lome", "Lomé");
      put("Africa/Luanda", "Luanda");
      put("Africa/Lubumbashi", "Lubumbashi");
      put("Africa/Lusaka", "Lusaka");
      put("Africa/Malabo", "Malabo");
      put("Africa/Maputo", "Maputo");
      put("Africa/Maseru", "Maseru");
      put("Africa/Mbabane", "Mbabane");
      put("Africa/Mogadishu", "Mogadiscio");
      put("Africa/Monrovia", "Monrovia");
      put("Africa/Nairobi", "Nairobi");
      put("Africa/Ndjamena", "Yamena");
      put("Africa/Niamey", "Niamey");
      put("Africa/Nouakchott", "Nuakchot");
      put("Africa/Ouagadougou", "Uagadugú");
      put("Africa/Porto-Novo", "Portonovo");
      put("Africa/Sao_Tome", "Santo Tomé");
      put("Africa/Tripoli", "Trípoli");
      put("Africa/Tunis", "Túnez");
      put("Africa/Windhoek", "Windhoek");
      put("Asia/Aden", "Adén");
      put("Asia/Almaty", "Almaty");
      put("Asia/Amman", "Ammán");
      put("Asia/Anadyr", "Anadyr");
      put("Asia/Aqtau", "Aktau");
      put("Asia/Aqtobe", "Aktobe");
      put("Asia/Ashgabat", "Asjabad");
      put("Asia/Baghdad", "Bagdad");
      put("Asia/Bahrain", "Baréin");
      put("Asia/Baku", "Bakú");
      put("Asia/Bangkok", "Bangkok");
      put("Asia/Barnaul", "Barnaúl");
      put("Asia/Beirut", "Beirut");
      put("Asia/Bishkek", "Bishkek");
      put("Asia/Brunei", "Brunéi");
      put("Asia/Calcutta", "Calcuta");
      put("Asia/Chita", "Chitá");
      put("Asia/Choibalsan", "Choibalsan");
      put("Asia/Colombo", "Colombo");
      put("Asia/Damascus", "Damasco");
      put("Asia/Dhaka", "Dacca");
      put("Asia/Dili", "Dili");
      put("Asia/Dubai", "Dubái");
      put("Asia/Dushanbe", "Duchanbé");
      put("Asia/Gaza", "Gaza");
      put("Asia/Hebron", "Hebrón");
      put("Asia/Hong_Kong", "Hong Kong");
      put("Asia/Hovd", "Hovd");
      put("Asia/Irkutsk", "Irkutsk");
      put("Asia/Jakarta", "Yakarta");
      put("Asia/Jayapura", "Jayapura");
      put("Asia/Jerusalem", "Jerusalén");
      put("Asia/Kabul", "Kabul");
      put("Asia/Kamchatka", "Kamchatka");
      put("Asia/Karachi", "Karachi");
      put("Asia/Katmandu", "Katmandú");
      put("Asia/Khandyga", "Khandyga");
      put("Asia/Krasnoyarsk", "Krasnoyarsk");
      put("Asia/Kuala_Lumpur", "Kuala Lumpur");
      put("Asia/Kuching", "Kuching");
      put("Asia/Kuwait", "Kuwait");
      put("Asia/Macau", "Macao");
      put("Asia/Magadan", "Magadán");
      put("Asia/Makassar", "Makasar");
      put("Asia/Manila", "Manila");
      put("Asia/Muscat", "Mascate");
      put("Asia/Nicosia", "Nicosia");
      put("Asia/Novokuznetsk", "Novokuznetsk");
      put("Asia/Novosibirsk", "Novosibirsk");
      put("Asia/Omsk", "Omsk");
      put("Asia/Oral", "Oral");
      put("Asia/Phnom_Penh", "Phnom Penh");
      put("Asia/Pontianak", "Pontianak");
      put("Asia/Pyongyang", "Pyongyang");
      put("Asia/Qatar", "Catar");
      put("Asia/Qyzylorda", "Qyzylorda");
      put("Asia/Rangoon", "Rangún");
      put("Asia/Riyadh", "Riad");
      put("Asia/Saigon", "Ciudad Ho Chi Minh");
      put("Asia/Sakhalin", "Sajalín");
      put("Asia/Samarkand", "Samarcanda");
      put("Asia/Seoul", "Seúl");
      put("Asia/Shanghai", "Shanghái");
      put("Asia/Singapore", "Singapur");
      put("Asia/Srednekolymsk", "Srednekolymsk");
      put("Asia/Taipei", "Taipéi");
      put("Asia/Tashkent", "Tashkent");
      put("Asia/Tbilisi", "Tiflis");
      put("Asia/Tehran", "Teherán");
      put("Asia/Thimphu", "Timbu");
      put("Asia/Tokyo", "Tokio");
      put("Asia/Tomsk", "Tomsk");
      put("Asia/Ulaanbaatar", "Ulán Bator");
      put("Asia/Urumqi", "Ürümqi");
      put("Asia/Ust-Nera", "Ust-Nera");
      put("Asia/Vientiane", "Vientián");
      put("Asia/Vladivostok", "Vladivostok");
      put("Asia/Yakutsk", "Yakutsk");
      put("Asia/Yekaterinburg", "Yekaterinburgo");
      put("Asia/Yerevan", "Ereván");
      put("Indian/Antananarivo", "Antananarivo");
      put("Indian/Chagos", "Chagos");
      put("Indian/Christmas", "Christmas");
      put("Indian/Cocos", "Cocos");
      put("Indian/Comoro", "Comoras");
      put("Indian/Kerguelen", "Kerguelen");
      put("Indian/Mahe", "Mahé");
      put("Indian/Maldives", "Maldivas");
      put("Indian/Mauritius", "Mauricio");
      put("Indian/Mayotte", "Mayotte");
      put("Indian/Reunion", "Reunión");
      put("Australia/Adelaide", "Adelaida");
      put("Australia/Brisbane", "Brisbane");
      put("Australia/Broken_Hill", "Broken Hill");
      put("Australia/Currie", "Currie");
      put("Australia/Darwin", "Darwin");
      put("Australia/Eucla", "Eucla");
      put("Australia/Hobart", "Hobart");
      put("Australia/Lindeman", "Lindeman");
      put("Australia/Lord_Howe", "Lord Howe");
      put("Australia/Melbourne", "Melbourne");
      put("Australia/Perth", "Perth");
      put("Australia/Sydney", "Sídney");
      put("Pacific/Apia", "Apia");
      put("Pacific/Auckland", "Auckland");
      put("Pacific/Bougainville", "Bougainville");
      put("Pacific/Chatham", "Chatham");
      put("Pacific/Easter", "Isla de Pascua");
      put("Pacific/Efate", "Efate");
      put("Pacific/Enderbury", "Enderbury");
      put("Pacific/Fakaofo", "Fakaofo");
      put("Pacific/Fiji", "Fiyi");
      put("Pacific/Funafuti", "Funafuti");
      put("Pacific/Galapagos", "Galápagos");
      put("Pacific/Gambier", "Gambier");
      put("Pacific/Guadalcanal", "Guadalcanal");
      put("Pacific/Guam", "Guam");
      put("Pacific/Honolulu", "Honolulú");
      put("Pacific/Johnston", "Johnston");
      put("Pacific/Kiritimati", "Kiritimati");
      put("Pacific/Kosrae", "Kosrae");
      put("Pacific/Kwajalein", "Kwajalein");
      put("Pacific/Majuro", "Majuro");
      put("Pacific/Marquesas", "Marquesas");
      put("Pacific/Midway", "Midway");
      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", "Palaos");
      put("Pacific/Pitcairn", "Pitcairn");
      put("Pacific/Ponape", "Pohnpei");
      put("Pacific/Port_Moresby", "Port Moresby");
      put("Pacific/Rarotonga", "Rarotonga");
      put("Pacific/Saipan", "Saipán");
      put("Pacific/Tahiti", "Tahití");
      put("Pacific/Tarawa", "Tarawa");
      put("Pacific/Tongatapu", "Tongatapu");
      put("Pacific/Truk", "Chuuk");
      put("Pacific/Wake", "Isla Wake");
      put("Pacific/Wallis", "Wallis");
      put("Arctic/Longyearbyen", "Longyearbyen");
      put("Antarctica/Casey", "Casey");
      put("Antarctica/Davis", "Davis");
      put("Antarctica/DumontDUrville", "Dumont d’Urville");
      put("Antarctica/Macquarie", "Macquarie");
      put("Antarctica/Mawson", "Mawson");
      put("Antarctica/McMurdo", "McMurdo");
      put("Antarctica/Palmer", "Palmer");
      put("Antarctica/Rothera", "Rothera");
      put("Antarctica/Syowa", "Syowa");
      put("Antarctica/Troll", "Troll");
      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", "Ciudad desconocida");
    } };

    this.timezoneNames = new HashMap() { {

      put("Europe/Dublin", new TimeZoneNames("Europe/Dublin",   new TimeZoneNames.Name(null, null, "hora de verano de Irlanda"),
        null));

      put("Europe/London", new TimeZoneNames("Europe/London",   new TimeZoneNames.Name(null, null, "hora de verano británica"),
        null));

      put("Etc/UTC", new TimeZoneNames("Etc/UTC",   new TimeZoneNames.Name(null, "Tiempo Universal Coordinado", null),
        new TimeZoneNames.Name(null, "UTC", null)));
    } };

    this.metazoneNames = new HashMap() { {

      put("Acre", new TimeZoneNames("Acre", 
        new TimeZoneNames.Name("Hora de Acre", "Hora estándar de Acre", "Hora de verano de Acre"),
        null));

      put("Afghanistan", new TimeZoneNames("Afghanistan", 
        new TimeZoneNames.Name(null, "hora de Afganistán", null),
        null));

      put("Africa_Central", new TimeZoneNames("Africa_Central", 
        new TimeZoneNames.Name(null, "hora de África central", null),
        null));

      put("Africa_Eastern", new TimeZoneNames("Africa_Eastern", 
        new TimeZoneNames.Name(null, "hora de África oriental", null),
        null));

      put("Africa_Southern", new TimeZoneNames("Africa_Southern", 
        new TimeZoneNames.Name(null, "hora de Sudáfrica", null),
        null));

      put("Africa_Western", new TimeZoneNames("Africa_Western", 
        new TimeZoneNames.Name("hora de África occidental", "hora estándar de África occidental", "hora de verano de África occidental"),
        null));

      put("Alaska", new TimeZoneNames("Alaska", 
        new TimeZoneNames.Name("hora de Alaska", "hora estándar de Alaska", "hora de verano de Alaska"),
        null));

      put("Amazon", new TimeZoneNames("Amazon", 
        new TimeZoneNames.Name("hora del Amazonas", "hora estándar del Amazonas", "hora de verano del Amazonas"),
        null));

      put("America_Central", new TimeZoneNames("America_Central", 
        new TimeZoneNames.Name("hora central", "hora estándar central", "hora de verano central"),
        null));

      put("America_Eastern", new TimeZoneNames("America_Eastern", 
        new TimeZoneNames.Name("hora oriental", "hora estándar oriental", "hora de verano oriental"),
        null));

      put("America_Mountain", new TimeZoneNames("America_Mountain", 
        new TimeZoneNames.Name("hora de las Montañas", "hora estándar de las Montañas", "hora de verano de las Montañas"),
        null));

      put("America_Pacific", new TimeZoneNames("America_Pacific", 
        new TimeZoneNames.Name("hora del Pacífico", "hora estándar del Pacífico", "hora de verano del Pacífico"),
        null));

      put("Anadyr", new TimeZoneNames("Anadyr", 
        new TimeZoneNames.Name("Hora de Anadyr", "Hora estándar de Anadyr", "Hora de verano de Anadyr"),
        null));

      put("Apia", new TimeZoneNames("Apia", 
        new TimeZoneNames.Name("hora de Apia", "hora estándar de Apia", "horario de verano de Apia"),
        null));

      put("Aqtau", new TimeZoneNames("Aqtau", 
        new TimeZoneNames.Name("Hora de Aktau", "Hora estándar de Aktau", "Hora de verano de Aktau"),
        null));

      put("Aqtobe", new TimeZoneNames("Aqtobe", 
        new TimeZoneNames.Name("Hora de Aktobe", "Hora estándar de Aktobe", "Hora de verano de Aktobe"),
        null));

      put("Arabian", new TimeZoneNames("Arabian", 
        new TimeZoneNames.Name("hora de Arabia", "hora estándar de Arabia", "hora de verano de Arabia"),
        null));

      put("Argentina", new TimeZoneNames("Argentina", 
        new TimeZoneNames.Name("hora de Argentina", "hora estándar de Argentina", "hora de verano de Argentina"),
        null));

      put("Argentina_Western", new TimeZoneNames("Argentina_Western", 
        new TimeZoneNames.Name("hora de Argentina occidental", "hora estándar de Argentina occidental", "hora de verano de Argentina occidental"),
        null));

      put("Armenia", new TimeZoneNames("Armenia", 
        new TimeZoneNames.Name("hora de Armenia", "hora estándar de Armenia", "hora de verano de Armenia"),
        null));

      put("Atlantic", new TimeZoneNames("Atlantic", 
        new TimeZoneNames.Name("hora del Atlántico", "hora estándar del Atlántico", "hora de verano del Atlántico"),
        null));

      put("Australia_Central", new TimeZoneNames("Australia_Central", 
        new TimeZoneNames.Name("hora de Australia central", "hora estándar de Australia central", "hora de verano de Australia central"),
        null));

      put("Australia_CentralWestern", new TimeZoneNames("Australia_CentralWestern", 
        new TimeZoneNames.Name("hora de Australia centroccidental", "hora estándar de Australia centroccidental", "hora de verano de Australia centroccidental"),
        null));

      put("Australia_Eastern", new TimeZoneNames("Australia_Eastern", 
        new TimeZoneNames.Name("hora de Australia oriental", "hora estándar de Australia oriental", "hora de verano de Australia oriental"),
        null));

      put("Australia_Western", new TimeZoneNames("Australia_Western", 
        new TimeZoneNames.Name("hora de Australia occidental", "hora estándar de Australia occidental", "hora de verano de Australia occidental"),
        null));

      put("Azerbaijan", new TimeZoneNames("Azerbaijan", 
        new TimeZoneNames.Name("hora de Azerbaiyán", "hora estándar de Azerbaiyán", "hora de verano de Azerbaiyán"),
        null));

      put("Azores", new TimeZoneNames("Azores", 
        new TimeZoneNames.Name("hora de las Azores", "hora estándar de las Azores", "hora de verano de las Azores"),
        null));

      put("Bangladesh", new TimeZoneNames("Bangladesh", 
        new TimeZoneNames.Name("hora de Bangladés", "hora estándar de Bangladés", "hora de verano de Bangladés"),
        null));

      put("Bhutan", new TimeZoneNames("Bhutan", 
        new TimeZoneNames.Name(null, "hora de Bután", null),
        null));

      put("Bolivia", new TimeZoneNames("Bolivia", 
        new TimeZoneNames.Name(null, "hora de Bolivia", null),
        null));

      put("Brasilia", new TimeZoneNames("Brasilia", 
        new TimeZoneNames.Name("hora de Brasilia", "hora estándar de Brasilia", "hora de verano de Brasilia"),
        null));

      put("Brunei", new TimeZoneNames("Brunei", 
        new TimeZoneNames.Name(null, "hora de Brunéi", null),
        null));

      put("Cape_Verde", new TimeZoneNames("Cape_Verde", 
        new TimeZoneNames.Name("hora de Cabo Verde", "hora estándar de Cabo Verde", "hora de verano de Cabo Verde"),
        null));

      put("Chamorro", new TimeZoneNames("Chamorro", 
        new TimeZoneNames.Name(null, "hora estándar de Chamorro", null),
        null));

      put("Chatham", new TimeZoneNames("Chatham", 
        new TimeZoneNames.Name("hora de Chatham", "hora estándar de Chatham", "hora de verano de Chatham"),
        null));

      put("Chile", new TimeZoneNames("Chile", 
        new TimeZoneNames.Name("hora de Chile", "hora estándar de Chile", "hora de verano de Chile"),
        null));

      put("China", new TimeZoneNames("China", 
        new TimeZoneNames.Name("hora de China", "hora estándar de China", "hora de verano de China"),
        null));

      put("Choibalsan", new TimeZoneNames("Choibalsan", 
        new TimeZoneNames.Name("hora de Choibalsan", "hora estándar de Choibalsan", "hora de verano de Choibalsan"),
        null));

      put("Christmas", new TimeZoneNames("Christmas", 
        new TimeZoneNames.Name(null, "hora de la Isla de Navidad", null),
        null));

      put("Cocos", new TimeZoneNames("Cocos", 
        new TimeZoneNames.Name(null, "hora de las Islas Cocos", null),
        null));

      put("Colombia", new TimeZoneNames("Colombia", 
        new TimeZoneNames.Name("hora de Colombia", "hora estándar de Colombia", "hora de verano de Colombia"),
        null));

      put("Cook", new TimeZoneNames("Cook", 
        new TimeZoneNames.Name("hora de las islas Cook", "hora estándar de las islas Cook", "hora de verano media de las islas Cook"),
        null));

      put("Cuba", new TimeZoneNames("Cuba", 
        new TimeZoneNames.Name("hora de Cuba", "hora estándar de Cuba", "hora de verano de Cuba"),
        null));

      put("Davis", new TimeZoneNames("Davis", 
        new TimeZoneNames.Name(null, "hora de Davis", null),
        null));

      put("DumontDUrville", new TimeZoneNames("DumontDUrville", 
        new TimeZoneNames.Name(null, "hora de Dumont-d’Urville", null),
        null));

      put("East_Timor", new TimeZoneNames("East_Timor", 
        new TimeZoneNames.Name(null, "hora de Timor Oriental", null),
        null));

      put("Easter", new TimeZoneNames("Easter", 
        new TimeZoneNames.Name("hora de la isla de Pascua", "hora estándar de la isla de Pascua", "hora de verano de la isla de Pascua"),
        null));

      put("Ecuador", new TimeZoneNames("Ecuador", 
        new TimeZoneNames.Name(null, "hora de Ecuador", null),
        null));

      put("Europe_Central", new TimeZoneNames("Europe_Central", 
        new TimeZoneNames.Name("hora de Europa central", "hora estándar de Europa central", "hora de verano de Europa central"),
        null));

      put("Europe_Eastern", new TimeZoneNames("Europe_Eastern", 
        new TimeZoneNames.Name("hora de Europa oriental", "hora estándar de Europa oriental", "hora de verano de Europa oriental"),
        null));

      put("Europe_Further_Eastern", new TimeZoneNames("Europe_Further_Eastern", 
        new TimeZoneNames.Name(null, "horario del lejano este de Europa", null),
        null));

      put("Europe_Western", new TimeZoneNames("Europe_Western", 
        new TimeZoneNames.Name("hora de Europa occidental", "hora estándar de Europa occidental", "hora de verano de Europa occidental"),
        null));

      put("Falkland", new TimeZoneNames("Falkland", 
        new TimeZoneNames.Name("hora de las islas Malvinas", "hora estándar de las islas Malvinas", "hora de verano de las islas Malvinas"),
        null));

      put("Fiji", new TimeZoneNames("Fiji", 
        new TimeZoneNames.Name("hora de Fiyi", "hora estándar de Fiyi", "hora de verano de Fiyi"),
        null));

      put("French_Guiana", new TimeZoneNames("French_Guiana", 
        new TimeZoneNames.Name(null, "hora de la Guayana Francesa", null),
        null));

      put("French_Southern", new TimeZoneNames("French_Southern", 
        new TimeZoneNames.Name(null, "hora de las Tierras Australes y Antárticas Francesas", null),
        null));

      put("Galapagos", new TimeZoneNames("Galapagos", 
        new TimeZoneNames.Name(null, "hora de Galápagos", null),
        null));

      put("Gambier", new TimeZoneNames("Gambier", 
        new TimeZoneNames.Name(null, "hora de Gambier", null),
        null));

      put("Georgia", new TimeZoneNames("Georgia", 
        new TimeZoneNames.Name("hora de Georgia", "hora estándar de Georgia", "hora de verano de Georgia"),
        null));

      put("Gilbert_Islands", new TimeZoneNames("Gilbert_Islands", 
        new TimeZoneNames.Name(null, "hora de las islas Gilbert", null),
        null));

      put("GMT", new TimeZoneNames("GMT", 
        new TimeZoneNames.Name(null, "hora del meridiano de Greenwich", null),
        null));

      put("Greenland_Eastern", new TimeZoneNames("Greenland_Eastern", 
        new TimeZoneNames.Name("hora de Groenlandia oriental", "hora estándar de Groenlandia oriental", "hora de verano de Groenlandia oriental"),
        null));

      put("Greenland_Western", new TimeZoneNames("Greenland_Western", 
        new TimeZoneNames.Name("hora de Groenlandia occidental", "hora estándar de Groenlandia occidental", "hora de verano de Groenlandia occidental"),
        null));

      put("Guam", new TimeZoneNames("Guam", 
        new TimeZoneNames.Name(null, "Hora estándar de Guam", null),
        null));

      put("Gulf", new TimeZoneNames("Gulf", 
        new TimeZoneNames.Name(null, "hora estándar del Golfo", null),
        null));

      put("Guyana", new TimeZoneNames("Guyana", 
        new TimeZoneNames.Name(null, "hora de Guyana", null),
        null));

      put("Hawaii_Aleutian", new TimeZoneNames("Hawaii_Aleutian", 
        new TimeZoneNames.Name("hora de Hawái-Aleutianas", "hora estándar de Hawái-Aleutianas", "hora de verano de Hawái-Aleutianas"),
        null));

      put("Hong_Kong", new TimeZoneNames("Hong_Kong", 
        new TimeZoneNames.Name("hora de Hong Kong", "hora estándar de Hong Kong", "hora de verano de Hong Kong"),
        null));

      put("Hovd", new TimeZoneNames("Hovd", 
        new TimeZoneNames.Name("hora de Hovd", "hora estándar de Hovd", "hora de verano de Hovd"),
        null));

      put("India", new TimeZoneNames("India", 
        new TimeZoneNames.Name(null, "hora de India", null),
        null));

      put("Indian_Ocean", new TimeZoneNames("Indian_Ocean", 
        new TimeZoneNames.Name(null, "hora del océano Índico", null),
        null));

      put("Indochina", new TimeZoneNames("Indochina", 
        new TimeZoneNames.Name(null, "hora de Indochina", null),
        null));

      put("Indonesia_Central", new TimeZoneNames("Indonesia_Central", 
        new TimeZoneNames.Name(null, "hora de Indonesia central", null),
        null));

      put("Indonesia_Eastern", new TimeZoneNames("Indonesia_Eastern", 
        new TimeZoneNames.Name(null, "hora de Indonesia oriental", null),
        null));

      put("Indonesia_Western", new TimeZoneNames("Indonesia_Western", 
        new TimeZoneNames.Name(null, "hora de Indonesia occidental", null),
        null));

      put("Iran", new TimeZoneNames("Iran", 
        new TimeZoneNames.Name("hora de Irán", "hora estándar de Irán", "hora de verano de Irán"),
        null));

      put("Irkutsk", new TimeZoneNames("Irkutsk", 
        new TimeZoneNames.Name("hora de Irkutsk", "hora estándar de Irkutsk", "hora de verano de Irkutsk"),
        null));

      put("Israel", new TimeZoneNames("Israel", 
        new TimeZoneNames.Name("hora de Israel", "hora estándar de Israel", "hora de verano de Israel"),
        null));

      put("Japan", new TimeZoneNames("Japan", 
        new TimeZoneNames.Name("hora de Japón", "hora estándar de Japón", "hora de verano de Japón"),
        null));

      put("Kamchatka", new TimeZoneNames("Kamchatka", 
        new TimeZoneNames.Name("Hora de Kamchatka", "Hora de estándar de Kamchatka", "Hora de verano de Kamchatka"),
        null));

      put("Kazakhstan_Eastern", new TimeZoneNames("Kazakhstan_Eastern", 
        new TimeZoneNames.Name(null, "hora de Kazajistán oriental", null),
        null));

      put("Kazakhstan_Western", new TimeZoneNames("Kazakhstan_Western", 
        new TimeZoneNames.Name(null, "hora de Kazajistán occidental", null),
        null));

      put("Korea", new TimeZoneNames("Korea", 
        new TimeZoneNames.Name("hora de Corea", "hora estándar de Corea", "hora de verano de Corea"),
        null));

      put("Kosrae", new TimeZoneNames("Kosrae", 
        new TimeZoneNames.Name(null, "hora de Kosrae", null),
        null));

      put("Krasnoyarsk", new TimeZoneNames("Krasnoyarsk", 
        new TimeZoneNames.Name("hora de Krasnoyarsk", "hora estándar de Krasnoyarsk", "hora de verano de Krasnoyarsk"),
        null));

      put("Kyrgystan", new TimeZoneNames("Kyrgystan", 
        new TimeZoneNames.Name(null, "hora de Kirguistán", null),
        null));

      put("Lanka", new TimeZoneNames("Lanka", 
        new TimeZoneNames.Name(null, "Hora de Sri Lanka", null),
        null));

      put("Line_Islands", new TimeZoneNames("Line_Islands", 
        new TimeZoneNames.Name(null, "hora de las Espóradas Ecuatoriales", null),
        null));

      put("Lord_Howe", new TimeZoneNames("Lord_Howe", 
        new TimeZoneNames.Name("hora de Lord Howe", "hora estándar de Lord Howe", "hora de verano de Lord Howe"),
        null));

      put("Macau", new TimeZoneNames("Macau", 
        new TimeZoneNames.Name("Hora de Macao", "Hora estándar de Macao", "Hora de verano de Macao"),
        null));

      put("Macquarie", new TimeZoneNames("Macquarie", 
        new TimeZoneNames.Name(null, "hora de la isla Macquarie", null),
        null));

      put("Magadan", new TimeZoneNames("Magadan", 
        new TimeZoneNames.Name("hora de Magadán", "hora estándar de Magadán", "hora de verano de Magadán"),
        null));

      put("Malaysia", new TimeZoneNames("Malaysia", 
        new TimeZoneNames.Name(null, "hora de Malasia", null),
        null));

      put("Maldives", new TimeZoneNames("Maldives", 
        new TimeZoneNames.Name(null, "hora de Maldivas", null),
        null));

      put("Marquesas", new TimeZoneNames("Marquesas", 
        new TimeZoneNames.Name(null, "hora de Marquesas", null),
        null));

      put("Marshall_Islands", new TimeZoneNames("Marshall_Islands", 
        new TimeZoneNames.Name(null, "hora de las Islas Marshall", null),
        null));

      put("Mauritius", new TimeZoneNames("Mauritius", 
        new TimeZoneNames.Name("hora de Mauricio", "hora estándar de Mauricio", "hora de verano de Mauricio"),
        null));

      put("Mawson", new TimeZoneNames("Mawson", 
        new TimeZoneNames.Name(null, "hora de Mawson", null),
        null));

      put("Mexico_Northwest", new TimeZoneNames("Mexico_Northwest", 
        new TimeZoneNames.Name("hora del noroeste de México", "hora estándar del noroeste de México", "hora de verano del noroeste de México"),
        null));

      put("Mexico_Pacific", new TimeZoneNames("Mexico_Pacific", 
        new TimeZoneNames.Name("hora del Pacífico de México", "hora estándar del Pacífico de México", "hora de verano del Pacífico de México"),
        null));

      put("Mongolia", new TimeZoneNames("Mongolia", 
        new TimeZoneNames.Name("hora de Ulán Bator", "hora estándar de Ulán Bator", "hora de verano de Ulán Bator"),
        null));

      put("Moscow", new TimeZoneNames("Moscow", 
        new TimeZoneNames.Name("hora de Moscú", "hora estándar de Moscú", "hora de verano de Moscú"),
        null));

      put("Myanmar", new TimeZoneNames("Myanmar", 
        new TimeZoneNames.Name(null, "hora de Birmania", null),
        null));

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

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

      put("New_Caledonia", new TimeZoneNames("New_Caledonia", 
        new TimeZoneNames.Name("hora de Nueva Caledonia", "hora estándar de Nueva Caledonia", "hora de verano de Nueva Caledonia"),
        null));

      put("New_Zealand", new TimeZoneNames("New_Zealand", 
        new TimeZoneNames.Name("hora de Nueva Zelanda", "hora estándar de Nueva Zelanda", "hora de verano de Nueva Zelanda"),
        null));

      put("Newfoundland", new TimeZoneNames("Newfoundland", 
        new TimeZoneNames.Name("hora de Terranova", "hora estándar de Terranova", "hora de verano de Terranova"),
        null));

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

      put("Norfolk", new TimeZoneNames("Norfolk", 
        new TimeZoneNames.Name(null, "hora de la isla Norfolk", null),
        null));

      put("Noronha", new TimeZoneNames("Noronha", 
        new TimeZoneNames.Name("hora de Fernando de Noronha", "hora estándar de Fernando de Noronha", "hora de verano de Fernando de Noronha"),
        null));

      put("North_Mariana", new TimeZoneNames("North_Mariana", 
        new TimeZoneNames.Name(null, "Hora de las Islas Marianas del Norte", null),
        null));

      put("Novosibirsk", new TimeZoneNames("Novosibirsk", 
        new TimeZoneNames.Name("hora de Novosibirsk", "hora estándar de Novosibirsk", "hora de verano de Novosibirsk"),
        null));

      put("Omsk", new TimeZoneNames("Omsk", 
        new TimeZoneNames.Name("hora de Omsk", "hora estándar de Omsk", "hora de verano de Omsk"),
        null));

      put("Pakistan", new TimeZoneNames("Pakistan", 
        new TimeZoneNames.Name("hora de Pakistán", "hora estándar de Pakistán", "hora de verano de Pakistán"),
        null));

      put("Palau", new TimeZoneNames("Palau", 
        new TimeZoneNames.Name(null, "hora de Palaos", null),
        null));

      put("Papua_New_Guinea", new TimeZoneNames("Papua_New_Guinea", 
        new TimeZoneNames.Name(null, "hora de Papúa Nueva Guinea", null),
        null));

      put("Paraguay", new TimeZoneNames("Paraguay", 
        new TimeZoneNames.Name("hora de Paraguay", "hora estándar de Paraguay", "hora de verano de Paraguay"),
        null));

      put("Peru", new TimeZoneNames("Peru", 
        new TimeZoneNames.Name("hora de Perú", "hora estándar de Perú", "hora de verano de Perú"),
        null));

      put("Philippines", new TimeZoneNames("Philippines", 
        new TimeZoneNames.Name("hora de Filipinas", "hora estándar de Filipinas", "hora de verano de Filipinas"),
        null));

      put("Phoenix_Islands", new TimeZoneNames("Phoenix_Islands", 
        new TimeZoneNames.Name(null, "hora de las Islas Fénix", null),
        null));

      put("Pierre_Miquelon", new TimeZoneNames("Pierre_Miquelon", 
        new TimeZoneNames.Name("hora de San Pedro y Miquelón", "hora estándar de San Pedro y Miquelón", "hora de verano de San Pedro y Miquelón"),
        null));

      put("Pitcairn", new TimeZoneNames("Pitcairn", 
        new TimeZoneNames.Name(null, "hora de Pitcairn", null),
        null));

      put("Ponape", new TimeZoneNames("Ponape", 
        new TimeZoneNames.Name(null, "hora de Pohnpei", null),
        null));

      put("Pyongyang", new TimeZoneNames("Pyongyang", 
        new TimeZoneNames.Name(null, "hora de Pionyang", null),
        null));

      put("Qyzylorda", new TimeZoneNames("Qyzylorda", 
        new TimeZoneNames.Name("Hora de Qyzylorda", "Hora estándar de Qyzylorda", "Hora de verano de Qyzylorda"),
        null));

      put("Reunion", new TimeZoneNames("Reunion", 
        new TimeZoneNames.Name(null, "hora de Reunión", null),
        null));

      put("Rothera", new TimeZoneNames("Rothera", 
        new TimeZoneNames.Name(null, "hora de Rothera", null),
        null));

      put("Sakhalin", new TimeZoneNames("Sakhalin", 
        new TimeZoneNames.Name("hora de Sajalín", "hora estándar de Sajalín", "hora de verano de Sajalín"),
        null));

      put("Samara", new TimeZoneNames("Samara", 
        new TimeZoneNames.Name("Hora de Samara", "Hora estándar de Samara", "Hora de verano de Samara"),
        null));

      put("Samoa", new TimeZoneNames("Samoa", 
        new TimeZoneNames.Name("hora de Samoa", "hora estándar de Samoa", "hora de verano de Samoa"),
        null));

      put("Seychelles", new TimeZoneNames("Seychelles", 
        new TimeZoneNames.Name(null, "hora de Seychelles", null),
        null));

      put("Singapore", new TimeZoneNames("Singapore", 
        new TimeZoneNames.Name(null, "hora de Singapur", null),
        null));

      put("Solomon", new TimeZoneNames("Solomon", 
        new TimeZoneNames.Name(null, "hora de las Islas Salomón", null),
        null));

      put("South_Georgia", new TimeZoneNames("South_Georgia", 
        new TimeZoneNames.Name(null, "hora de Georgia meridional", null),
        null));

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

      put("Syowa", new TimeZoneNames("Syowa", 
        new TimeZoneNames.Name(null, "hora de Syowa", null),
        null));

      put("Tahiti", new TimeZoneNames("Tahiti", 
        new TimeZoneNames.Name(null, "hora de Tahití", null),
        null));

      put("Taipei", new TimeZoneNames("Taipei", 
        new TimeZoneNames.Name("hora de Taipéi", "hora estándar de Taipéi", "hora de verano de Taipéi"),
        null));

      put("Tajikistan", new TimeZoneNames("Tajikistan", 
        new TimeZoneNames.Name(null, "hora de Tayikistán", null),
        null));

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

      put("Tonga", new TimeZoneNames("Tonga", 
        new TimeZoneNames.Name("hora de Tonga", "hora estándar de Tonga", "hora de verano de Tonga"),
        null));

      put("Truk", new TimeZoneNames("Truk", 
        new TimeZoneNames.Name(null, "hora de Chuuk", null),
        null));

      put("Turkmenistan", new TimeZoneNames("Turkmenistan", 
        new TimeZoneNames.Name("hora de Turkmenistán", "hora estándar de Turkmenistán", "hora de verano de Turkmenistán"),
        null));

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

      put("Uruguay", new TimeZoneNames("Uruguay", 
        new TimeZoneNames.Name("hora de Uruguay", "hora estándar de Uruguay", "hora de verano de Uruguay"),
        null));

      put("Uzbekistan", new TimeZoneNames("Uzbekistan", 
        new TimeZoneNames.Name("hora de Uzbekistán", "hora estándar de Uzbekistán", "hora de verano de Uzbekistán"),
        null));

      put("Vanuatu", new TimeZoneNames("Vanuatu", 
        new TimeZoneNames.Name("hora de Vanuatu", "hora estándar de Vanuatu", "hora de verano de Vanuatu"),
        null));

      put("Venezuela", new TimeZoneNames("Venezuela", 
        new TimeZoneNames.Name(null, "hora de Venezuela", null),
        null));

      put("Vladivostok", new TimeZoneNames("Vladivostok", 
        new TimeZoneNames.Name("hora de Vladivostok", "hora estándar de Vladivostok", "hora de verano de Vladivostok"),
        null));

      put("Volgograd", new TimeZoneNames("Volgograd", 
        new TimeZoneNames.Name("hora de Volgogrado", "hora estándar de Volgogrado", "hora de verano de Volgogrado"),
        null));

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

      put("Wake", new TimeZoneNames("Wake", 
        new TimeZoneNames.Name(null, "hora de la isla Wake", null),
        null));

      put("Wallis", new TimeZoneNames("Wallis", 
        new TimeZoneNames.Name(null, "hora de Wallis y Futuna", null),
        null));

      put("Yakutsk", new TimeZoneNames("Yakutsk", 
        new TimeZoneNames.Name("hora de Yakutsk", "hora estándar de Yakutsk", "hora de verano de Yakutsk"),
        null));

      put("Yekaterinburg", new TimeZoneNames("Yekaterinburg", 
        new TimeZoneNames.Name("hora de Ekaterimburgo", "hora estándar de Ekaterimburgo", "hora de verano de Ekaterimburgo"),
        null));
    } };
  }

  @Override
  public void formatDate(CalendarFormat type, ZonedDateTime d, StringBuilder b) {
    if (type == null) {
      return;
    }
    switch (type) {
      case SHORT: {
        // "MM/dd/yy"
        formatField(d, 'M', 2, b);
        b.append("/");
        formatField(d, 'd', 2, b);
        b.append("/");
        formatField(d, 'y', 2, b);
        break;
      }
      case MEDIUM: {
        // "MM/dd/y"
        formatField(d, 'M', 2, b);
        b.append("/");
        formatField(d, 'd', 2, b);
        b.append("/");
        formatField(d, 'y', 1, b);
        break;
      }
      case LONG: {
        // "d 'de' MMMM 'de' y"
        formatField(d, 'd', 1, b);
        b.append(" de ");
        formatField(d, 'M', 4, b);
        b.append(" de ");
        formatField(d, 'y', 1, b);
        break;
      }
      case FULL: {
        // "EEEE, d 'de' MMMM 'de' y"
        formatField(d, 'E', 4, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        b.append(" de ");
        formatField(d, 'M', 4, b);
        b.append(" de ");
        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: "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 'de' MMM 'de' y G"
        formatField(d, 'd', 1, b);
        b.append(" de ");
        formatField(d, 'M', 3, b);
        b.append(" de ");
        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 "GyMMMM": {
        // Pattern: "MMMM 'de' y G"
        formatField(d, 'M', 4, b);
        b.append(" de ");
        formatField(d, 'y', 1, b);
        b.append(" ");
        formatField(d, 'G', 1, b);
        break;
      }
      case "GyMMMMd": {
        // Pattern: "d 'de' MMMM 'de' y G"
        formatField(d, 'd', 1, b);
        b.append(" de ");
        formatField(d, 'M', 4, b);
        b.append(" de ");
        formatField(d, 'y', 1, b);
        b.append(" ");
        formatField(d, 'G', 1, b);
        break;
      }
      case "GyMMMMEd": {
        // Pattern: "E, d 'de' MMMM 'de' y G"
        formatField(d, 'E', 1, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        b.append(" de ");
        formatField(d, 'M', 4, b);
        b.append(" de ");
        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: "H:mm:ss v"
        formatField(d, 'H', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        b.append(" ");
        formatField(d, 'v', 1, b);
        break;
      }
      case "hmsvvvv": {
        // Pattern: "h:mm:ss a (vvvv)"
        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', 4, b);
        b.append(")");
        break;
      }
      case "Hmsvvvv": {
        // Pattern: "H:mm:ss (vvvv)"
        formatField(d, 'H', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        b.append(" (");
        formatField(d, 'v', 4, b);
        b.append(")");
        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: "H:mm v"
        formatField(d, 'H', 1, 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: "MM/dd"
        formatField(d, 'M', 2, b);
        b.append("/");
        formatField(d, 'd', 2, b);
        break;
      }
      case "MEd": {
        // Pattern: "E, MM/dd"
        formatField(d, 'E', 1, b);
        b.append(", ");
        formatField(d, 'M', 2, b);
        b.append("/");
        formatField(d, 'd', 2, b);
        break;
      }
      case "MMd": {
        // Pattern: "d/M"
        formatField(d, 'd', 1, b);
        b.append("/");
        formatField(d, 'M', 1, b);
        break;
      }
      case "MMdd": {
        // Pattern: "d/M"
        formatField(d, 'd', 1, b);
        b.append("/");
        formatField(d, 'M', 1, b);
        break;
      }
      case "MMM": {
        // Pattern: "LLL"
        formatField(d, 'L', 3, b);
        break;
      }
      case "MMMd": {
        // Pattern: "d MMM"
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 3, b);
        break;
      }
      case "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 'de' MMMM"
        formatField(d, 'd', 1, b);
        b.append(" de ");
        formatField(d, 'M', 4, b);
        break;
      }
      case "MMMMEd": {
        // Pattern: "E, d 'de' MMMM"
        formatField(d, 'E', 1, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        b.append(" de ");
        formatField(d, 'M', 4, b);
        break;
      }
      case "MMMMW-count-one": {
        // Pattern: "'semana' W 'de' MMM"
        b.append("semana ");
        formatField(d, 'W', 1, b);
        b.append(" de ");
        formatField(d, 'M', 3, b);
        break;
      }
      case "MMMMW-count-other": {
        // Pattern: "'semana' W 'de' MMM"
        b.append("semana ");
        formatField(d, 'W', 1, b);
        b.append(" de ");
        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: "MM/y"
        formatField(d, 'M', 2, b);
        b.append("/");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yMd": {
        // Pattern: "MM/dd/y"
        formatField(d, 'M', 2, b);
        b.append("/");
        formatField(d, 'd', 2, b);
        b.append("/");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yMEd": {
        // Pattern: "E MM/dd/y"
        formatField(d, 'E', 1, b);
        b.append(" ");
        formatField(d, 'M', 2, b);
        b.append("/");
        formatField(d, 'd', 2, b);
        b.append("/");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yMM": {
        // Pattern: "M/y"
        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 'de' MMM 'de' y"
        formatField(d, 'E', 1, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        b.append(" de ");
        formatField(d, 'M', 3, b);
        b.append(" de ");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yMMMM": {
        // Pattern: "MMMM 'de' y"
        formatField(d, 'M', 4, b);
        b.append(" de ");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yMMMMd": {
        // Pattern: "d 'de' MMMM 'de' y"
        formatField(d, 'd', 1, b);
        b.append(" de ");
        formatField(d, 'M', 4, b);
        b.append(" de ");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yMMMMEd": {
        // Pattern: "EEE, d 'de' MMMM 'de' y"
        formatField(d, 'E', 3, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        b.append(" de ");
        formatField(d, 'M', 4, b);
        b.append(" de ");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yQQQ": {
        // Pattern: "QQQ 'de' y"
        formatField(d, 'Q', 3, b);
        b.append(" de ");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yQQQQ": {
        // Pattern: "QQQQ 'de' y"
        formatField(d, 'Q', 4, b);
        b.append(" de ");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yw-count-one": {
        // Pattern: "'semana' w 'de' y"
        b.append("semana ");
        formatField(d, 'w', 1, b);
        b.append(" de ");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yw-count-other": {
        // Pattern: "'semana' w 'de' y"
        b.append("semana ");
        formatField(d, 'w', 1, b);
        b.append(" de ");
        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 "hm": {
          switch (f) {
            case AM_PM: {
              // "h:mm a – "
              formatField(s, 'h', 1, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append(" ");
              formatField(s, 'a', 1, b);
              b.append(" – ");
              // "h:mm a"
              formatField(e, 'h', 1, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              return;
            }
            case HOUR: {
              // "h:mm – "
              formatField(s, 'h', 1, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append(" – ");
              // "h:mm a"
              formatField(e, 'h', 1, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              return;
            }
            case MINUTE: {
              // "h:mm – "
              formatField(s, 'h', 1, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append(" – ");
              // "h:mm a"
              formatField(e, 'h', 1, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "MMMMd": {
          switch (f) {
            case DAY: {
              // "d–"
              formatField(s, 'd', 1, b);
              b.append("–");
              // "d 'd'e MMMM"
              formatField(e, 'd', 1, b);
              b.append(" de ");
              formatField(e, 'M', 4, b);
              return;
            }
            case MONTH: {
              // "d 'd'e MMMM–"
              formatField(s, 'd', 1, b);
              b.append(" de ");
              formatField(s, 'M', 4, b);
              b.append("–");
              // "d 'd'e MMMM"
              formatField(e, 'd', 1, b);
              b.append(" de ");
              formatField(e, 'M', 4, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "H": {
          switch (f) {
            case HOUR: {
              // "H–"
              formatField(s, 'H', 1, b);
              b.append("–");
              // "H"
              formatField(e, 'H', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "yMMMEd": {
          switch (f) {
            case DAY: {
              // "E d 'a'l "
              formatField(s, 'E', 1, b);
              b.append(" ");
              formatField(s, 'd', 1, b);
              b.append(" al ");
              // "E d 'd'e MMM 'd'e y"
              formatField(e, 'E', 1, b);
              b.append(" ");
              formatField(e, 'd', 1, b);
              b.append(" de ");
              formatField(e, 'M', 3, b);
              b.append(" de ");
              formatField(e, 'y', 1, b);
              return;
            }
            case YEAR: {
              // "E d 'd'e MMM 'd'e y 'a'l "
              formatField(s, 'E', 1, b);
              b.append(" ");
              formatField(s, 'd', 1, b);
              b.append(" de ");
              formatField(s, 'M', 3, b);
              b.append(" de ");
              formatField(s, 'y', 1, b);
              b.append(" al ");
              // "E d 'd'e MMM 'd'e y"
              formatField(e, 'E', 1, b);
              b.append(" ");
              formatField(e, 'd', 1, b);
              b.append(" de ");
              formatField(e, 'M', 3, b);
              b.append(" de ");
              formatField(e, 'y', 1, b);
              return;
            }
            case MONTH: {
              // "E d 'd'e MMM 'a'l "
              formatField(s, 'E', 1, b);
              b.append(" ");
              formatField(s, 'd', 1, b);
              b.append(" de ");
              formatField(s, 'M', 3, b);
              b.append(" al ");
              // "E d 'd'e MMM 'd'e y"
              formatField(e, 'E', 1, b);
              b.append(" ");
              formatField(e, 'd', 1, b);
              b.append(" de ");
              formatField(e, 'M', 3, b);
              b.append(" de ");
              formatField(e, 'y', 1, b);
              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);
              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);
              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);
              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 d 'a'l "
              formatField(s, 'E', 1, b);
              b.append(" ");
              formatField(s, 'd', 1, b);
              b.append(" al ");
              // "E d 'd'e MMM"
              formatField(e, 'E', 1, b);
              b.append(" ");
              formatField(e, 'd', 1, b);
              b.append(" de ");
              formatField(e, 'M', 3, b);
              return;
            }
            case MONTH: {
              // "E d 'd'e MMM 'a'l "
              formatField(s, 'E', 1, b);
              b.append(" ");
              formatField(s, 'd', 1, b);
              b.append(" de ");
              formatField(s, 'M', 3, b);
              b.append(" al ");
              // "E d 'd'e MMM"
              formatField(e, 'E', 1, b);
              b.append(" ");
              formatField(e, 'd', 1, b);
              b.append(" de ");
              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 "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 "yMMMMd": {
          switch (f) {
            case DAY: {
              // "d–"
              formatField(s, 'd', 1, b);
              b.append("–");
              // "d 'd'e MMMM 'd'e y"
              formatField(e, 'd', 1, b);
              b.append(" de ");
              formatField(e, 'M', 4, b);
              b.append(" de ");
              formatField(e, 'y', 1, b);
              return;
            }
            case YEAR: {
              // "d 'd'e MMMM 'd'e y–"
              formatField(s, 'd', 1, b);
              b.append(" de ");
              formatField(s, 'M', 4, b);
              b.append(" de ");
              formatField(s, 'y', 1, b);
              b.append("–");
              // "d 'd'e MMMM 'd'e y"
              formatField(e, 'd', 1, b);
              b.append(" de ");
              formatField(e, 'M', 4, b);
              b.append(" de ");
              formatField(e, 'y', 1, b);
              return;
            }
            case MONTH: {
              // "d 'd'e MMMM–"
              formatField(s, 'd', 1, b);
              b.append(" de ");
              formatField(s, 'M', 4, b);
              b.append("–");
              // "d 'd'e MMMM 'd'e y"
              formatField(e, 'd', 1, b);
              b.append(" de ");
              formatField(e, 'M', 4, b);
              b.append(" de ");
              formatField(e, 'y', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "yMMMd": {
          switch (f) {
            case DAY: {
              // "d – "
              formatField(s, 'd', 1, b);
              b.append(" – ");
              // "d 'd'e MMM 'd'e y"
              formatField(e, 'd', 1, b);
              b.append(" de ");
              formatField(e, 'M', 3, b);
              b.append(" de ");
              formatField(e, 'y', 1, b);
              return;
            }
            case YEAR: {
              // "d 'd'e MMM 'd'e y 'a'l "
              formatField(s, 'd', 1, b);
              b.append(" de ");
              formatField(s, 'M', 3, b);
              b.append(" de ");
              formatField(s, 'y', 1, b);
              b.append(" al ");
              // "d 'd'e MMM 'd'e y"
              formatField(e, 'd', 1, b);
              b.append(" de ");
              formatField(e, 'M', 3, b);
              b.append(" de ");
              formatField(e, 'y', 1, b);
              return;
            }
            case MONTH: {
              // "d 'd'e MMM 'a'l "
              formatField(s, 'd', 1, b);
              b.append(" de ");
              formatField(s, 'M', 3, b);
              b.append(" al ");
              // "d 'd'e MMM 'd'e y"
              formatField(e, 'd', 1, b);
              b.append(" de ");
              formatField(e, 'M', 3, b);
              b.append(" de ");
              formatField(e, 'y', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "yMMMMEd": {
          switch (f) {
            case DAY: {
              // "E, d 'd'e MMMM–"
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 1, b);
              b.append(" de ");
              formatField(s, 'M', 4, b);
              b.append("–");
              // "E, d 'd'e MMMM 'd'e y"
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 1, b);
              b.append(" de ");
              formatField(e, 'M', 4, b);
              b.append(" de ");
              formatField(e, 'y', 1, b);
              return;
            }
            case YEAR: {
              // "E, d 'd'e MMMM 'd'e y–"
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 1, b);
              b.append(" de ");
              formatField(s, 'M', 4, b);
              b.append(" de ");
              formatField(s, 'y', 1, b);
              b.append("–");
              // "E, d 'd'e MMMM 'd'e y"
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 1, b);
              b.append(" de ");
              formatField(e, 'M', 4, b);
              b.append(" de ");
              formatField(e, 'y', 1, b);
              return;
            }
            case MONTH: {
              // "E, d 'd'e MMMM–"
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 1, b);
              b.append(" de ");
              formatField(s, 'M', 4, b);
              b.append("–");
              // "E, d 'd'e MMMM 'd'e y"
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 1, b);
              b.append(" de ");
              formatField(e, 'M', 4, b);
              b.append(" de ");
              formatField(e, 'y', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "d": {
          switch (f) {
            case DAY: {
              // "d–"
              formatField(s, 'd', 1, b);
              b.append("–");
              // "d"
              formatField(e, 'd', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "Hm": {
          switch (f) {
            case HOUR: {
              // "H:mm–"
              formatField(s, 'H', 1, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append("–");
              // "H:mm"
              formatField(e, 'H', 1, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              return;
            }
            case MINUTE: {
              // "H:mm–"
              formatField(s, 'H', 1, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append("–");
              // "H:mm"
              formatField(e, 'H', 1, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "h": {
          switch (f) {
            case AM_PM: {
              // "h a–"
              formatField(s, 'h', 1, b);
              b.append(" ");
              formatField(s, 'a', 1, b);
              b.append("–");
              // "h a"
              formatField(e, 'h', 1, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              return;
            }
            case HOUR: {
              // "h–"
              formatField(s, 'h', 1, b);
              b.append("–");
              // "h a"
              formatField(e, 'h', 1, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "MMM": {
          switch (f) {
            case MONTH: {
              // "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 'd'e y 'a "
              formatField(s, 'M', 3, b);
              b.append(" de ");
              formatField(s, 'y', 1, b);
              b.append(" a ");
              // "MMM 'd'e y"
              formatField(e, 'M', 3, b);
              b.append(" de ");
              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 "Hv": {
          switch (f) {
            case HOUR: {
              // "H–"
              formatField(s, 'H', 1, b);
              b.append("–");
              // "H v"
              formatField(e, 'H', 1, b);
              b.append(" ");
              formatField(e, 'v', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "Hmv": {
          switch (f) {
            case HOUR: {
              // "H:mm–"
              formatField(s, 'H', 1, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append("–");
              // "H:mm v"
              formatField(e, 'H', 1, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              b.append(" ");
              formatField(e, 'v', 1, b);
              return;
            }
            case MINUTE: {
              // "H:mm–"
              formatField(s, 'H', 1, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append("–");
              // "H:mm v"
              formatField(e, 'H', 1, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              b.append(" ");
              formatField(e, 'v', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "yMd": {
          switch (f) {
            case DAY: {
              // "d/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);
              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);
              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);
              return;
            }
            default: break;
          }
          break;
        }
        case "MMMd": {
          switch (f) {
            case DAY: {
              // "d – "
              formatField(s, 'd', 1, b);
              b.append(" – ");
              // "d 'd'e MMM"
              formatField(e, 'd', 1, b);
              b.append(" de ");
              formatField(e, 'M', 3, b);
              return;
            }
            case MONTH: {
              // "d 'd'e MMM 'a'l "
              formatField(s, 'd', 1, b);
              b.append(" de ");
              formatField(s, 'M', 3, b);
              b.append(" al ");
              // "d 'd'e MMM"
              formatField(e, 'd', 1, b);
              b.append(" de ");
              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: {
              // "MMMM 'd'e y–"
              formatField(s, 'M', 4, b);
              b.append(" de ");
              formatField(s, 'y', 1, b);
              b.append("–");
              // "MMMM 'd'e y"
              formatField(e, 'M', 4, b);
              b.append(" de ");
              formatField(e, 'y', 1, b);
              return;
            }
            case MONTH: {
              // "MMMM–"
              formatField(s, 'M', 4, b);
              b.append("–");
              // "MMMM 'd'e y"
              formatField(e, 'M', 4, b);
              b.append(" de ");
              formatField(e, 'y', 1, b);
              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 "MMMMEd": {
          switch (f) {
            case DAY: {
              // "E, d 'd'e MMMM–"
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 1, b);
              b.append(" de ");
              formatField(s, 'M', 4, b);
              b.append("–");
              // "E, d 'd'e MMMM"
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 1, b);
              b.append(" de ");
              formatField(e, 'M', 4, b);
              return;
            }
            case MONTH: {
              // "E, d 'd'e MMMM–"
              formatField(s, 'E', 1, b);
              b.append(", ");
              formatField(s, 'd', 1, b);
              b.append(" de ");
              formatField(s, 'M', 4, b);
              b.append("–");
              // "E, d 'd'e MMMM"
              formatField(e, 'E', 1, b);
              b.append(", ");
              formatField(e, 'd', 1, b);
              b.append(" de ");
              formatField(e, 'M', 4, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "y": {
          switch (f) {
            case YEAR: {
              // "y–"
              formatField(s, 'y', 1, b);
              b.append("–");
              // "y"
              formatField(e, 'y', 1, b);
              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("hora de ");
    b.append(region);
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy