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

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

    this.timezoneNames = new HashMap() { {

      put("Europe/Dublin", new TimeZoneNames("Europe/Dublin",   new TimeZoneNames.Name(null, null, "توقيت أيرلندا الرسمي"),
        null));

      put("Europe/London", new TimeZoneNames("Europe/London",   new TimeZoneNames.Name(null, null, "توقيت بريطانيا الصيفي"),
        null));

      put("Etc/UTC", new TimeZoneNames("Etc/UTC",   new TimeZoneNames.Name(null, "التوقيت العالمي المنسق", null),
        new TimeZoneNames.Name(null, "UTC", null)));
    } };

    this.metazoneNames = new HashMap() { {

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

      put("Africa_Central", new TimeZoneNames("Africa_Central", 
        new TimeZoneNames.Name(null, "توقيت وسط أفريقيا", null),
        null));

      put("Africa_Eastern", new TimeZoneNames("Africa_Eastern", 
        new TimeZoneNames.Name(null, "توقيت شرق أفريقيا", null),
        null));

      put("Africa_Southern", new TimeZoneNames("Africa_Southern", 
        new TimeZoneNames.Name(null, "توقيت جنوب أفريقيا", null),
        null));

      put("Africa_Western", new TimeZoneNames("Africa_Western", 
        new TimeZoneNames.Name("توقيت غرب أفريقيا", "توقيت غرب أفريقيا الرسمي", "توقيت غرب أفريقيا الصيفي"),
        null));

      put("Alaska", new TimeZoneNames("Alaska", 
        new TimeZoneNames.Name("توقيت ألاسكا", "التوقيت الرسمي لألاسكا", "توقيت ألاسكا الصيفي"),
        null));

      put("Amazon", new TimeZoneNames("Amazon", 
        new TimeZoneNames.Name("توقيت الأمازون", "توقيت الأمازون الرسمي", "توقيت الأمازون الصيفي"),
        null));

      put("America_Central", new TimeZoneNames("America_Central", 
        new TimeZoneNames.Name("التوقيت المركزي لأمريكا الشمالية", "التوقيت الرسمي المركزي لأمريكا الشمالية", "التوقيت الصيفي المركزي لأمريكا الشمالية"),
        null));

      put("America_Eastern", new TimeZoneNames("America_Eastern", 
        new TimeZoneNames.Name("التوقيت الشرقي لأمريكا الشمالية", "التوقيت الرسمي الشرقي لأمريكا الشمالية", "التوقيت الصيفي الشرقي لأمريكا الشمالية"),
        null));

      put("America_Mountain", new TimeZoneNames("America_Mountain", 
        new TimeZoneNames.Name("التوقيت الجبلي لأمريكا الشمالية", "التوقيت الجبلي الرسمي لأمريكا الشمالية", "التوقيت الجبلي الصيفي لأمريكا الشمالية"),
        null));

      put("America_Pacific", new TimeZoneNames("America_Pacific", 
        new TimeZoneNames.Name("توقيت المحيط الهادي", "توقيت المحيط الهادي الرسمي", "توقيت المحيط الهادي الصيفي"),
        null));

      put("Anadyr", new TimeZoneNames("Anadyr", 
        new TimeZoneNames.Name("توقيت أنادير", "توقيت أنادير الرسمي", "التوقيت الصيفي لأنادير"),
        null));

      put("Apia", new TimeZoneNames("Apia", 
        new TimeZoneNames.Name("توقيت آبيا", "التوقيت الرسمي لآبيا", "التوقيت الصيفي لأبيا"),
        null));

      put("Arabian", new TimeZoneNames("Arabian", 
        new TimeZoneNames.Name("التوقيت العربي", "التوقيت العربي الرسمي", "التوقيت العربي الصيفي"),
        null));

      put("Argentina", new TimeZoneNames("Argentina", 
        new TimeZoneNames.Name("توقيت الأرجنتين", "توقيت الأرجنتين الرسمي", "توقيت الأرجنتين الصيفي"),
        null));

      put("Argentina_Western", new TimeZoneNames("Argentina_Western", 
        new TimeZoneNames.Name("توقيت غرب الأرجنتين", "توقيت غرب الأرجنتين الرسمي", "توقيت غرب الأرجنتين الصيفي"),
        null));

      put("Armenia", new TimeZoneNames("Armenia", 
        new TimeZoneNames.Name("توقيت أرمينيا", "توقيت أرمينيا الرسمي", "توقيت أرمينيا الصيفي"),
        null));

      put("Atlantic", new TimeZoneNames("Atlantic", 
        new TimeZoneNames.Name("توقيت الأطلسي", "التوقيت الرسمي الأطلسي", "التوقيت الصيفي الأطلسي"),
        null));

      put("Australia_Central", new TimeZoneNames("Australia_Central", 
        new TimeZoneNames.Name("توقيت وسط أستراليا", "توقيت وسط أستراليا الرسمي", "توقيت وسط أستراليا الصيفي"),
        null));

      put("Australia_CentralWestern", new TimeZoneNames("Australia_CentralWestern", 
        new TimeZoneNames.Name("توقيت غرب وسط أستراليا", "توقيت غرب وسط أستراليا الرسمي", "توقيت غرب وسط أستراليا الصيفي"),
        null));

      put("Australia_Eastern", new TimeZoneNames("Australia_Eastern", 
        new TimeZoneNames.Name("توقيت شرق أستراليا", "توقيت شرق أستراليا الرسمي", "توقيت شرق أستراليا الصيفي"),
        null));

      put("Australia_Western", new TimeZoneNames("Australia_Western", 
        new TimeZoneNames.Name("توقيت غرب أستراليا", "توقيت غرب أستراليا الرسمي", "توقيت غرب أستراليا الصيفي"),
        null));

      put("Azerbaijan", new TimeZoneNames("Azerbaijan", 
        new TimeZoneNames.Name("توقيت أذربيجان", "توقيت أذربيجان الرسمي", "توقيت أذربيجان الصيفي"),
        null));

      put("Azores", new TimeZoneNames("Azores", 
        new TimeZoneNames.Name("توقيت أزورس", "توقيت أزورس الرسمي", "توقيت أزورس الصيفي"),
        null));

      put("Bangladesh", new TimeZoneNames("Bangladesh", 
        new TimeZoneNames.Name("توقيت بنجلاديش", "توقيت بنجلاديش الرسمي", "توقيت بنجلاديش الصيفي"),
        null));

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

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

      put("Brasilia", new TimeZoneNames("Brasilia", 
        new TimeZoneNames.Name("توقيت برازيليا", "توقيت برازيليا الرسمي", "توقيت برازيليا الصيفي"),
        null));

      put("Brunei", new TimeZoneNames("Brunei", 
        new TimeZoneNames.Name(null, "توقيت بروناي", null),
        null));

      put("Cape_Verde", new TimeZoneNames("Cape_Verde", 
        new TimeZoneNames.Name("توقيت الرأس الأخضر", "توقيت الرأس الأخضر الرسمي", "توقيت الرأس الأخضر الصيفي"),
        null));

      put("Chamorro", new TimeZoneNames("Chamorro", 
        new TimeZoneNames.Name(null, "توقيت تشامورو", null),
        null));

      put("Chatham", new TimeZoneNames("Chatham", 
        new TimeZoneNames.Name("توقيت تشاتام", "توقيت تشاتام الرسمي", "توقيت تشاتام الصيفي"),
        null));

      put("Chile", new TimeZoneNames("Chile", 
        new TimeZoneNames.Name("توقيت شيلي", "توقيت شيلي الرسمي", "توقيت شيلي الصيفي"),
        null));

      put("China", new TimeZoneNames("China", 
        new TimeZoneNames.Name("توقيت الصين", "توقيت الصين الرسمي", "توقيت الصين الصيفي"),
        null));

      put("Choibalsan", new TimeZoneNames("Choibalsan", 
        new TimeZoneNames.Name("توقيت شويبالسان", "توقيت شويبالسان الرسمي", "التوقيت الصيفي لشويبالسان"),
        null));

      put("Christmas", new TimeZoneNames("Christmas", 
        new TimeZoneNames.Name(null, "توقيت جزر الكريسماس", null),
        null));

      put("Cocos", new TimeZoneNames("Cocos", 
        new TimeZoneNames.Name(null, "توقيت جزر كوكوس", null),
        null));

      put("Colombia", new TimeZoneNames("Colombia", 
        new TimeZoneNames.Name("توقيت كولومبيا", "توقيت كولومبيا الرسمي", "توقيت كولومبيا الصيفي"),
        null));

      put("Cook", new TimeZoneNames("Cook", 
        new TimeZoneNames.Name("توقيت جزر كووك", "توقيت جزر كووك الرسمي", "توقيت جزر كووك الصيفي"),
        null));

      put("Cuba", new TimeZoneNames("Cuba", 
        new TimeZoneNames.Name("توقيت كوبا", "توقيت كوبا الرسمي", "توقيت كوبا الصيفي"),
        null));

      put("Davis", new TimeZoneNames("Davis", 
        new TimeZoneNames.Name(null, "توقيت دافيز", null),
        null));

      put("DumontDUrville", new TimeZoneNames("DumontDUrville", 
        new TimeZoneNames.Name(null, "توقيت دي مونت دو روفيل", null),
        null));

      put("East_Timor", new TimeZoneNames("East_Timor", 
        new TimeZoneNames.Name(null, "توقيت تيمور الشرقية", null),
        null));

      put("Easter", new TimeZoneNames("Easter", 
        new TimeZoneNames.Name("توقيت جزيرة استر", "توقيت جزيرة استر الرسمي", "توقيت جزيرة استر الصيفي"),
        null));

      put("Ecuador", new TimeZoneNames("Ecuador", 
        new TimeZoneNames.Name(null, "توقيت الإكوادور", null),
        null));

      put("Europe_Central", new TimeZoneNames("Europe_Central", 
        new TimeZoneNames.Name("توقيت وسط أوروبا", "توقيت وسط أوروبا الرسمي", "توقيت وسط أوروبا الصيفي"),
        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("Guam", new TimeZoneNames("Guam", 
        new TimeZoneNames.Name(null, "توقيت غوام", null),
        null));

      put("Gulf", new TimeZoneNames("Gulf", 
        new TimeZoneNames.Name(null, "توقيت الخليج", null),
        null));

      put("Guyana", new TimeZoneNames("Guyana", 
        new TimeZoneNames.Name(null, "توقيت غيانا", null),
        null));

      put("Hawaii_Aleutian", new TimeZoneNames("Hawaii_Aleutian", 
        new TimeZoneNames.Name("توقيت هاواي ألوتيان", "توقيت هاواي ألوتيان الرسمي", "توقيت هاواي ألوتيان الصيفي"),
        null));

      put("Hong_Kong", new TimeZoneNames("Hong_Kong", 
        new TimeZoneNames.Name("توقيت هونغ كونغ", "توقيت هونغ كونغ الرسمي", "توقيت هونغ كونغ الصيفي"),
        null));

      put("Hovd", new TimeZoneNames("Hovd", 
        new TimeZoneNames.Name("توقيت هوفد", "توقيت هوفد الرسمي", "توقيت هوفد الصيفي"),
        null));

      put("India", new TimeZoneNames("India", 
        new TimeZoneNames.Name(null, "توقيت الهند", null),
        null));

      put("Indian_Ocean", new TimeZoneNames("Indian_Ocean", 
        new TimeZoneNames.Name(null, "توقيت المحيط الهندي", null),
        null));

      put("Indochina", new TimeZoneNames("Indochina", 
        new TimeZoneNames.Name(null, "توقيت الهند الصينية", null),
        null));

      put("Indonesia_Central", new TimeZoneNames("Indonesia_Central", 
        new TimeZoneNames.Name(null, "توقيت وسط إندونيسيا", null),
        null));

      put("Indonesia_Eastern", new TimeZoneNames("Indonesia_Eastern", 
        new TimeZoneNames.Name(null, "توقيت شرق إندونيسيا", null),
        null));

      put("Indonesia_Western", new TimeZoneNames("Indonesia_Western", 
        new TimeZoneNames.Name(null, "توقيت غرب إندونيسيا", null),
        null));

      put("Iran", new TimeZoneNames("Iran", 
        new TimeZoneNames.Name("توقيت إيران", "توقيت إيران الرسمي", "توقيت إيران الصيفي"),
        null));

      put("Irkutsk", new TimeZoneNames("Irkutsk", 
        new TimeZoneNames.Name("توقيت إركوتسك", "توقيت إركوتسك الرسمي", "توقيت إركوتسك الصيفي"),
        null));

      put("Israel", new TimeZoneNames("Israel", 
        new TimeZoneNames.Name("توقيت إسرائيل", "توقيت إسرائيل الرسمي", "توقيت إسرائيل الصيفي"),
        null));

      put("Japan", new TimeZoneNames("Japan", 
        new TimeZoneNames.Name("توقيت اليابان", "توقيت اليابان الرسمي", "توقيت اليابان الصيفي"),
        null));

      put("Kamchatka", new TimeZoneNames("Kamchatka", 
        new TimeZoneNames.Name("توقيت كامشاتكا", "توقيت بيتروبافلوفسك-كامتشاتسكي", "توقيت بيتروبافلوفسك-كامتشاتسكي الصيفي"),
        null));

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

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

      put("Korea", new TimeZoneNames("Korea", 
        new TimeZoneNames.Name("توقيت كوريا", "توقيت كوريا الرسمي", "توقيت كوريا الصيفي"),
        null));

      put("Kosrae", new TimeZoneNames("Kosrae", 
        new TimeZoneNames.Name(null, "توقيت كوسرا", null),
        null));

      put("Krasnoyarsk", new TimeZoneNames("Krasnoyarsk", 
        new TimeZoneNames.Name("توقيت كراسنويارسك", "توقيت كراسنويارسك الرسمي", "التوقيت الصيفي لكراسنويارسك"),
        null));

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

      put("Line_Islands", new TimeZoneNames("Line_Islands", 
        new TimeZoneNames.Name(null, "توقيت جزر لاين", null),
        null));

      put("Lord_Howe", new TimeZoneNames("Lord_Howe", 
        new TimeZoneNames.Name("توقيت لورد هاو", "توقيت لورد هاو الرسمي", "التوقيت الصيفي للورد هاو"),
        null));

      put("Macquarie", new TimeZoneNames("Macquarie", 
        new TimeZoneNames.Name(null, "توقيت ماكواري", null),
        null));

      put("Magadan", new TimeZoneNames("Magadan", 
        new TimeZoneNames.Name("توقيت ماغادان", "توقيت ماغادان الرسمي", "توقيت ماغادان الصيفي"),
        null));

      put("Malaysia", new TimeZoneNames("Malaysia", 
        new TimeZoneNames.Name(null, "توقيت ماليزيا", null),
        null));

      put("Maldives", new TimeZoneNames("Maldives", 
        new TimeZoneNames.Name(null, "توقيت الـمالديف", null),
        null));

      put("Marquesas", new TimeZoneNames("Marquesas", 
        new TimeZoneNames.Name(null, "توقيت ماركيساس", null),
        null));

      put("Marshall_Islands", new TimeZoneNames("Marshall_Islands", 
        new TimeZoneNames.Name(null, "توقيت جزر مارشال", null),
        null));

      put("Mauritius", new TimeZoneNames("Mauritius", 
        new TimeZoneNames.Name("توقيت موريشيوس", "توقيت موريشيوس الرسمي", "توقيت موريشيوس الصيفي"),
        null));

      put("Mawson", new TimeZoneNames("Mawson", 
        new TimeZoneNames.Name(null, "توقيت ماوسون", null),
        null));

      put("Mexico_Northwest", new TimeZoneNames("Mexico_Northwest", 
        new TimeZoneNames.Name("توقيت شمال غرب المكسيك", "التوقيت الرسمي لشمال غرب المكسيك", "التوقيت الصيفي لشمال غرب المكسيك"),
        null));

      put("Mexico_Pacific", new TimeZoneNames("Mexico_Pacific", 
        new TimeZoneNames.Name("توقيت المحيط الهادي للمكسيك", "توقيت المحيط الهادي الرسمي للمكسيك", "توقيت المحيط الهادي الصيفي للمكسيك"),
        null));

      put("Mongolia", new TimeZoneNames("Mongolia", 
        new TimeZoneNames.Name("توقيت أولان باتور", "توقيت أولان باتور الرسمي", "توقيت أولان باتور الصيفي"),
        null));

      put("Moscow", new TimeZoneNames("Moscow", 
        new TimeZoneNames.Name("توقيت موسكو", "توقيت موسكو الرسمي", "توقيت موسكو الصيفي"),
        null));

      put("Myanmar", new TimeZoneNames("Myanmar", 
        new TimeZoneNames.Name(null, "توقيت ميانمار", null),
        null));

      put("Nauru", new TimeZoneNames("Nauru", 
        new TimeZoneNames.Name(null, "توقيت ناورو", null),
        null));

      put("Nepal", new TimeZoneNames("Nepal", 
        new TimeZoneNames.Name(null, "توقيت نيبال", null),
        null));

      put("New_Caledonia", new TimeZoneNames("New_Caledonia", 
        new TimeZoneNames.Name("توقيت كاليدونيا الجديدة", "توقيت كاليدونيا الجديدة الرسمي", "توقيت كاليدونيا الجديدة الصيفي"),
        null));

      put("New_Zealand", new TimeZoneNames("New_Zealand", 
        new TimeZoneNames.Name("توقيت نيوزيلندا", "توقيت نيوزيلندا الرسمي", "توقيت نيوزيلندا الصيفي"),
        null));

      put("Newfoundland", new TimeZoneNames("Newfoundland", 
        new TimeZoneNames.Name("توقيت نيوفاوندلاند", "توقيت نيوفاوندلاند الرسمي", "توقيت نيوفاوندلاند الصيفي"),
        null));

      put("Niue", new TimeZoneNames("Niue", 
        new TimeZoneNames.Name(null, "توقيت نيوي", null),
        null));

      put("Norfolk", new TimeZoneNames("Norfolk", 
        new TimeZoneNames.Name(null, "توقيت جزيرة نورفولك", null),
        null));

      put("Noronha", new TimeZoneNames("Noronha", 
        new TimeZoneNames.Name("توقيت فيرناندو دي نورونها", "توقيت فرناندو دي نورونها الرسمي", "توقيت فرناندو دي نورونها الصيفي"),
        null));

      put("North_Mariana", new TimeZoneNames("North_Mariana", 
        new TimeZoneNames.Name(null, "توقيت جزر ماريانا الشمالية", null),
        null));

      put("Novosibirsk", new TimeZoneNames("Novosibirsk", 
        new TimeZoneNames.Name("توقيت نوفوسيبيرسك", "توقيت نوفوسيبيرسك الرسمي", "توقيت نوفوسيبيرسك الصيفي"),
        null));

      put("Omsk", new TimeZoneNames("Omsk", 
        new TimeZoneNames.Name("توقيت أومسك", "توقيت أومسك الرسمي", "توقيت أومسك الصيفي"),
        null));

      put("Pakistan", new TimeZoneNames("Pakistan", 
        new TimeZoneNames.Name("توقيت باكستان", "توقيت باكستان الرسمي", "توقيت باكستان الصيفي"),
        null));

      put("Palau", new TimeZoneNames("Palau", 
        new TimeZoneNames.Name(null, "توقيت بالاو", null),
        null));

      put("Papua_New_Guinea", new TimeZoneNames("Papua_New_Guinea", 
        new TimeZoneNames.Name(null, "توقيت بابوا غينيا الجديدة", null),
        null));

      put("Paraguay", new TimeZoneNames("Paraguay", 
        new TimeZoneNames.Name("توقيت باراغواي", "توقيت باراغواي الرسمي", "توقيت باراغواي الصيفي"),
        null));

      put("Peru", new TimeZoneNames("Peru", 
        new TimeZoneNames.Name("توقيت بيرو", "توقيت بيرو الرسمي", "توقيت بيرو الصيفي"),
        null));

      put("Philippines", new TimeZoneNames("Philippines", 
        new TimeZoneNames.Name("توقيت الفيلبين", "توقيت الفيلبين الرسمي", "توقيت الفيلبين الصيفي"),
        null));

      put("Phoenix_Islands", new TimeZoneNames("Phoenix_Islands", 
        new TimeZoneNames.Name(null, "توقيت جزر فينكس", null),
        null));

      put("Pierre_Miquelon", new TimeZoneNames("Pierre_Miquelon", 
        new TimeZoneNames.Name("توقيت سانت بيير وميكولون", "توقيت سانت بيير وميكولون الرسمي", "توقيت سانت بيير وميكولون الصيفي"),
        null));

      put("Pitcairn", new TimeZoneNames("Pitcairn", 
        new TimeZoneNames.Name(null, "توقيت بيتكيرن", null),
        null));

      put("Ponape", new TimeZoneNames("Ponape", 
        new TimeZoneNames.Name(null, "توقيت بونابي", null),
        null));

      put("Pyongyang", new TimeZoneNames("Pyongyang", 
        new TimeZoneNames.Name(null, "توقيت بيونغ يانغ", null),
        null));

      put("Reunion", new TimeZoneNames("Reunion", 
        new TimeZoneNames.Name(null, "توقيت ريونيون", null),
        null));

      put("Rothera", new TimeZoneNames("Rothera", 
        new TimeZoneNames.Name(null, "توقيت روثيرا", null),
        null));

      put("Sakhalin", new TimeZoneNames("Sakhalin", 
        new TimeZoneNames.Name("توقيت ساخالين", "توقيت ساخالين الرسمي", "توقيت ساخالين الصيفي"),
        null));

      put("Samara", new TimeZoneNames("Samara", 
        new TimeZoneNames.Name("توقيت سامارا", "توقيت سمارا", "توقيت سمارا الصيفي"),
        null));

      put("Samoa", new TimeZoneNames("Samoa", 
        new TimeZoneNames.Name("توقيت ساموا", "توقيت ساموا الرسمي", "توقيت ساموا الصيفي"),
        null));

      put("Seychelles", new TimeZoneNames("Seychelles", 
        new TimeZoneNames.Name(null, "توقيت سيشل", null),
        null));

      put("Singapore", new TimeZoneNames("Singapore", 
        new TimeZoneNames.Name(null, "توقيت سنغافورة", null),
        null));

      put("Solomon", new TimeZoneNames("Solomon", 
        new TimeZoneNames.Name(null, "توقيت جزر سليمان", null),
        null));

      put("South_Georgia", new TimeZoneNames("South_Georgia", 
        new TimeZoneNames.Name(null, "توقيت جنوب جورجيا", null),
        null));

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

      put("Syowa", new TimeZoneNames("Syowa", 
        new TimeZoneNames.Name(null, "توقيت سايووا", null),
        null));

      put("Tahiti", new TimeZoneNames("Tahiti", 
        new TimeZoneNames.Name(null, "توقيت تاهيتي", null),
        null));

      put("Taipei", new TimeZoneNames("Taipei", 
        new TimeZoneNames.Name("توقيت تايبيه", "توقيت تايبيه الرسمي", "توقيت تايبيه الصيفي"),
        null));

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

      put("Tokelau", new TimeZoneNames("Tokelau", 
        new TimeZoneNames.Name(null, "توقيت توكيلاو", null),
        null));

      put("Tonga", new TimeZoneNames("Tonga", 
        new TimeZoneNames.Name("توقيت تونغا", "توقيت تونغا الرسمي", "توقيت تونغا الصيفي"),
        null));

      put("Truk", new TimeZoneNames("Truk", 
        new TimeZoneNames.Name(null, "توقيت شوك", null),
        null));

      put("Turkmenistan", new TimeZoneNames("Turkmenistan", 
        new TimeZoneNames.Name("توقيت تركمانستان", "توقيت تركمانستان الرسمي", "توقيت تركمانستان الصيفي"),
        null));

      put("Tuvalu", new TimeZoneNames("Tuvalu", 
        new TimeZoneNames.Name(null, "توقيت توفالو", null),
        null));

      put("Uruguay", new TimeZoneNames("Uruguay", 
        new TimeZoneNames.Name("توقيت أورغواي", "توقيت أورغواي الرسمي", "توقيت أورغواي الصيفي"),
        null));

      put("Uzbekistan", new TimeZoneNames("Uzbekistan", 
        new TimeZoneNames.Name("توقيت أوزبكستان", "توقيت أوزبكستان الرسمي", "توقيت أوزبكستان الصيفي"),
        null));

      put("Vanuatu", new TimeZoneNames("Vanuatu", 
        new TimeZoneNames.Name("توقيت فانواتو", "توقيت فانواتو الرسمي", "توقيت فانواتو الصيفي"),
        null));

      put("Venezuela", new TimeZoneNames("Venezuela", 
        new TimeZoneNames.Name(null, "توقيت فنزويلا", null),
        null));

      put("Vladivostok", new TimeZoneNames("Vladivostok", 
        new TimeZoneNames.Name("توقيت فلاديفوستوك", "توقيت فلاديفوستوك الرسمي", "توقيت فلاديفوستوك الصيفي"),
        null));

      put("Volgograd", new TimeZoneNames("Volgograd", 
        new TimeZoneNames.Name("توقيت فولغوغراد", "توقيت فولغوغراد الرسمي", "توقيت فولغوغراد الصيفي"),
        null));

      put("Vostok", new TimeZoneNames("Vostok", 
        new TimeZoneNames.Name(null, "توقيت فوستوك", null),
        null));

      put("Wake", new TimeZoneNames("Wake", 
        new TimeZoneNames.Name(null, "توقيت جزيرة ويك", null),
        null));

      put("Wallis", new TimeZoneNames("Wallis", 
        new TimeZoneNames.Name(null, "توقيت واليس و فوتونا", null),
        null));

      put("Yakutsk", new TimeZoneNames("Yakutsk", 
        new TimeZoneNames.Name("توقيت ياكوتسك", "توقيت ياكوتسك الرسمي", "توقيت ياكوتسك الصيفي"),
        null));

      put("Yekaterinburg", new TimeZoneNames("Yekaterinburg", 
        new TimeZoneNames.Name("توقيت يكاترينبورغ", "توقيت يكاترينبورغ الرسمي", "توقيت يكاترينبورغ الصيفي"),
        null));
    } };
  }

  @Override
  public void formatDate(CalendarFormat type, ZonedDateTime d, StringBuilder b) {
    if (type == null) {
      return;
    }
    switch (type) {
      case SHORT: {
        // "d‏/M‏/y"
        formatField(d, 'd', 1, b);
        b.append("‏/");
        formatField(d, 'M', 1, b);
        b.append("‏/");
        formatField(d, 'y', 1, b);
        break;
      }
      case MEDIUM: {
        // "dd‏/MM‏/y"
        formatField(d, 'd', 2, b);
        b.append("‏/");
        formatField(d, 'M', 2, b);
        b.append("‏/");
        formatField(d, 'y', 1, b);
        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: "E، d"
        formatField(d, 'E', 1, b);
        b.append("، ");
        formatField(d, 'd', 1, b);
        break;
      }
      case "Ehm": {
        // Pattern: "E h:mm a"
        formatField(d, 'E', 1, b);
        b.append(" ");
        formatField(d, 'h', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        break;
      }
      case "EHm": {
        // Pattern: "E HH:mm"
        formatField(d, 'E', 1, b);
        b.append(" ");
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        break;
      }
      case "Ehms": {
        // Pattern: "E h:mm:ss a"
        formatField(d, 'E', 1, b);
        b.append(" ");
        formatField(d, 'h', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        break;
      }
      case "EHms": {
        // Pattern: "E HH:mm:ss"
        formatField(d, 'E', 1, b);
        b.append(" ");
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        break;
      }
      case "Gy": {
        // Pattern: "y G"
        formatField(d, 'y', 1, b);
        b.append(" ");
        formatField(d, 'G', 1, b);
        break;
      }
      case "GyMMM": {
        // Pattern: "MMM y G"
        formatField(d, 'M', 3, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        b.append(" ");
        formatField(d, 'G', 1, b);
        break;
      }
      case "GyMMMd": {
        // Pattern: "d 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 "MMdd": {
        // Pattern: "dd‏/MM"
        formatField(d, 'd', 2, b);
        b.append("‏/");
        formatField(d, 'M', 2, 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 "MMMMEd": {
        // Pattern: "E، d MMMM"
        formatField(d, 'E', 1, b);
        b.append("، ");
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 4, b);
        break;
      }
      case "MMMMW-count-zero": {
        // Pattern: "الأسبوع W من MMM"
        b.append("الأسبوع ");
        formatField(d, 'W', 1, b);
        b.append(" من ");
        formatField(d, 'M', 3, b);
        break;
      }
      case "MMMMW-count-one": {
        // Pattern: "الأسبوع W من MMM"
        b.append("الأسبوع ");
        formatField(d, 'W', 1, b);
        b.append(" من ");
        formatField(d, 'M', 3, b);
        break;
      }
      case "MMMMW-count-two": {
        // Pattern: "الأسبوع W من MMM"
        b.append("الأسبوع ");
        formatField(d, 'W', 1, b);
        b.append(" من ");
        formatField(d, 'M', 3, b);
        break;
      }
      case "MMMMW-count-few": {
        // Pattern: "الأسبوع W من MMM"
        b.append("الأسبوع ");
        formatField(d, 'W', 1, b);
        b.append(" من ");
        formatField(d, 'M', 3, b);
        break;
      }
      case "MMMMW-count-many": {
        // Pattern: "الأسبوع W من MMM"
        b.append("الأسبوع ");
        formatField(d, 'W', 1, b);
        b.append(" من ");
        formatField(d, 'M', 3, b);
        break;
      }
      case "MMMMW-count-other": {
        // Pattern: "الأسبوع W من MMM"
        b.append("الأسبوع ");
        formatField(d, 'W', 1, b);
        b.append(" من ");
        formatField(d, 'M', 3, b);
        break;
      }
      case "ms": {
        // Pattern: "mm:ss"
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        break;
      }
      case "y": {
        // Pattern: "y"
        formatField(d, 'y', 1, b);
        break;
      }
      case "yM": {
        // Pattern: "M‏/y"
        formatField(d, 'M', 1, b);
        b.append("‏/");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yMd": {
        // Pattern: "d‏/M‏/y"
        formatField(d, 'd', 1, b);
        b.append("‏/");
        formatField(d, 'M', 1, b);
        b.append("‏/");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yMEd": {
        // Pattern: "E، d/‏M/‏y"
        formatField(d, 'E', 1, b);
        b.append("، ");
        formatField(d, 'd', 1, b);
        b.append("/‏");
        formatField(d, 'M', 1, b);
        b.append("/‏");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yMM": {
        // Pattern: "MM‏/y"
        formatField(d, 'M', 2, 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-zero": {
        // Pattern: "الأسبوع w من سنة y"
        b.append("الأسبوع ");
        formatField(d, 'w', 1, 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-two": {
        // Pattern: "الأسبوع w من سنة y"
        b.append("الأسبوع ");
        formatField(d, 'w', 1, b);
        b.append(" من سنة ");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yw-count-few": {
        // Pattern: "الأسبوع w من سنة y"
        b.append("الأسبوع ");
        formatField(d, 'w', 1, b);
        b.append(" من سنة ");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yw-count-many": {
        // 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 "MMMM": {
          switch (f) {
            case MONTH: {
              // "LLLL–"
              formatField(s, 'L', 4, b);
              b.append("–");
              // "LLLL"
              formatField(e, 'L', 4, 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 – "
              formatField(s, 'E', 1, b);
              b.append("، ");
              formatField(s, 'd', 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 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، 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 – "
              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: {
              // "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: {
              // "M/d – "
              formatField(s, 'M', 1, b);
              b.append("/");
              formatField(s, 'd', 1, b);
              b.append(" – ");
              // "M/d"
              formatField(e, 'M', 1, b);
              b.append("/");
              formatField(e, 'd', 1, b);
              return;
            }
            case MONTH: {
              // "M/d – "
              formatField(s, 'M', 1, b);
              b.append("/");
              formatField(s, 'd', 1, b);
              b.append(" – ");
              // "M/d"
              formatField(e, 'M', 1, b);
              b.append("/");
              formatField(e, 'd', 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: {
              // "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: {
              // "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("جرينتش");
      return;
    }
    boolean emitMins = !_short || mins > 0;
    b.append("جرينتش");
    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