Как локализовать дату в Laravel 4?

Согласно документации, Laravel при работе с датами использует Carbon, у которого есть метод formatLocalized. Пример из документации:
setlocale(LC_TIME, 'German');
echo $dt->formatLocalized('%A %d %B %Y');          // Donnerstag 25 Dezember 1975

Я ставлю локаль ru_RU и пытаюсь вывести день недели:
setlocale(LC_TIME, 'ru_RU'); // это происходит в routes.php

// а это в шаблоне
// цикл и разметку я опустил, дело происходит в foreach
{{{$value->created_at->formatLocalized("%A")}}} // ожидаю увидеть "Четверг", но выводится пустая строка

В документации Carbon сказано, что при локализации он работает с strftime. Проверяю, работает ли у меня на сервере strftime:
<?php
  setlocale(LC_TIME, 'ru_RU');
  echo strftime("%A"); // корректно выводит "Четверг"
?>

Как заставить Carbon выводить русскую дату?
  • Вопрос задан
  • 5319 просмотров
Пригласить эксперта
Ответы на вопрос 2
я лишь могу предположить, что нужно поменять на нужную локаль в конфиге /app/config/app.php 'locale' => 'en',
Ответ написан
vanchelo
@vanchelo
Вот есть отличное решение для локализации дат для Ларавел https://github.com/LaravelRUS/localized-carbon

Поддерживает несколько языков
English (en)
Russian (ru)
Ukrainian (uk)
Dutch (nl)
Spanish (es)
Portuguese (pt)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы