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

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

    this.timezoneNames = new HashMap() { {

      put("Europe/Dublin", new TimeZoneNames("Europe/Dublin",   new TimeZoneNames.Name(null, null, "آئرش اسٹینڈرڈ ٹائم"),
        null));

      put("Europe/London", new TimeZoneNames("Europe/London",   new TimeZoneNames.Name(null, null, "برٹش سمر ٹائم"),
        null));

      put("Etc/UTC", new TimeZoneNames("Etc/UTC",   new TimeZoneNames.Name(null, "کوآرڈینیٹڈ یونیورسل ٹائم", null),
        new TimeZoneNames.Name(null, "UTC", null)));
    } };

    this.metazoneNames = new HashMap() { {

      put("Afghanistan", new TimeZoneNames("Afghanistan", 
        new TimeZoneNames.Name(null, "افغانستان کا وقت", null),
        null));

      put("Africa_Central", new TimeZoneNames("Africa_Central", 
        new TimeZoneNames.Name(null, "وسطی افریقہ ٹائم", null),
        null));

      put("Africa_Eastern", new TimeZoneNames("Africa_Eastern", 
        new TimeZoneNames.Name(null, "مشرقی افریقہ ٹائم", null),
        null));

      put("Africa_Southern", new TimeZoneNames("Africa_Southern", 
        new TimeZoneNames.Name(null, "جنوبی افریقہ سٹینڈرڈ ٹائم", null),
        null));

      put("Africa_Western", new TimeZoneNames("Africa_Western", 
        new TimeZoneNames.Name("مغربی افریقہ ٹائم", "مغربی افریقہ سٹینڈرڈ ٹائم", "مغربی افریقہ سمر ٹائم"),
        null));

      put("Alaska", new TimeZoneNames("Alaska", 
        new TimeZoneNames.Name("الاسکا ٹائم", "الاسکا اسٹینڈرڈ ٹائم", "الاسکا ڈے لائٹ ٹائم"),
        null));

      put("Amazon", new TimeZoneNames("Amazon", 
        new TimeZoneNames.Name("امیزون ٹائم", "ایمیزون سٹینڈرڈ ٹائم", "امیزون کا موسم گرما کا وقت"),
        null));

      put("America_Central", new TimeZoneNames("America_Central", 
        new TimeZoneNames.Name("سنٹرل ٹائم", "سنٹرل اسٹینڈرڈ ٹائم", "سنٹرل ڈے لائٹ ٹائم"),
        null));

      put("America_Eastern", new TimeZoneNames("America_Eastern", 
        new TimeZoneNames.Name("ایسٹرن ٹائم", "ایسٹرن اسٹینڈرڈ ٹائم", "ایسٹرن ڈے لائٹ ٹائم"),
        null));

      put("America_Mountain", new TimeZoneNames("America_Mountain", 
        new TimeZoneNames.Name("ماؤنٹین ٹائم", "ماؤنٹین اسٹینڈرڈ ٹائم", "ماؤنٹین ڈے لائٹ ٹائم"),
        null));

      put("America_Pacific", new TimeZoneNames("America_Pacific", 
        new TimeZoneNames.Name("پیسفک ٹائم", "پیسفک اسٹینڈرڈ ٹائم", "پیسفک ڈے لائٹ ٹائم"),
        null));

      put("Anadyr", new TimeZoneNames("Anadyr", 
        new TimeZoneNames.Name("انیدر ٹائم", "انیدر اسٹینڈرڈ ٹائم", "انیدر سمر ٹائم"),
        null));

      put("Apia", new TimeZoneNames("Apia", 
        new TimeZoneNames.Name("ایپیا ٹائم", "ایپیا سٹینڈرڈ ٹائم", "ایپیا ڈے لائٹ ٹائم"),
        null));

      put("Arabian", new TimeZoneNames("Arabian", 
        new TimeZoneNames.Name("عرب کا وقت", "عرب کا معیاری وقت", "عرب ڈے لائٹ ٹائم"),
        null));

      put("Argentina", new TimeZoneNames("Argentina", 
        new TimeZoneNames.Name("ارجنٹینا ٹائم", "ارجنٹینا سٹینڈرڈ ٹائم", "ارجنٹینا سمر ٹائم"),
        null));

      put("Argentina_Western", new TimeZoneNames("Argentina_Western", 
        new TimeZoneNames.Name("مغربی ارجنٹینا کا وقت", "مغربی ارجنٹینا کا معیاری وقت", "مغربی ارجنٹینا کا موسم گرما کا وقت"),
        null));

      put("Armenia", new TimeZoneNames("Armenia", 
        new TimeZoneNames.Name("آرمینیا کا وقت", "آرمینیا کا معیاری وقت", "آرمینیا کا موسم گرما کا وقت"),
        null));

      put("Atlantic", new TimeZoneNames("Atlantic", 
        new TimeZoneNames.Name("اٹلانٹک ٹائم", "اٹلانٹک اسٹینڈرڈ ٹائم", "اٹلانٹک ڈے لائٹ ٹائم"),
        null));

      put("Australia_Central", new TimeZoneNames("Australia_Central", 
        new TimeZoneNames.Name("سنٹرل آسٹریلیا ٹائم", "آسٹریلین سنٹرل اسٹینڈرڈ ٹائم", "آسٹریلین سنٹرل ڈے لائٹ ٹائم"),
        null));

      put("Australia_CentralWestern", new TimeZoneNames("Australia_CentralWestern", 
        new TimeZoneNames.Name("آسٹریلین سنٹرل ویسٹرن ٹائم", "آسٹریلین سنٹرل ویسٹرن اسٹینڈرڈ ٹائم", "آسٹریلین سنٹرل ویسٹرن ڈے لائٹ ٹائم"),
        null));

      put("Australia_Eastern", new TimeZoneNames("Australia_Eastern", 
        new TimeZoneNames.Name("ایسٹرن آسٹریلیا ٹائم", "آسٹریلین ایسٹرن اسٹینڈرڈ ٹائم", "آسٹریلین ایسٹرن ڈے لائٹ ٹائم"),
        null));

      put("Australia_Western", new TimeZoneNames("Australia_Western", 
        new TimeZoneNames.Name("ویسٹرن آسٹریلیا ٹائم", "آسٹریلیا ویسٹرن اسٹینڈرڈ ٹائم", "آسٹریلین ویسٹرن ڈے لائٹ ٹائم"),
        null));

      put("Azerbaijan", new TimeZoneNames("Azerbaijan", 
        new TimeZoneNames.Name("آذربائیجان کا وقت", "آذربائیجان کا معیاری وقت", "آذربائیجان کا موسم گرما کا وقت"),
        null));

      put("Azores", new TimeZoneNames("Azores", 
        new TimeZoneNames.Name("ازوریس کا وقت", "ازوریس کا معیاری وقت", "ازوریس کا موسم گرما کا وقت"),
        null));

      put("Bangladesh", new TimeZoneNames("Bangladesh", 
        new TimeZoneNames.Name("بنگلہ دیش کا وقت", "بنگلہ دیش کا معیاری وقت", "بنگلہ دیش کا موسم گرما کا وقت"),
        null));

      put("Bhutan", new TimeZoneNames("Bhutan", 
        new TimeZoneNames.Name(null, "بھوٹان کا وقت", null),
        null));

      put("Bolivia", new TimeZoneNames("Bolivia", 
        new TimeZoneNames.Name(null, "بولیویا کا وقت", null),
        null));

      put("Brasilia", new TimeZoneNames("Brasilia", 
        new TimeZoneNames.Name("برازیلیا ٹائم", "برازیلیا اسٹینڈرڈ ٹائم", "برازیلیا سمر ٹائم"),
        null));

      put("Brunei", new TimeZoneNames("Brunei", 
        new TimeZoneNames.Name(null, "برونئی دارالسلام ٹائم", null),
        null));

      put("Cape_Verde", new TimeZoneNames("Cape_Verde", 
        new TimeZoneNames.Name("کیپ ورڈی ٹائم", "کیپ ورڈی سٹینڈرڈ ٹائم", "کیپ ورڈی سمر ٹائم"),
        null));

      put("Chamorro", new TimeZoneNames("Chamorro", 
        new TimeZoneNames.Name(null, "چامورو سٹینڈرڈ ٹائم", null),
        null));

      put("Chatham", new TimeZoneNames("Chatham", 
        new TimeZoneNames.Name("چیتھم ٹائم", "چیتھم اسٹینڈرڈ ٹائم", "چیتھم ڈے لائٹ ٹائم"),
        null));

      put("Chile", new TimeZoneNames("Chile", 
        new TimeZoneNames.Name("چلی کا وقت", "چلی کا معیاری وقت", "چلی کا موسم گرما کا وقت"),
        null));

      put("China", new TimeZoneNames("China", 
        new TimeZoneNames.Name("چین ٹائم", "چین سٹینڈرڈ ٹائم", "چینی ڈے لائٹ ٹائم"),
        null));

      put("Choibalsan", new TimeZoneNames("Choibalsan", 
        new TimeZoneNames.Name("کوئبلسان ٹائم", "کوئبلسان سٹینڈرڈ ٹائم", "کوائبلسان سمر ٹائم"),
        null));

      put("Christmas", new TimeZoneNames("Christmas", 
        new TimeZoneNames.Name(null, "کرسمس آئلینڈ ٹائم", null),
        null));

      put("Cocos", new TimeZoneNames("Cocos", 
        new TimeZoneNames.Name(null, "کوکوس آئلینڈز ٹائم", null),
        null));

      put("Colombia", new TimeZoneNames("Colombia", 
        new TimeZoneNames.Name("کولمبیا ٹائم", "کولمبیا کا معیاری وقت", "کولمبیا کا موسم گرما کا وقت"),
        null));

      put("Cook", new TimeZoneNames("Cook", 
        new TimeZoneNames.Name("کک آئلینڈز ٹائم", "کک آئلینڈز سٹینڈرڈ ٹائم", "کک آئلینڈز نصف سمر ٹائم"),
        null));

      put("Cuba", new TimeZoneNames("Cuba", 
        new TimeZoneNames.Name("کیوبا ٹائم", "کیوبا اسٹینڈرڈ ٹائم", "کیوبا ڈے لائٹ ٹائم"),
        null));

      put("Davis", new TimeZoneNames("Davis", 
        new TimeZoneNames.Name(null, "ڈیوس ٹائم", null),
        null));

      put("DumontDUrville", new TimeZoneNames("DumontDUrville", 
        new TimeZoneNames.Name(null, "ڈومونٹ-ڈی’ارویلے ٹائم", null),
        null));

      put("East_Timor", new TimeZoneNames("East_Timor", 
        new TimeZoneNames.Name(null, "مشرقی تیمور ٹائم", null),
        null));

      put("Easter", new TimeZoneNames("Easter", 
        new TimeZoneNames.Name("ایسٹر آئلینڈ کا وقت", "ایسٹر آئلینڈ کا معیاری وقت", "ایسٹر آئلینڈ کا موسم گرما کا وقت"),
        null));

      put("Ecuador", new TimeZoneNames("Ecuador", 
        new TimeZoneNames.Name(null, "ایکواڈور کا وقت", null),
        null));

      put("Europe_Central", new TimeZoneNames("Europe_Central", 
        new TimeZoneNames.Name("وسط یورپ کا وقت", "وسطی یورپ کا معیاری وقت", "وسطی یورپ کا موسم گرما کا وقت"),
        null));

      put("Europe_Eastern", new TimeZoneNames("Europe_Eastern", 
        new TimeZoneNames.Name("مشرقی یورپ کا وقت", "مشرقی یورپ کا معیاری وقت", "مشرقی یورپ کا موسم گرما کا وقت"),
        null));

      put("Europe_Further_Eastern", new TimeZoneNames("Europe_Further_Eastern", 
        new TimeZoneNames.Name(null, "بعید مشرقی یورپی وقت", null),
        null));

      put("Europe_Western", new TimeZoneNames("Europe_Western", 
        new TimeZoneNames.Name("مغربی یورپ کا وقت", "مغربی یورپ کا معیاری وقت", "مغربی یورپ کا موسم گرما کا وقت"),
        null));

      put("Falkland", new TimeZoneNames("Falkland", 
        new TimeZoneNames.Name("فاک لینڈ آئلینڈز کا وقت", "فاک لینڈ آئلینڈز کا معیاری وقت", "فاک لینڈ آئلینڈز کا موسم گرما کا وقت"),
        null));

      put("Fiji", new TimeZoneNames("Fiji", 
        new TimeZoneNames.Name("فجی ٹائم", "فجی سٹینڈرڈ ٹائم", "فجی سمر ٹائم"),
        null));

      put("French_Guiana", new TimeZoneNames("French_Guiana", 
        new TimeZoneNames.Name(null, "فرینچ گیانا کا وقت", null),
        null));

      put("French_Southern", new TimeZoneNames("French_Southern", 
        new TimeZoneNames.Name(null, "فرینچ جنوبی اور انٹارکٹک ٹائم", null),
        null));

      put("Galapagos", new TimeZoneNames("Galapagos", 
        new TimeZoneNames.Name(null, "گالاپاگوز کا وقت", null),
        null));

      put("Gambier", new TimeZoneNames("Gambier", 
        new TimeZoneNames.Name(null, "گیمبیئر ٹائم", null),
        null));

      put("Georgia", new TimeZoneNames("Georgia", 
        new TimeZoneNames.Name("جارجیا کا وقت", "جارجیا کا معیاری وقت", "جارجیا کا موسم گرما کا وقت"),
        null));

      put("Gilbert_Islands", new TimeZoneNames("Gilbert_Islands", 
        new TimeZoneNames.Name(null, "جلبرٹ آئلینڈز ٹائم", null),
        null));

      put("GMT", new TimeZoneNames("GMT", 
        new TimeZoneNames.Name(null, "گرین وچ کا اصل وقت", null),
        null));

      put("Greenland_Eastern", new TimeZoneNames("Greenland_Eastern", 
        new TimeZoneNames.Name("مشرقی گرین لینڈ ٹائم", "مشرقی گرین لینڈ اسٹینڈرڈ ٹائم", "مشرقی گرین لینڈ کا موسم گرما کا وقت"),
        null));

      put("Greenland_Western", new TimeZoneNames("Greenland_Western", 
        new TimeZoneNames.Name("مغربی گرین لینڈ ٹائم", "مغربی گرین لینڈ اسٹینڈرڈ ٹائم", "مغربی گرین لینڈ کا موسم گرما کا وقت"),
        null));

      put("Gulf", new TimeZoneNames("Gulf", 
        new TimeZoneNames.Name(null, "خلیج کا معیاری وقت", null),
        null));

      put("Guyana", new TimeZoneNames("Guyana", 
        new TimeZoneNames.Name(null, "گیانا کا وقت", null),
        null));

      put("Hawaii_Aleutian", new TimeZoneNames("Hawaii_Aleutian", 
        new TimeZoneNames.Name("ہوائی الیوٹیئن ٹائم", "ہوائی الیوٹیئن اسٹینڈرڈ ٹائم", "ہوائی الیوٹیئن ڈے لائٹ ٹائم"),
        null));

      put("Hong_Kong", new TimeZoneNames("Hong_Kong", 
        new TimeZoneNames.Name("ہانگ کانگ ٹائم", "ہانگ کانگ سٹینڈرڈ ٹائم", "ہانگ کانگ سمر ٹائم"),
        null));

      put("Hovd", new TimeZoneNames("Hovd", 
        new TimeZoneNames.Name("ہووڈ ٹائم", "ہووڈ سٹینڈرڈ ٹائم", "ہووڈ سمر ٹائم"),
        null));

      put("India", new TimeZoneNames("India", 
        new TimeZoneNames.Name(null, "ہندوستان کا معیاری وقت", null),
        null));

      put("Indian_Ocean", new TimeZoneNames("Indian_Ocean", 
        new TimeZoneNames.Name(null, "بحر ہند ٹائم", null),
        null));

      put("Indochina", new TimeZoneNames("Indochina", 
        new TimeZoneNames.Name(null, "ہند چین ٹائم", null),
        null));

      put("Indonesia_Central", new TimeZoneNames("Indonesia_Central", 
        new TimeZoneNames.Name(null, "وسطی انڈونیشیا ٹائم", null),
        null));

      put("Indonesia_Eastern", new TimeZoneNames("Indonesia_Eastern", 
        new TimeZoneNames.Name(null, "مشرقی انڈونیشیا ٹائم", null),
        null));

      put("Indonesia_Western", new TimeZoneNames("Indonesia_Western", 
        new TimeZoneNames.Name(null, "مغربی انڈونیشیا ٹائم", null),
        null));

      put("Iran", new TimeZoneNames("Iran", 
        new TimeZoneNames.Name("ایران کا وقت", "ایران کا معیاری وقت", "ایران ڈے لائٹ ٹائم"),
        null));

      put("Irkutsk", new TimeZoneNames("Irkutsk", 
        new TimeZoneNames.Name("ارکتسک ٹائم", "ارکتسک سٹینڈرڈ ٹائم", "ارکتسک سمر ٹائم"),
        null));

      put("Israel", new TimeZoneNames("Israel", 
        new TimeZoneNames.Name("اسرائیل کا وقت", "اسرائیل کا معیاری وقت", "اسرائیل ڈے لائٹ ٹائم"),
        null));

      put("Japan", new TimeZoneNames("Japan", 
        new TimeZoneNames.Name("جاپان ٹائم", "جاپان سٹینڈرڈ ٹائم", "جاپان ڈے لائٹ ٹائم"),
        null));

      put("Kamchatka", new TimeZoneNames("Kamchatka", 
        new TimeZoneNames.Name("پیٹروپاؤلووسک-کیمچسکی ٹائم", "پیٹروپاؤلووسک-کیمچسکی اسٹینڈرڈ ٹائم", "پیٹروپاؤلووسک-کیمچسکی سمر ٹائم"),
        null));

      put("Kazakhstan_Eastern", new TimeZoneNames("Kazakhstan_Eastern", 
        new TimeZoneNames.Name(null, "مشرقی قزاخستان کا وقت", null),
        null));

      put("Kazakhstan_Western", new TimeZoneNames("Kazakhstan_Western", 
        new TimeZoneNames.Name(null, "مغربی قزاخستان کا وقت", null),
        null));

      put("Korea", new TimeZoneNames("Korea", 
        new TimeZoneNames.Name("کوریا ٹائم", "کوریا سٹینڈرڈ ٹائم", "کوریا ڈے لائٹ ٹائم"),
        null));

      put("Kosrae", new TimeZoneNames("Kosrae", 
        new TimeZoneNames.Name(null, "کوسرے ٹائم", null),
        null));

      put("Krasnoyarsk", new TimeZoneNames("Krasnoyarsk", 
        new TimeZoneNames.Name("کریسنویارسک ٹائم", "کرسنویارسک سٹینڈرڈ ٹائم", "کریسنویارسک سمر ٹائم"),
        null));

      put("Kyrgystan", new TimeZoneNames("Kyrgystan", 
        new TimeZoneNames.Name(null, "کرغستان کا وقت", null),
        null));

      put("Line_Islands", new TimeZoneNames("Line_Islands", 
        new TimeZoneNames.Name(null, "لائن آئلینڈز ٹائم", null),
        null));

      put("Lord_Howe", new TimeZoneNames("Lord_Howe", 
        new TimeZoneNames.Name("لارڈ ہووے ٹائم", "لارڈ ہووے اسٹینڈرڈ ٹائم", "لارڈ ہووے ڈے لائٹ ٹائم"),
        null));

      put("Macquarie", new TimeZoneNames("Macquarie", 
        new TimeZoneNames.Name(null, "مکوآری آئلینڈ کا وقت", null),
        null));

      put("Magadan", new TimeZoneNames("Magadan", 
        new TimeZoneNames.Name("میگیدن ٹائم", "مگادان اسٹینڈرڈ ٹائم", "میگیدن سمر ٹائم"),
        null));

      put("Malaysia", new TimeZoneNames("Malaysia", 
        new TimeZoneNames.Name(null, "ملیشیا ٹائم", null),
        null));

      put("Maldives", new TimeZoneNames("Maldives", 
        new TimeZoneNames.Name(null, "مالدیپ کا وقت", null),
        null));

      put("Marquesas", new TimeZoneNames("Marquesas", 
        new TimeZoneNames.Name(null, "مارکیسس ٹائم", null),
        null));

      put("Marshall_Islands", new TimeZoneNames("Marshall_Islands", 
        new TimeZoneNames.Name(null, "مارشل آئلینڈز ٹائم", null),
        null));

      put("Mauritius", new TimeZoneNames("Mauritius", 
        new TimeZoneNames.Name("ماریشس ٹائم", "ماریشس سٹینڈرڈ ٹائم", "ماریشس سمر ٹائم"),
        null));

      put("Mawson", new TimeZoneNames("Mawson", 
        new TimeZoneNames.Name(null, "ماؤسن ٹائم", null),
        null));

      put("Mexico_Northwest", new TimeZoneNames("Mexico_Northwest", 
        new TimeZoneNames.Name("شمال مغربی میکسیکو ٹائم", "شمال مغربی میکسیکو اسٹینڈرڈ ٹائم", "شمال مغربی میکسیکو ڈے لائٹ ٹائم"),
        null));

      put("Mexico_Pacific", new TimeZoneNames("Mexico_Pacific", 
        new TimeZoneNames.Name("میکسیکن پیسفک ٹائم", "میکسیکن پیسفک اسٹینڈرڈ ٹائم", "میکسیکن پیسفک ڈے لائٹ ٹائم"),
        null));

      put("Mongolia", new TimeZoneNames("Mongolia", 
        new TimeZoneNames.Name("یولان بیتور ٹائم", "یولان بیتور سٹینڈرڈ ٹائم", "یولان بیتور سمر ٹائم"),
        null));

      put("Moscow", new TimeZoneNames("Moscow", 
        new TimeZoneNames.Name("ماسکو ٹائم", "ماسکو اسٹینڈرڈ ٹائم", "ماسکو سمر ٹائم"),
        null));

      put("Myanmar", new TimeZoneNames("Myanmar", 
        new TimeZoneNames.Name(null, "میانمار ٹائم", null),
        null));

      put("Nauru", new TimeZoneNames("Nauru", 
        new TimeZoneNames.Name(null, "ناؤرو ٹائم", null),
        null));

      put("Nepal", new TimeZoneNames("Nepal", 
        new TimeZoneNames.Name(null, "نیپال کا وقت", null),
        null));

      put("New_Caledonia", new TimeZoneNames("New_Caledonia", 
        new TimeZoneNames.Name("نیو کیلیڈونیا ٹائم", "نیو کیلیڈونیا سٹینڈرڈ ٹائم", "نیو کیلیڈونیا سمر ٹائم"),
        null));

      put("New_Zealand", new TimeZoneNames("New_Zealand", 
        new TimeZoneNames.Name("نیوزی لینڈ کا وقت", "نیوزی لینڈ کا معیاری وقت", "نیوزی لینڈ ڈے لائٹ ٹائم"),
        null));

      put("Newfoundland", new TimeZoneNames("Newfoundland", 
        new TimeZoneNames.Name("نیو فاؤنڈ لینڈ ٹائم", "نیو فاؤنڈ لینڈ اسٹینڈرڈ ٹائم", "نیو فاؤنڈ لینڈ ڈے لائٹ ٹائم"),
        null));

      put("Niue", new TimeZoneNames("Niue", 
        new TimeZoneNames.Name(null, "نیئو ٹائم", null),
        null));

      put("Norfolk", new TimeZoneNames("Norfolk", 
        new TimeZoneNames.Name(null, "نارفوک آئلینڈ کا وقت", null),
        null));

      put("Noronha", new TimeZoneNames("Noronha", 
        new TimeZoneNames.Name("فرنانڈو ڈی نورنہا کا وقت", "فرنانڈو ڈی نورنہا کا معیاری وقت", "فرنانڈو ڈی نورونہا سمر ٹائم"),
        null));

      put("Novosibirsk", new TimeZoneNames("Novosibirsk", 
        new TimeZoneNames.Name("نوووسیبرسک ٹائم", "نوووسیبرسک سٹینڈرڈ ٹائم", "نوووسیبرسک سمر ٹائم"),
        null));

      put("Omsk", new TimeZoneNames("Omsk", 
        new TimeZoneNames.Name("اومسک ٹائم", "اومسک سٹینڈرڈ ٹائم", "اومسک سمر ٹائم"),
        null));

      put("Pakistan", new TimeZoneNames("Pakistan", 
        new TimeZoneNames.Name("پاکستان کا وقت", "پاکستان کا معیاری وقت", "پاکستان کا موسم گرما کا وقت"),
        null));

      put("Palau", new TimeZoneNames("Palau", 
        new TimeZoneNames.Name(null, "پلاؤ ٹائم", null),
        null));

      put("Papua_New_Guinea", new TimeZoneNames("Papua_New_Guinea", 
        new TimeZoneNames.Name(null, "پاپوآ نیو گنی ٹائم", null),
        null));

      put("Paraguay", new TimeZoneNames("Paraguay", 
        new TimeZoneNames.Name("پیراگوئے کا وقت", "پیراگوئے کا معیاری وقت", "پیراگوئے کا موسم گرما کا وقت"),
        null));

      put("Peru", new TimeZoneNames("Peru", 
        new TimeZoneNames.Name("پیرو کا وقت", "پیرو کا معیاری وقت", "پیرو کا موسم گرما کا وقت"),
        null));

      put("Philippines", new TimeZoneNames("Philippines", 
        new TimeZoneNames.Name("فلپائن ٹائم", "فلپائن سٹینڈرڈ ٹائم", "فلپائن سمر ٹائم"),
        null));

      put("Phoenix_Islands", new TimeZoneNames("Phoenix_Islands", 
        new TimeZoneNames.Name(null, "فینکس آئلینڈز ٹائم", null),
        null));

      put("Pierre_Miquelon", new TimeZoneNames("Pierre_Miquelon", 
        new TimeZoneNames.Name("سینٹ پیئر اور مکلیئون ٹائم", "سینٹ پیئر اور مکلیئون اسٹینڈرڈ ٹائم", "سینٹ پیئر اور مکلیئون ڈے لائٹ ٹائم"),
        null));

      put("Pitcairn", new TimeZoneNames("Pitcairn", 
        new TimeZoneNames.Name(null, "پٹکائرن ٹائم", null),
        null));

      put("Ponape", new TimeZoneNames("Ponape", 
        new TimeZoneNames.Name(null, "پوناپے ٹائم", null),
        null));

      put("Pyongyang", new TimeZoneNames("Pyongyang", 
        new TimeZoneNames.Name(null, "پیانگ یانگ وقت", null),
        null));

      put("Reunion", new TimeZoneNames("Reunion", 
        new TimeZoneNames.Name(null, "ری یونین ٹائم", null),
        null));

      put("Rothera", new TimeZoneNames("Rothera", 
        new TimeZoneNames.Name(null, "روتھیرا کا وقت", null),
        null));

      put("Sakhalin", new TimeZoneNames("Sakhalin", 
        new TimeZoneNames.Name("سخالین ٹائم", "سخالین سٹینڈرڈ ٹائم", "سخالین سمر ٹائم"),
        null));

      put("Samara", new TimeZoneNames("Samara", 
        new TimeZoneNames.Name("سمارا ٹائم", "سمارا اسٹینڈرڈ ٹائم", "سمارا سمر ٹائم"),
        null));

      put("Samoa", new TimeZoneNames("Samoa", 
        new TimeZoneNames.Name("ساموآ ٹائم", "ساموآ سٹینڈرڈ ٹائم", "ساموآ ڈے لائٹ ٹائم"),
        null));

      put("Seychelles", new TimeZoneNames("Seychelles", 
        new TimeZoneNames.Name(null, "سیشلیز ٹائم", null),
        null));

      put("Singapore", new TimeZoneNames("Singapore", 
        new TimeZoneNames.Name(null, "سنگاپور سٹینڈرڈ ٹائم", null),
        null));

      put("Solomon", new TimeZoneNames("Solomon", 
        new TimeZoneNames.Name(null, "سولمن آئلینڈز ٹائم", null),
        null));

      put("South_Georgia", new TimeZoneNames("South_Georgia", 
        new TimeZoneNames.Name(null, "جنوبی جارجیا ٹائم", null),
        null));

      put("Suriname", new TimeZoneNames("Suriname", 
        new TimeZoneNames.Name(null, "سورینام کا وقت", null),
        null));

      put("Syowa", new TimeZoneNames("Syowa", 
        new TimeZoneNames.Name(null, "سیووا ٹائم", null),
        null));

      put("Tahiti", new TimeZoneNames("Tahiti", 
        new TimeZoneNames.Name(null, "تاہیتی ٹائم", null),
        null));

      put("Taipei", new TimeZoneNames("Taipei", 
        new TimeZoneNames.Name("تائی پیئی ٹائم", "تائی پیئی اسٹینڈرڈ ٹائم", "تئی پیئی ڈے لائٹ ٹائم"),
        null));

      put("Tajikistan", new TimeZoneNames("Tajikistan", 
        new TimeZoneNames.Name(null, "تاجکستان کا وقت", null),
        null));

      put("Tokelau", new TimeZoneNames("Tokelau", 
        new TimeZoneNames.Name(null, "ٹوکیلاؤ ٹائم", null),
        null));

      put("Tonga", new TimeZoneNames("Tonga", 
        new TimeZoneNames.Name("ٹونگا ٹائم", "ٹونگا سٹینڈرڈ ٹائم", "ٹونگا سمر ٹائم"),
        null));

      put("Truk", new TimeZoneNames("Truk", 
        new TimeZoneNames.Name(null, "چوک ٹائم", null),
        null));

      put("Turkmenistan", new TimeZoneNames("Turkmenistan", 
        new TimeZoneNames.Name("ترکمانستان کا وقت", "ترکمانستان کا معیاری وقت", "ترکمانستان کا موسم گرما کا وقت"),
        null));

      put("Tuvalu", new TimeZoneNames("Tuvalu", 
        new TimeZoneNames.Name(null, "ٹوالو ٹائم", null),
        null));

      put("Uruguay", new TimeZoneNames("Uruguay", 
        new TimeZoneNames.Name("یوروگوئے کا وقت", "یوروگوئے کا معیاری وقت", "یوروگوئے کا موسم گرما کا وقت"),
        null));

      put("Uzbekistan", new TimeZoneNames("Uzbekistan", 
        new TimeZoneNames.Name("ازبکستان کا وقت", "ازبکستان کا معیاری وقت", "ازبکستان کا موسم گرما کا وقت"),
        null));

      put("Vanuatu", new TimeZoneNames("Vanuatu", 
        new TimeZoneNames.Name("وانوآٹو ٹائم", "وانوآٹو سٹینڈرڈ ٹائم", "وانوآٹو سمر ٹائم"),
        null));

      put("Venezuela", new TimeZoneNames("Venezuela", 
        new TimeZoneNames.Name(null, "وینزوئیلا کا وقت", null),
        null));

      put("Vladivostok", new TimeZoneNames("Vladivostok", 
        new TimeZoneNames.Name("ولادی ووستک ٹائم", "ولادی ووستک سٹینڈرڈ ٹائم", "ولادی ووستک سمر ٹائم"),
        null));

      put("Volgograd", new TimeZoneNames("Volgograd", 
        new TimeZoneNames.Name("وولگوگراد ٹائم", "وولگوگراد اسٹینڈرڈ ٹائم", "وولگوگراد سمر ٹائم"),
        null));

      put("Vostok", new TimeZoneNames("Vostok", 
        new TimeZoneNames.Name(null, "ووسٹاک کا وقت", null),
        null));

      put("Wake", new TimeZoneNames("Wake", 
        new TimeZoneNames.Name(null, "ویک آئلینڈ ٹائم", null),
        null));

      put("Wallis", new TimeZoneNames("Wallis", 
        new TimeZoneNames.Name(null, "والیز اور فٹونا ٹائم", null),
        null));

      put("Yakutsk", new TimeZoneNames("Yakutsk", 
        new TimeZoneNames.Name("یکوتسک ٹائم", "یکوتسک اسٹینڈرڈ ٹائم", "یکوتسک سمر ٹائم"),
        null));

      put("Yekaterinburg", new TimeZoneNames("Yekaterinburg", 
        new TimeZoneNames.Name("یکاٹیرِنبرگ ٹائم", "یکاٹیرِنبرگ اسٹینڈرڈ ٹائم", "یکاٹیرِنبرگ سمر ٹائم"),
        null));
    } };
  }

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

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

  @Override
  public void formatWrapped(CalendarFormat wrapperType, CalendarFormat dateType,
      CalendarFormat timeType, String dateSkel, String timeSkel, ZonedDateTime d, StringBuilder b) {
    switch (wrapperType) {
      case SHORT:
      case MEDIUM:
      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: "MMMM d"
        formatField(d, 'M', 4, b);
        b.append(" ");
        formatField(d, 'd', 1, b);
        break;
      }
      case "MMMMW-count-one": {
        // Pattern: "MMM کے W ہفتے"
        formatField(d, 'M', 3, b);
        b.append(" کے ");
        formatField(d, 'W', 1, b);
        b.append(" ہفتے");
        break;
      }
      case "MMMMW-count-other": {
        // Pattern: "MMM کے W ہفتے"
        formatField(d, 'M', 3, b);
        b.append(" کے ");
        formatField(d, 'W', 1, b);
        b.append(" ہفتے");
        break;
      }
      case "ms": {
        // Pattern: "mm:ss"
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        break;
      }
      case "y": {
        // Pattern: "y"
        formatField(d, 'y', 1, b);
        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: "y کا w ہفتہ"
        formatField(d, 'y', 1, b);
        b.append(" کا ");
        formatField(d, 'w', 1, b);
        b.append(" ہفتہ");
        break;
      }
      case "yw-count-other": {
        // Pattern: "y کا w ہفتہ"
        formatField(d, 'y', 1, b);
        b.append(" کا ");
        formatField(d, 'w', 1, b);
        b.append(" ہفتہ");
        break;
      }
      default: {
        return false;
      }
    }
    return true;
  }

  @Override
  public void formatInterval(ZonedDateTime s, ZonedDateTime e, String k, DateTimeField f,
      StringBuilder b) {
    if (k != null && f != null) {
      switch (k) {
        case "d": {
          switch (f) {
            case DAY: {
              // "d–"
              formatField(s, 'd', 1, b);
              b.append("–");
              // "d"
              formatField(e, 'd', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "hm": {
          switch (f) {
            case AM_PM: {
              // "h:mm a – "
              formatField(s, 'h', 1, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append(" ");
              formatField(s, 'a', 1, b);
              b.append(" – ");
              // "h:mm a"
              formatField(e, 'h', 1, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              return;
            }
            case HOUR: {
              // "h:mm–"
              formatField(s, 'h', 1, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append("–");
              // "h:mm a"
              formatField(e, 'h', 1, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              return;
            }
            case MINUTE: {
              // "h:mm–"
              formatField(s, 'h', 1, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append("–");
              // "h:mm a"
              formatField(e, 'h', 1, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "Hm": {
          switch (f) {
            case HOUR: {
              // "HH:mm–"
              formatField(s, 'H', 2, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append("–");
              // "HH:mm"
              formatField(e, 'H', 2, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              return;
            }
            case MINUTE: {
              // "HH:mm–"
              formatField(s, 'H', 2, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append("–");
              // "HH:mm"
              formatField(e, 'H', 2, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "h": {
          switch (f) {
            case AM_PM: {
              // "h a – "
              formatField(s, 'h', 1, b);
              b.append(" ");
              formatField(s, 'a', 1, b);
              b.append(" – ");
              // "h a"
              formatField(e, 'h', 1, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              return;
            }
            case HOUR: {
              // "h–"
              formatField(s, 'h', 1, b);
              b.append("–");
              // "h a"
              formatField(e, 'h', 1, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "H": {
          switch (f) {
            case HOUR: {
              // "HH–"
              formatField(s, 'H', 2, b);
              b.append("–");
              // "HH"
              formatField(e, 'H', 2, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "yMMMEd": {
          switch (f) {
            case DAY: {
              // "E، 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، 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 "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، 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 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;
            }
            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: {
              // "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 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: {
              // "M/y – "
              formatField(s, 'M', 1, b);
              b.append("/");
              formatField(s, 'y', 1, b);
              b.append(" – ");
              // "M/y"
              formatField(e, 'M', 1, b);
              b.append("/");
              formatField(e, 'y', 1, b);
              return;
            }
            case MONTH: {
              // "M/y – "
              formatField(s, 'M', 1, b);
              b.append("/");
              formatField(s, 'y', 1, b);
              b.append(" – ");
              // "M/y"
              formatField(e, 'M', 1, b);
              b.append("/");
              formatField(e, 'y', 1, b);
              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: {
              // "d/M – "
              formatField(s, 'd', 1, b);
              b.append("/");
              formatField(s, 'M', 1, b);
              b.append(" – ");
              // "d/M"
              formatField(e, 'd', 1, b);
              b.append("/");
              formatField(e, 'M', 1, b);
              return;
            }
            case MONTH: {
              // "d/M – "
              formatField(s, 'd', 1, b);
              b.append("/");
              formatField(s, 'M', 1, b);
              b.append(" – ");
              // "d/M"
              formatField(e, 'd', 1, b);
              b.append("/");
              formatField(e, 'M', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "y": {
          switch (f) {
            case YEAR: {
              // "y–"
              formatField(s, 'y', 1, b);
              b.append("–");
              // "y"
              formatField(e, 'y', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "yMMMd": {
          switch (f) {
            case DAY: {
              // "y MMM d–"
              formatField(s, 'y', 1, b);
              b.append(" ");
              formatField(s, 'M', 3, b);
              b.append(" ");
              formatField(s, 'd', 1, b);
              b.append("–");
              // "d"
              formatField(e, 'd', 1, b);
              return;
            }
            case YEAR: {
              // "d MMM، y – "
              formatField(s, 'd', 1, 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: {
              // "d MMM – "
              formatField(s, 'd', 1, b);
              b.append(" ");
              formatField(s, 'M', 3, 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;
            }
            default: break;
          }
          break;
        }
        default: break;
      }
      // "{0} – {1}"
      formatSkeleton(k, s, b);
      b.append(" – ");
      formatSkeleton(k, e, b);
    }
  }

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

  protected void wrapTimeZoneRegion(StringBuilder b, String region) {
    b.append(region);
    b.append(" وقت");
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy