Strong mode fix for datePatterns in material localizations (#14117)

Code that uses dataPatterns[loc] expects it to contain Map<String, String>, not Map<String, dynamic>.

Change gen_date_localizations.dart to generate datePatterns with a more precise type and regenerate date_localizations.dart.
diff --git a/dev/tools/gen_date_localizations.dart b/dev/tools/gen_date_localizations.dart
index a7261b2..2d31828 100644
--- a/dev/tools/gen_date_localizations.dart
+++ b/dev/tools/gen_date_localizations.dart
@@ -77,7 +77,7 @@
 
 // This file has been automatically generated.  Please do not edit it manually.
 // To regenerate run (omit -w to print to console instead of the file):
-// dart dev/tools/gen_date_localizations.dart -w
+// dart --enable-asserts dev/tools/gen_date_localizations.dart -w
 
 '''
 );
@@ -88,10 +88,19 @@
   });
   buffer.writeln('};');
 
-  buffer.writeln('const Map<String, dynamic> datePatterns = const <String, dynamic> {');
+  // Note: code that uses datePatterns expects it to contain values of type
+  // Map<String, String> not Map<String, dynamic>.
+  buffer.writeln('const Map<String, Map<String, String>> datePatterns = const <String, Map<String, String>> {');
   patternFiles.forEach((String locale, File data) {
-    if (materialLocales.contains(locale))
-      buffer.writeln(_jsonToMapEntry(locale, JSON.decode(data.readAsStringSync())));
+    if (materialLocales.contains(locale)) {
+      final Map<String, dynamic> patterns = JSON.decode(data.readAsStringSync());
+      buffer.writeln("'$locale': const <String, String>{");
+      patterns.forEach((String key, dynamic value) {
+        assert(value is String);
+        buffer.writeln(_jsonToMapEntry(key, value));
+      });
+      buffer.writeln('},');
+    }
   });
   buffer.writeln('};');
 
@@ -148,13 +157,16 @@
 }
 
 Map<String, File> _listIntlData(Directory directory) {
-  final Map<String, File> result = <String, File>{};
+  final Map<String, File> localeFiles = <String, File>{};
   for (FileSystemEntity entity in directory.listSync()) {
     final String filePath = entity.path;
     if (FileSystemEntity.isFileSync(filePath) && filePath.endsWith('.json')) {
       final String locale = path.basenameWithoutExtension(filePath);
-      result[locale] = entity;
+      localeFiles[locale] = entity;
     }
   }
-  return result;
+
+  final List<String> locales = localeFiles.keys.toList(growable: false);
+  locales.sort();
+  return new Map<String, File>.fromIterable(locales, value: (dynamic locale) => localeFiles[locale]);
 }
diff --git a/packages/flutter_localizations/lib/src/l10n/date_localizations.dart b/packages/flutter_localizations/lib/src/l10n/date_localizations.dart
index 19d685c..b93f890 100644
--- a/packages/flutter_localizations/lib/src/l10n/date_localizations.dart
+++ b/packages/flutter_localizations/lib/src/l10n/date_localizations.dart
@@ -4,7 +4,7 @@
 
 // This file has been automatically generated.  Please do not edit it manually.
 // To regenerate run (omit -w to print to console instead of the file):
-// dart dev/tools/gen_date_localizations.dart -w
+// dart --enable-asserts dev/tools/gen_date_localizations.dart -w
 
 const Map<String, dynamic> dateSymbols = const <String, dynamic>{
   'ar': const <String, dynamic>{
@@ -1083,6 +1083,184 @@
       r'''{1} {0}'''
     ],
   },
+  'gsw': const <String, dynamic>{
+    'NAME': r'''gsw''',
+    'ERAS': const <dynamic>[r'''v. Chr.''', r'''n. Chr.'''],
+    'ERANAMES': const <dynamic>[r'''v. Chr.''', r'''n. Chr.'''],
+    'NARROWMONTHS': const <dynamic>[
+      r'''J''',
+      r'''F''',
+      r'''M''',
+      r'''A''',
+      r'''M''',
+      r'''J''',
+      r'''J''',
+      r'''A''',
+      r'''S''',
+      r'''O''',
+      r'''N''',
+      r'''D'''
+    ],
+    'STANDALONENARROWMONTHS': const <dynamic>[
+      r'''J''',
+      r'''F''',
+      r'''M''',
+      r'''A''',
+      r'''M''',
+      r'''J''',
+      r'''J''',
+      r'''A''',
+      r'''S''',
+      r'''O''',
+      r'''N''',
+      r'''D'''
+    ],
+    'MONTHS': const <dynamic>[
+      r'''Januar''',
+      r'''Februar''',
+      r'''März''',
+      r'''April''',
+      r'''Mai''',
+      r'''Juni''',
+      r'''Juli''',
+      r'''Auguscht''',
+      r'''Septämber''',
+      r'''Oktoober''',
+      r'''Novämber''',
+      r'''Dezämber'''
+    ],
+    'STANDALONEMONTHS': const <dynamic>[
+      r'''Januar''',
+      r'''Februar''',
+      r'''März''',
+      r'''April''',
+      r'''Mai''',
+      r'''Juni''',
+      r'''Juli''',
+      r'''Auguscht''',
+      r'''Septämber''',
+      r'''Oktoober''',
+      r'''Novämber''',
+      r'''Dezämber'''
+    ],
+    'SHORTMONTHS': const <dynamic>[
+      r'''Jan''',
+      r'''Feb''',
+      r'''Mär''',
+      r'''Apr''',
+      r'''Mai''',
+      r'''Jun''',
+      r'''Jul''',
+      r'''Aug''',
+      r'''Sep''',
+      r'''Okt''',
+      r'''Nov''',
+      r'''Dez'''
+    ],
+    'STANDALONESHORTMONTHS': const <dynamic>[
+      r'''Jan''',
+      r'''Feb''',
+      r'''Mär''',
+      r'''Apr''',
+      r'''Mai''',
+      r'''Jun''',
+      r'''Jul''',
+      r'''Aug''',
+      r'''Sep''',
+      r'''Okt''',
+      r'''Nov''',
+      r'''Dez'''
+    ],
+    'WEEKDAYS': const <dynamic>[
+      r'''Sunntig''',
+      r'''Määntig''',
+      r'''Ziischtig''',
+      r'''Mittwuch''',
+      r'''Dunschtig''',
+      r'''Friitig''',
+      r'''Samschtig'''
+    ],
+    'STANDALONEWEEKDAYS': const <dynamic>[
+      r'''Sunntig''',
+      r'''Määntig''',
+      r'''Ziischtig''',
+      r'''Mittwuch''',
+      r'''Dunschtig''',
+      r'''Friitig''',
+      r'''Samschtig'''
+    ],
+    'SHORTWEEKDAYS': const <dynamic>[
+      r'''Su.''',
+      r'''Mä.''',
+      r'''Zi.''',
+      r'''Mi.''',
+      r'''Du.''',
+      r'''Fr.''',
+      r'''Sa.'''
+    ],
+    'STANDALONESHORTWEEKDAYS': const <dynamic>[
+      r'''Su.''',
+      r'''Mä.''',
+      r'''Zi.''',
+      r'''Mi.''',
+      r'''Du.''',
+      r'''Fr.''',
+      r'''Sa.'''
+    ],
+    'NARROWWEEKDAYS': const <dynamic>[
+      r'''S''',
+      r'''M''',
+      r'''D''',
+      r'''M''',
+      r'''D''',
+      r'''F''',
+      r'''S'''
+    ],
+    'STANDALONENARROWWEEKDAYS': const <dynamic>[
+      r'''S''',
+      r'''M''',
+      r'''D''',
+      r'''M''',
+      r'''D''',
+      r'''F''',
+      r'''S'''
+    ],
+    'SHORTQUARTERS': const <dynamic>[
+      r'''Q1''',
+      r'''Q2''',
+      r'''Q3''',
+      r'''Q4'''
+    ],
+    'QUARTERS': const <dynamic>[
+      r'''1. Quartal''',
+      r'''2. Quartal''',
+      r'''3. Quartal''',
+      r'''4. Quartal'''
+    ],
+    'AMPMS': const <dynamic>[r'''am Vormittag''', r'''am Namittag'''],
+    'DATEFORMATS': const <dynamic>[
+      r'''EEEE, d. MMMM y''',
+      r'''d. MMMM y''',
+      r'''dd.MM.y''',
+      r'''dd.MM.yy'''
+    ],
+    'TIMEFORMATS': const <dynamic>[
+      r'''HH:mm:ss zzzz''',
+      r'''HH:mm:ss z''',
+      r'''HH:mm:ss''',
+      r'''HH:mm'''
+    ],
+    'AVAILABLEFORMATS': null,
+    'FIRSTDAYOFWEEK': 0,
+    'WEEKENDRANGE': const <dynamic>[5, 6],
+    'FIRSTWEEKCUTOFFDAY': 3,
+    'DATETIMEFORMATS': const <dynamic>[
+      r'''{1} {0}''',
+      r'''{1} {0}''',
+      r'''{1} {0}''',
+      r'''{1} {0}'''
+    ],
+  },
   'he': const <String, dynamic>{
     'NAME': r'''he''',
     'ERAS': const <dynamic>[r'''לפנה״ס''', r'''לספירה'''],
@@ -1617,6 +1795,540 @@
       r'''{1} {0}'''
     ],
   },
+  'ko': const <String, dynamic>{
+    'NAME': r'''ko''',
+    'ERAS': const <dynamic>[r'''BC''', r'''AD'''],
+    'ERANAMES': const <dynamic>[r'''기원전''', r'''서기'''],
+    'NARROWMONTHS': const <dynamic>[
+      r'''1월''',
+      r'''2월''',
+      r'''3월''',
+      r'''4월''',
+      r'''5월''',
+      r'''6월''',
+      r'''7월''',
+      r'''8월''',
+      r'''9월''',
+      r'''10월''',
+      r'''11월''',
+      r'''12월'''
+    ],
+    'STANDALONENARROWMONTHS': const <dynamic>[
+      r'''1월''',
+      r'''2월''',
+      r'''3월''',
+      r'''4월''',
+      r'''5월''',
+      r'''6월''',
+      r'''7월''',
+      r'''8월''',
+      r'''9월''',
+      r'''10월''',
+      r'''11월''',
+      r'''12월'''
+    ],
+    'MONTHS': const <dynamic>[
+      r'''1월''',
+      r'''2월''',
+      r'''3월''',
+      r'''4월''',
+      r'''5월''',
+      r'''6월''',
+      r'''7월''',
+      r'''8월''',
+      r'''9월''',
+      r'''10월''',
+      r'''11월''',
+      r'''12월'''
+    ],
+    'STANDALONEMONTHS': const <dynamic>[
+      r'''1월''',
+      r'''2월''',
+      r'''3월''',
+      r'''4월''',
+      r'''5월''',
+      r'''6월''',
+      r'''7월''',
+      r'''8월''',
+      r'''9월''',
+      r'''10월''',
+      r'''11월''',
+      r'''12월'''
+    ],
+    'SHORTMONTHS': const <dynamic>[
+      r'''1월''',
+      r'''2월''',
+      r'''3월''',
+      r'''4월''',
+      r'''5월''',
+      r'''6월''',
+      r'''7월''',
+      r'''8월''',
+      r'''9월''',
+      r'''10월''',
+      r'''11월''',
+      r'''12월'''
+    ],
+    'STANDALONESHORTMONTHS': const <dynamic>[
+      r'''1월''',
+      r'''2월''',
+      r'''3월''',
+      r'''4월''',
+      r'''5월''',
+      r'''6월''',
+      r'''7월''',
+      r'''8월''',
+      r'''9월''',
+      r'''10월''',
+      r'''11월''',
+      r'''12월'''
+    ],
+    'WEEKDAYS': const <dynamic>[
+      r'''일요일''',
+      r'''월요일''',
+      r'''화요일''',
+      r'''수요일''',
+      r'''목요일''',
+      r'''금요일''',
+      r'''토요일'''
+    ],
+    'STANDALONEWEEKDAYS': const <dynamic>[
+      r'''일요일''',
+      r'''월요일''',
+      r'''화요일''',
+      r'''수요일''',
+      r'''목요일''',
+      r'''금요일''',
+      r'''토요일'''
+    ],
+    'SHORTWEEKDAYS': const <dynamic>[
+      r'''일''',
+      r'''월''',
+      r'''화''',
+      r'''수''',
+      r'''목''',
+      r'''금''',
+      r'''토'''
+    ],
+    'STANDALONESHORTWEEKDAYS': const <dynamic>[
+      r'''일''',
+      r'''월''',
+      r'''화''',
+      r'''수''',
+      r'''목''',
+      r'''금''',
+      r'''토'''
+    ],
+    'NARROWWEEKDAYS': const <dynamic>[
+      r'''일''',
+      r'''월''',
+      r'''화''',
+      r'''수''',
+      r'''목''',
+      r'''금''',
+      r'''토'''
+    ],
+    'STANDALONENARROWWEEKDAYS': const <dynamic>[
+      r'''일''',
+      r'''월''',
+      r'''화''',
+      r'''수''',
+      r'''목''',
+      r'''금''',
+      r'''토'''
+    ],
+    'SHORTQUARTERS': const <dynamic>[
+      r'''1분기''',
+      r'''2분기''',
+      r'''3분기''',
+      r'''4분기'''
+    ],
+    'QUARTERS': const <dynamic>[
+      r'''제 1/4분기''',
+      r'''제 2/4분기''',
+      r'''제 3/4분기''',
+      r'''제 4/4분기'''
+    ],
+    'AMPMS': const <dynamic>[r'''오전''', r'''오후'''],
+    'DATEFORMATS': const <dynamic>[
+      r'''y년 M월 d일 EEEE''',
+      r'''y년 M월 d일''',
+      r'''y. M. d.''',
+      r'''yy. M. d.'''
+    ],
+    'TIMEFORMATS': const <dynamic>[
+      r'''a h시 m분 s초 zzzz''',
+      r'''a h시 m분 s초 z''',
+      r'''a h:mm:ss''',
+      r'''a h:mm'''
+    ],
+    'AVAILABLEFORMATS': null,
+    'FIRSTDAYOFWEEK': 6,
+    'WEEKENDRANGE': const <dynamic>[5, 6],
+    'FIRSTWEEKCUTOFFDAY': 5,
+    'DATETIMEFORMATS': const <dynamic>[
+      r'''{1} {0}''',
+      r'''{1} {0}''',
+      r'''{1} {0}''',
+      r'''{1} {0}'''
+    ],
+  },
+  'nl': const <String, dynamic>{
+    'NAME': r'''nl''',
+    'ERAS': const <dynamic>[r'''v.Chr.''', r'''n.Chr.'''],
+    'ERANAMES': const <dynamic>[r'''voor Christus''', r'''na Christus'''],
+    'NARROWMONTHS': const <dynamic>[
+      r'''J''',
+      r'''F''',
+      r'''M''',
+      r'''A''',
+      r'''M''',
+      r'''J''',
+      r'''J''',
+      r'''A''',
+      r'''S''',
+      r'''O''',
+      r'''N''',
+      r'''D'''
+    ],
+    'STANDALONENARROWMONTHS': const <dynamic>[
+      r'''J''',
+      r'''F''',
+      r'''M''',
+      r'''A''',
+      r'''M''',
+      r'''J''',
+      r'''J''',
+      r'''A''',
+      r'''S''',
+      r'''O''',
+      r'''N''',
+      r'''D'''
+    ],
+    'MONTHS': const <dynamic>[
+      r'''januari''',
+      r'''februari''',
+      r'''maart''',
+      r'''april''',
+      r'''mei''',
+      r'''juni''',
+      r'''juli''',
+      r'''augustus''',
+      r'''september''',
+      r'''oktober''',
+      r'''november''',
+      r'''december'''
+    ],
+    'STANDALONEMONTHS': const <dynamic>[
+      r'''januari''',
+      r'''februari''',
+      r'''maart''',
+      r'''april''',
+      r'''mei''',
+      r'''juni''',
+      r'''juli''',
+      r'''augustus''',
+      r'''september''',
+      r'''oktober''',
+      r'''november''',
+      r'''december'''
+    ],
+    'SHORTMONTHS': const <dynamic>[
+      r'''jan.''',
+      r'''feb.''',
+      r'''mrt.''',
+      r'''apr.''',
+      r'''mei''',
+      r'''jun.''',
+      r'''jul.''',
+      r'''aug.''',
+      r'''sep.''',
+      r'''okt.''',
+      r'''nov.''',
+      r'''dec.'''
+    ],
+    'STANDALONESHORTMONTHS': const <dynamic>[
+      r'''jan.''',
+      r'''feb.''',
+      r'''mrt.''',
+      r'''apr.''',
+      r'''mei''',
+      r'''jun.''',
+      r'''jul.''',
+      r'''aug.''',
+      r'''sep.''',
+      r'''okt.''',
+      r'''nov.''',
+      r'''dec.'''
+    ],
+    'WEEKDAYS': const <dynamic>[
+      r'''zondag''',
+      r'''maandag''',
+      r'''dinsdag''',
+      r'''woensdag''',
+      r'''donderdag''',
+      r'''vrijdag''',
+      r'''zaterdag'''
+    ],
+    'STANDALONEWEEKDAYS': const <dynamic>[
+      r'''zondag''',
+      r'''maandag''',
+      r'''dinsdag''',
+      r'''woensdag''',
+      r'''donderdag''',
+      r'''vrijdag''',
+      r'''zaterdag'''
+    ],
+    'SHORTWEEKDAYS': const <dynamic>[
+      r'''zo''',
+      r'''ma''',
+      r'''di''',
+      r'''wo''',
+      r'''do''',
+      r'''vr''',
+      r'''za'''
+    ],
+    'STANDALONESHORTWEEKDAYS': const <dynamic>[
+      r'''zo''',
+      r'''ma''',
+      r'''di''',
+      r'''wo''',
+      r'''do''',
+      r'''vr''',
+      r'''za'''
+    ],
+    'NARROWWEEKDAYS': const <dynamic>[
+      r'''Z''',
+      r'''M''',
+      r'''D''',
+      r'''W''',
+      r'''D''',
+      r'''V''',
+      r'''Z'''
+    ],
+    'STANDALONENARROWWEEKDAYS': const <dynamic>[
+      r'''Z''',
+      r'''M''',
+      r'''D''',
+      r'''W''',
+      r'''D''',
+      r'''V''',
+      r'''Z'''
+    ],
+    'SHORTQUARTERS': const <dynamic>[
+      r'''K1''',
+      r'''K2''',
+      r'''K3''',
+      r'''K4'''
+    ],
+    'QUARTERS': const <dynamic>[
+      r'''1e kwartaal''',
+      r'''2e kwartaal''',
+      r'''3e kwartaal''',
+      r'''4e kwartaal'''
+    ],
+    'AMPMS': const <dynamic>[r'''a.m.''', r'''p.m.'''],
+    'DATEFORMATS': const <dynamic>[
+      r'''EEEE d MMMM y''',
+      r'''d MMMM y''',
+      r'''d MMM y''',
+      r'''dd-MM-yy'''
+    ],
+    'TIMEFORMATS': const <dynamic>[
+      r'''HH:mm:ss zzzz''',
+      r'''HH:mm:ss z''',
+      r'''HH:mm:ss''',
+      r'''HH:mm'''
+    ],
+    'AVAILABLEFORMATS': null,
+    'FIRSTDAYOFWEEK': 0,
+    'WEEKENDRANGE': const <dynamic>[5, 6],
+    'FIRSTWEEKCUTOFFDAY': 3,
+    'DATETIMEFORMATS': const <dynamic>[
+      r"""{1} 'om' {0}""",
+      r"""{1} 'om' {0}""",
+      r'''{1} {0}''',
+      r'''{1} {0}'''
+    ],
+  },
+  'pl': const <String, dynamic>{
+    'NAME': r'''pl''',
+    'ERAS': const <dynamic>[r'''p.n.e.''', r'''n.e.'''],
+    'ERANAMES': const <dynamic>[r'''przed naszą erą''', r'''naszej ery'''],
+    'NARROWMONTHS': const <dynamic>[
+      r'''s''',
+      r'''l''',
+      r'''m''',
+      r'''k''',
+      r'''m''',
+      r'''c''',
+      r'''l''',
+      r'''s''',
+      r'''w''',
+      r'''p''',
+      r'''l''',
+      r'''g'''
+    ],
+    'STANDALONENARROWMONTHS': const <dynamic>[
+      r'''S''',
+      r'''L''',
+      r'''M''',
+      r'''K''',
+      r'''M''',
+      r'''C''',
+      r'''L''',
+      r'''S''',
+      r'''W''',
+      r'''P''',
+      r'''L''',
+      r'''G'''
+    ],
+    'MONTHS': const <dynamic>[
+      r'''stycznia''',
+      r'''lutego''',
+      r'''marca''',
+      r'''kwietnia''',
+      r'''maja''',
+      r'''czerwca''',
+      r'''lipca''',
+      r'''sierpnia''',
+      r'''września''',
+      r'''października''',
+      r'''listopada''',
+      r'''grudnia'''
+    ],
+    'STANDALONEMONTHS': const <dynamic>[
+      r'''styczeń''',
+      r'''luty''',
+      r'''marzec''',
+      r'''kwiecień''',
+      r'''maj''',
+      r'''czerwiec''',
+      r'''lipiec''',
+      r'''sierpień''',
+      r'''wrzesień''',
+      r'''październik''',
+      r'''listopad''',
+      r'''grudzień'''
+    ],
+    'SHORTMONTHS': const <dynamic>[
+      r'''sty''',
+      r'''lut''',
+      r'''mar''',
+      r'''kwi''',
+      r'''maj''',
+      r'''cze''',
+      r'''lip''',
+      r'''sie''',
+      r'''wrz''',
+      r'''paź''',
+      r'''lis''',
+      r'''gru'''
+    ],
+    'STANDALONESHORTMONTHS': const <dynamic>[
+      r'''sty''',
+      r'''lut''',
+      r'''mar''',
+      r'''kwi''',
+      r'''maj''',
+      r'''cze''',
+      r'''lip''',
+      r'''sie''',
+      r'''wrz''',
+      r'''paź''',
+      r'''lis''',
+      r'''gru'''
+    ],
+    'WEEKDAYS': const <dynamic>[
+      r'''niedziela''',
+      r'''poniedziałek''',
+      r'''wtorek''',
+      r'''środa''',
+      r'''czwartek''',
+      r'''piątek''',
+      r'''sobota'''
+    ],
+    'STANDALONEWEEKDAYS': const <dynamic>[
+      r'''niedziela''',
+      r'''poniedziałek''',
+      r'''wtorek''',
+      r'''środa''',
+      r'''czwartek''',
+      r'''piątek''',
+      r'''sobota'''
+    ],
+    'SHORTWEEKDAYS': const <dynamic>[
+      r'''niedz.''',
+      r'''pon.''',
+      r'''wt.''',
+      r'''śr.''',
+      r'''czw.''',
+      r'''pt.''',
+      r'''sob.'''
+    ],
+    'STANDALONESHORTWEEKDAYS': const <dynamic>[
+      r'''niedz.''',
+      r'''pon.''',
+      r'''wt.''',
+      r'''śr.''',
+      r'''czw.''',
+      r'''pt.''',
+      r'''sob.'''
+    ],
+    'NARROWWEEKDAYS': const <dynamic>[
+      r'''n''',
+      r'''p''',
+      r'''w''',
+      r'''ś''',
+      r'''c''',
+      r'''p''',
+      r'''s'''
+    ],
+    'STANDALONENARROWWEEKDAYS': const <dynamic>[
+      r'''N''',
+      r'''P''',
+      r'''W''',
+      r'''Ś''',
+      r'''C''',
+      r'''P''',
+      r'''S'''
+    ],
+    'SHORTQUARTERS': const <dynamic>[
+      r'''I kw.''',
+      r'''II kw.''',
+      r'''III kw.''',
+      r'''IV kw.'''
+    ],
+    'QUARTERS': const <dynamic>[
+      r'''I kwartał''',
+      r'''II kwartał''',
+      r'''III kwartał''',
+      r'''IV kwartał'''
+    ],
+    'AMPMS': const <dynamic>[r'''AM''', r'''PM'''],
+    'DATEFORMATS': const <dynamic>[
+      r'''EEEE, d MMMM y''',
+      r'''d MMMM y''',
+      r'''d MMM y''',
+      r'''dd.MM.y'''
+    ],
+    'TIMEFORMATS': const <dynamic>[
+      r'''HH:mm:ss zzzz''',
+      r'''HH:mm:ss z''',
+      r'''HH:mm:ss''',
+      r'''HH:mm'''
+    ],
+    'AVAILABLEFORMATS': null,
+    'FIRSTDAYOFWEEK': 0,
+    'WEEKENDRANGE': const <dynamic>[5, 6],
+    'FIRSTWEEKCUTOFFDAY': 3,
+    'DATETIMEFORMATS': const <dynamic>[
+      r'''{1} {0}''',
+      r'''{1} {0}''',
+      r'''{1}, {0}''',
+      r'''{1}, {0}'''
+    ],
+  },
   'ps': const <String, dynamic>{
     'NAME': r'''ps''',
     'ERAS': const <dynamic>[r'''له میلاد وړاندې''', r'''م.'''],
@@ -2339,6 +3051,362 @@
       r'''{1}, {0}'''
     ],
   },
+  'th': const <String, dynamic>{
+    'NAME': r'''th''',
+    'ERAS': const <dynamic>[r'''ปีก่อน ค.ศ.''', r'''ค.ศ.'''],
+    'ERANAMES': const <dynamic>[r'''ปีก่อนคริสต์ศักราช''', r'''คริสต์ศักราช'''],
+    'NARROWMONTHS': const <dynamic>[
+      r'''ม.ค.''',
+      r'''ก.พ.''',
+      r'''มี.ค.''',
+      r'''เม.ย.''',
+      r'''พ.ค.''',
+      r'''มิ.ย.''',
+      r'''ก.ค.''',
+      r'''ส.ค.''',
+      r'''ก.ย.''',
+      r'''ต.ค.''',
+      r'''พ.ย.''',
+      r'''ธ.ค.'''
+    ],
+    'STANDALONENARROWMONTHS': const <dynamic>[
+      r'''ม.ค.''',
+      r'''ก.พ.''',
+      r'''มี.ค.''',
+      r'''เม.ย.''',
+      r'''พ.ค.''',
+      r'''มิ.ย.''',
+      r'''ก.ค.''',
+      r'''ส.ค.''',
+      r'''ก.ย.''',
+      r'''ต.ค.''',
+      r'''พ.ย.''',
+      r'''ธ.ค.'''
+    ],
+    'MONTHS': const <dynamic>[
+      r'''มกราคม''',
+      r'''กุมภาพันธ์''',
+      r'''มีนาคม''',
+      r'''เมษายน''',
+      r'''พฤษภาคม''',
+      r'''มิถุนายน''',
+      r'''กรกฎาคม''',
+      r'''สิงหาคม''',
+      r'''กันยายน''',
+      r'''ตุลาคม''',
+      r'''พฤศจิกายน''',
+      r'''ธันวาคม'''
+    ],
+    'STANDALONEMONTHS': const <dynamic>[
+      r'''มกราคม''',
+      r'''กุมภาพันธ์''',
+      r'''มีนาคม''',
+      r'''เมษายน''',
+      r'''พฤษภาคม''',
+      r'''มิถุนายน''',
+      r'''กรกฎาคม''',
+      r'''สิงหาคม''',
+      r'''กันยายน''',
+      r'''ตุลาคม''',
+      r'''พฤศจิกายน''',
+      r'''ธันวาคม'''
+    ],
+    'SHORTMONTHS': const <dynamic>[
+      r'''ม.ค.''',
+      r'''ก.พ.''',
+      r'''มี.ค.''',
+      r'''เม.ย.''',
+      r'''พ.ค.''',
+      r'''มิ.ย.''',
+      r'''ก.ค.''',
+      r'''ส.ค.''',
+      r'''ก.ย.''',
+      r'''ต.ค.''',
+      r'''พ.ย.''',
+      r'''ธ.ค.'''
+    ],
+    'STANDALONESHORTMONTHS': const <dynamic>[
+      r'''ม.ค.''',
+      r'''ก.พ.''',
+      r'''มี.ค.''',
+      r'''เม.ย.''',
+      r'''พ.ค.''',
+      r'''มิ.ย.''',
+      r'''ก.ค.''',
+      r'''ส.ค.''',
+      r'''ก.ย.''',
+      r'''ต.ค.''',
+      r'''พ.ย.''',
+      r'''ธ.ค.'''
+    ],
+    'WEEKDAYS': const <dynamic>[
+      r'''วันอาทิตย์''',
+      r'''วันจันทร์''',
+      r'''วันอังคาร''',
+      r'''วันพุธ''',
+      r'''วันพฤหัสบดี''',
+      r'''วันศุกร์''',
+      r'''วันเสาร์'''
+    ],
+    'STANDALONEWEEKDAYS': const <dynamic>[
+      r'''วันอาทิตย์''',
+      r'''วันจันทร์''',
+      r'''วันอังคาร''',
+      r'''วันพุธ''',
+      r'''วันพฤหัสบดี''',
+      r'''วันศุกร์''',
+      r'''วันเสาร์'''
+    ],
+    'SHORTWEEKDAYS': const <dynamic>[
+      r'''อา.''',
+      r'''จ.''',
+      r'''อ.''',
+      r'''พ.''',
+      r'''พฤ.''',
+      r'''ศ.''',
+      r'''ส.'''
+    ],
+    'STANDALONESHORTWEEKDAYS': const <dynamic>[
+      r'''อา.''',
+      r'''จ.''',
+      r'''อ.''',
+      r'''พ.''',
+      r'''พฤ.''',
+      r'''ศ.''',
+      r'''ส.'''
+    ],
+    'NARROWWEEKDAYS': const <dynamic>[
+      r'''อา''',
+      r'''จ''',
+      r'''อ''',
+      r'''พ''',
+      r'''พฤ''',
+      r'''ศ''',
+      r'''ส'''
+    ],
+    'STANDALONENARROWWEEKDAYS': const <dynamic>[
+      r'''อา''',
+      r'''จ''',
+      r'''อ''',
+      r'''พ''',
+      r'''พฤ''',
+      r'''ศ''',
+      r'''ส'''
+    ],
+    'SHORTQUARTERS': const <dynamic>[
+      r'''ไตรมาส 1''',
+      r'''ไตรมาส 2''',
+      r'''ไตรมาส 3''',
+      r'''ไตรมาส 4'''
+    ],
+    'QUARTERS': const <dynamic>[
+      r'''ไตรมาส 1''',
+      r'''ไตรมาส 2''',
+      r'''ไตรมาส 3''',
+      r'''ไตรมาส 4'''
+    ],
+    'AMPMS': const <dynamic>[r'''ก่อนเที่ยง''', r'''หลังเที่ยง'''],
+    'DATEFORMATS': const <dynamic>[
+      r'''EEEEที่ d MMMM G y''',
+      r'''d MMMM G y''',
+      r'''d MMM y''',
+      r'''d/M/yy'''
+    ],
+    'TIMEFORMATS': const <dynamic>[
+      r'''H นาฬิกา mm นาที ss วินาที zzzz''',
+      r'''H นาฬิกา mm นาที ss วินาที z''',
+      r'''HH:mm:ss''',
+      r'''HH:mm'''
+    ],
+    'AVAILABLEFORMATS': null,
+    'FIRSTDAYOFWEEK': 6,
+    'WEEKENDRANGE': const <dynamic>[5, 6],
+    'FIRSTWEEKCUTOFFDAY': 5,
+    'DATETIMEFORMATS': const <dynamic>[
+      r'''{1} {0}''',
+      r'''{1} {0}''',
+      r'''{1} {0}''',
+      r'''{1} {0}'''
+    ],
+  },
+  'tr': const <String, dynamic>{
+    'NAME': r'''tr''',
+    'ERAS': const <dynamic>[r'''MÖ''', r'''MS'''],
+    'ERANAMES': const <dynamic>[r'''Milattan Önce''', r'''Milattan Sonra'''],
+    'NARROWMONTHS': const <dynamic>[
+      r'''O''',
+      r'''Ş''',
+      r'''M''',
+      r'''N''',
+      r'''M''',
+      r'''H''',
+      r'''T''',
+      r'''A''',
+      r'''E''',
+      r'''E''',
+      r'''K''',
+      r'''A'''
+    ],
+    'STANDALONENARROWMONTHS': const <dynamic>[
+      r'''O''',
+      r'''Ş''',
+      r'''M''',
+      r'''N''',
+      r'''M''',
+      r'''H''',
+      r'''T''',
+      r'''A''',
+      r'''E''',
+      r'''E''',
+      r'''K''',
+      r'''A'''
+    ],
+    'MONTHS': const <dynamic>[
+      r'''Ocak''',
+      r'''Şubat''',
+      r'''Mart''',
+      r'''Nisan''',
+      r'''Mayıs''',
+      r'''Haziran''',
+      r'''Temmuz''',
+      r'''Ağustos''',
+      r'''Eylül''',
+      r'''Ekim''',
+      r'''Kasım''',
+      r'''Aralık'''
+    ],
+    'STANDALONEMONTHS': const <dynamic>[
+      r'''Ocak''',
+      r'''Şubat''',
+      r'''Mart''',
+      r'''Nisan''',
+      r'''Mayıs''',
+      r'''Haziran''',
+      r'''Temmuz''',
+      r'''Ağustos''',
+      r'''Eylül''',
+      r'''Ekim''',
+      r'''Kasım''',
+      r'''Aralık'''
+    ],
+    'SHORTMONTHS': const <dynamic>[
+      r'''Oca''',
+      r'''Şub''',
+      r'''Mar''',
+      r'''Nis''',
+      r'''May''',
+      r'''Haz''',
+      r'''Tem''',
+      r'''Ağu''',
+      r'''Eyl''',
+      r'''Eki''',
+      r'''Kas''',
+      r'''Ara'''
+    ],
+    'STANDALONESHORTMONTHS': const <dynamic>[
+      r'''Oca''',
+      r'''Şub''',
+      r'''Mar''',
+      r'''Nis''',
+      r'''May''',
+      r'''Haz''',
+      r'''Tem''',
+      r'''Ağu''',
+      r'''Eyl''',
+      r'''Eki''',
+      r'''Kas''',
+      r'''Ara'''
+    ],
+    'WEEKDAYS': const <dynamic>[
+      r'''Pazar''',
+      r'''Pazartesi''',
+      r'''Salı''',
+      r'''Çarşamba''',
+      r'''Perşembe''',
+      r'''Cuma''',
+      r'''Cumartesi'''
+    ],
+    'STANDALONEWEEKDAYS': const <dynamic>[
+      r'''Pazar''',
+      r'''Pazartesi''',
+      r'''Salı''',
+      r'''Çarşamba''',
+      r'''Perşembe''',
+      r'''Cuma''',
+      r'''Cumartesi'''
+    ],
+    'SHORTWEEKDAYS': const <dynamic>[
+      r'''Paz''',
+      r'''Pzt''',
+      r'''Sal''',
+      r'''Çar''',
+      r'''Per''',
+      r'''Cum''',
+      r'''Cmt'''
+    ],
+    'STANDALONESHORTWEEKDAYS': const <dynamic>[
+      r'''Paz''',
+      r'''Pzt''',
+      r'''Sal''',
+      r'''Çar''',
+      r'''Per''',
+      r'''Cum''',
+      r'''Cmt'''
+    ],
+    'NARROWWEEKDAYS': const <dynamic>[
+      r'''P''',
+      r'''P''',
+      r'''S''',
+      r'''Ç''',
+      r'''P''',
+      r'''C''',
+      r'''C'''
+    ],
+    'STANDALONENARROWWEEKDAYS': const <dynamic>[
+      r'''P''',
+      r'''P''',
+      r'''S''',
+      r'''Ç''',
+      r'''P''',
+      r'''C''',
+      r'''C'''
+    ],
+    'SHORTQUARTERS': const <dynamic>[
+      r'''Ç1''',
+      r'''Ç2''',
+      r'''Ç3''',
+      r'''Ç4'''
+    ],
+    'QUARTERS': const <dynamic>[
+      r'''1. çeyrek''',
+      r'''2. çeyrek''',
+      r'''3. çeyrek''',
+      r'''4. çeyrek'''
+    ],
+    'AMPMS': const <dynamic>[r'''ÖÖ''', r'''ÖS'''],
+    'DATEFORMATS': const <dynamic>[
+      r'''d MMMM y EEEE''',
+      r'''d MMMM y''',
+      r'''d MMM y''',
+      r'''d.MM.y'''
+    ],
+    'TIMEFORMATS': const <dynamic>[
+      r'''HH:mm:ss zzzz''',
+      r'''HH:mm:ss z''',
+      r'''HH:mm:ss''',
+      r'''HH:mm'''
+    ],
+    'AVAILABLEFORMATS': null,
+    'FIRSTDAYOFWEEK': 0,
+    'WEEKENDRANGE': const <dynamic>[5, 6],
+    'FIRSTWEEKCUTOFFDAY': 6,
+    'DATETIMEFORMATS': const <dynamic>[
+      r'''{1} {0}''',
+      r'''{1} {0}''',
+      r'''{1} {0}''',
+      r'''{1} {0}'''
+    ],
+  },
   'ur': const <String, dynamic>{
     'NAME': r'''ur''',
     'ERAS': const <dynamic>[r'''قبل مسیح''', r'''عیسوی'''],
@@ -2696,8 +3764,9 @@
     ],
   },
 };
-const Map<String, dynamic> datePatterns = const <String, dynamic>{
-  'ar': const <String, dynamic>{
+const Map<String, Map<String, String>> datePatterns =
+    const <String, Map<String, String>>{
+  'ar': const <String, String>{
     'd': r'''d''',
     'E': r'''ccc''',
     'EEEE': r'''cccc''',
@@ -2743,7 +3812,7 @@
     'zzzz': r'''zzzz''',
     'ZZZZ': r'''ZZZZ''',
   },
-  'de': const <String, dynamic>{
+  'de': const <String, String>{
     'd': r'''d''',
     'E': r'''ccc''',
     'EEEE': r'''cccc''',
@@ -2789,7 +3858,7 @@
     'zzzz': r'''zzzz''',
     'ZZZZ': r'''ZZZZ''',
   },
-  'en': const <String, dynamic>{
+  'en': const <String, String>{
     'd': r'''d''',
     'E': r'''ccc''',
     'EEEE': r'''cccc''',
@@ -2835,7 +3904,7 @@
     'zzzz': r'''zzzz''',
     'ZZZZ': r'''ZZZZ''',
   },
-  'es': const <String, dynamic>{
+  'es': const <String, String>{
     'd': r'''d''',
     'E': r'''ccc''',
     'EEEE': r'''cccc''',
@@ -2881,7 +3950,7 @@
     'zzzz': r'''zzzz''',
     'ZZZZ': r'''ZZZZ''',
   },
-  'fa': const <String, dynamic>{
+  'fa': const <String, String>{
     'd': r'''d''',
     'E': r'''ccc''',
     'EEEE': r'''cccc''',
@@ -2927,7 +3996,7 @@
     'zzzz': r'''zzzz''',
     'ZZZZ': r'''ZZZZ''',
   },
-  'fr': const <String, dynamic>{
+  'fr': const <String, String>{
     'd': r'''d''',
     'E': r'''EEE''',
     'EEEE': r'''EEEE''',
@@ -2973,7 +4042,53 @@
     'zzzz': r'''zzzz''',
     'ZZZZ': r'''ZZZZ''',
   },
-  'he': const <String, dynamic>{
+  'gsw': const <String, String>{
+    'd': r'''d''',
+    'E': r'''EEE''',
+    'EEEE': r'''EEEE''',
+    'LLL': r'''LLL''',
+    'LLLL': r'''LLLL''',
+    'M': r'''L''',
+    'Md': r'''d.M.''',
+    'MEd': r'''EEE, d.M.''',
+    'MMM': r'''LLL''',
+    'MMMd': r'''d. MMM''',
+    'MMMEd': r'''EEE d. MMM''',
+    'MMMM': r'''LLLL''',
+    'MMMMd': r'''d. MMMM''',
+    'MMMMEEEEd': r'''EEEE d. MMMM''',
+    'QQQ': r'''QQQ''',
+    'QQQQ': r'''QQQQ''',
+    'y': r'''y''',
+    'yM': r'''y-M''',
+    'yMd': r'''d.M.y''',
+    'yMEd': r'''EEE, y-M-d''',
+    'yMMM': r'''MMM y''',
+    'yMMMd': r'''y MMM d''',
+    'yMMMEd': r'''EEE, d. MMM y''',
+    'yMMMM': r'''MMMM y''',
+    'yMMMMd': r'''d. MMMM y''',
+    'yMMMMEEEEd': r'''EEEE, d. MMMM y''',
+    'yQQQ': r'''QQQ y''',
+    'yQQQQ': r'''QQQQ y''',
+    'H': r'''H''',
+    'Hm': r'''HH:mm''',
+    'Hms': r'''HH:mm:ss''',
+    'j': r'''H''',
+    'jm': r'''HH:mm''',
+    'jms': r'''HH:mm:ss''',
+    'jmv': r'''HH:mm v''',
+    'jmz': r'''HH:mm z''',
+    'jz': r'''H z''',
+    'm': r'''m''',
+    'ms': r'''mm:ss''',
+    's': r'''s''',
+    'v': r'''v''',
+    'z': r'''z''',
+    'zzzz': r'''zzzz''',
+    'ZZZZ': r'''ZZZZ''',
+  },
+  'he': const <String, String>{
     'd': r'''d''',
     'E': r'''ccc''',
     'EEEE': r'''cccc''',
@@ -3019,7 +4134,7 @@
     'zzzz': r'''zzzz''',
     'ZZZZ': r'''ZZZZ''',
   },
-  'it': const <String, dynamic>{
+  'it': const <String, String>{
     'd': r'''d''',
     'E': r'''ccc''',
     'EEEE': r'''cccc''',
@@ -3065,7 +4180,7 @@
     'zzzz': r'''zzzz''',
     'ZZZZ': r'''ZZZZ''',
   },
-  'ja': const <String, dynamic>{
+  'ja': const <String, String>{
     'd': r'''d日''',
     'E': r'''ccc''',
     'EEEE': r'''cccc''',
@@ -3111,7 +4226,145 @@
     'zzzz': r'''zzzz''',
     'ZZZZ': r'''ZZZZ''',
   },
-  'ps': const <String, dynamic>{
+  'ko': const <String, String>{
+    'd': r'''d일''',
+    'E': r'''ccc''',
+    'EEEE': r'''cccc''',
+    'LLL': r'''LLL''',
+    'LLLL': r'''LLLL''',
+    'M': r'''M월''',
+    'Md': r'''M. d.''',
+    'MEd': r'''M. d. (EEE)''',
+    'MMM': r'''LLL''',
+    'MMMd': r'''MMM d일''',
+    'MMMEd': r'''MMM d일 (EEE)''',
+    'MMMM': r'''LLLL''',
+    'MMMMd': r'''MMMM d일''',
+    'MMMMEEEEd': r'''MMMM d일 EEEE''',
+    'QQQ': r'''QQQ''',
+    'QQQQ': r'''QQQQ''',
+    'y': r'''y년''',
+    'yM': r'''y. M.''',
+    'yMd': r'''y. M. d.''',
+    'yMEd': r'''y. M. d. (EEE)''',
+    'yMMM': r'''y년 MMM''',
+    'yMMMd': r'''y년 MMM d일''',
+    'yMMMEd': r'''y년 MMM d일 (EEE)''',
+    'yMMMM': r'''y년 MMMM''',
+    'yMMMMd': r'''y년 MMMM d일''',
+    'yMMMMEEEEd': r'''y년 MMMM d일 EEEE''',
+    'yQQQ': r'''y년 QQQ''',
+    'yQQQQ': r'''y년 QQQQ''',
+    'H': r'''H시''',
+    'Hm': r'''HH:mm''',
+    'Hms': r'''H시 m분 s초''',
+    'j': r'''a h시''',
+    'jm': r'''a h:mm''',
+    'jms': r'''a h:mm:ss''',
+    'jmv': r'''a h:mm v''',
+    'jmz': r'''a h:mm z''',
+    'jz': r'''a h시 z''',
+    'm': r'''m''',
+    'ms': r'''mm:ss''',
+    's': r'''s''',
+    'v': r'''v''',
+    'z': r'''z''',
+    'zzzz': r'''zzzz''',
+    'ZZZZ': r'''ZZZZ''',
+  },
+  'nl': const <String, String>{
+    'd': r'''d''',
+    'E': r'''ccc''',
+    'EEEE': r'''cccc''',
+    'LLL': r'''LLL''',
+    'LLLL': r'''LLLL''',
+    'M': r'''L''',
+    'Md': r'''d-M''',
+    'MEd': r'''EEE d-M''',
+    'MMM': r'''LLL''',
+    'MMMd': r'''d MMM''',
+    'MMMEd': r'''EEE d MMM''',
+    'MMMM': r'''LLLL''',
+    'MMMMd': r'''d MMMM''',
+    'MMMMEEEEd': r'''EEEE d MMMM''',
+    'QQQ': r'''QQQ''',
+    'QQQQ': r'''QQQQ''',
+    'y': r'''y''',
+    'yM': r'''M-y''',
+    'yMd': r'''d-M-y''',
+    'yMEd': r'''EEE d-M-y''',
+    'yMMM': r'''MMM y''',
+    'yMMMd': r'''d MMM y''',
+    'yMMMEd': r'''EEE d MMM y''',
+    'yMMMM': r'''MMMM y''',
+    'yMMMMd': r'''d MMMM y''',
+    'yMMMMEEEEd': r'''EEEE d MMMM y''',
+    'yQQQ': r'''QQQ y''',
+    'yQQQQ': r'''QQQQ y''',
+    'H': r'''HH''',
+    'Hm': r'''HH:mm''',
+    'Hms': r'''HH:mm:ss''',
+    'j': r'''HH''',
+    'jm': r'''HH:mm''',
+    'jms': r'''HH:mm:ss''',
+    'jmv': r'''HH:mm v''',
+    'jmz': r'''HH:mm z''',
+    'jz': r'''HH z''',
+    'm': r'''m''',
+    'ms': r'''mm:ss''',
+    's': r'''s''',
+    'v': r'''v''',
+    'z': r'''z''',
+    'zzzz': r'''zzzz''',
+    'ZZZZ': r'''ZZZZ''',
+  },
+  'pl': const <String, String>{
+    'd': r'''d''',
+    'E': r'''ccc''',
+    'EEEE': r'''cccc''',
+    'LLL': r'''LLL''',
+    'LLLL': r'''LLLL''',
+    'M': r'''L''',
+    'Md': r'''d.MM''',
+    'MEd': r'''EEE, d.MM''',
+    'MMM': r'''LLL''',
+    'MMMd': r'''d MMM''',
+    'MMMEd': r'''EEE, d MMM''',
+    'MMMM': r'''LLLL''',
+    'MMMMd': r'''d MMMM''',
+    'MMMMEEEEd': r'''EEEE, d MMMM''',
+    'QQQ': r'''QQQ''',
+    'QQQQ': r'''QQQQ''',
+    'y': r'''y''',
+    'yM': r'''MM.y''',
+    'yMd': r'''d.MM.y''',
+    'yMEd': r'''EEE, d.MM.y''',
+    'yMMM': r'''LLL y''',
+    'yMMMd': r'''d MMM y''',
+    'yMMMEd': r'''EEE, d MMM y''',
+    'yMMMM': r'''LLLL y''',
+    'yMMMMd': r'''d MMMM y''',
+    'yMMMMEEEEd': r'''EEEE, d MMMM y''',
+    'yQQQ': r'''QQQ y''',
+    'yQQQQ': r'''QQQQ y''',
+    'H': r'''HH''',
+    'Hm': r'''HH:mm''',
+    'Hms': r'''HH:mm:ss''',
+    'j': r'''HH''',
+    'jm': r'''HH:mm''',
+    'jms': r'''HH:mm:ss''',
+    'jmv': r'''HH:mm v''',
+    'jmz': r'''HH:mm z''',
+    'jz': r'''HH z''',
+    'm': r'''m''',
+    'ms': r'''mm:ss''',
+    's': r'''s''',
+    'v': r'''v''',
+    'z': r'''z''',
+    'zzzz': r'''zzzz''',
+    'ZZZZ': r'''ZZZZ''',
+  },
+  'ps': const <String, String>{
     'd': r'''d''',
     'E': r'''ccc''',
     'EEEE': r'''cccc''',
@@ -3157,7 +4410,7 @@
     'zzzz': r'''zzzz''',
     'ZZZZ': r'''ZZZZ''',
   },
-  'pt': const <String, dynamic>{
+  'pt': const <String, String>{
     'd': r'''d''',
     'E': r'''ccc''',
     'EEEE': r'''cccc''',
@@ -3203,7 +4456,7 @@
     'zzzz': r'''zzzz''',
     'ZZZZ': r'''ZZZZ''',
   },
-  'ro': const <String, dynamic>{
+  'ro': const <String, String>{
     'd': r'''d''',
     'E': r'''ccc''',
     'EEEE': r'''cccc''',
@@ -3249,7 +4502,7 @@
     'zzzz': r'''zzzz''',
     'ZZZZ': r'''ZZZZ''',
   },
-  'ru': const <String, dynamic>{
+  'ru': const <String, String>{
     'd': r'''d''',
     'E': r'''ccc''',
     'EEEE': r'''cccc''',
@@ -3295,7 +4548,99 @@
     'zzzz': r'''zzzz''',
     'ZZZZ': r'''ZZZZ''',
   },
-  'ur': const <String, dynamic>{
+  'th': const <String, String>{
+    'd': r'''d''',
+    'E': r'''ccc''',
+    'EEEE': r'''cccc''',
+    'LLL': r'''LLL''',
+    'LLLL': r'''LLLL''',
+    'M': r'''L''',
+    'Md': r'''d/M''',
+    'MEd': r'''EEE d/M''',
+    'MMM': r'''LLL''',
+    'MMMd': r'''d MMM''',
+    'MMMEd': r'''EEE d MMM''',
+    'MMMM': r'''LLLL''',
+    'MMMMd': r'''d MMMM''',
+    'MMMMEEEEd': r'''EEEEที่ d MMMM''',
+    'QQQ': r'''QQQ''',
+    'QQQQ': r'''QQQQ''',
+    'y': r'''y''',
+    'yM': r'''M/y''',
+    'yMd': r'''d/M/y''',
+    'yMEd': r'''EEE d/M/y''',
+    'yMMM': r'''MMM y''',
+    'yMMMd': r'''d MMM y''',
+    'yMMMEd': r'''EEE d MMM y''',
+    'yMMMM': r'''MMMM G y''',
+    'yMMMMd': r'''d MMMM G y''',
+    'yMMMMEEEEd': r'''EEEEที่ d MMMM G y''',
+    'yQQQ': r'''QQQ y''',
+    'yQQQQ': r'''QQQQ G y''',
+    'H': r'''HH''',
+    'Hm': r'''HH:mm น.''',
+    'Hms': r'''HH:mm:ss''',
+    'j': r'''HH''',
+    'jm': r'''HH:mm น.''',
+    'jms': r'''HH:mm:ss''',
+    'jmv': r'''HH:mm v''',
+    'jmz': r'''HH:mm z''',
+    'jz': r'''HH z''',
+    'm': r'''m''',
+    'ms': r'''mm:ss''',
+    's': r'''s''',
+    'v': r'''v''',
+    'z': r'''z''',
+    'zzzz': r'''zzzz''',
+    'ZZZZ': r'''ZZZZ''',
+  },
+  'tr': const <String, String>{
+    'd': r'''d''',
+    'E': r'''ccc''',
+    'EEEE': r'''cccc''',
+    'LLL': r'''LLL''',
+    'LLLL': r'''LLLL''',
+    'M': r'''L''',
+    'Md': r'''d/M''',
+    'MEd': r'''d/MM EEE''',
+    'MMM': r'''LLL''',
+    'MMMd': r'''d MMM''',
+    'MMMEd': r'''d MMMM EEE''',
+    'MMMM': r'''LLLL''',
+    'MMMMd': r'''d MMMM''',
+    'MMMMEEEEd': r'''d MMMM EEEE''',
+    'QQQ': r'''QQQ''',
+    'QQQQ': r'''QQQQ''',
+    'y': r'''y''',
+    'yM': r'''MM/y''',
+    'yMd': r'''dd.MM.y''',
+    'yMEd': r'''d.M.y EEE''',
+    'yMMM': r'''MMM y''',
+    'yMMMd': r'''d MMM y''',
+    'yMMMEd': r'''d MMM y EEE''',
+    'yMMMM': r'''MMMM y''',
+    'yMMMMd': r'''d MMMM y''',
+    'yMMMMEEEEd': r'''d MMMM y EEEE''',
+    'yQQQ': r'''y QQQ''',
+    'yQQQQ': r'''y QQQQ''',
+    'H': r'''HH''',
+    'Hm': r'''HH:mm''',
+    'Hms': r'''HH:mm:ss''',
+    'j': r'''HH''',
+    'jm': r'''HH:mm''',
+    'jms': r'''HH:mm:ss''',
+    'jmv': r'''HH:mm v''',
+    'jmz': r'''HH:mm z''',
+    'jz': r'''HH z''',
+    'm': r'''m''',
+    'ms': r'''mm:ss''',
+    's': r'''s''',
+    'v': r'''v''',
+    'z': r'''z''',
+    'zzzz': r'''zzzz''',
+    'ZZZZ': r'''ZZZZ''',
+  },
+  'ur': const <String, String>{
     'd': r'''d''',
     'E': r'''ccc''',
     'EEEE': r'''cccc''',
@@ -3341,7 +4686,7 @@
     'zzzz': r'''zzzz''',
     'ZZZZ': r'''ZZZZ''',
   },
-  'zh': const <String, dynamic>{
+  'zh': const <String, String>{
     'd': r'''d日''',
     'E': r'''ccc''',
     'EEEE': r'''cccc''',