Spaces:
No application file
No application file
| namespace Mautic\CoreBundle\Helper\DateTime; | |
| use Symfony\Contracts\Translation\TranslatorInterface; | |
| class DateTimeLocalization | |
| { | |
| public function __construct( | |
| private TranslatorInterface $translator | |
| ) { | |
| } | |
| public function localize(string $format): string | |
| { | |
| return str_replace($this->getDictionary(), array_keys($this->getDictionary()), $format); | |
| } | |
| /** | |
| * @return array<string,string> | |
| */ | |
| private function getDictionary(): array | |
| { | |
| $months = [ | |
| 'January', | |
| 'February', | |
| 'March', | |
| 'April', | |
| 'May', | |
| 'June', | |
| 'July', | |
| 'August', | |
| 'September', | |
| 'October', | |
| 'November', | |
| 'December', | |
| ]; | |
| $days = [ | |
| 'Monday', | |
| 'Tuesday', | |
| 'Wednesday', | |
| 'Thursday', | |
| 'Friday', | |
| 'Saturday', | |
| 'Sunday', | |
| 'Sun', | |
| 'Mon', | |
| 'Tue', | |
| 'Wed', | |
| 'Thu', | |
| 'Fri', | |
| 'Sat', | |
| ]; | |
| $values = array_merge($months, $days); | |
| $keys = $values; | |
| array_walk($keys, function (&$key): void { | |
| $key = $this->translator->trans('mautic.core.date.'.strtolower($key)); | |
| }); | |
| return array_combine($keys, $values); | |
| } | |
| } | |