Задать вопрос

Как локализовать дату в 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 выводить русскую дату?
  • Вопрос задан
  • 5322 просмотра
Подписаться 4 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 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)
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы