Настройка локализации Carbon и даты в Laravel
Если возникли проблемы с русской локализацией библиотеки Carbon или выводом русифицированной даты то начинаем проверяем.
В настройках Laravel проверяем установленную локаль (config/app.php):
1 2 3 |
... 'locale' => 'ru', ... |
Смотрим в файл (app/Providers/AppServiceProvider.php), там должно быть так:
1 2 3 4 5 6 7 |
public function boot() { ... setlocale(LC_ALL, 'ru_RU.utf8'); Carbon::setLocale(config('app.locale')); ... } |
Если не работает проверяем установку локали в системе. Для ubuntu это выглядит так:
1 |
locale -a |
Ищем в списке ru_RU.utf8. При отсутствии устанавливаем:
1 |
sudo apt-get install language-pack-ru |
После всего этого должно работать.
Необходимо учесть, что в Carbon перевод только относительного времени, например прошло х дней, х лет, х месяцев.
Для получения даты на русском языке придется пользоваться стандартной библиотекой PHP. Как-то так:
1 2 3 4 |
@php $date = new \DateTime($order->created_at); @endphp <td><span class="name">{{ strftime('%d %b %Y', $date->getTimestamp()) }}</span></td> |