Index: vendor/magento/framework/View/Element/Html/Calendar.php
IDEA additional info: Fixxes missing am/pm markers for time "https://github.com/magento/magento2/commit/144b491c7720a983c33c7c20b1f77ccd559c1031"
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/vendor/magento/framework/View/Element/Html/Calendar.php b/vendor/magento/framework/View/Element/Html/Calendar.php
--- a/vendor/magento/framework/View/Element/Html/Calendar.php
+++ b/vendor/magento/framework/View/Element/Html/Calendar.php (date 1731398760432)
@@ -111,8 +111,7 @@
$this->assignFieldsValues($localeData);
// get "am" & "pm" words
- $this->assign('am', $this->encoder->encode($localeData['calendar']['gregorian']['AmPmMarkers']['0']));
- $this->assign('pm', $this->encoder->encode($localeData['calendar']['gregorian']['AmPmMarkers']['1']));
+ $this->assignAmPmWords($localeData);
// get first day of week and weekend days
$this->assign(
@@ -209,4 +208,23 @@
$this->assign('week', $this->encoder->encode($localeData['fields']['week']['dn']));
}
}
+
+ /**
+ * Assign "am" & "pm" words from the ICU data
+ *
+ * @param \ResourceBundle $localeData
+ */
+ private function assignAmPmWords(\ResourceBundle $localeData): void
+ {
+ // AmPmMarkers and AmPmMarkersAbbr aren't guaranteed to exist, so fallback to null if neither exist
+ $amWord = $localeData['calendar']['gregorian']['AmPmMarkers'][0] ??
+ $localeData['calendar']['gregorian']['AmPmMarkersAbbr'][0] ??
+ null;
+ $pmWord = $localeData['calendar']['gregorian']['AmPmMarkers'][1] ??
+ $localeData['calendar']['gregorian']['AmPmMarkersAbbr'][1] ??
+ null;
+
+ $this->assign('am', $this->encoder->encode($amWord));
+ $this->assign('pm', $this->encoder->encode($pmWord));
+ }
}