Palych_tw
@Palych_tw
Типа веб-разработчик

Как локализовать дату через setlocale()?

Всем привет! Мне нужно вывести название месяца на языке сайта, полученное из метки времени. Пробовал через setlocale :
<?php $date = get_field('date');
                            $date = strtotime($date);
                            setlocale(LC_TIME, "he_IL");
                            $day = date('j',$date);
                            $month = strftime (  "%B", $date ); ?>
                            <h3><?php echo $day;?></h3>
                            <p><?php  echo $month;?></p>

Но понял, что работа setlocale сильно зависит от ОС, на которой стоит сервер. В моем случае постоянно возвращает false (пробовал разные локали - windows+openserver) и выводит все время на английском языке, хотя язык системы русский. Решил перевести самим вордпрессом через gettext :
<?php $date = get_field('date');
                            $date = strtotime($date);
                            $day = date('j',$date);
                            $month = date (  'F', $date ); ?>
                            <h3><?php echo $day;?></h3>
                            <p><?php  _e($month);?></p>

ВП переводит название месяца на язык сайта. Но этот код предполагает, что название месяца должно обязательно вернуться на английском (что, как я понял, опять же зависит от языка системы), иначе перевод не сработает. Как можно выйти из такой ситуации?
  • Вопрос задан
  • 240 просмотров
Решения вопроса 1
VasyaPertrov
@VasyaPertrov
Изготовление и безопастность сайтов. WP и др.
Пробовал через setlocale

Мы не ищем лёгких путей, да? ;)

date_i18n. По-русски
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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