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

com.squarespace.cldr.dates._CalendarFormatter_km 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 "km"
 * See http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
 */
public class _CalendarFormatter_km extends CalendarFormatterBase {
  public _CalendarFormatter_km() {
    this.bundleId = CLDR.Locale.km;
    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[] {"AM", "PM"}, 
          new String[] {"a", "p"}, 
          new String[] {}, 
          new String[] {"AM", "PM"});
    this.dayPeriodsStandalone = new FieldVariants(
          new String[] {"AM", "PM"}, 
          new String[] {"AM", "PM"}, 
          new String[] {}, 
          new String[] {"AM", "PM"});
    this.exemplarCities = new HashMap() { {
      put("America/Adak", "អាដាក");
      put("America/Anchorage", "អង់ចូរ៉ាក");
      put("America/Anguilla", "អង់ហ្គីឡា");
      put("America/Antigua", "អង់ទីហ្គា");
      put("America/Araguaina", "អារ៉ាហ្គុយណា");
      put("America/Argentina/Rio_Gallegos", "រ៉យហ្គាឡេហ្គូស");
      put("America/Argentina/San_Juan", "សាំងហ្សង់");
      put("America/Argentina/Ushuaia", "អ៊ុយសូអៃ");
      put("America/Argentina/La_Rioja", "ឡារ៉យ៉ា");
      put("America/Argentina/San_Luis", "សានលូអ៊ីស");
      put("America/Argentina/Salta", "សាល់តា");
      put("America/Argentina/Tucuman", "ទូគូម៉ង់");
      put("America/Aruba", "អារ៉ូបា");
      put("America/Asuncion", "អាសង់ស្យុង");
      put("America/Bahia", "បាហៀ");
      put("America/Bahia_Banderas", "បាហៀបង់ដេរ៉ាស");
      put("America/Barbados", "បាបាដុស");
      put("America/Belem", "បេឡឹម");
      put("America/Belize", "បេលី");
      put("America/Blanc-Sablon", "ប្លង់​សាប់ឡុង");
      put("America/Boa_Vista", "បៅ​វីស្តា");
      put("America/Bogota", "បូហ្គោតា");
      put("America/Boise", "ប៊ូអ៊ីសេ");
      put("America/Buenos_Aires", "ប៊ុយណូស៊ែ");
      put("America/Cambridge_Bay", "ខេមប្រីដបេ");
      put("America/Campo_Grande", "ខេមបូហ្គ្រានឌី");
      put("America/Cancun", "ខានខុន");
      put("America/Caracas", "ការ៉ាកាស");
      put("America/Catamarca", "កាតាម៉ាកា");
      put("America/Cayenne", "ហ្គៃយ៉ាណេ");
      put("America/Cayman", "កៃមែន");
      put("America/Chicago", "ស៊ីកាកូ");
      put("America/Chihuahua", "ជីហួហួ");
      put("America/Coral_Harbour", "អាទីកូកាន");
      put("America/Cordoba", "កូដូបា");
      put("America/Costa_Rica", "កូស្តារីកា");
      put("America/Creston", "ក្រេស្តុន");
      put("America/Cuiaba", "គុយអាបា");
      put("America/Curacao", "កូរ៉ាកៅ");
      put("America/Danmarkshavn", "ដែនម៉ាក់ស្ហាវិន");
      put("America/Dawson", "ដាវសុន");
      put("America/Dawson_Creek", "ដាវសុន​ក្រិក");
      put("America/Denver", "ដែនវើ");
      put("America/Detroit", "ដេត្រូអ៊ីត");
      put("America/Dominica", "ដូមីនីក");
      put("America/Edmonton", "អែតម៉ុងតុង");
      put("America/Eirunepe", "អ៊ីរ៉ុយណេភី");
      put("America/El_Salvador", "អែលសាល់វ៉ាឌ័រ");
      put("America/Fort_Nelson", "ហ្វតណេលសាន់");
      put("America/Fortaleza", "ហ្វ័រតាឡេហ្សារ");
      put("America/Glace_Bay", "ក្លាស​បេ");
      put("America/Godthab", "ហ្កូដតាអាប");
      put("America/Goose_Bay", "កូសេបេ");
      put("America/Grand_Turk", "ហ្គ្រេន​ទូក");
      put("America/Grenada", "ហ្គ្រើណាដ");
      put("America/Guadeloupe", "ហ្គោដេលូប៉េ");
      put("America/Guatemala", "ក្វាតេម៉ាឡា");
      put("America/Guayaquil", "ហ្គុយ៉ាហ្គីល");
      put("America/Guyana", "ហ្គីយ៉ាន");
      put("America/Halifax", "ហាលីហ្វាក");
      put("America/Havana", "ឡាហាវ៉ាន");
      put("America/Hermosillo", "ហ៊ែម៉ូស៊ីឡូ");
      put("America/Indiana/Vincennes", "វិនសេណេស ឥណ្ឌា");
      put("America/Indiana/Petersburg", "ភីធើ​ប៊ឹក ឥណ្ឌា");
      put("America/Indiana/Tell_City", "ថែល​ស៊ីធី ឥណ្ឌា");
      put("America/Indiana/Knox", "ណុក ឥណ្ឌា");
      put("America/Indiana/Winamac", "វីណាម៉ាក់ ឥណ្ឌា");
      put("America/Indiana/Marengo", "ម៉ារេនកូ ឥណ្ឌា");
      put("America/Indiana/Vevay", "វេវ៉ៃ ឥណ្ឌា");
      put("America/Indianapolis", "ឥណ្ឌាណាប៉ូលីស");
      put("America/Inuvik", "អ៊ីនូវីក");
      put("America/Iqaluit", "អ៊ីកាឡូអ៊ីត");
      put("America/Jamaica", "ហ្សាម៉ាអ៊ីក");
      put("America/Jujuy", "សូសុយ");
      put("America/Juneau", "ហ្យូនៀ");
      put("America/Kentucky/Monticello", "ម៉ងទីសេឡូ កេនទូគី");
      put("America/Kralendijk", "ក្រាលែនឌីក");
      put("America/La_Paz", "ឡាប៉ាស");
      put("America/Lima", "លីម៉ា");
      put("America/Los_Angeles", "ឡូអង់ហ្គិឡេស");
      put("America/Louisville", "លូអ៊ីវីល");
      put("America/Lower_Princes", "ឡូវើ​ព្រីន​ហ្គ័រទ័រ");
      put("America/Maceio", "ម៉ាកសេអូ");
      put("America/Managua", "ម៉ាណាហ្គា");
      put("America/Manaus", "ម៉ាណាអ៊ូស");
      put("America/Marigot", "ម៉ារីហ្គុត");
      put("America/Martinique", "ម៉ាទីនីហ្គី");
      put("America/Matamoros", "ម៉ាតាម៉ូរ៉ូស");
      put("America/Mazatlan", "ម៉ាហ្សាតឡង់");
      put("America/Mendoza", "ម៉ែនឌូហ្សា");
      put("America/Menominee", "ម៉េណូមីនី");
      put("America/Merida", "ម៉េរីដា");
      put("America/Metlakatla", "មេត្លា ឃែតឡា");
      put("America/Mexico_City", "ម៉ិកស៊ីកូ​ស៊ីធី");
      put("America/Miquelon", "មីហ្គីឡុង");
      put("America/Moncton", "ម៉ុងតុន");
      put("America/Monterrey", "ម៉ុនតេរ៉េ");
      put("America/Montevideo", "ម៉ុងតេវីដេអូ");
      put("America/Montserrat", "ម៉ុងស៊ែរ៉ា");
      put("America/Nassau", "ណាស្សូ");
      put("America/New_York", "ញូយ៉ក");
      put("America/Nipigon", "នីពីកុន");
      put("America/Nome", "ណូម");
      put("America/Noronha", "ណូរ៉ុនហា");
      put("America/North_Dakota/Beulah", "ប៊ឺឡា ដាកូតា​ខាង​ត្បូង");
      put("America/North_Dakota/New_Salem", "ញូ​សាឡឹម ដាកូតា​ខាង​ជើង");
      put("America/North_Dakota/Center", "សីនធឺ ដាកូតា​ខាង​ជើង");
      put("America/Ojinaga", "អូជីណាហ្កា");
      put("America/Panama", "ប៉ាណាម៉ា");
      put("America/Pangnirtung", "ប៉ាងនីទុង");
      put("America/Paramaribo", "ប៉ារ៉ាម៉ារីបូ");
      put("America/Phoenix", "ផូនីក");
      put("America/Port-au-Prince", "ព័រអូប៉្រប៉ាំង");
      put("America/Port_of_Spain", "ព័រអេស្ប៉ាញ");
      put("America/Porto_Velho", "ព័រតូ​វិលហូ");
      put("America/Puerto_Rico", "ព័រតូរីកូ");
      put("America/Rainy_River", "រ៉េនីរីវើ");
      put("America/Rankin_Inlet", "រ៉ាន់ឃីន​អ៊ីនឡិត");
      put("America/Recife", "រ៉េស៊ីហ្វី");
      put("America/Regina", "រ៉េកីណា");
      put("America/Resolute", "រ៉េ​ស៊ូឡូត");
      put("America/Rio_Branco", "រ៉ៃអូប្រានកូ");
      put("America/Santa_Isabel", "សាន់តាអ៊ីសាប៊ែល");
      put("America/Santarem", "សាន់តារឹម");
      put("America/Santiago", "សាន់ត្យាហ្គោ");
      put("America/Santo_Domingo", "សាន់ដូម៉ាំង");
      put("America/Sao_Paulo", "សៅ​ប៉ូឡូ");
      put("America/Scoresbysund", "ស្ករ៉េប៊ីសាន់");
      put("America/Sitka", "ស៊ីតកា");
      put("America/St_Barthelemy", "សាំង​បាធីលីម៉ី");
      put("America/St_Johns", "សាំង​ចន");
      put("America/St_Kitts", "សាំង​ឃីត");
      put("America/St_Lucia", "សាំង​លូសៀ");
      put("America/St_Thomas", "សាំង​តូម៉ាស់");
      put("America/St_Vincent", "សាំង​វីនសេន");
      put("America/Swift_Current", "ស្វីត​ខឺរិន");
      put("America/Tegucigalpa", "តេហ្គូស៊ីហ្គាល់ប៉ា");
      put("America/Thule", "ធុឡេ");
      put("America/Thunder_Bay", "សាន់ដឺ​បេ");
      put("America/Tijuana", "ទីយ្យូអាណា");
      put("America/Toronto", "តូរ៉ុនតូ");
      put("America/Tortola", "តូតូឡា");
      put("America/Vancouver", "វ៉ាន់កូវើ");
      put("America/Whitehorse", "វាយហស");
      put("America/Winnipeg", "វីនីភិក");
      put("America/Yakutat", "យ៉ាគូតាត");
      put("America/Yellowknife", "យេឡូណៃ");
      put("Atlantic/Azores", "អាសូរ៉េស");
      put("Atlantic/Bermuda", "ប៉ឺមុយដា");
      put("Atlantic/Canary", "កាណារី");
      put("Atlantic/Cape_Verde", "កាប់វែរ");
      put("Atlantic/Faeroe", "ហ្វារ៉ូ");
      put("Atlantic/Madeira", "ម៉ាដៀរ៉ា");
      put("Atlantic/Reykjavik", "រីក្យាវីក");
      put("Atlantic/South_Georgia", "ហ្សកហ្ស៊ី​ខាង​ត្បូង");
      put("Atlantic/St_Helena", "សាំងហេឡេណា");
      put("Atlantic/Stanley", "ស្តង់លី");
      put("Europe/Amsterdam", "អាំស្ទែដាំ");
      put("Europe/Andorra", "អង់ដូរ៉ា");
      put("Europe/Astrakhan", "អាស្ត្រាខាន់");
      put("Europe/Athens", "អាថែន");
      put("Europe/Belgrade", "បែលក្រាដ");
      put("Europe/Berlin", "បែរឡាំង");
      put("Europe/Bratislava", "ប្រាទីសឡាវ៉ា");
      put("Europe/Brussels", "ព្រុចសែល");
      put("Europe/Bucharest", "ប៊ុយការ៉េស");
      put("Europe/Budapest", "ប៊ុយដាប៉ែស");
      put("Europe/Busingen", "ប៊ូស៊ីងហ្គែន");
      put("Europe/Chisinau", "ជីស៊ីណូ");
      put("Europe/Copenhagen", "កូប៉ិនហាក");
      put("Europe/Dublin", "ឌុយប្លាំង");
      put("Europe/Gibraltar", "ហ្ស៊ីប្រាល់តា");
      put("Europe/Guernsey", "ហ្គេនស៊ី");
      put("Europe/Helsinki", "ហែលស៊ិងគី");
      put("Europe/Isle_of_Man", "អែលអុហ្វម៉ែន");
      put("Europe/Istanbul", "អ៊ីស្តង់ប៊ុល");
      put("Europe/Jersey", "ជេស៊ី");
      put("Europe/Kaliningrad", "កាលីនីងហ្រ្គាដ");
      put("Europe/Kiev", "កៀវ");
      put("Europe/Kirov", "គីរ៉ូវ");
      put("Europe/Lisbon", "លីសបោន");
      put("Europe/Ljubljana", "ជូបហ្សាណា");
      put("Europe/London", "ឡុងដ៍");
      put("Europe/Luxembourg", "លុចសំបួ");
      put("Europe/Madrid", "ម៉ាឌ្រីដ");
      put("Europe/Malta", "ម៉ាល់តា");
      put("Europe/Mariehamn", "ម៉ារៀហាំ");
      put("Europe/Minsk", "មីនស្កិ៍");
      put("Europe/Monaco", "ម៉ូណាកូ");
      put("Europe/Moscow", "មូស្គូ");
      put("Europe/Oslo", "អូស្លូ");
      put("Europe/Paris", "ប៉ារីស");
      put("Europe/Podgorica", "ប៉ូដហ្គោរីកា");
      put("Europe/Prague", "ប្រាក");
      put("Europe/Riga", "រីហ្គា");
      put("Europe/Rome", "រ៉ូម");
      put("Europe/Samara", "សាម៉ារ៉ា");
      put("Europe/San_Marino", "សាំងម៉ារ៉ាំង");
      put("Europe/Sarajevo", "សារ៉ាយ៉េវ៉ូ");
      put("Europe/Simferopol", "ស៊ីមហ្វើរ៉ុប៉ូល");
      put("Europe/Skopje", "ស្កុបជេ");
      put("Europe/Sofia", "សូហ៊្វីយ៉ា");
      put("Europe/Stockholm", "ស្តុកខុល");
      put("Europe/Tallinn", "តាលិន");
      put("Europe/Tirane", "ទីរ៉ាណេ");
      put("Europe/Ulyanovsk", "អុលយ៉ានូវស៍");
      put("Europe/Uzhgorod", "អ៊ុយហ្គោរ៉ូដ");
      put("Europe/Vaduz", "វ៉ាឌូស");
      put("Europe/Vatican", "បុរីវ៉ាទីកង់");
      put("Europe/Vienna", "វីយែន");
      put("Europe/Vilnius", "វីលនីញូស");
      put("Europe/Volgograd", "វ៉ុលហ្គោហ្គ្រាដ");
      put("Europe/Warsaw", "វ៉ាសូវី");
      put("Europe/Zagreb", "សាគ្រែប");
      put("Europe/Zaporozhye", "ហ្សាប៉ូរ៉ូហ្ស៊ីយ៉េ");
      put("Europe/Zurich", "ហ៊្សូរីច");
      put("Africa/Abidjan", "អាប៊ីដ្យាន");
      put("Africa/Accra", "អាក្រា");
      put("Africa/Addis_Ababa", "អាឌីសអាបេបា");
      put("Africa/Algiers", "អាល់ហ្សេ");
      put("Africa/Asmera", "អាស្មារ៉ា");
      put("Africa/Bamako", "បាម៉ាកូ");
      put("Africa/Bangui", "បង់ហ្គី");
      put("Africa/Banjul", "បង់ហ្ស៊ុល");
      put("Africa/Bissau", "ប៊ីស្សូ");
      put("Africa/Blantyre", "ប្លាំងទីរ៉េ");
      put("Africa/Brazzaville", "ប្រាស្ហាវីល");
      put("Africa/Bujumbura", "ប៊ូយ៉ាំប៊ូរ៉ា");
      put("Africa/Cairo", "គែរ");
      put("Africa/Casablanca", "កាសាប្លាំងកា");
      put("Africa/Ceuta", "ឈៀតា");
      put("Africa/Conakry", "កូណាគ្រី");
      put("Africa/Dakar", "ដាកា");
      put("Africa/Dar_es_Salaam", "ដាអ៊ីសាឡាំ");
      put("Africa/Djibouti", "ជីប៊ូទី");
      put("Africa/Douala", "ឌូអ៊ូឡា");
      put("Africa/El_Aaiun", "អែល​អ៊ុយញៀន");
      put("Africa/Freetown", "ហ្វ្រីថោន");
      put("Africa/Gaborone", "ហ្គាបូរ៉ូន");
      put("Africa/Harare", "ហារ៉ារ៉េ");
      put("Africa/Johannesburg", "ជូហានណេប៊ឺហ្គ");
      put("Africa/Juba", "ជូបា");
      put("Africa/Kampala", "កំប៉ាឡា");
      put("Africa/Khartoum", "ខាទុំ");
      put("Africa/Kigali", "គីហ្គាលី");
      put("Africa/Kinshasa", "គីនស្ហាសា");
      put("Africa/Lagos", "ឡាហ្គូស");
      put("Africa/Libreville", "លីប្រីវីល");
      put("Africa/Lome", "ឡូម៉េ");
      put("Africa/Luanda", "លូអង់ដា");
      put("Africa/Lubumbashi", "លូប៊ុមបាស៊ី");
      put("Africa/Lusaka", "លូសាកា");
      put("Africa/Malabo", "ម៉ាឡាបូ");
      put("Africa/Maputo", "ម៉ាពុយតូ");
      put("Africa/Maseru", "ម៉ាសេរុយ");
      put("Africa/Mbabane", "បាបាន");
      put("Africa/Mogadishu", "ម៉ូហ្គាឌីស្យូ");
      put("Africa/Monrovia", "ម៉ុងរ៉ូវីយ៉ា");
      put("Africa/Nairobi", "ណៃរ៉ូប៊ី");
      put("Africa/Ndjamena", "ដ្យាមេណា");
      put("Africa/Niamey", "នីញ៉ាម៉េ");
      put("Africa/Nouakchott", "ណួកសុត");
      put("Africa/Ouagadougou", "អៅហ្គាឌូហ្គូ");
      put("Africa/Porto-Novo", "ព័រតូណូវ៉ូ");
      put("Africa/Sao_Tome", "សៅតុំ");
      put("Africa/Tripoli", "ទ្រីប៉ូលី");
      put("Africa/Tunis", "ទុយនីស");
      put("Africa/Windhoek", "វីនដុក");
      put("Asia/Aden", "អាដែន");
      put("Asia/Almaty", "អាល់ម៉ាទី");
      put("Asia/Amman", "អាម៉ាន់");
      put("Asia/Anadyr", "អាណាឌី");
      put("Asia/Aqtau", "អាកទូ");
      put("Asia/Aqtobe", "អាកទូប៊ី");
      put("Asia/Ashgabat", "អាសហ្គាបាត");
      put("Asia/Baghdad", "បាកដាដ");
      put("Asia/Bahrain", "បារ៉ែន");
      put("Asia/Baku", "បាគូ");
      put("Asia/Bangkok", "បាងកក");
      put("Asia/Barnaul", "បានូល");
      put("Asia/Beirut", "បេរូត");
      put("Asia/Bishkek", "ប៊ីស្កេក");
      put("Asia/Brunei", "ប្រុយណេ");
      put("Asia/Calcutta", "កុលកាតា");
      put("Asia/Chita", "ឈីតា");
      put("Asia/Choibalsan", "ឈូបាល់សាន");
      put("Asia/Colombo", "កូឡុំបូ");
      put("Asia/Damascus", "ដាម៉ាស");
      put("Asia/Dhaka", "ដាក្កា");
      put("Asia/Dili", "ដេលី");
      put("Asia/Dubai", "ឌុយបៃ");
      put("Asia/Dushanbe", "ឌូស្ហាន់បេ");
      put("Asia/Gaza", "កាសា");
      put("Asia/Hebron", "ហេវ័ន");
      put("Asia/Hong_Kong", "ហុងកុង");
      put("Asia/Hovd", "ហូវ");
      put("Asia/Irkutsk", "អ៊ីឃឺត");
      put("Asia/Jakarta", "ហ្សាការតា");
      put("Asia/Jayapura", "ចាយ៉ាភូរ៉ា");
      put("Asia/Jerusalem", "ហ្ស៊េរុយសាឡិម");
      put("Asia/Kabul", "កាប៊ុល");
      put("Asia/Kamchatka", "កាំឆាតកា");
      put("Asia/Karachi", "ការ៉ាជី");
      put("Asia/Katmandu", "កាត់ម៉ាន់ឌូ");
      put("Asia/Khandyga", "ខាន់ឌីហ្គា");
      put("Asia/Krasnoyarsk", "ក្រាសនុយ៉ាក");
      put("Asia/Kuala_Lumpur", "កូឡាឡាំពួរ");
      put("Asia/Kuching", "ឃឺតចីង");
      put("Asia/Kuwait", "កូវ៉ែត");
      put("Asia/Macau", "ម៉ាកាវ");
      put("Asia/Magadan", "ម៉ាហ្គាដាន");
      put("Asia/Makassar", "ម៉ាកាសសារ");
      put("Asia/Manila", "ម៉ានីល");
      put("Asia/Muscat", "ម៉ាស្កាត");
      put("Asia/Nicosia", "នីកូស៊ី");
      put("Asia/Novokuznetsk", "ណូវ៉ូឃូសណេត");
      put("Asia/Novosibirsk", "ណូវ៉ូស៊ីប៊ឺក");
      put("Asia/Omsk", "អ៊ូម");
      put("Asia/Oral", "អូរ៉ាល់");
      put("Asia/Phnom_Penh", "ភ្នំពេញ");
      put("Asia/Pontianak", "ប៉ុនទីអាណាក់");
      put("Asia/Pyongyang", "ព្យុងយ៉ាង");
      put("Asia/Qatar", "កាតា");
      put("Asia/Qyzylorda", "កីស៊ីឡូដា");
      put("Asia/Rangoon", "រ៉ង់ហ្គូន");
      put("Asia/Riyadh", "រីយ៉ាដ");
      put("Asia/Saigon", "ហូជីមីញ");
      put("Asia/Sakhalin", "សាខាលីន");
      put("Asia/Samarkand", "សាម៉ាកាន់");
      put("Asia/Seoul", "សេអ៊ូល");
      put("Asia/Shanghai", "សៀងហៃ");
      put("Asia/Singapore", "សិង្ហបូរី");
      put("Asia/Srednekolymsk", "ស្រីតនីកូលីម");
      put("Asia/Taipei", "តៃប៉ិ");
      put("Asia/Tashkent", "តាស្កិន");
      put("Asia/Tbilisi", "ប៊ីលីស៊ី");
      put("Asia/Tehran", "តេអេរ៉ង់");
      put("Asia/Thimphu", "ធីមភូ");
      put("Asia/Tokyo", "តូក្យូ");
      put("Asia/Tomsk", "ថមស៍");
      put("Asia/Ulaanbaatar", "អ៊ូឡង់បាទ័រ");
      put("Asia/Urumqi", "អ៊ូរាំហ្គី");
      put("Asia/Ust-Nera", "អ៊ូសណេរ៉ា");
      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("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: {
        // "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:
       {
        // "{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;
      }
      case LONG:
      case FULL:
       {
        // "{1} នៅ​ម៉ោង {0}"
        if (dateType != null) {
          formatDate(dateType, d, b);
        } else {
          formatSkeleton(dateSkel, d, b);
        }
        b.append(" នៅ​ម៉ោង ");
        if (timeType != null) {
          formatTime(timeType, d, b);
        } else {
          formatSkeleton(timeSkel, d, b);
        }
        break;
      }
    }
  }

  @Override
  public boolean formatSkeleton(String skeleton, ZonedDateTime d, StringBuilder b) {
    if (skeleton == null) {
      return false;
    }
    switch (skeleton) {
      case "d": {
        // Pattern: "d"
        formatField(d, 'd', 1, b);
        break;
      }
      case "E": {
        // Pattern: "ccc"
        formatField(d, 'c', 3, b);
        break;
      }
      case "Ed": {
        // Pattern: "d E"
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'E', 1, b);
        break;
      }
      case "Ehm": {
        // Pattern: "E h:mm a"
        formatField(d, 'E', 1, b);
        b.append(" ");
        formatField(d, 'h', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        break;
      }
      case "EHm": {
        // Pattern: "E HH:mm"
        formatField(d, 'E', 1, b);
        b.append(" ");
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        break;
      }
      case "Ehms": {
        // Pattern: "E h:mm:ss a"
        formatField(d, 'E', 1, b);
        b.append(" ");
        formatField(d, 'h', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        break;
      }
      case "EHms": {
        // Pattern: "E HH:mm:ss"
        formatField(d, 'E', 1, b);
        b.append(" ");
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        break;
      }
      case "Gy": {
        // Pattern: "y នៃ G"
        formatField(d, 'y', 1, b);
        b.append(" នៃ ");
        formatField(d, 'G', 1, b);
        break;
      }
      case "GyMMM": {
        // Pattern: "MMM y នៃ G"
        formatField(d, 'M', 3, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        b.append(" នៃ ");
        formatField(d, 'G', 1, b);
        break;
      }
      case "GyMMMd": {
        // Pattern: "d MMM y នៃ G"
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 3, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        b.append(" នៃ ");
        formatField(d, 'G', 1, b);
        break;
      }
      case "GyMMMEd": {
        // Pattern: "E d MMM y នៃ G"
        formatField(d, 'E', 1, b);
        b.append(" ");
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 3, b);
        b.append(" ");
        formatField(d, 'y', 1, b);
        b.append(" នៃ ");
        formatField(d, 'G', 1, b);
        break;
      }
      case "h": {
        // Pattern: "h a"
        formatField(d, 'h', 1, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        break;
      }
      case "H": {
        // Pattern: "HH"
        formatField(d, 'H', 2, b);
        break;
      }
      case "hm": {
        // Pattern: "h:mm a"
        formatField(d, 'h', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        break;
      }
      case "Hm": {
        // Pattern: "HH:mm"
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        break;
      }
      case "hms": {
        // Pattern: "h:mm:ss a"
        formatField(d, 'h', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        break;
      }
      case "Hms": {
        // Pattern: "HH:mm:ss"
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        break;
      }
      case "hmsv": {
        // Pattern: "h:mm:ss a v"
        formatField(d, 'h', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        b.append(" ");
        formatField(d, 'v', 1, b);
        break;
      }
      case "Hmsv": {
        // Pattern: "HH:mm:ss v"
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        b.append(" ");
        formatField(d, 'v', 1, b);
        break;
      }
      case "hmv": {
        // Pattern: "h:mm a v"
        formatField(d, 'h', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(" ");
        formatField(d, 'a', 1, b);
        b.append(" ");
        formatField(d, 'v', 1, b);
        break;
      }
      case "Hmv": {
        // Pattern: "HH:mm v"
        formatField(d, 'H', 2, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(" ");
        formatField(d, 'v', 1, b);
        break;
      }
      case "M": {
        // Pattern: "L"
        formatField(d, 'L', 1, b);
        break;
      }
      case "Md": {
        // Pattern: "d/M"
        formatField(d, 'd', 1, b);
        b.append("/");
        formatField(d, 'M', 1, b);
        break;
      }
      case "MEd": {
        // Pattern: "E d/M"
        formatField(d, 'E', 1, b);
        b.append(" ");
        formatField(d, 'd', 1, b);
        b.append("/");
        formatField(d, 'M', 1, b);
        break;
      }
      case "MMM": {
        // Pattern: "LLL"
        formatField(d, 'L', 3, b);
        break;
      }
      case "MMMd": {
        // Pattern: "d MMM"
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 3, b);
        break;
      }
      case "MMMEd": {
        // Pattern: "E d MMM"
        formatField(d, 'E', 1, b);
        b.append(" ");
        formatField(d, 'd', 1, b);
        b.append(" ");
        formatField(d, 'M', 3, b);
        break;
      }
      case "MMMMd": {
        // Pattern: "MMMM d"
        formatField(d, 'M', 4, b);
        b.append(" ");
        formatField(d, 'd', 1, b);
        break;
      }
      case "MMMMW-count-other": {
        // Pattern: "សប្តាហ៍ទី W នៃខែ MMM"
        b.append("សប្តាហ៍ទី ");
        formatField(d, 'W', 1, b);
        b.append(" នៃខែ ");
        formatField(d, 'M', 3, b);
        break;
      }
      case "ms": {
        // Pattern: "mm:ss"
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        break;
      }
      case "y": {
        // Pattern: "y"
        formatField(d, 'y', 1, b);
        break;
      }
      case "yM": {
        // Pattern: "M/y"
        formatField(d, 'M', 1, b);
        b.append("/");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yMd": {
        // Pattern: "d/M/y"
        formatField(d, 'd', 1, b);
        b.append("/");
        formatField(d, 'M', 1, b);
        b.append("/");
        formatField(d, 'y', 1, b);
        break;
      }
      case "yMEd": {
        // Pattern: "E d/M/y"
        formatField(d, 'E', 1, b);
        b.append(" ");
        formatField(d, 'd', 1, b);
        b.append("/");
        formatField(d, 'M', 1, b);
        b.append("/");
        formatField(d, 'y', 1, b);
        break;
      }
      case "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-other": {
        // Pattern: "សប្តាហ៍ទី w នៃឆ្នាំ y"
        b.append("សប្តាហ៍ទី ");
        formatField(d, 'w', 1, b);
        b.append(" នៃឆ្នាំ ");
        formatField(d, 'y', 1, b);
        break;
      }
      default: {
        return false;
      }
    }
    return true;
  }

  @Override
  public void formatInterval(ZonedDateTime s, ZonedDateTime e, String k, DateTimeField f,
      StringBuilder b) {
    if (k != null && f != null) {
      switch (k) {
        case "d": {
          switch (f) {
            case DAY: {
              // "d – "
              formatField(s, 'd', 1, b);
              b.append(" – ");
              // "d"
              formatField(e, 'd', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "hm": {
          switch (f) {
            case AM_PM: {
              // "h:mm a – "
              formatField(s, 'h', 1, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append(" ");
              formatField(s, 'a', 1, b);
              b.append(" – ");
              // "h:mm a"
              formatField(e, 'h', 1, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              return;
            }
            case HOUR: {
              // "h:mm – "
              formatField(s, 'h', 1, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append(" – ");
              // "h:mm a"
              formatField(e, 'h', 1, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              return;
            }
            case MINUTE: {
              // "h:mm – "
              formatField(s, 'h', 1, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append(" – ");
              // "h:mm a"
              formatField(e, 'h', 1, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "Hm": {
          switch (f) {
            case HOUR: {
              // "HH:mm – "
              formatField(s, 'H', 2, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append(" – ");
              // "HH:mm"
              formatField(e, 'H', 2, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              return;
            }
            case MINUTE: {
              // "HH:mm – "
              formatField(s, 'H', 2, b);
              b.append(":");
              formatField(s, 'm', 2, b);
              b.append(" – ");
              // "HH:mm"
              formatField(e, 'H', 2, b);
              b.append(":");
              formatField(e, 'm', 2, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "h": {
          switch (f) {
            case AM_PM: {
              // "h a – "
              formatField(s, 'h', 1, b);
              b.append(" ");
              formatField(s, 'a', 1, b);
              b.append(" – ");
              // "h a"
              formatField(e, 'h', 1, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              return;
            }
            case HOUR: {
              // "h – "
              formatField(s, 'h', 1, b);
              b.append(" – ");
              // "h a"
              formatField(e, 'h', 1, b);
              b.append(" ");
              formatField(e, 'a', 1, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "H": {
          switch (f) {
            case HOUR: {
              // "HH – "
              formatField(s, 'H', 2, b);
              b.append(" – ");
              // "HH"
              formatField(e, 'H', 2, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "yMMMEd": {
          switch (f) {
            case DAY: {
              // "E dd MMM y – "
              formatField(s, 'E', 1, b);
              b.append(" ");
              formatField(s, 'd', 2, b);
              b.append(" ");
              formatField(s, 'M', 3, b);
              b.append(" ");
              formatField(s, 'y', 1, b);
              b.append(" – ");
              // "E dd MMM y"
              formatField(e, 'E', 1, b);
              b.append(" ");
              formatField(e, 'd', 2, b);
              b.append(" ");
              formatField(e, 'M', 3, b);
              b.append(" ");
              formatField(e, 'y', 1, b);
              return;
            }
            case YEAR: {
              // "E dd-MM-y – "
              formatField(s, 'E', 1, b);
              b.append(" ");
              formatField(s, 'd', 2, b);
              b.append("-");
              formatField(s, 'M', 2, b);
              b.append("-");
              formatField(s, 'y', 1, b);
              b.append(" – ");
              // "E dd MMM y"
              formatField(e, 'E', 1, b);
              b.append(" ");
              formatField(e, 'd', 2, b);
              b.append(" ");
              formatField(e, 'M', 3, b);
              b.append(" ");
              formatField(e, 'y', 1, b);
              return;
            }
            case MONTH: {
              // "E dd MMM y – "
              formatField(s, 'E', 1, b);
              b.append(" ");
              formatField(s, 'd', 2, b);
              b.append(" ");
              formatField(s, 'M', 3, b);
              b.append(" ");
              formatField(s, 'y', 1, b);
              b.append(" – ");
              // "E dd MMM y"
              formatField(e, 'E', 1, b);
              b.append(" ");
              formatField(e, 'd', 2, 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("ម៉ោង​សកល");
      return;
    }
    boolean emitMins = !_short || mins > 0;
    b.append("ម៉ោង​សកល ");
    if (neg) {
      b.append("-");
      zeroPad2(b, hours, _short ? 1 : 2);
      if (emitMins) {
        b.append(":");
      }
      if (emitMins) {
        zeroPad2(b, mins, 2);
      }
    }
    else {
      b.append("+");
      zeroPad2(b, hours, _short ? 1 : 2);
      if (emitMins) {
        b.append(":");
      }
      if (emitMins) {
        zeroPad2(b, mins, 2);
      }
    }
  }

  protected void wrapTimeZoneRegion(StringBuilder b, String region) {
    b.append("ម៉ោង​នៅ​ ");
    b.append(region);
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy