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

com.squarespace.cldr.dates._CalendarFormatter_si 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 "si"
 * See http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
 */
public class _CalendarFormatter_si extends CalendarFormatterBase {
  public _CalendarFormatter_si() {
    this.locale = CLDR.Locale.si;
    this.firstDay = 1;
    this.minDays = 1;
    this.eras = new FieldVariants(
          new String[] {"ක්‍රි.පූ.", "ක්‍රි.ව."}, 
          new String[] {"ක්‍රි.පූ.", "ක්‍රි.ව."}, 
          new String[] {}, 
          new String[] {"ක්‍රිස්තු පූර්ව", "ක්‍රිස්තු වර්ෂ"});
    this.quartersFormat = new FieldVariants(
          new String[] {"කාර්:1", "කාර්:2", "කාර්:3", "කාර්:4"}, 
          new String[] {"1", "2", "3", "4"}, 
          new String[] {}, 
          new String[] {"1 වන කාර්තුව", "2 වන කාර්තුව", "3 වන කාර්තුව", "4 වන කාර්තුව"});
    this.quartersStandalone = new FieldVariants(
          new String[] {"කාර්:1", "කාර්:2", "කාර්:3", "කාර්:4"}, 
          new String[] {"1", "2", "3", "4"}, 
          new String[] {}, 
          new String[] {"1 වන කාර්තුව", "2 වන කාර්තුව", "3 වන කාර්තුව", "4 වන කාර්තුව"});
    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",   null,
        new TimeZoneNames.Name(null, "UTC", null)));
    } };

    this.metazoneNames = new HashMap() { {

      put("Afghanistan", new TimeZoneNames("Afghanistan", 
        new TimeZoneNames.Name(null, "ඇෆ්ගනිස්ථාන වේලාව", null),
        null));

      put("Africa_Central", new TimeZoneNames("Africa_Central", 
        new TimeZoneNames.Name(null, "මධ්‍යම අප්‍රිකානු වේලාව", null),
        null));

      put("Africa_Eastern", new TimeZoneNames("Africa_Eastern", 
        new TimeZoneNames.Name(null, "නැගෙනහිර අප්‍රිකානු වේලාව", null),
        null));

      put("Africa_Southern", new TimeZoneNames("Africa_Southern", 
        new TimeZoneNames.Name(null, "දකුණු අප්‍රිකානු වේලාව", null),
        null));

      put("Africa_Western", new TimeZoneNames("Africa_Western", 
        new TimeZoneNames.Name("බටහිර අප්‍රිකානු වේලාව", "බටහිර අප්‍රිකානු සම්මත වේලාව", "බටහිර අප්‍රිකානු ග්‍රීෂ්ම කාලය"),
        null));

      put("Alaska", new TimeZoneNames("Alaska", 
        new TimeZoneNames.Name("ඇලස්කා වේලාව", "ඇලස්කා සම්මත වේලාව", "ඇලස්කා දිවාආලෝක වේලාව"),
        null));

      put("Amazon", new TimeZoneNames("Amazon", 
        new TimeZoneNames.Name("ඇමර්සන් වේලාව", "ඇමර්සන් සම්මත වේලාව", "ඇමර්සන් ග්‍රීෂ්ම කාලය"),
        null));

      put("America_Central", new TimeZoneNames("America_Central", 
        new TimeZoneNames.Name("උතුරු ඇමරිකානු මධ්‍යම වේලාව", "උතුරු ඇමරිකානු මධ්‍යම සම්මත වේලාව", "උතුරු ඇමරිකානු මධ්‍යම දිවාආලෝක වේලාව"),
        null));

      put("America_Eastern", new TimeZoneNames("America_Eastern", 
        new TimeZoneNames.Name("උතුරු ඇමරිකානු නැගෙනහිර වේලාව", "උතුරු ඇමරිකානු නැගෙනහිර සම්මත වේලාව", "උතුරු ඇමරිකානු නැගෙනහිර දිවාආලෝක වේලාව"),
        null));

      put("America_Mountain", new TimeZoneNames("America_Mountain", 
        new TimeZoneNames.Name("උතුරු ඇමරිකානු කඳුකර වේලාව", "උතුරු ඇමරිකානු කඳුකර සම්මත වේලාව", "උතුරු ඇමරිකානු කඳුකර දිවාආලෝක වේලාව"),
        null));

      put("America_Pacific", new TimeZoneNames("America_Pacific", 
        new TimeZoneNames.Name("උතුරු ඇමරිකානු පැසිෆික් වේලාව", "උතුරු ඇමරිකානු පැසිෆික් සම්මත වේලාව", "උතුරු ඇමරිකානු පැසිෆික් දිවාආලෝක වේලාව"),
        null));

      put("Apia", new TimeZoneNames("Apia", 
        new TimeZoneNames.Name("අපියා වේලාව", "අපියා සම්මත වේලාව", "අපියා දිවා වේලාව"),
        null));

      put("Arabian", new TimeZoneNames("Arabian", 
        new TimeZoneNames.Name("අරාබි වේලාව", "අරාබි සම්මත වේලාව", "අරාබි දහවල් වේලාව"),
        null));

      put("Argentina", new TimeZoneNames("Argentina", 
        new TimeZoneNames.Name("ආර්ජන්ටිනා වේලාව", "ආර්ජන්ටිනා සම්මත වේලාව", "ආර්ජන්ටිනා ග්‍රීෂ්ම කාලය"),
        null));

      put("Argentina_Western", new TimeZoneNames("Argentina_Western", 
        new TimeZoneNames.Name("බටහිර ආර්ජන්ටිනා වේලාව", "බටහිර ආර්ජන්ටිනා සම්මත වේලාව", "බටහිර ආර්ජන්ටිනා ග්‍රීෂ්ම කාලය"),
        null));

      put("Armenia", new TimeZoneNames("Armenia", 
        new TimeZoneNames.Name("ආමේනියානු වේලාව", "ආමේනියානු සම්මත වේලාව", "ආමේනියානු ග්‍රීෂ්ම වේලාව"),
        null));

      put("Atlantic", new TimeZoneNames("Atlantic", 
        new TimeZoneNames.Name("අත්ලාන්තික් වේලාව", "අත්ලාන්තික් සම්මත වේලාව", "අත්ලාන්තික් දිවාආලෝක වේලාව"),
        null));

      put("Australia_Central", new TimeZoneNames("Australia_Central", 
        new TimeZoneNames.Name("මධ්‍යම ඕස්ට්‍රේලියානු වේලාව", "ඕස්ට්‍රේලියානු සම්මත වේලාව", "මධ්‍යම ඔස්ට්‍රේලියානු දහවල් වේලාව"),
        null));

      put("Australia_CentralWestern", new TimeZoneNames("Australia_CentralWestern", 
        new TimeZoneNames.Name("මධ්‍යම බටහිර ඔස්ට්‍රේලියානු වේලාව", "මධ්‍යම බටහිර ඔස්ට්‍රේලියානු සම්මත වේලාව", "මධ්‍යම බටහිර ඔස්ට්‍රේලියානු දහවල් වේලාව"),
        null));

      put("Australia_Eastern", new TimeZoneNames("Australia_Eastern", 
        new TimeZoneNames.Name("නැගෙනහිර ඕස්ට්‍රේලියානු වේලාව", "නැගෙනහිර ඕස්ට්‍රේලියානු සම්මත වේලාව", "නැඟෙනහිර ඕස්ට්‍රේලියානු දහවල් වේලාව"),
        null));

      put("Australia_Western", new TimeZoneNames("Australia_Western", 
        new TimeZoneNames.Name("බටහිර ඕස්ට්‍රේලියානු වේලාව", "බටහිර ඕස්ට්‍රේලියානු සම්මත වේලාව", "බටහිර ඔස්ට්‍රේලියානු දහවල් වේලාව"),
        null));

      put("Azerbaijan", new TimeZoneNames("Azerbaijan", 
        new TimeZoneNames.Name("අසර්බයිජාන් වේලාව", "අසර්බයිජාන් සම්මත වේලාව", "අසර්බයිජාන් ග්‍රීෂ්ම වේලාව"),
        null));

      put("Azores", new TimeZoneNames("Azores", 
        new TimeZoneNames.Name("ඇසොර්ස් වේලාව", "ඇසොර්ස් සම්මත වේලාව", "ඇසොර්ස් ග්‍රීෂ්ම වේලාව"),
        null));

      put("Bangladesh", new TimeZoneNames("Bangladesh", 
        new TimeZoneNames.Name("බංගලාදේශ වේලාව", "බංගලාදේශ සම්මත වේලාව", "බංගලාදේශ ග්‍රීෂ්ම කාලය"),
        null));

      put("Bhutan", new TimeZoneNames("Bhutan", 
        new TimeZoneNames.Name(null, "භුතාන වේලාව", null),
        null));

      put("Bolivia", new TimeZoneNames("Bolivia", 
        new TimeZoneNames.Name(null, "බොලිවියා වේලාව", null),
        null));

      put("Brasilia", new TimeZoneNames("Brasilia", 
        new TimeZoneNames.Name("බ්‍රසීල වේලාව", "බ්‍රසීල සම්මත වේලාව", "බ්‍රසීල ග්‍රීෂ්ම කාලය"),
        null));

      put("Brunei", new TimeZoneNames("Brunei", 
        new TimeZoneNames.Name(null, "බෘනායි දරුස්සලාම් වේලාව", null),
        null));

      put("Cape_Verde", new TimeZoneNames("Cape_Verde", 
        new TimeZoneNames.Name("කේප්වේඩ් වේලාව", "කේප්වේඩ් සම්මත වේලාව", "කේප්වේඩ් ග්‍රීෂ්ම කාලය"),
        null));

      put("Chamorro", new TimeZoneNames("Chamorro", 
        new TimeZoneNames.Name(null, "චමොරෝ වේලාව", null),
        null));

      put("Chatham", new TimeZoneNames("Chatham", 
        new TimeZoneNames.Name("චැතම් වේලාව", "චැතම් සම්මත වේලාව", "චැතම් දිවා වේලාව"),
        null));

      put("Chile", new TimeZoneNames("Chile", 
        new TimeZoneNames.Name("චිලී වේලාව", "චිලී සම්මත වේලාව", "චිලී ග්‍රීෂ්ම කාලය"),
        null));

      put("China", new TimeZoneNames("China", 
        new TimeZoneNames.Name("චීන වේලාව", "චීන සම්මත වේලාව", "චීන දහවල් වේලාව"),
        null));

      put("Choibalsan", new TimeZoneNames("Choibalsan", 
        new TimeZoneNames.Name("චොයිබල්සාන් වේලාව", "චොයිබල්සාන් සම්මත වේලාව", "චොයිබල්සාන් ග්‍රීෂ්ම වේලාව"),
        null));

      put("Christmas", new TimeZoneNames("Christmas", 
        new TimeZoneNames.Name(null, "ක්‍රිස්මස් දුපත් වේලාව", null),
        null));

      put("Cocos", new TimeZoneNames("Cocos", 
        new TimeZoneNames.Name(null, "කොකෝස් දුපත් වේලාව", null),
        null));

      put("Colombia", new TimeZoneNames("Colombia", 
        new TimeZoneNames.Name("කොලොම්බියා වේලාව", "කොලොම්බියා සම්මත වේලාව", "කොලොම්බියා ග්‍රීෂ්ම කාලය"),
        null));

      put("Cook", new TimeZoneNames("Cook", 
        new TimeZoneNames.Name("කුක් දුපත් වේලාව", "කුක් දුපත් සම්මත වේලාව", "කුක් දුපත් භාග ග්‍රීෂ්ම වේලාව"),
        null));

      put("Cuba", new TimeZoneNames("Cuba", 
        new TimeZoneNames.Name("කියුබානු වේලාව", "කියුබානු සම්මත වේලාව", "කියුබානු දිවාආලෝක වේලාව"),
        null));

      put("Davis", new TimeZoneNames("Davis", 
        new TimeZoneNames.Name(null, "ඩාවිස් වේලාව", null),
        null));

      put("DumontDUrville", new TimeZoneNames("DumontDUrville", 
        new TimeZoneNames.Name(null, "දුමොන්ත්-ඩ්උර්විල් වේලාව", null),
        null));

      put("East_Timor", new TimeZoneNames("East_Timor", 
        new TimeZoneNames.Name(null, "නැගෙනහිර ටිමෝර් වේලාව", null),
        null));

      put("Easter", new TimeZoneNames("Easter", 
        new TimeZoneNames.Name("ඊස්ටර් දූපත් වේලාව", "ඊස්ටර් දූපත් සම්මත වේලාව", "ඊස්ටර් දූපත් ග්‍රීෂ්ම කාලය"),
        null));

      put("Ecuador", new TimeZoneNames("Ecuador", 
        new TimeZoneNames.Name(null, "ඉක්වදෝර් වේලාව", null),
        null));

      put("Europe_Central", new TimeZoneNames("Europe_Central", 
        new TimeZoneNames.Name("මධ්‍යම යුරෝපීය වේලාව", "මධ්‍යම යුරෝපීය සම්මත වේලාව", "මධ්‍යම යුරෝපීය ග්‍රීෂ්ම වේලාව"),
        null));

      put("Europe_Eastern", new TimeZoneNames("Europe_Eastern", 
        new TimeZoneNames.Name("නැගෙනහිර යුරෝපීය වේලාව", "නැගෙනහිර යුරෝපීය සම්මත වේලාව", "නැගෙනහිර යුරෝපීය ග්‍රීෂ්ම වේලාව"),
        null));

      put("Europe_Further_Eastern", new TimeZoneNames("Europe_Further_Eastern", 
        new TimeZoneNames.Name(null, "තවත්-නැගෙනහිර යුරෝපීය වේලාව", null),
        null));

      put("Europe_Western", new TimeZoneNames("Europe_Western", 
        new TimeZoneNames.Name("බටහිර යුරෝපීය වේලාව", "බටහිර යුරෝපීය සම්මත වේලාව", "බටහිර යුරෝපීය ග්‍රීෂ්ම වේලාව"),
        null));

      put("Falkland", new TimeZoneNames("Falkland", 
        new TimeZoneNames.Name("ෆෝක්ලන්ඩ් දූපත් වේලාව", "ෆෝක්ලන්ඩ් දූපත් සම්මත වේලාව", "ෆෝක්ලන්ඩ් දූපත් ග්‍රීෂ්ම කාලය"),
        null));

      put("Fiji", new TimeZoneNames("Fiji", 
        new TimeZoneNames.Name("ෆිජි වේලාව", "ෆිජි සම්මත වේලාව", "ෆිජි ග්‍රීෂ්ම වේලාව"),
        null));

      put("French_Guiana", new TimeZoneNames("French_Guiana", 
        new TimeZoneNames.Name(null, "ප්‍රංශ ගයනා වේලාව", null),
        null));

      put("French_Southern", new TimeZoneNames("French_Southern", 
        new TimeZoneNames.Name(null, "ප්‍රංශ දකුණුදිග සහ ඇන්ටාර්ක්ටික් වේලාව", null),
        null));

      put("Galapagos", new TimeZoneNames("Galapagos", 
        new TimeZoneNames.Name(null, "ගලපගොස් වේලාව", null),
        null));

      put("Gambier", new TimeZoneNames("Gambier", 
        new TimeZoneNames.Name(null, "ගැම්බියර් වේලාව", null),
        null));

      put("Georgia", new TimeZoneNames("Georgia", 
        new TimeZoneNames.Name("ජෝර්ජියානු වේලාව", "ජෝර්ජියානු සම්මත වේලාව", "ජෝර්ජියානු ග්‍රීෂ්ම වේලාව"),
        null));

      put("Gilbert_Islands", new TimeZoneNames("Gilbert_Islands", 
        new TimeZoneNames.Name(null, "ගිල්බර්ට් දුපත් වේලාව", null),
        null));

      put("GMT", new TimeZoneNames("GMT", 
        new TimeZoneNames.Name(null, "ග්‍රිනිච් මධ්‍යම වේලාව", null),
        null));

      put("Greenland_Eastern", new TimeZoneNames("Greenland_Eastern", 
        new TimeZoneNames.Name("නැගෙනහිර ග්‍රීන්ලන්ත වේලාව", "නැගෙනහිර ග්‍රීන්ලන්ත සම්මත වේලාව", "නැගෙනහිර ග්‍රීන්ලන්ත ග්‍රීෂ්ම කාලය"),
        null));

      put("Greenland_Western", new TimeZoneNames("Greenland_Western", 
        new TimeZoneNames.Name("බටහිර ග්‍රීන්ලන්ත වේලාව", "බටහිර ග්‍රීන්ලන්ත සම්මත වේලාව", "බටහිර ග්‍රීන්ලන්ත ග්‍රීෂ්ම කාලය"),
        null));

      put("Gulf", new TimeZoneNames("Gulf", 
        new TimeZoneNames.Name(null, "ගල්ෆ් වේලාව", null),
        null));

      put("Guyana", new TimeZoneNames("Guyana", 
        new TimeZoneNames.Name(null, "ගයනා වේලාව", null),
        null));

      put("Hawaii_Aleutian", new TimeZoneNames("Hawaii_Aleutian", 
        new TimeZoneNames.Name("හවායි-අලෙයුතියාන් වේලාව", "හවායි-අලෙයුතියාන් සම්මත වේලාව", "හවායි-අලෙයුතියාන් දිවාආලෝක වේලාව"),
        null));

      put("Hong_Kong", new TimeZoneNames("Hong_Kong", 
        new TimeZoneNames.Name("හොංකොං වේලාව", "හොංකොං සම්මත වේලාව", "හොංකොං ග්‍රීෂ්ම වේලාව"),
        null));

      put("Hovd", new TimeZoneNames("Hovd", 
        new TimeZoneNames.Name("හොව්ඩ් වේලාව", "හොව්ඩ් සම්මත වේලාව", "හොව්ඩ් ග්‍රීෂ්ම වේලාව"),
        null));

      put("India", new TimeZoneNames("India", 
        new TimeZoneNames.Name(null, "ඉන්දියානු වේලාව", null),
        null));

      put("Indian_Ocean", new TimeZoneNames("Indian_Ocean", 
        new TimeZoneNames.Name(null, "ඉන්දියන් සාගර වේලාව", null),
        null));

      put("Indochina", new TimeZoneNames("Indochina", 
        new TimeZoneNames.Name(null, "ඉන්දුචීන වේලාව", null),
        null));

      put("Indonesia_Central", new TimeZoneNames("Indonesia_Central", 
        new TimeZoneNames.Name(null, "මධ්‍යම ඉන්දුනීසියානු වේලාව", null),
        null));

      put("Indonesia_Eastern", new TimeZoneNames("Indonesia_Eastern", 
        new TimeZoneNames.Name(null, "නැගෙනහිර ඉන්දුනීසියානු වේලාව", null),
        null));

      put("Indonesia_Western", new TimeZoneNames("Indonesia_Western", 
        new TimeZoneNames.Name(null, "බටහිර ඉන්දුනීසියානු වේලාව", null),
        null));

      put("Iran", new TimeZoneNames("Iran", 
        new TimeZoneNames.Name("ඉරාන වේලාව", "ඉරාන සම්මත වේලාව", "ඉරාන දිවා කාලය"),
        null));

      put("Irkutsk", new TimeZoneNames("Irkutsk", 
        new TimeZoneNames.Name("ඉර්කුට්ස්ක් වේලාව", "ඉර්කුට්ස්ක් සම්මත වේලාව", "ඉර්කුට්ස්ක් ග්‍රීෂ්ම වේලාව"),
        null));

      put("Israel", new TimeZoneNames("Israel", 
        new TimeZoneNames.Name("ඊශ්‍රායල වේලාව", "ඊශ්‍රායල සම්මත වේලාව", "ඊශ්‍රායල දහවල් වේලාව"),
        null));

      put("Japan", new TimeZoneNames("Japan", 
        new TimeZoneNames.Name("ජපාන වේලාව", "ජපාන සම්මත වේලාව", "ජපාන දහවල් වේලාව"),
        null));

      put("Kazakhstan_Eastern", new TimeZoneNames("Kazakhstan_Eastern", 
        new TimeZoneNames.Name(null, "නැගෙනහිර කසකස්තාන වේලාව", null),
        null));

      put("Kazakhstan_Western", new TimeZoneNames("Kazakhstan_Western", 
        new TimeZoneNames.Name(null, "බටහිර කසකස්තාන වේලාව", null),
        null));

      put("Korea", new TimeZoneNames("Korea", 
        new TimeZoneNames.Name("කොරියානු වේලාව", "කොරියානු සම්මත වේලාව", "කොරියානු දහවල් වේලාව"),
        null));

      put("Kosrae", new TimeZoneNames("Kosrae", 
        new TimeZoneNames.Name(null, "කොස්රේ වේලාව", null),
        null));

      put("Krasnoyarsk", new TimeZoneNames("Krasnoyarsk", 
        new TimeZoneNames.Name("ක්‍රස්නොයාර්ස්ක් වේලාව", "ක්‍රස්නොයාර්ස්ක් සම්මත වේලාව", "ක්‍රස්නොයාර්ස්ක් ග්‍රීෂ්ම වේලාව"),
        null));

      put("Kyrgystan", new TimeZoneNames("Kyrgystan", 
        new TimeZoneNames.Name(null, "කිර්ගිස්තාන වේලාව", null),
        null));

      put("Lanka", new TimeZoneNames("Lanka", 
        new TimeZoneNames.Name(null, "ශ්‍රී ලංකා වේලාව", null),
        null));

      put("Line_Islands", new TimeZoneNames("Line_Islands", 
        new TimeZoneNames.Name(null, "ලයින් දුපත් වේලාව", null),
        null));

      put("Lord_Howe", new TimeZoneNames("Lord_Howe", 
        new TimeZoneNames.Name("ලෝර්ඩ් හෝව් වේලාව", "ලෝර්ඩ් හෝව් සම්මත වේලාව", "ලෝර්ඩ් හෝව් දිවා වේලාව"),
        null));

      put("Macquarie", new TimeZoneNames("Macquarie", 
        new TimeZoneNames.Name(null, "මැක්කුඅරි දුපත් වේලාව", null),
        null));

      put("Magadan", new TimeZoneNames("Magadan", 
        new TimeZoneNames.Name("මෙගඩන් වේලාව", "මෙගඩන් සම්මත වේලාව", "මෙගඩන් ග්‍රීෂ්ම වේලාව"),
        null));

      put("Malaysia", new TimeZoneNames("Malaysia", 
        new TimeZoneNames.Name(null, "මැලේසියානු වේලාව", null),
        null));

      put("Maldives", new TimeZoneNames("Maldives", 
        new TimeZoneNames.Name(null, "මාලදිවයින් වේලාව", null),
        null));

      put("Marquesas", new TimeZoneNames("Marquesas", 
        new TimeZoneNames.Name(null, "මාර්කුඑසාස් වේලාව", null),
        null));

      put("Marshall_Islands", new TimeZoneNames("Marshall_Islands", 
        new TimeZoneNames.Name(null, "මාර්ෂල් දුපත් වේලාව", null),
        null));

      put("Mauritius", new TimeZoneNames("Mauritius", 
        new TimeZoneNames.Name("මුරුසි වේලාව", "මුරුසි සම්මත වේලාව", "මුරුසි ග්‍රීෂ්ම කාලය"),
        null));

      put("Mawson", new TimeZoneNames("Mawson", 
        new TimeZoneNames.Name(null, "මොව්සන් වේලාව", null),
        null));

      put("Mexico_Northwest", new TimeZoneNames("Mexico_Northwest", 
        new TimeZoneNames.Name("වයඹ මෙක්සිකෝ වේලාව", "වයඹ මෙක්සිකෝ සම්මත වේලාව", "වයඹ මෙක්සිකෝ දිවාආලෝක වේලාව"),
        null));

      put("Mexico_Pacific", new TimeZoneNames("Mexico_Pacific", 
        new TimeZoneNames.Name("මෙක්සිකෝ පැසිෆික් වේලාව", "මෙක්සිකෝ පැසිෆික් සම්මත වේලාව", "මෙක්සිකෝ පැසිෆික් දිවාආලෝක වේලාව"),
        null));

      put("Mongolia", new TimeZoneNames("Mongolia", 
        new TimeZoneNames.Name("උලාන් බාටර් වේලාව", "උලාන් බාටර් සම්මත වේලාව", "උලාන් බාටර් ග්‍රීෂ්ම වේලාව"),
        null));

      put("Moscow", new TimeZoneNames("Moscow", 
        new TimeZoneNames.Name("මොස්කව් වේලාව", "මොස්කව් සම්මත වේලාව", "මොස්කව් ග්‍රීෂ්ම වේලාව"),
        null));

      put("Myanmar", new TimeZoneNames("Myanmar", 
        new TimeZoneNames.Name(null, "මියන්මාර් වේලාව", null),
        null));

      put("Nauru", new TimeZoneNames("Nauru", 
        new TimeZoneNames.Name(null, "නාවුරු වේලාව", null),
        null));

      put("Nepal", new TimeZoneNames("Nepal", 
        new TimeZoneNames.Name(null, "නේපාල වේලාව", null),
        null));

      put("New_Caledonia", new TimeZoneNames("New_Caledonia", 
        new TimeZoneNames.Name("නව සෙලඩොනියානු වේලාව", "නව සෙලඩොනියානු සම්මත වේලාව", "නව සෙලඩොනියානු ග්‍රීෂ්ම වේලාව"),
        null));

      put("New_Zealand", new TimeZoneNames("New_Zealand", 
        new TimeZoneNames.Name("නවසීලන්ත වේලාව", "නවසීලන්ත සම්මත වේලාව", "නවසීලන්ත දිවා වේලාව"),
        null));

      put("Newfoundland", new TimeZoneNames("Newfoundland", 
        new TimeZoneNames.Name("නිව්ෆවුන්ලන්ත වේලාව", "නිව්ෆවුන්ලන්ත සම්මත වේලාව", "නිව්ෆවුන්ලන්ත දිවාආලෝක වේලාව"),
        null));

      put("Niue", new TimeZoneNames("Niue", 
        new TimeZoneNames.Name(null, "නියු වේලාව", null),
        null));

      put("Norfolk", new TimeZoneNames("Norfolk", 
        new TimeZoneNames.Name(null, "නොෆොල්ක් දුපත් වේලාව", null),
        null));

      put("Noronha", new TimeZoneNames("Noronha", 
        new TimeZoneNames.Name("ෆර්නැන්ඩෝ ඩි නොරොන්හා වේලාව", "ෆර්නැන්ඩෝ ඩි නොරොන්හා සම්මත වේලාව", "ෆර්නැන්ඩෝ ඩි නොරොන්හා ග්‍රීෂ්ම කාලය"),
        null));

      put("Novosibirsk", new TimeZoneNames("Novosibirsk", 
        new TimeZoneNames.Name("නොවසිබිර්ස්ක් වේලාව", "නොවසිබිර්ස්ක් සම්මත වේලාව", "නොවසිබිර්ස්ක් ග්‍රීෂ්ම වේලාව"),
        null));

      put("Omsk", new TimeZoneNames("Omsk", 
        new TimeZoneNames.Name("ඔම්ස්ක් වේලාව", "ඔම්ස්ක් සම්මත වේලාව", "ඔම්ස්ක් ග්‍රීෂ්ම වේලාව"),
        null));

      put("Pakistan", new TimeZoneNames("Pakistan", 
        new TimeZoneNames.Name("පාකිස්ථාන වේලාව", "පාකිස්ථාන සම්මත වේලාව", "පාකිස්ථාන ග්‍රීෂ්ම කාලය"),
        null));

      put("Palau", new TimeZoneNames("Palau", 
        new TimeZoneNames.Name(null, "පලාවු වේලාව", null),
        null));

      put("Papua_New_Guinea", new TimeZoneNames("Papua_New_Guinea", 
        new TimeZoneNames.Name(null, "පැපුවා නිව් ගිනීයා වේලාව", null),
        null));

      put("Paraguay", new TimeZoneNames("Paraguay", 
        new TimeZoneNames.Name("පැරගුවේ වේලාව", "පැරගුවේ සම්මත වේලාව", "පැරගුවේ ග්‍රීෂ්ම කාලය"),
        null));

      put("Peru", new TimeZoneNames("Peru", 
        new TimeZoneNames.Name("පේරු වේලාව", "පේරු සම්මත වේලාව", "පේරු ග්‍රීෂ්ම කාලය"),
        null));

      put("Philippines", new TimeZoneNames("Philippines", 
        new TimeZoneNames.Name("පිලිපීන වේලාව", "පිලිපීන සම්මත වේලාව", "පිලිපීන ග්‍රීෂ්ම වේලාව"),
        null));

      put("Phoenix_Islands", new TimeZoneNames("Phoenix_Islands", 
        new TimeZoneNames.Name(null, "ෆීනික්ස් දුපත් වේලාව", null),
        null));

      put("Pierre_Miquelon", new TimeZoneNames("Pierre_Miquelon", 
        new TimeZoneNames.Name("ශාන්ත පියරේ සහ මැකෝලන් වේලාව", "ශාන්ත පියරේ සහ මැකෝලන් සම්මත වේලාව", "ශාන්ත පියරේ සහ මැකෝලන් දිවාආලෝක වේලාව"),
        null));

      put("Pitcairn", new TimeZoneNames("Pitcairn", 
        new TimeZoneNames.Name(null, "පිට්කෙයාන් වේලාව", null),
        null));

      put("Ponape", new TimeZoneNames("Ponape", 
        new TimeZoneNames.Name(null, "පොනපේ වේලාව", null),
        null));

      put("Pyongyang", new TimeZoneNames("Pyongyang", 
        new TimeZoneNames.Name(null, "ප්යොන්ග්යන් වේලාව", null),
        null));

      put("Reunion", new TimeZoneNames("Reunion", 
        new TimeZoneNames.Name(null, "රියුනියන් වේලාව", null),
        null));

      put("Rothera", new TimeZoneNames("Rothera", 
        new TimeZoneNames.Name(null, "රොතෙරා වේලාව", null),
        null));

      put("Sakhalin", new TimeZoneNames("Sakhalin", 
        new TimeZoneNames.Name("සඛලින් වේලාව", "සඛලින් සම්මත වේලාව", "සඛලින් ග්‍රීෂ්ම වේලාව"),
        null));

      put("Samoa", new TimeZoneNames("Samoa", 
        new TimeZoneNames.Name("සැමෝවා වේලාව", "සැමෝවා සම්මත වේලාව", "සැමෝවා ග්‍රීෂ්ම වේලාව"),
        null));

      put("Seychelles", new TimeZoneNames("Seychelles", 
        new TimeZoneNames.Name(null, "සීෂෙල්ස් වේලාව", null),
        null));

      put("Singapore", new TimeZoneNames("Singapore", 
        new TimeZoneNames.Name(null, "සිංගප්පුරු වේලාව", null),
        null));

      put("Solomon", new TimeZoneNames("Solomon", 
        new TimeZoneNames.Name(null, "සොලොමන් දූපත් වේලාව", null),
        null));

      put("South_Georgia", new TimeZoneNames("South_Georgia", 
        new TimeZoneNames.Name(null, "දකුණු ජෝජියා වේලාව", null),
        null));

      put("Suriname", new TimeZoneNames("Suriname", 
        new TimeZoneNames.Name(null, "සුරිනාම වේලාව", null),
        null));

      put("Syowa", new TimeZoneNames("Syowa", 
        new TimeZoneNames.Name(null, "ස්යෝවා වේලාව", null),
        null));

      put("Tahiti", new TimeZoneNames("Tahiti", 
        new TimeZoneNames.Name(null, "ටාහිටි වේලාව", null),
        null));

      put("Taipei", new TimeZoneNames("Taipei", 
        new TimeZoneNames.Name("තායිපේ වේලාව", "තායිපේ සම්මත වේලාව", "තායිපේ දහවල් වේලාව"),
        null));

      put("Tajikistan", new TimeZoneNames("Tajikistan", 
        new TimeZoneNames.Name(null, "ටජිකිස්තාන වේලාව", null),
        null));

      put("Tokelau", new TimeZoneNames("Tokelau", 
        new TimeZoneNames.Name(null, "ටොකෙලාවු වේලාව", null),
        null));

      put("Tonga", new TimeZoneNames("Tonga", 
        new TimeZoneNames.Name("ටොංගා වේලාව", "ටොංගා සම්මත වේලාව", "ටොංගා ග්‍රීෂ්ම වේලාව"),
        null));

      put("Truk", new TimeZoneNames("Truk", 
        new TimeZoneNames.Name(null, "චුක් වේලාව", null),
        null));

      put("Turkmenistan", new TimeZoneNames("Turkmenistan", 
        new TimeZoneNames.Name("ටර්ක්මෙනිස්තාන වේලාව", "ටර්ක්මෙනිස්තාන සම්මත වේලාව", "ටර්ක්මෙනිස්තාන ග්‍රීෂ්ම වේලාව"),
        null));

      put("Tuvalu", new TimeZoneNames("Tuvalu", 
        new TimeZoneNames.Name(null, "ටුවාලු වේලාව", null),
        null));

      put("Uruguay", new TimeZoneNames("Uruguay", 
        new TimeZoneNames.Name("උරුගුවේ වේලාව", "උරුගුවේ සම්මත වේලාව", "උරුගුවේ ග්‍රීෂ්ම කාලය"),
        null));

      put("Uzbekistan", new TimeZoneNames("Uzbekistan", 
        new TimeZoneNames.Name("උස්බෙකිස්තාන වේලාව", "උස්බෙකිස්තාන සම්මත වේලාව", "උස්බෙකිස්තාන ග්‍රීෂ්ම වේලාව"),
        null));

      put("Vanuatu", new TimeZoneNames("Vanuatu", 
        new TimeZoneNames.Name("වනුආටු වේලාව", "වනුආටු සම්මත වේලාව", "වනුආටු ගිම්හාන වේලාව"),
        null));

      put("Venezuela", new TimeZoneNames("Venezuela", 
        new TimeZoneNames.Name(null, "වෙනිසියුලා වේලාව", null),
        null));

      put("Vladivostok", new TimeZoneNames("Vladivostok", 
        new TimeZoneNames.Name("ව්ලදිවෝස්ටෝක් වේලාව", "ව්ලදිවෝස්ටෝක් සම්මත වේලාව", "ව්ලදිවෝස්ටෝක් ග්‍රීෂ්ම වේලාව"),
        null));

      put("Volgograd", new TimeZoneNames("Volgograd", 
        new TimeZoneNames.Name("වොල්ගොග්‍රාඩ් වේලාව", "වොල්ගොග්‍රාඩ් සම්මත වේලාව", "වොල්ගොග්‍රාඩ් ග්‍රීෂ්ම වේලාව"),
        null));

      put("Vostok", new TimeZoneNames("Vostok", 
        new TimeZoneNames.Name(null, "වොස්ටොක් වේලාව", null),
        null));

      put("Wake", new TimeZoneNames("Wake", 
        new TimeZoneNames.Name(null, "වේක් දූපත් වේලාව", null),
        null));

      put("Wallis", new TimeZoneNames("Wallis", 
        new TimeZoneNames.Name(null, "වැලිස් සහ ෆුටුනා වේලාව", null),
        null));

      put("Yakutsk", new TimeZoneNames("Yakutsk", 
        new TimeZoneNames.Name("යකුට්ස්ක් වේලාව", "යකුට්ස්ක් සම්මත වේලාව", "යකුට්ස්ක් ග්‍රීෂ්ම වේලාව"),
        null));

      put("Yekaterinburg", new TimeZoneNames("Yekaterinburg", 
        new TimeZoneNames.Name("යෙකටෙරින්බර්ග් වේලාව", "යෙකටෙරින්බර්ග් සම්මත වේලාව", "යෙකටෙරින්බර්ග් ග්‍රීෂ්ම වේලාව"),
        null));
    } };
  }

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

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

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

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

  @Override
  public void formatInterval(ZonedDateTime s, ZonedDateTime e, String k, DateTimeField f,
      StringBuilder b) {
    if (k != null && f != null) {
      switch (k) {
        case "d": {
          switch (f) {
            case DAY: {
              // "d–"
              formatField(s, 'd', 1, b);
              b.append("–");
              // "d"
              formatField(e, 'd', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "hm": {
          switch (f) {
            case AM_PM: {
              // "a h.mm – "
              formatField(s, 'a', 1, b);
              b.append(" ");
              formatField(s, 'h', 1, b);
              b.append(".");
              formatField(s, 'm', 2, b);
              b.append(" – ");
              // "a h.mm"
              formatField(e, 'a', 1, b);
              b.append(" ");
              formatField(e, 'h', 1, b);
              b.append(".");
              formatField(e, 'm', 2, b);
              return;
            }
            case HOUR: {
              // "a h.mm – "
              formatField(s, 'a', 1, b);
              b.append(" ");
              formatField(s, 'h', 1, b);
              b.append(".");
              formatField(s, 'm', 2, b);
              b.append(" – ");
              // "h.mm"
              formatField(e, 'h', 1, b);
              b.append(".");
              formatField(e, 'm', 2, b);
              return;
            }
            case MINUTE: {
              // "a h.mm – "
              formatField(s, 'a', 1, b);
              b.append(" ");
              formatField(s, 'h', 1, b);
              b.append(".");
              formatField(s, 'm', 2, b);
              b.append(" – ");
              // "h.mm"
              formatField(e, 'h', 1, b);
              b.append(".");
              formatField(e, 'm', 2, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "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: {
              // "a h – "
              formatField(s, 'a', 1, b);
              b.append(" ");
              formatField(s, 'h', 1, b);
              b.append(" – ");
              // "a h"
              formatField(e, 'a', 1, b);
              b.append(" ");
              formatField(e, 'h', 1, b);
              return;
            }
            case HOUR: {
              // "a h–"
              formatField(s, 'a', 1, b);
              b.append(" ");
              formatField(s, 'h', 1, b);
              b.append("–");
              // "h"
              formatField(e, 'h', 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: {
              // "y MMM d, E – "
              formatField(s, 'y', 1, b);
              b.append(" ");
              formatField(s, 'M', 3, b);
              b.append(" ");
              formatField(s, 'd', 1, b);
              b.append(", ");
              formatField(s, 'E', 1, b);
              b.append(" – ");
              // "y MMM d, E"
              formatField(e, 'y', 1, b);
              b.append(" ");
              formatField(e, 'M', 3, b);
              b.append(" ");
              formatField(e, 'd', 1, b);
              b.append(", ");
              formatField(e, 'E', 1, b);
              return;
            }
            case YEAR: {
              // "y MMM d, E – "
              formatField(s, 'y', 1, b);
              b.append(" ");
              formatField(s, 'M', 3, b);
              b.append(" ");
              formatField(s, 'd', 1, b);
              b.append(", ");
              formatField(s, 'E', 1, b);
              b.append(" – ");
              // "y MMM d, E"
              formatField(e, 'y', 1, b);
              b.append(" ");
              formatField(e, 'M', 3, b);
              b.append(" ");
              formatField(e, 'd', 1, b);
              b.append(", ");
              formatField(e, 'E', 1, b);
              return;
            }
            case MONTH: {
              // "y MMM d, E – "
              formatField(s, 'y', 1, b);
              b.append(" ");
              formatField(s, 'M', 3, b);
              b.append(" ");
              formatField(s, 'd', 1, b);
              b.append(", ");
              formatField(s, 'E', 1, b);
              b.append(" – ");
              // "y MMM d, E"
              formatField(e, 'y', 1, b);
              b.append(" ");
              formatField(e, 'M', 3, b);
              b.append(" ");
              formatField(e, 'd', 1, b);
              b.append(", ");
              formatField(e, 'E', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "yMEd": {
          switch (f) {
            case DAY: {
              // "y-M-d, E – "
              formatField(s, 'y', 1, b);
              b.append("-");
              formatField(s, 'M', 1, b);
              b.append("-");
              formatField(s, 'd', 1, b);
              b.append(", ");
              formatField(s, 'E', 1, b);
              b.append(" – ");
              // "y-M-d, E"
              formatField(e, 'y', 1, b);
              b.append("-");
              formatField(e, 'M', 1, b);
              b.append("-");
              formatField(e, 'd', 1, b);
              b.append(", ");
              formatField(e, 'E', 1, b);
              return;
            }
            case YEAR: {
              // "y-M-d, E – "
              formatField(s, 'y', 1, b);
              b.append("-");
              formatField(s, 'M', 1, b);
              b.append("-");
              formatField(s, 'd', 1, b);
              b.append(", ");
              formatField(s, 'E', 1, b);
              b.append(" – ");
              // "y-M-d, E"
              formatField(e, 'y', 1, b);
              b.append("-");
              formatField(e, 'M', 1, b);
              b.append("-");
              formatField(e, 'd', 1, b);
              b.append(", ");
              formatField(e, 'E', 1, b);
              return;
            }
            case MONTH: {
              // "y-M-d, E – "
              formatField(s, 'y', 1, b);
              b.append("-");
              formatField(s, 'M', 1, b);
              b.append("-");
              formatField(s, 'd', 1, b);
              b.append(", ");
              formatField(s, 'E', 1, b);
              b.append(" – ");
              // "y-M-d, E"
              formatField(e, 'y', 1, b);
              b.append("-");
              formatField(e, 'M', 1, b);
              b.append("-");
              formatField(e, 'd', 1, b);
              b.append(", ");
              formatField(e, 'E', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "MMM": {
          switch (f) {
            case MONTH: {
              // "LLL–"
              formatField(s, 'L', 3, b);
              b.append("–");
              // "LLL"
              formatField(e, 'L', 3, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "yMMM": {
          switch (f) {
            case YEAR: {
              // "y MMM – "
              formatField(s, 'y', 1, b);
              b.append(" ");
              formatField(s, 'M', 3, b);
              b.append(" – ");
              // "y MMM"
              formatField(e, 'y', 1, b);
              b.append(" ");
              formatField(e, 'M', 3, b);
              return;
            }
            case MONTH: {
              // "y MMM–"
              formatField(s, 'y', 1, b);
              b.append(" ");
              formatField(s, 'M', 3, b);
              b.append("–");
              // "MMM"
              formatField(e, 'M', 3, 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: {
              // "M-d, E – "
              formatField(s, 'M', 1, b);
              b.append("-");
              formatField(s, 'd', 1, b);
              b.append(", ");
              formatField(s, 'E', 1, b);
              b.append(" – ");
              // "M-d, E"
              formatField(e, 'M', 1, b);
              b.append("-");
              formatField(e, 'd', 1, b);
              b.append(", ");
              formatField(e, 'E', 1, b);
              return;
            }
            case MONTH: {
              // "M-d, E – "
              formatField(s, 'M', 1, b);
              b.append("-");
              formatField(s, 'd', 1, b);
              b.append(", ");
              formatField(s, 'E', 1, b);
              b.append(" – ");
              // "M-d, E"
              formatField(e, 'M', 1, b);
              b.append("-");
              formatField(e, 'd', 1, b);
              b.append(", ");
              formatField(e, 'E', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "MMMEd": {
          switch (f) {
            case DAY: {
              // "MMM-d, E – "
              formatField(s, 'M', 3, b);
              b.append("-");
              formatField(s, 'd', 1, b);
              b.append(", ");
              formatField(s, 'E', 1, b);
              b.append(" – ");
              // "MMM-d, E"
              formatField(e, 'M', 3, b);
              b.append("-");
              formatField(e, 'd', 1, b);
              b.append(", ");
              formatField(e, 'E', 1, b);
              return;
            }
            case MONTH: {
              // "MMM-dd, E – "
              formatField(s, 'M', 3, b);
              b.append("-");
              formatField(s, 'd', 2, b);
              b.append(", ");
              formatField(s, 'E', 1, b);
              b.append(" – ");
              // "MMM-dd, E"
              formatField(e, 'M', 3, b);
              b.append("-");
              formatField(e, 'd', 2, b);
              b.append(", ");
              formatField(e, 'E', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "hv": {
          switch (f) {
            case AM_PM: {
              // "a h – "
              formatField(s, 'a', 1, b);
              b.append(" ");
              formatField(s, 'h', 1, b);
              b.append(" – ");
              // "a h v"
              formatField(e, 'a', 1, b);
              b.append(" ");
              formatField(e, 'h', 1, b);
              b.append(" ");
              formatField(e, 'v', 1, b);
              return;
            }
            case HOUR: {
              // "a h – "
              formatField(s, 'a', 1, b);
              b.append(" ");
              formatField(s, 'h', 1, b);
              b.append(" – ");
              // "h v"
              formatField(e, 'h', 1, b);
              b.append(" ");
              formatField(e, 'v', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "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: {
              // "a h.mm – "
              formatField(s, 'a', 1, b);
              b.append(" ");
              formatField(s, 'h', 1, b);
              b.append(".");
              formatField(s, 'm', 2, b);
              b.append(" – ");
              // "a h.mm v"
              formatField(e, 'a', 1, b);
              b.append(" ");
              formatField(e, 'h', 1, b);
              b.append(".");
              formatField(e, 'm', 2, b);
              b.append(" ");
              formatField(e, 'v', 1, b);
              return;
            }
            case HOUR: {
              // "a h.mm – "
              formatField(s, 'a', 1, b);
              b.append(" ");
              formatField(s, 'h', 1, b);
              b.append(".");
              formatField(s, 'm', 2, b);
              b.append(" – ");
              // "h.mm v"
              formatField(e, 'h', 1, b);
              b.append(".");
              formatField(e, 'm', 2, b);
              b.append(" ");
              formatField(e, 'v', 1, b);
              return;
            }
            case MINUTE: {
              // "a h.mm – "
              formatField(s, 'a', 1, b);
              b.append(" ");
              formatField(s, 'h', 1, b);
              b.append(".");
              formatField(s, 'm', 2, b);
              b.append(" – ");
              // "h.mm v"
              formatField(e, 'h', 1, b);
              b.append(".");
              formatField(e, 'm', 2, b);
              b.append(" ");
              formatField(e, 'v', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "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: {
              // "y-M-d – "
              formatField(s, 'y', 1, b);
              b.append("-");
              formatField(s, 'M', 1, b);
              b.append("-");
              formatField(s, 'd', 1, b);
              b.append(" – ");
              // "y-M-d"
              formatField(e, 'y', 1, b);
              b.append("-");
              formatField(e, 'M', 1, b);
              b.append("-");
              formatField(e, 'd', 1, b);
              return;
            }
            case YEAR: {
              // "y-M-d – "
              formatField(s, 'y', 1, b);
              b.append("-");
              formatField(s, 'M', 1, b);
              b.append("-");
              formatField(s, 'd', 1, b);
              b.append(" – ");
              // "y-M-d"
              formatField(e, 'y', 1, b);
              b.append("-");
              formatField(e, 'M', 1, b);
              b.append("-");
              formatField(e, 'd', 1, b);
              return;
            }
            case MONTH: {
              // "y-M-d – "
              formatField(s, 'y', 1, b);
              b.append("-");
              formatField(s, 'M', 1, b);
              b.append("-");
              formatField(s, 'd', 1, b);
              b.append(" – ");
              // "y-M-d"
              formatField(e, 'y', 1, b);
              b.append("-");
              formatField(e, 'M', 1, b);
              b.append("-");
              formatField(e, 'd', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "MMMd": {
          switch (f) {
            case DAY: {
              // "MMM d–"
              formatField(s, 'M', 3, b);
              b.append(" ");
              formatField(s, 'd', 1, b);
              b.append("–");
              // "d"
              formatField(e, 'd', 1, b);
              return;
            }
            case MONTH: {
              // "MMM d – "
              formatField(s, 'M', 3, b);
              b.append(" ");
              formatField(s, 'd', 1, b);
              b.append(" – ");
              // "MMM d"
              formatField(e, 'M', 3, b);
              b.append(" ");
              formatField(e, 'd', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "yM": {
          switch (f) {
            case YEAR: {
              // "y-MM – "
              formatField(s, 'y', 1, b);
              b.append("-");
              formatField(s, 'M', 2, b);
              b.append(" – ");
              // "y-MM"
              formatField(e, 'y', 1, b);
              b.append("-");
              formatField(e, 'M', 2, b);
              return;
            }
            case MONTH: {
              // "y-MM – "
              formatField(s, 'y', 1, b);
              b.append("-");
              formatField(s, 'M', 2, b);
              b.append(" – ");
              // "y-MM"
              formatField(e, 'y', 1, b);
              b.append("-");
              formatField(e, 'M', 2, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "yMMMM": {
          switch (f) {
            case YEAR: {
              // "y MMMM – "
              formatField(s, 'y', 1, b);
              b.append(" ");
              formatField(s, 'M', 4, b);
              b.append(" – ");
              // "y MMMM"
              formatField(e, 'y', 1, b);
              b.append(" ");
              formatField(e, 'M', 4, b);
              return;
            }
            case MONTH: {
              // "y MMMM – "
              formatField(s, 'y', 1, b);
              b.append(" ");
              formatField(s, 'M', 4, b);
              b.append(" – ");
              // "MMMM"
              formatField(e, 'M', 4, 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: {
              // "y MMM d – "
              formatField(s, 'y', 1, b);
              b.append(" ");
              formatField(s, 'M', 3, b);
              b.append(" ");
              formatField(s, 'd', 1, b);
              b.append(" – ");
              // "d"
              formatField(e, 'd', 1, b);
              return;
            }
            case YEAR: {
              // "y MMM d – "
              formatField(s, 'y', 1, b);
              b.append(" ");
              formatField(s, 'M', 3, b);
              b.append(" ");
              formatField(s, 'd', 1, b);
              b.append(" – ");
              // "y MMM d"
              formatField(e, 'y', 1, b);
              b.append(" ");
              formatField(e, 'M', 3, b);
              b.append(" ");
              formatField(e, 'd', 1, b);
              return;
            }
            case MONTH: {
              // "y MMM d – "
              formatField(s, 'y', 1, b);
              b.append(" ");
              formatField(s, 'M', 3, b);
              b.append(" ");
              formatField(s, 'd', 1, b);
              b.append(" – ");
              // "MMM d"
              formatField(e, 'M', 3, b);
              b.append(" ");
              formatField(e, 'd', 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(region);
    b.append(" වේලාව");
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy