Add support for the Marathi language, locale mr_IN (#24353)

diff --git a/packages/flutter_localizations/lib/src/l10n/date_localizations.dart b/packages/flutter_localizations/lib/src/l10n/date_localizations.dart
index 4f3f54f..fe1e42f 100644
--- a/packages/flutter_localizations/lib/src/l10n/date_localizations.dart
+++ b/packages/flutter_localizations/lib/src/l10n/date_localizations.dart
@@ -6779,10 +6779,10 @@
       r'''S'''
     ],
     'SHORTQUARTERS': <dynamic>[
-      r'''1. cet.''',
-      r'''2. cet.''',
-      r'''3. cet.''',
-      r'''4. cet.'''
+      r'''1. cet.''',
+      r'''2. cet.''',
+      r'''3. cet.''',
+      r'''4. cet.'''
     ],
     'QUARTERS': <dynamic>[
       r'''1. ceturksnis''',
@@ -6992,6 +6992,180 @@
       r'''{1} {0}'''
     ],
   },
+  'mr': <String, dynamic>{
+    'NAME': r'''mr''',
+    'ERAS': <dynamic>[r'''इ. स. पू.''', r'''इ. स.'''],
+    'ERANAMES': <dynamic>[r'''ईसवीसनपूर्व''', r'''ईसवीसन'''],
+    'NARROWMONTHS': <dynamic>[
+      r'''जा''',
+      r'''फे''',
+      r'''मा''',
+      r'''ए''',
+      r'''मे''',
+      r'''जू''',
+      r'''जु''',
+      r'''ऑ''',
+      r'''स''',
+      r'''ऑ''',
+      r'''नो''',
+      r'''डि'''
+    ],
+    'STANDALONENARROWMONTHS': <dynamic>[
+      r'''जा''',
+      r'''फे''',
+      r'''मा''',
+      r'''ए''',
+      r'''मे''',
+      r'''जू''',
+      r'''जु''',
+      r'''ऑ''',
+      r'''स''',
+      r'''ऑ''',
+      r'''नो''',
+      r'''डि'''
+    ],
+    'MONTHS': <dynamic>[
+      r'''जानेवारी''',
+      r'''फेब्रुवारी''',
+      r'''मार्च''',
+      r'''एप्रिल''',
+      r'''मे''',
+      r'''जून''',
+      r'''जुलै''',
+      r'''ऑगस्ट''',
+      r'''सप्टेंबर''',
+      r'''ऑक्टोबर''',
+      r'''नोव्हेंबर''',
+      r'''डिसेंबर'''
+    ],
+    'STANDALONEMONTHS': <dynamic>[
+      r'''जानेवारी''',
+      r'''फेब्रुवारी''',
+      r'''मार्च''',
+      r'''एप्रिल''',
+      r'''मे''',
+      r'''जून''',
+      r'''जुलै''',
+      r'''ऑगस्ट''',
+      r'''सप्टेंबर''',
+      r'''ऑक्टोबर''',
+      r'''नोव्हेंबर''',
+      r'''डिसेंबर'''
+    ],
+    'SHORTMONTHS': <dynamic>[
+      r'''जाने''',
+      r'''फेब्रु''',
+      r'''मार्च''',
+      r'''एप्रि''',
+      r'''मे''',
+      r'''जून''',
+      r'''जुलै''',
+      r'''ऑग''',
+      r'''सप्टें''',
+      r'''ऑक्टो''',
+      r'''नोव्हें''',
+      r'''डिसें'''
+    ],
+    'STANDALONESHORTMONTHS': <dynamic>[
+      r'''जाने''',
+      r'''फेब्रु''',
+      r'''मार्च''',
+      r'''एप्रि''',
+      r'''मे''',
+      r'''जून''',
+      r'''जुलै''',
+      r'''ऑग''',
+      r'''सप्टें''',
+      r'''ऑक्टो''',
+      r'''नोव्हें''',
+      r'''डिसें'''
+    ],
+    'WEEKDAYS': <dynamic>[
+      r'''रविवार''',
+      r'''सोमवार''',
+      r'''मंगळवार''',
+      r'''बुधवार''',
+      r'''गुरुवार''',
+      r'''शुक्रवार''',
+      r'''शनिवार'''
+    ],
+    'STANDALONEWEEKDAYS': <dynamic>[
+      r'''रविवार''',
+      r'''सोमवार''',
+      r'''मंगळवार''',
+      r'''बुधवार''',
+      r'''गुरुवार''',
+      r'''शुक्रवार''',
+      r'''शनिवार'''
+    ],
+    'SHORTWEEKDAYS': <dynamic>[
+      r'''रवि''',
+      r'''सोम''',
+      r'''मंगळ''',
+      r'''बुध''',
+      r'''गुरु''',
+      r'''शुक्र''',
+      r'''शनि'''
+    ],
+    'STANDALONESHORTWEEKDAYS': <dynamic>[
+      r'''रवि''',
+      r'''सोम''',
+      r'''मंगळ''',
+      r'''बुध''',
+      r'''गुरु''',
+      r'''शुक्र''',
+      r'''शनि'''
+    ],
+    'NARROWWEEKDAYS': <dynamic>[
+      r'''र''',
+      r'''सो''',
+      r'''मं''',
+      r'''बु''',
+      r'''गु''',
+      r'''शु''',
+      r'''श'''
+    ],
+    'STANDALONENARROWWEEKDAYS': <dynamic>[
+      r'''र''',
+      r'''सो''',
+      r'''मं''',
+      r'''बु''',
+      r'''गु''',
+      r'''शु''',
+      r'''श'''
+    ],
+    'SHORTQUARTERS': <dynamic>[r'''ति१''', r'''ति२''', r'''ति३''', r'''ति४'''],
+    'QUARTERS': <dynamic>[
+      r'''प्रथम तिमाही''',
+      r'''द्वितीय तिमाही''',
+      r'''तृतीय तिमाही''',
+      r'''चतुर्थ तिमाही'''
+    ],
+    'AMPMS': <dynamic>[r'''म.पू.''', r'''म.उ.'''],
+    'DATEFORMATS': <dynamic>[
+      r'''EEEE, d MMMM, y''',
+      r'''d MMMM, y''',
+      r'''d MMM, y''',
+      r'''d/M/yy'''
+    ],
+    'TIMEFORMATS': <dynamic>[
+      r'''h:mm:ss a zzzz''',
+      r'''h:mm:ss a z''',
+      r'''h:mm:ss a''',
+      r'''h:mm a'''
+    ],
+    'AVAILABLEFORMATS': null,
+    'FIRSTDAYOFWEEK': 6,
+    'WEEKENDRANGE': <dynamic>[6, 6],
+    'FIRSTWEEKCUTOFFDAY': 5,
+    'DATETIMEFORMATS': <dynamic>[
+      r'''{1} रोजी {0}''',
+      r'''{1} रोजी {0}''',
+      r'''{1}, {0}''',
+      r'''{1}, {0}'''
+    ],
+    'ZERODIGIT': r'''०''',
+  },
   'ms': <String, dynamic>{
     'NAME': r'''ms''',
     'ERAS': <dynamic>[r'''S.M.''', r'''TM'''],
@@ -12846,6 +13020,52 @@
     'zzzz': r'''zzzz''',
     'ZZZZ': r'''ZZZZ''',
   },
+  'mr': <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'''H:mm''',
+    'Hms': r'''H:mm:ss''',
+    'j': r'''h a''',
+    'jm': r'''h:mm a''',
+    'jms': r'''h:mm:ss a''',
+    'jmv': r'''h:mm a v''',
+    'jmz': r'''h:mm a z''',
+    'jz': r'''h a z''',
+    'm': r'''m''',
+    'ms': r'''mm:ss''',
+    's': r'''s''',
+    'v': r'''v''',
+    'z': r'''z''',
+    'zzzz': r'''zzzz''',
+    'ZZZZ': r'''ZZZZ''',
+  },
   'ms': <String, String>{
     'd': r'''d''',
     'E': r'''ccc''',
@@ -13904,4 +14124,4 @@
     'zzzz': r'''zzzz''',
     'ZZZZ': r'''ZZZZ''',
   },
-};
\ No newline at end of file
+};
diff --git a/packages/flutter_localizations/lib/src/l10n/localizations.dart b/packages/flutter_localizations/lib/src/l10n/localizations.dart
index 900f261..a84a123 100644
--- a/packages/flutter_localizations/lib/src/l10n/localizations.dart
+++ b/packages/flutter_localizations/lib/src/l10n/localizations.dart
@@ -7632,6 +7632,207 @@
   String get viewLicensesButtonLabel => r'ЛИЦЕНЗҮҮДИЙГ ХАРАХ';
 }
 
+/// The translations for Marathi (`mr`).
+class MaterialLocalizationMr extends GlobalMaterialLocalizations {
+  /// Create an instance of the translation bundle for Marathi.
+  ///
+  /// For details on the meaning of the arguments, see [GlobalMaterialLocalizations].
+  const MaterialLocalizationMr({
+    String localeName = 'mr',
+    @required intl.DateFormat fullYearFormat,
+    @required intl.DateFormat mediumDateFormat,
+    @required intl.DateFormat longDateFormat,
+    @required intl.DateFormat yearMonthFormat,
+    @required intl.NumberFormat decimalFormat,
+    @required intl.NumberFormat twoDigitZeroPaddedFormat,
+  }) : super(
+    localeName: localeName,
+    fullYearFormat: fullYearFormat,
+    mediumDateFormat: mediumDateFormat,
+    longDateFormat: longDateFormat,
+    yearMonthFormat: yearMonthFormat,
+    decimalFormat: decimalFormat,
+    twoDigitZeroPaddedFormat: twoDigitZeroPaddedFormat,
+  );
+
+  @override
+  String get aboutListTileTitleRaw => r'$applicationName बद्दल';
+
+  @override
+  String get alertDialogLabel => r'अलर्ट';
+
+  @override
+  String get anteMeridiemAbbreviation => r'AM';
+
+  @override
+  String get backButtonTooltip => r'मागे';
+
+  @override
+  String get cancelButtonLabel => r'रद्द';
+
+  @override
+  String get closeButtonLabel => r'बंद';
+
+  @override
+  String get closeButtonTooltip => r'बंद';
+
+  @override
+  String get collapsedIconTapHint => r'विस्तृत';
+
+  @override
+  String get continueButtonLabel => r'सुरू';
+
+  @override
+  String get copyButtonLabel => r'कॉपी';
+
+  @override
+  String get cutButtonLabel => r'कट';
+
+  @override
+  String get deleteButtonTooltip => r'मिटवा';
+
+  @override
+  String get dialogLabel => r'संवाद';
+
+  @override
+  String get drawerLabel => r'नेव्हिगेशन मेनू';
+
+  @override
+  String get expandedIconTapHint => r'संकुचित';
+
+  @override
+  String get hideAccountsLabel => r'खाती लपवा';
+
+  @override
+  String get licensesPageTitle => r'परवाने';
+
+  @override
+  String get modalBarrierDismissLabel => r'हटवा';
+
+  @override
+  String get nextMonthTooltip => r'पुढील महिना';
+
+  @override
+  String get nextPageTooltip => r'पुढील पृष्ठ';
+
+  @override
+  String get okButtonLabel => r'ठीक';
+
+  @override
+  String get openAppDrawerTooltip => r'नेव्हिगेशन मेनू उघडा';
+
+  @override
+  String get pageRowsInfoTitleRaw => r'$firstRow–$lastRow मधून $rowCount';
+
+  @override
+  String get pageRowsInfoTitleApproximateRaw => r'$firstRow–$lastRow मधून अंदाजे $rowCount';
+
+  @override
+  String get pasteButtonLabel => r'पेस्ट';
+
+  @override
+  String get popupMenuLabel => r'पॉपअप मेनू';
+
+  @override
+  String get postMeridiemAbbreviation => r'PM';
+
+  @override
+  String get previousMonthTooltip => r'मागील महिना';
+
+  @override
+  String get previousPageTooltip => r'मागील पृष्ठ';
+
+  @override
+  String get remainingTextFieldCharacterCountFew => null;
+
+  @override
+  String get remainingTextFieldCharacterCountMany => null;
+
+  @override
+  String get remainingTextFieldCharacterCountOne => r'1 वर्ण उर्वरित';
+
+  @override
+  String get remainingTextFieldCharacterCountOther => r'$remainingCount वर्ण उर्वरित';
+
+  @override
+  String get remainingTextFieldCharacterCountTwo => null;
+
+  @override
+  String get remainingTextFieldCharacterCountZero => r'कोणतेही वर्ण शिल्लक नाहीत';
+
+  @override
+  String get reorderItemDown => r'खाली हलवा';
+
+  @override
+  String get reorderItemLeft => r'डावीकडे हलवा';
+
+  @override
+  String get reorderItemRight => r'उजवीकडे हलवा';
+
+  @override
+  String get reorderItemToEnd => r'शेवटी हलवा';
+
+  @override
+  String get reorderItemToStart => r'सुरूवातीस हलवा';
+
+  @override
+  String get reorderItemUp => r'वर हलवा';
+
+  @override
+  String get rowsPerPageTitle => r'ओळी प्रति पृष्ठ :';
+
+  @override
+  ScriptCategory get scriptCategory => ScriptCategory.dense;
+
+  @override
+  String get searchFieldLabel => r'शोध';
+
+  @override
+  String get selectAllButtonLabel => r'सर्व निवडा';
+
+  @override
+  String get selectedRowCountTitleFew => null;
+
+  @override
+  String get selectedRowCountTitleMany => null;
+
+  @override
+  String get selectedRowCountTitleOne => r'१ आयटम निवडला';
+
+  @override
+  String get selectedRowCountTitleOther => r'$selectedRowCount निवडलेले';
+
+  @override
+  String get selectedRowCountTitleTwo => null;
+
+  @override
+  String get selectedRowCountTitleZero => r'कोणतेही आयटम निवडलेले नाहीत';
+
+  @override
+  String get showAccountsLabel => r'खाती दाखवा';
+
+  @override
+  String get showMenuTooltip => r'मेनू दर्शवा';
+
+  @override
+  String get signedInLabel => r'साइन इन झालेले';
+
+  @override
+  String get tabLabelRaw => r'Tab $tabIndex मधून $tabCount';
+
+  @override
+  TimeOfDayFormat get timeOfDayFormatRaw => TimeOfDayFormat.h_colon_mm_space_a;
+
+  @override
+  String get timePickerHourModeAnnouncement => r'तास निवडा';
+
+  @override
+  String get timePickerMinuteModeAnnouncement => r'मिनिटे निवडा';
+
+  @override
+  String get viewLicensesButtonLabel => r'परवाने पहा';
+}
+
 /// The translations for Malay (`ms`).
 class MaterialLocalizationMs extends GlobalMaterialLocalizations {
   /// Create an instance of the translation bundle for Malay.
@@ -12007,6 +12208,7 @@
   'lt', // Lithuanian
   'lv', // Latvian
   'mn', // Mongolian
+  'mr', // Marathi
   'ms', // Malay
   'nb', // Norwegian Bokmål
   'nl', // Dutch Flemish
@@ -12066,6 +12268,7 @@
 ///  * `lt` - Lithuanian
 ///  * `lv` - Latvian
 ///  * `mn` - Mongolian
+///  * `mr` - Marathi
 ///  * `ms` - Malay
 ///  * `nb` - Norwegian Bokmål
 ///  * `nl` - Dutch Flemish
@@ -12225,6 +12428,8 @@
       return MaterialLocalizationLv(fullYearFormat: fullYearFormat, mediumDateFormat: mediumDateFormat, longDateFormat: longDateFormat, yearMonthFormat: yearMonthFormat, decimalFormat: decimalFormat, twoDigitZeroPaddedFormat: twoDigitZeroPaddedFormat);
     case 'mn':
       return MaterialLocalizationMn(fullYearFormat: fullYearFormat, mediumDateFormat: mediumDateFormat, longDateFormat: longDateFormat, yearMonthFormat: yearMonthFormat, decimalFormat: decimalFormat, twoDigitZeroPaddedFormat: twoDigitZeroPaddedFormat);
+    case 'mr':
+      return MaterialLocalizationMr(fullYearFormat: fullYearFormat, mediumDateFormat: mediumDateFormat, longDateFormat: longDateFormat, yearMonthFormat: yearMonthFormat, decimalFormat: decimalFormat, twoDigitZeroPaddedFormat: twoDigitZeroPaddedFormat);
     case 'ms':
       return MaterialLocalizationMs(fullYearFormat: fullYearFormat, mediumDateFormat: mediumDateFormat, longDateFormat: longDateFormat, yearMonthFormat: yearMonthFormat, decimalFormat: decimalFormat, twoDigitZeroPaddedFormat: twoDigitZeroPaddedFormat);
     case 'nb':
diff --git a/packages/flutter_localizations/lib/src/l10n/material_mr.arb b/packages/flutter_localizations/lib/src/l10n/material_mr.arb
new file mode 100644
index 0000000..b6da8ac
--- /dev/null
+++ b/packages/flutter_localizations/lib/src/l10n/material_mr.arb
@@ -0,0 +1,55 @@
+{
+  "scriptCategory": "dense",
+  "timeOfDayFormat": "h:mm a",
+  "openAppDrawerTooltip": "नेव्हिगेशन मेनू उघडा",
+  "backButtonTooltip": "मागे",
+  "closeButtonTooltip": "बंद",
+  "deleteButtonTooltip": "मिटवा",
+  "nextMonthTooltip": "पुढील महिना",
+  "previousMonthTooltip": "मागील महिना",
+  "nextPageTooltip": "पुढील पृष्ठ",
+  "previousPageTooltip": "मागील पृष्ठ",
+  "showMenuTooltip": "मेनू दर्शवा",
+  "aboutListTileTitle": "$applicationName बद्दल",
+  "licensesPageTitle": "परवाने",
+  "pageRowsInfoTitle": "$firstRow–$lastRow मधून $rowCount",
+  "pageRowsInfoTitleApproximate": "$firstRow–$lastRow मधून अंदाजे $rowCount",
+  "rowsPerPageTitle": "ओळी प्रति पृष्ठ :",
+  "tabLabel": "Tab $tabIndex मधून $tabCount",
+  "selectedRowCountTitleZero": "कोणतेही आयटम निवडलेले नाहीत",
+  "selectedRowCountTitleOne": "१ आयटम निवडला",
+  "selectedRowCountTitleOther": "$selectedRowCount निवडलेले",
+  "cancelButtonLabel": "रद्द",
+  "closeButtonLabel": "बंद",
+  "continueButtonLabel": "सुरू",
+  "copyButtonLabel": "कॉपी",
+  "cutButtonLabel": "कट",
+  "okButtonLabel": "ठीक",
+  "pasteButtonLabel": "पेस्ट",
+  "selectAllButtonLabel": "सर्व निवडा",
+  "viewLicensesButtonLabel": "परवाने पहा",
+  "anteMeridiemAbbreviation": "AM",
+  "postMeridiemAbbreviation": "PM",
+  "timePickerHourModeAnnouncement": "तास निवडा",
+  "timePickerMinuteModeAnnouncement": "मिनिटे निवडा",
+  "modalBarrierDismissLabel": "हटवा",
+  "signedInLabel": "साइन इन झालेले",
+  "hideAccountsLabel": "खाती लपवा",
+  "showAccountsLabel": "खाती दाखवा",
+  "drawerLabel": "नेव्हिगेशन मेनू",
+  "popupMenuLabel": "पॉपअप मेनू",
+  "dialogLabel": "संवाद",
+  "alertDialogLabel": "अलर्ट",
+  "searchFieldLabel": "शोध",
+  "reorderItemToStart": "सुरूवातीस हलवा",
+  "reorderItemToEnd": "शेवटी हलवा",
+  "reorderItemUp": "वर हलवा",
+  "reorderItemDown": "खाली हलवा",
+  "reorderItemLeft": "डावीकडे हलवा",
+  "reorderItemRight": "उजवीकडे हलवा",
+  "expandedIconTapHint": "संकुचित",
+  "collapsedIconTapHint": "विस्तृत",
+  "remainingTextFieldCharacterCountZero": "कोणतेही वर्ण शिल्लक नाहीत",
+  "remainingTextFieldCharacterCountOne": "1 वर्ण उर्वरित",
+  "remainingTextFieldCharacterCountOther": "$remainingCount वर्ण उर्वरित"
+}