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

com.squarespace.cldr.dates._CalendarFormatter_bn 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 "bn"
 * See http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
 */
public class _CalendarFormatter_bn extends CalendarFormatterBase {
  public _CalendarFormatter_bn() {
    this.bundleId = CLDR.Locale.bn;
    this.firstDay = 1;
    this.minDays = 1;
    this.eras = new FieldVariants(
          new String[] {"খ্রিস্টপূর্ব", "খৃষ্টাব্দ"}, 
          new String[] {"খ্রিস্টপূর্ব", "খৃষ্টাব্দ"}, 
          new String[] {}, 
          new String[] {"খ্রিস্টপূর্ব", "খৃষ্টাব্দ"});
    this.quartersFormat = new FieldVariants(
          new String[] {"Q1", "Q2", "Q3", "Q4"}, 
          new String[] {"১", "২", "৩", "৪"}, 
          new String[] {}, 
          new String[] {"ত্রৈমাসিক", "দ্বিতীয় ত্রৈমাসিক", "তৃতীয় ত্রৈমাসিক", "চতুর্থ ত্রৈমাসিক"});
    this.quartersStandalone = new FieldVariants(
          new String[] {"Q1", "Q2", "Q3", "Q4"}, 
          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[] {"AM", "PM"}, 
          new String[] {"AM", "PM"}, 
          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", "উস্ত- নেরা");
      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),
        new TimeZoneNames.Name(null, "IST", 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: {
        // "d MMM, y"
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 3, b);
        b.append(", ");
        formatField(d, 'y', 1, b);
        break;
      }
      case LONG: {
        // "d MMMM, y"
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 4, b);
        b.append(", ");
        formatField(d, 'y', 1, b);
        break;
      }
      case FULL: {
        // "EEEE, d MMMM, y"
        formatField(d, 'E', 4, b);
        b.append(", ");
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 4, b);
        b.append(", ");
        formatField(d, 'y', 1, b);
        break;
      }
    }
  }

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

  @Override
  public void formatWrapped(CalendarFormat wrapperType, CalendarFormat dateType,
      CalendarFormat timeType, String dateSkel, String timeSkel, ZonedDateTime d, StringBuilder b) {
    switch (wrapperType) {
      case SHORT:
      case MEDIUM:
      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 "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-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 "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-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: {
              // "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("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