Spaces:
No application file
No application file
File size: 1,397 Bytes
d2897cd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
<?php
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);
}
}
|