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

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

    this.timezoneNames = new HashMap() { {

      put("Europe/Dublin", new TimeZoneNames("Europe/Dublin",   new TimeZoneNames.Name(null, null, "ირლანდიის სტანდარტული დრო"),
        null));

      put("Europe/London", new TimeZoneNames("Europe/London",   new TimeZoneNames.Name(null, null, "ბრიტანეთის ზაფხულის დრო"),
        null));

      put("Etc/UTC", new TimeZoneNames("Etc/UTC",   new TimeZoneNames.Name(null, "მსოფლიო კოორდინირებული დრო", null),
        new TimeZoneNames.Name(null, "UTC", null)));
    } };

    this.metazoneNames = new HashMap() { {

      put("Afghanistan", new TimeZoneNames("Afghanistan", 
        new TimeZoneNames.Name(null, "ავღანეთის დრო", null),
        null));

      put("Africa_Central", new TimeZoneNames("Africa_Central", 
        new TimeZoneNames.Name(null, "ცენტრალური აფრიკის დრო", null),
        null));

      put("Africa_Eastern", new TimeZoneNames("Africa_Eastern", 
        new TimeZoneNames.Name(null, "აღმოსავლეთ აფრიკის დრო", null),
        null));

      put("Africa_Southern", new TimeZoneNames("Africa_Southern", 
        new TimeZoneNames.Name(null, "სამხრეთ აფრიკის დრო", null),
        null));

      put("Africa_Western", new TimeZoneNames("Africa_Western", 
        new TimeZoneNames.Name("დასავლეთ აფრიკის დრო", "დასავლეთ აფრიკის სტანდარტული დრო", "დასავლეთ აფრიკის ზაფხულის დრო"),
        null));

      put("Alaska", new TimeZoneNames("Alaska", 
        new TimeZoneNames.Name("ალასკის დრო", "ალასკის სტანდარტული დრო", "ალასკის ზაფხულის დრო"),
        null));

      put("Amazon", new TimeZoneNames("Amazon", 
        new TimeZoneNames.Name("ამაზონიის დრო", "ამაზონიის სტანდარტული დრო", "ამაზონიის ზაფხულის დრო"),
        null));

      put("America_Central", new TimeZoneNames("America_Central", 
        new TimeZoneNames.Name("ჩრდილოეთ ამერიკის ცენტრალური დრო", "ჩრდილოეთ ამერიკის ცენტრალური სტანდარტული დრო", "ჩრდილოეთ ამერიკის ცენტრალური ზაფხულის დრო"),
        null));

      put("America_Eastern", new TimeZoneNames("America_Eastern", 
        new TimeZoneNames.Name("ჩრდილოეთ ამერიკის აღმოსავლეთის დრო", "ჩრდილოეთ ამერიკის აღმოსავლეთის სტანდარტული დრო", "ჩრდილოეთ ამერიკის აღმოსავლეთის ზაფხულის დრო"),
        null));

      put("America_Mountain", new TimeZoneNames("America_Mountain", 
        new TimeZoneNames.Name("ჩრდილოეთ ამერიკის მაუნთინის დრო", "ჩრდილოეთ ამერიკის მაუნთინის სტანდარტული დრო", "ჩრდილოეთ ამერიკის მაუნთინის ზაფხულის დრო"),
        null));

      put("America_Pacific", new TimeZoneNames("America_Pacific", 
        new TimeZoneNames.Name("ჩრდილოეთ ამერიკის წყნარი ოკეანის დრო", "ჩრდილოეთ ამერიკის წყნარი ოკეანის სტანდარტული დრო", "ჩრდილოეთ ამერიკის წყნარი ოკეანის ზაფხულის დრო"),
        null));

      put("Apia", new TimeZoneNames("Apia", 
        new TimeZoneNames.Name("აპიას დრო", "აპიას სტანდარტული დრო", "აპიას ზაფხულის დრო"),
        null));

      put("Arabian", new TimeZoneNames("Arabian", 
        new TimeZoneNames.Name("არაბეთის დრო", "არაბეთის სტანდარტული დრო", "არაბეთის ზაფხულის დრო"),
        null));

      put("Argentina", new TimeZoneNames("Argentina", 
        new TimeZoneNames.Name("არგენტინის დრო", "არგენტინის სტანდარტული დრო", "არგენტინის ზაფხულის დრო"),
        null));

      put("Argentina_Western", new TimeZoneNames("Argentina_Western", 
        new TimeZoneNames.Name("დასავლეთ არგენტინის დრო", "დასავლეთ არგენტინის სტანდარტული დრო", "დასავლეთ არგენტინის ზაფხულის დრო"),
        null));

      put("Armenia", new TimeZoneNames("Armenia", 
        new TimeZoneNames.Name("სომხეთის დრო", "სომხეთის სტანდარტული დრო", "სომხეთის ზაფხულის დრო"),
        null));

      put("Atlantic", new TimeZoneNames("Atlantic", 
        new TimeZoneNames.Name("ატლანტიკის ოკეანის დრო", "ატლანტიკის ოკეანის სტანდარტული დრო", "ატლანტიკის ოკეანის ზაფხულის დრო"),
        null));

      put("Australia_Central", new TimeZoneNames("Australia_Central", 
        new TimeZoneNames.Name("ცენტრალური ავსტრალიის დრო", "ავსტრალიის ცენტრალური სტანდარტული დრო", "ავსტრალიის ცენტრალური ზაფხულის დრო"),
        null));

      put("Australia_CentralWestern", new TimeZoneNames("Australia_CentralWestern", 
        new TimeZoneNames.Name("ცენტრალური და დასავლეთ ავსტრალიის დრო", "ცენტრალური და დასავლეთ ავსტრალიის სტანდარტული დრო", "ცენტრალური და დასავლეთ ავსტრალიის ზაფხულის დრო"),
        null));

      put("Australia_Eastern", new TimeZoneNames("Australia_Eastern", 
        new TimeZoneNames.Name("აღმოსავლეთ ავსტრალიის დრო", "აღმოსავლეთ ავსტრალიის სტანდარტული დრო", "აღმოსავლეთ ავსტრალიის ზაფხულის დრო"),
        null));

      put("Australia_Western", new TimeZoneNames("Australia_Western", 
        new TimeZoneNames.Name("დასავლეთ ავსტრალიის დრო", "დასავლეთ ავსტრალიის სტანდარტული დრო", "დასავლეთ ავსტრალიის ზაფხულის დრო"),
        null));

      put("Azerbaijan", new TimeZoneNames("Azerbaijan", 
        new TimeZoneNames.Name("აზერბაიჯანის დრო", "აზერბაიჯანის სტანდარტული დრო", "აზერბაიჯანის ზაფხულის დრო"),
        null));

      put("Azores", new TimeZoneNames("Azores", 
        new TimeZoneNames.Name("აზორის კუნძულების დრო", "აზორის კუნძულების სტანდარტული დრო", "აზორის კუნძულების ზაფხულის დრო"),
        null));

      put("Bangladesh", new TimeZoneNames("Bangladesh", 
        new TimeZoneNames.Name("ბანგლადეშის დრო", "ბანგლადეშის სტანდარტული დრო", "ბანგლადეშის ზაფხულის დრო"),
        null));

      put("Bhutan", new TimeZoneNames("Bhutan", 
        new TimeZoneNames.Name(null, "ბუტანის დრო", null),
        null));

      put("Bolivia", new TimeZoneNames("Bolivia", 
        new TimeZoneNames.Name(null, "ბოლივიის დრო", null),
        null));

      put("Brasilia", new TimeZoneNames("Brasilia", 
        new TimeZoneNames.Name("ბრაზილიის დრო", "ბრაზილიის სტანდარტული დრო", "ბრაზილიის ზაფხულის დრო"),
        null));

      put("Brunei", new TimeZoneNames("Brunei", 
        new TimeZoneNames.Name(null, "ბრუნეი-დარუსალამის დრო", null),
        null));

      put("Cape_Verde", new TimeZoneNames("Cape_Verde", 
        new TimeZoneNames.Name("კაბო-ვერდეს დრო", "კაბო-ვერდეს სტანდარტული დრო", "კაბო-ვერდეს ზაფხულის დრო"),
        null));

      put("Chamorro", new TimeZoneNames("Chamorro", 
        new TimeZoneNames.Name(null, "ჩამოროს დრო", null),
        null));

      put("Chatham", new TimeZoneNames("Chatham", 
        new TimeZoneNames.Name("ჩატემის დრო", "ჩატემის სტანდარტული დრო", "ჩატემის ზაფხულის დრო"),
        null));

      put("Chile", new TimeZoneNames("Chile", 
        new TimeZoneNames.Name("ჩილეს დრო", "ჩილეს სტანდარტული დრო", "ჩილეს ზაფხულის დრო"),
        null));

      put("China", new TimeZoneNames("China", 
        new TimeZoneNames.Name("ჩინეთის დრო", "ჩინეთის სტანდარტული დრო", "ჩინეთის დროის სარტყელი"),
        null));

      put("Choibalsan", new TimeZoneNames("Choibalsan", 
        new TimeZoneNames.Name("ჩოიბალსანის დრო", "ჩოიბალსანის სტანდარტული დრო", "ჩოიბალსანის ზაფხულის დრო"),
        null));

      put("Christmas", new TimeZoneNames("Christmas", 
        new TimeZoneNames.Name(null, "შობის კუნძულის დრო", null),
        null));

      put("Cocos", new TimeZoneNames("Cocos", 
        new TimeZoneNames.Name(null, "ქოქოსის კუნძულების დრო", null),
        null));

      put("Colombia", new TimeZoneNames("Colombia", 
        new TimeZoneNames.Name("კოლუმბიის დრო", "კოლუმბიის სტანდარტული დრო", "კოლუმბიის ზაფხულის დრო"),
        null));

      put("Cook", new TimeZoneNames("Cook", 
        new TimeZoneNames.Name("კუკის კუნძულების დრო", "კუკის კუნძულების სტანდარტული დრო", "კუკის კუნძულების ნახევრად ზაფხულის დრო"),
        null));

      put("Cuba", new TimeZoneNames("Cuba", 
        new TimeZoneNames.Name("კუბის დრო", "კუბის სტანდარტული დრო", "კუბის ზაფხულის დრო"),
        null));

      put("Davis", new TimeZoneNames("Davis", 
        new TimeZoneNames.Name(null, "დევისის დრო", null),
        null));

      put("DumontDUrville", new TimeZoneNames("DumontDUrville", 
        new TimeZoneNames.Name(null, "დუმონ-დურვილის დრო", null),
        null));

      put("East_Timor", new TimeZoneNames("East_Timor", 
        new TimeZoneNames.Name(null, "აღმოსავლეთ ტიმორის დრო", null),
        null));

      put("Easter", new TimeZoneNames("Easter", 
        new TimeZoneNames.Name("აღდგომის კუნძულის დრო", "აღდგომის კუნძულის სტანდარტული დრო", "აღდგომის კუნძულის ზაფხულის დრო"),
        null));

      put("Ecuador", new TimeZoneNames("Ecuador", 
        new TimeZoneNames.Name(null, "ეკვადორის დრო", null),
        null));

      put("Europe_Central", new TimeZoneNames("Europe_Central", 
        new TimeZoneNames.Name("ცენტრალური ევროპის დრო", "ცენტრალური ევროპის სტანდარტული დრო", "ცენტრალური ევროპის ზაფხულის დრო"),
        null));

      put("Europe_Eastern", new TimeZoneNames("Europe_Eastern", 
        new TimeZoneNames.Name("აღმოსავლეთ ევროპის დრო", "აღმოსავლეთ ევროპის სტანდარტული დრო", "აღმოსავლეთ ევროპის ზაფხულის დრო"),
        null));

      put("Europe_Further_Eastern", new TimeZoneNames("Europe_Further_Eastern", 
        new TimeZoneNames.Name(null, "შორეული აღმოსავლეთ ევროპის დრო", null),
        null));

      put("Europe_Western", new TimeZoneNames("Europe_Western", 
        new TimeZoneNames.Name("დასავლეთ ევროპის დრო", "დასავლეთ ევროპის სტანდარტული დრო", "დასავლეთ ევროპის ზაფხულის დრო"),
        null));

      put("Falkland", new TimeZoneNames("Falkland", 
        new TimeZoneNames.Name("ფოლკლენდის კუნძულების დრო", "ფოლკლენდის კუნძულების სტანდარტული დრო", "ფოლკლენდის კუნძულების ზაფხულის დრო"),
        null));

      put("Fiji", new TimeZoneNames("Fiji", 
        new TimeZoneNames.Name("ფიჯის დრო", "ფიჯის სტანდარტული დრო", "ფიჯის ზაფხულის დრო"),
        null));

      put("French_Guiana", new TimeZoneNames("French_Guiana", 
        new TimeZoneNames.Name(null, "საფრანგეთის გვიანის დრო", null),
        null));

      put("French_Southern", new TimeZoneNames("French_Southern", 
        new TimeZoneNames.Name(null, "ფრანგული სამხრეთის და ანტარქტიკის დრო", null),
        null));

      put("Galapagos", new TimeZoneNames("Galapagos", 
        new TimeZoneNames.Name(null, "გალაპაგოსის დრო", null),
        null));

      put("Gambier", new TimeZoneNames("Gambier", 
        new TimeZoneNames.Name(null, "გამბიერის დრო", null),
        null));

      put("Georgia", new TimeZoneNames("Georgia", 
        new TimeZoneNames.Name("საქართველოს დრო", "საქართველოს სტანდარტული დრო", "საქართველოს ზაფხულის დრო"),
        null));

      put("Gilbert_Islands", new TimeZoneNames("Gilbert_Islands", 
        new TimeZoneNames.Name(null, "გილბერტის კუნძულების დრო", null),
        null));

      put("GMT", new TimeZoneNames("GMT", 
        new TimeZoneNames.Name(null, "გრინვიჩის საშუალო დრო", null),
        null));

      put("Greenland_Eastern", new TimeZoneNames("Greenland_Eastern", 
        new TimeZoneNames.Name("აღმოსავლეთ გრენლანდიის დრო", "აღმოსავლეთ გრენლანდიის სტანდარტული დრო", "აღმოსავლეთ გრენლანდიის ზაფხულის დრო"),
        null));

      put("Greenland_Western", new TimeZoneNames("Greenland_Western", 
        new TimeZoneNames.Name("დასავლეთ გრენლანდიის დრო", "დასავლეთ გრენლანდიის სტანდარტული დრო", "დასავლეთ გრენლანდიის ზაფხულის დრო"),
        null));

      put("Gulf", new TimeZoneNames("Gulf", 
        new TimeZoneNames.Name(null, "სპარსეთის ყურის სტანდარტული დრო", null),
        null));

      put("Guyana", new TimeZoneNames("Guyana", 
        new TimeZoneNames.Name(null, "გაიანის დრო", null),
        null));

      put("Hawaii_Aleutian", new TimeZoneNames("Hawaii_Aleutian", 
        new TimeZoneNames.Name("ჰავაისა და ალეუტის დრო", "ჰავაისა და ალეუტის სტანდარტული დრო", "ჰავაისა და ალეუტის ზაფხულის დრო"),
        null));

      put("Hong_Kong", new TimeZoneNames("Hong_Kong", 
        new TimeZoneNames.Name("ჰონკონგის დრო", "ჰონკონგის სტანდარტული დრო", "ჰონკონგის ზაფხულის დრო"),
        null));

      put("Hovd", new TimeZoneNames("Hovd", 
        new TimeZoneNames.Name("ჰოვდის დრო", "ჰოვდის სტანდარტული დრო", "ჰოვდის ზაფხულის დრო"),
        null));

      put("India", new TimeZoneNames("India", 
        new TimeZoneNames.Name(null, "ინდოეთის დრო", null),
        null));

      put("Indian_Ocean", new TimeZoneNames("Indian_Ocean", 
        new TimeZoneNames.Name(null, "ინდოეთის ოკეანის კუნძულების დრო", null),
        null));

      put("Indochina", new TimeZoneNames("Indochina", 
        new TimeZoneNames.Name(null, "ინდოჩინეთის დრო", null),
        null));

      put("Indonesia_Central", new TimeZoneNames("Indonesia_Central", 
        new TimeZoneNames.Name(null, "ცენტრალური ინდონეზიის დრო", null),
        null));

      put("Indonesia_Eastern", new TimeZoneNames("Indonesia_Eastern", 
        new TimeZoneNames.Name(null, "აღმოსავლეთ ინდონეზიის დრო", null),
        null));

      put("Indonesia_Western", new TimeZoneNames("Indonesia_Western", 
        new TimeZoneNames.Name(null, "დასავლეთ ინდონეზიის დრო", null),
        null));

      put("Iran", new TimeZoneNames("Iran", 
        new TimeZoneNames.Name("ირანის დრო", "ირანის სტანდარტული დრო", "ირანის დროის სარტყელი"),
        null));

      put("Irkutsk", new TimeZoneNames("Irkutsk", 
        new TimeZoneNames.Name("ირკუტსკის დრო", "ირკუტსკის სტანდარტული დრო", "ირკუტსკის ზაფხულის დრო"),
        null));

      put("Israel", new TimeZoneNames("Israel", 
        new TimeZoneNames.Name("ისრაელის დრო", "ისრაელის სტანდარტული დრო", "ისრაელის ზაფხულის დრო"),
        null));

      put("Japan", new TimeZoneNames("Japan", 
        new TimeZoneNames.Name("იაპონიის დრო", "იაპონიის სტანდარტული დრო", "იაპონიის ზაფხულის დრო"),
        null));

      put("Kazakhstan_Eastern", new TimeZoneNames("Kazakhstan_Eastern", 
        new TimeZoneNames.Name(null, "აღმოსავლეთ ყაზახეთის დრო", null),
        null));

      put("Kazakhstan_Western", new TimeZoneNames("Kazakhstan_Western", 
        new TimeZoneNames.Name(null, "დასავლეთ ყაზახეთის დრო", null),
        null));

      put("Korea", new TimeZoneNames("Korea", 
        new TimeZoneNames.Name("კორეის დრო", "კორეის სტანდარტული დრო", "კორეის ზაფხულის დრო"),
        null));

      put("Kosrae", new TimeZoneNames("Kosrae", 
        new TimeZoneNames.Name(null, "კოსრეს დრო", null),
        null));

      put("Krasnoyarsk", new TimeZoneNames("Krasnoyarsk", 
        new TimeZoneNames.Name("კრასნოიარსკის დრო", "კრასნოიარსკის სტანდარტული დრო", "კრასნოიარსკის ზაფხულის დრო"),
        null));

      put("Kyrgystan", new TimeZoneNames("Kyrgystan", 
        new TimeZoneNames.Name(null, "ყირგიზეთის დრო", null),
        null));

      put("Line_Islands", new TimeZoneNames("Line_Islands", 
        new TimeZoneNames.Name(null, "ლაინის კუნძულების დრო", null),
        null));

      put("Lord_Howe", new TimeZoneNames("Lord_Howe", 
        new TimeZoneNames.Name("ლორდ-ჰაუს დრო", "ლორდ-ჰაუს სტანდარტული დრო", "ლორდ-ჰაუს ზაფხულის დრო"),
        null));

      put("Macquarie", new TimeZoneNames("Macquarie", 
        new TimeZoneNames.Name(null, "მაქკუორის კუნძულის დრო", null),
        null));

      put("Magadan", new TimeZoneNames("Magadan", 
        new TimeZoneNames.Name("მაგადანის დრო", "მაგადანის სტანდარტული დრო", "მაგადანის ზაფხულის დრო"),
        null));

      put("Malaysia", new TimeZoneNames("Malaysia", 
        new TimeZoneNames.Name(null, "მალაიზიის დრო", null),
        null));

      put("Maldives", new TimeZoneNames("Maldives", 
        new TimeZoneNames.Name(null, "მალდივების დრო", null),
        null));

      put("Marquesas", new TimeZoneNames("Marquesas", 
        new TimeZoneNames.Name(null, "მარკიზის კუნძულების დრო", null),
        null));

      put("Marshall_Islands", new TimeZoneNames("Marshall_Islands", 
        new TimeZoneNames.Name(null, "მარშალის კუნძულების დრო", null),
        null));

      put("Mauritius", new TimeZoneNames("Mauritius", 
        new TimeZoneNames.Name("მავრიკის დრო", "მავრიკის სტანდარტული დრო", "მავრიკის ზაფხულის დრო"),
        null));

      put("Mawson", new TimeZoneNames("Mawson", 
        new TimeZoneNames.Name(null, "მოუსონის დრო", null),
        null));

      put("Mexico_Northwest", new TimeZoneNames("Mexico_Northwest", 
        new TimeZoneNames.Name("ჩრდილო-აღმოსავლეთ მექსიკის დრო", "ჩრდილო-დასავლეთ მექსიკის დრო", "ჩრდილო-დასავლეთ მექსიკის ზაფხულის დრო"),
        null));

      put("Mexico_Pacific", new TimeZoneNames("Mexico_Pacific", 
        new TimeZoneNames.Name("მექსიკის წყნარი ოკეანის დრო", "მექსიკის წყნარი ოკეანის სტანდარტული დრო", "მექსიკის წყნარი ოკეანის ზაფხულის დრო"),
        null));

      put("Mongolia", new TimeZoneNames("Mongolia", 
        new TimeZoneNames.Name("ულან-ბატორის დრო", "ულან-ბატორის სტანდარტული დრო", "ულან-ბატორის ზაფხულის დრო"),
        null));

      put("Moscow", new TimeZoneNames("Moscow", 
        new TimeZoneNames.Name("მოსკოვის დრო", "მოსკოვის სტანდარტული დრო", "მოსკოვის ზაფხულის დრო"),
        null));

      put("Myanmar", new TimeZoneNames("Myanmar", 
        new TimeZoneNames.Name(null, "მიანმარის დრო", null),
        null));

      put("Nauru", new TimeZoneNames("Nauru", 
        new TimeZoneNames.Name(null, "ნაურუს დრო", null),
        null));

      put("Nepal", new TimeZoneNames("Nepal", 
        new TimeZoneNames.Name(null, "ნეპალის დრო", null),
        null));

      put("New_Caledonia", new TimeZoneNames("New_Caledonia", 
        new TimeZoneNames.Name("ახალი კალედონიის დრო", "ახალი კალედონიის სტანდარტული დრო", "ახალი კალედონიის ზაფხულის დრო"),
        null));

      put("New_Zealand", new TimeZoneNames("New_Zealand", 
        new TimeZoneNames.Name("ახალი ზელანდიის დრო", "ახალი ზელანდიის სტანდარტული დრო", "ახალი ზელანდიის ზაფხულის დრო"),
        null));

      put("Newfoundland", new TimeZoneNames("Newfoundland", 
        new TimeZoneNames.Name("ნიუფაუნდლენდის დრო", "ნიუფაუნდლენდის სტანდარტული დრო", "ნიუფაუნდლენდის ზაფხულის დრო"),
        null));

      put("Niue", new TimeZoneNames("Niue", 
        new TimeZoneNames.Name(null, "ნიუეს დრო", null),
        null));

      put("Norfolk", new TimeZoneNames("Norfolk", 
        new TimeZoneNames.Name(null, "ნორფოლკის კუნძულის დრო", null),
        null));

      put("Noronha", new TimeZoneNames("Noronha", 
        new TimeZoneNames.Name("ფერნანდო-დე-ნორონიას დრო", "ფერნანდო-დე-ნორონიას სტანდარტული დრო", "ფერნანდო-დე-ნორონიას ზაფხულის დრო"),
        null));

      put("Novosibirsk", new TimeZoneNames("Novosibirsk", 
        new TimeZoneNames.Name("ნოვოსიბირსკის დრო", "ნოვოსიბირსკის სტანდარტული დრო", "ნოვოსიბირსკის ზაფხულის დრო"),
        null));

      put("Omsk", new TimeZoneNames("Omsk", 
        new TimeZoneNames.Name("ომსკის დრო", "ომსკის სტანდარტული დრო", "ომსკის ზაფხულის დრო"),
        null));

      put("Pakistan", new TimeZoneNames("Pakistan", 
        new TimeZoneNames.Name("პაკისტანის დრო", "პაკისტანის სტანდარტული დრო", "პაკისტანის ზაფხულის დრო"),
        null));

      put("Palau", new TimeZoneNames("Palau", 
        new TimeZoneNames.Name(null, "პალაუს დრო", null),
        null));

      put("Papua_New_Guinea", new TimeZoneNames("Papua_New_Guinea", 
        new TimeZoneNames.Name(null, "პაპუა-ახალი გვინეის დრო", null),
        null));

      put("Paraguay", new TimeZoneNames("Paraguay", 
        new TimeZoneNames.Name("პარაგვაის დრო", "პარაგვაის სტანდარტული დრო", "პარაგვაის ზაფხულის დრო"),
        null));

      put("Peru", new TimeZoneNames("Peru", 
        new TimeZoneNames.Name("პერუს დრო", "პერუს სტანდარტული დრო", "პერუს ზაფხულის დრო"),
        null));

      put("Philippines", new TimeZoneNames("Philippines", 
        new TimeZoneNames.Name("ფილიპინების დრო", "ფილიპინების სტანდარტული დრო", "ფილიპინების ზაფხულის დრო"),
        null));

      put("Phoenix_Islands", new TimeZoneNames("Phoenix_Islands", 
        new TimeZoneNames.Name(null, "ფენიქსის კუნძულების დრო", null),
        null));

      put("Pierre_Miquelon", new TimeZoneNames("Pierre_Miquelon", 
        new TimeZoneNames.Name("სენ-პიერის და მიკელონის დრო", "სენ-პიერის და მიკელონის სტანდარტული დრო", "სენ-პიერის და მიკელონის ზაფხულის დრო"),
        null));

      put("Pitcairn", new TimeZoneNames("Pitcairn", 
        new TimeZoneNames.Name(null, "პიტკერნის დრო", null),
        null));

      put("Ponape", new TimeZoneNames("Ponape", 
        new TimeZoneNames.Name(null, "პონაპეს დრო", null),
        null));

      put("Pyongyang", new TimeZoneNames("Pyongyang", 
        new TimeZoneNames.Name(null, "ფხენიანის დრო", null),
        null));

      put("Reunion", new TimeZoneNames("Reunion", 
        new TimeZoneNames.Name(null, "რეიუნიონის დრო", null),
        null));

      put("Rothera", new TimeZoneNames("Rothera", 
        new TimeZoneNames.Name(null, "როთერის დრო", null),
        null));

      put("Sakhalin", new TimeZoneNames("Sakhalin", 
        new TimeZoneNames.Name("სახალინის დრო", "სახალინის სტანდარტული დრო", "სახალინის ზაფხულის დრო"),
        null));

      put("Samoa", new TimeZoneNames("Samoa", 
        new TimeZoneNames.Name("სამოას დრო", "სამოას სტანდარტული დრო", "სამოას ზაფხულის დრო"),
        null));

      put("Seychelles", new TimeZoneNames("Seychelles", 
        new TimeZoneNames.Name(null, "სეიშელის კუნძულების დრო", null),
        null));

      put("Singapore", new TimeZoneNames("Singapore", 
        new TimeZoneNames.Name(null, "სინგაპურის დრო", null),
        null));

      put("Solomon", new TimeZoneNames("Solomon", 
        new TimeZoneNames.Name(null, "სოლომონის კუნძულების დრო", null),
        null));

      put("South_Georgia", new TimeZoneNames("South_Georgia", 
        new TimeZoneNames.Name(null, "სამხრეთ გეორგიის დრო", null),
        null));

      put("Suriname", new TimeZoneNames("Suriname", 
        new TimeZoneNames.Name(null, "სურინამის დრო", null),
        null));

      put("Syowa", new TimeZoneNames("Syowa", 
        new TimeZoneNames.Name(null, "სიოვას დრო", null),
        null));

      put("Tahiti", new TimeZoneNames("Tahiti", 
        new TimeZoneNames.Name(null, "ტაიტის დრო", null),
        null));

      put("Taipei", new TimeZoneNames("Taipei", 
        new TimeZoneNames.Name("ტაიბეის დრო", "ტაიბეის სტანდარტული დრო", "ტაიბეის ზაფხულის დრო"),
        null));

      put("Tajikistan", new TimeZoneNames("Tajikistan", 
        new TimeZoneNames.Name(null, "ტაჯიკეთის დრო", null),
        null));

      put("Tokelau", new TimeZoneNames("Tokelau", 
        new TimeZoneNames.Name(null, "ტოკელაუს დრო", null),
        null));

      put("Tonga", new TimeZoneNames("Tonga", 
        new TimeZoneNames.Name("ტონგის დრო", "ტონგის სტანდარტული დრო", "ტონგის ზაფხულის დრო"),
        null));

      put("Truk", new TimeZoneNames("Truk", 
        new TimeZoneNames.Name(null, "ჩუუკის დრო", null),
        null));

      put("Turkmenistan", new TimeZoneNames("Turkmenistan", 
        new TimeZoneNames.Name("თურქმენეთის დრო", "თურქმენეთის სტანდარტული დრო", "თურქმენეთის ზაფხულის დრო"),
        null));

      put("Tuvalu", new TimeZoneNames("Tuvalu", 
        new TimeZoneNames.Name(null, "ტუვალუს დრო", null),
        null));

      put("Uruguay", new TimeZoneNames("Uruguay", 
        new TimeZoneNames.Name("ურუგვაის დრო", "ურუგვაის სტანდარტული დრო", "ურუგვაის ზაფხულის დრო"),
        null));

      put("Uzbekistan", new TimeZoneNames("Uzbekistan", 
        new TimeZoneNames.Name("უზბეკეთის დრო", "უზბეკეთის სტანდარტული დრო", "უზბეკეთის ზაფხულის დრო"),
        null));

      put("Vanuatu", new TimeZoneNames("Vanuatu", 
        new TimeZoneNames.Name("ვანუატუს დრო", "ვანუატუს სტანდარტული დრო", "ვანუატუს ზაფხულის დრო"),
        null));

      put("Venezuela", new TimeZoneNames("Venezuela", 
        new TimeZoneNames.Name(null, "ვენესუელის დრო", null),
        null));

      put("Vladivostok", new TimeZoneNames("Vladivostok", 
        new TimeZoneNames.Name("ვლადივოსტოკის დრო", "ვლადივოსტოკის სტანდარტული დრო", "ვლადივოსტოკის ზაფხულის დრო"),
        null));

      put("Volgograd", new TimeZoneNames("Volgograd", 
        new TimeZoneNames.Name("ვოლგოგრადის დრო", "ვოლგოგრადის სტანდარტული დრო", "ვოლგოგრადის ზაფხულის დრო"),
        null));

      put("Vostok", new TimeZoneNames("Vostok", 
        new TimeZoneNames.Name(null, "ვოსტოკის დრო", null),
        null));

      put("Wake", new TimeZoneNames("Wake", 
        new TimeZoneNames.Name(null, "ვეიკის კუნძულის დრო", null),
        null));

      put("Wallis", new TimeZoneNames("Wallis", 
        new TimeZoneNames.Name(null, "ვოლისი და ფუტუნას დრო", null),
        null));

      put("Yakutsk", new TimeZoneNames("Yakutsk", 
        new TimeZoneNames.Name("იაკუტსკის დრო", "იაკუტსკის სტანდარტული დრო", "იაკუტსკის ზაფხულის დრო"),
        null));

      put("Yekaterinburg", new TimeZoneNames("Yekaterinburg", 
        new TimeZoneNames.Name("ეკატერინბურგის დრო", "ეკატერინბურგის სტანდარტული დრო", "ეკატერინბურგის ზაფხულის დრო"),
        null));
    } };
  }

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

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

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

  @Override
  public boolean formatSkeleton(String skeleton, ZonedDateTime d, StringBuilder b) {
    if (skeleton == null) {
      return false;
    }
    switch (skeleton) {
      case "d": {
        // Pattern: "d"
        formatField(d, 'd', 1, b);
        break;
      }
      case "E": {
        // Pattern: "ccc"
        formatField(d, 'c', 3, b);
        break;
      }
      case "Ed": {
        // Pattern: "d E"
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'E', 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 MMM. y G"
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 3, b);
        b.append(". ");
        formatField(d, 'y', 1, b);
        b.append(" ");
        formatField(d, 'G', 1, b);
        break;
      }
      case "GyMMMEd": {
        // Pattern: "E, d MMM. y G"
        formatField(d, 'E', 1, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 3, b);
        b.append(". ");
        formatField(d, 'y', 1, b);
        b.append(" ");
        formatField(d, 'G', 1, b);
        break;
      }
      case "h": {
        // Pattern: "h a"
        formatField(d, 'h', 1, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        break;
      }
      case "H": {
        // Pattern: "HH"
        formatField(d, 'H', 2, b);
        break;
      }
      case "hm": {
        // Pattern: "h:mm a"
        formatField(d, 'h', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        break;
      }
      case "Hm": {
        // Pattern: "HH:mm"
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        break;
      }
      case "hms": {
        // Pattern: "h:mm:ss a"
        formatField(d, 'h', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        break;
      }
      case "Hms": {
        // Pattern: "HH:mm:ss"
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        break;
      }
      case "hmsv": {
        // Pattern: "h:mm:ss a v"
        formatField(d, 'h', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        b.append(" ");
        formatField(d, 'v', 1, b);
        break;
      }
      case "Hmsv": {
        // Pattern: "HH:mm:ss v"
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        b.append(" ");
        formatField(d, 'v', 1, b);
        break;
      }
      case "hmv": {
        // Pattern: "h:mm a v"
        formatField(d, 'h', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        b.append(" ");
        formatField(d, 'v', 1, b);
        break;
      }
      case "Hmv": {
        // Pattern: "HH:mm v"
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(" ");
        formatField(d, 'v', 1, b);
        break;
      }
      case "M": {
        // Pattern: "L"
        formatField(d, 'L', 1, b);
        break;
      }
      case "Md": {
        // Pattern: "d.M"
        formatField(d, 'd', 1, b);
        b.append(".");
        formatField(d, 'M', 1, b);
        break;
      }
      case "MEd": {
        // Pattern: "E, d.M"
        formatField(d, 'E', 1, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        b.append(".");
        formatField(d, 'M', 1, b);
        break;
      }
      case "MMM": {
        // Pattern: "LLL"
        formatField(d, 'L', 3, b);
        break;
      }
      case "MMMd": {
        // Pattern: "d MMM"
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 3, b);
        break;
      }
      case "MMMEd": {
        // Pattern: "E, d MMM"
        formatField(d, 'E', 1, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 3, b);
        break;
      }
      case "MMMMd": {
        // Pattern: "d MMMM"
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 4, b);
        break;
      }
      case "MMMMW-count-one": {
        // Pattern: "MMM-ის კვირა W"
        formatField(d, 'M', 3, b);
        b.append("-ის კვირა ");
        formatField(d, 'W', 1, b);
        break;
      }
      case "MMMMW-count-other": {
        // Pattern: "MMM-ის კვირა W"
        formatField(d, 'M', 3, b);
        b.append("-ის კვირა ");
        formatField(d, 'W', 1, b);
        break;
      }
      case "ms": {
        // Pattern: "mm:ss"
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        break;
      }
      case "y": {
        // Pattern: "y"
        formatField(d, 'y', 1, b);
        break;
      }
      case "yM": {
        // Pattern: "M.y"
        formatField(d, 'M', 1, b);
        b.append(".");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yMd": {
        // Pattern: "d.M.y"
        formatField(d, 'd', 1, b);
        b.append(".");
        formatField(d, 'M', 1, b);
        b.append(".");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yMEd": {
        // Pattern: "E, d.M.y"
        formatField(d, 'E', 1, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        b.append(".");
        formatField(d, 'M', 1, b);
        b.append(".");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yMMM": {
        // Pattern: "MMM. y"
        formatField(d, 'M', 3, b);
        b.append(". ");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yMMMd": {
        // Pattern: "d MMM. y"
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 3, b);
        b.append(". ");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yMMMEd": {
        // Pattern: "E, d MMM. y"
        formatField(d, 'E', 1, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 3, b);
        b.append(". ");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yMMMM": {
        // Pattern: "MMMM, y"
        formatField(d, 'M', 4, b);
        b.append(", ");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yQQQ": {
        // Pattern: "QQQ, y"
        formatField(d, 'Q', 3, b);
        b.append(", ");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yQQQQ": {
        // Pattern: "QQQQ, y"
        formatField(d, 'Q', 4, b);
        b.append(", ");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yw-count-one": {
        // Pattern: "კვირა w, y"
        b.append("კვირა ");
        formatField(d, 'w', 1, b);
        b.append(", ");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yw-count-other": {
        // Pattern: "კვირა w, y"
        b.append("კვირა ");
        formatField(d, 'w', 1, b);
        b.append(", ");
        formatField(d, 'y', 1, b);
        break;
      }
      default: {
        return false;
      }
    }
    return true;
  }

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

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

  protected void wrapTimeZoneRegion(StringBuilder b, String region) {
    b.append("დრო: ");
    b.append(region);
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy