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)); + } }