[Решено] Как изменить формат отображения месяца в дате с Февраль на Февраля, с Июль на Июля и т.д.

Главные вкладки

Аватар пользователя ValBangMan ValBangMan 14 января 2009 в 17:52

В разделе /admin/settings/date-time ставлю пользовательский формат даты d F Y, но месяцы пишутся в именительном падеже, как их прописать в родительном? В одном месте сайта нужно выводить текущую дату в виде Сегодня 14 Января 2009 года | 16:38, так я просто кусок такого php в шаблон запихнул:

$site_date = "";
$site_date = date("Сегодня d");
switch (date(m))
{
        case '01': {$site_date .= " Января "; break;}
        case '02': {$site_date .= " Февраля "; break;}
        case '03': {$site_date .= " Марта "; break;}
        case '04': {$site_date .= " Апреля "; break;}
        case '05': {$site_date .= " Мая "; break;}
        case '06': {$site_date .= " Июня "; break;}
        case '07': {$site_date .= " Июля "; break;}
        case '08': {$site_date .= " Августа "; break;}
        case '09': {$site_date .= " Сентября "; break;}
        case '10': {$site_date .= " Октября "; break;}
        case '11': {$site_date .= " Ноября "; break;}
        case '12': {$site_date .= " Декабря "; break;}
}
$site_date .= date("Y года | G:i");
echo $site_date;

А вот в Новостях например, дата создания...где это дописать-то можно? Или есть другие пути?

Комментарии

Аватар пользователя neochief neochief 14 января 2009 в 18:15

Ох жесть. Вот, изучайте:
http://api.drupal.ru/api/function/format_date/

На сколько я помню, в стандартном переводе шестерки крайне дебильное именование месяцов. Из-за этого у вас и проблемы. Зайдите в раздел переводов, найдите и позаменяйте строки "Февраль" на "Февраля" и все остальные. После этого получите красивые строки без хаков.

Аватар пользователя Nikit Nikit 15 января 2009 в 12:34

да это я так, пижонствую. Имелось в виду более универсальное решение, то есть не только Февраля, но и февралем, феврале и тд. Smile

Аватар пользователя goodboy goodboy 15 января 2009 в 14:29

Мне на одном из сайтов понадобился и именительный и родительный падеж месяцев.
В переводах: "February" перевел как "января", а "Feb" как "январь" (можно и наоборот, конечно).
Но беда с месяцем Май: и в краткой и полной форме это "May".
Пришлось ввести квази-месяц "May2" ( "May" - мая, "May2" - май ) и соответственно обрабатывать в format_date. Понимаю, что хакать ядро нехорошо, но что делать...

Аватар пользователя ValBangMan ValBangMan 1 апреля 2009 в 2:01

Как предлагал neochief в адмике зашел в раздел переводов и там поиском понаходил все, что нужно и позаменял на то, что нужно.

Аватар пользователя seaji seaji 1 апреля 2009 в 10:46

Я вот только не пойму, зачем заходить в админку переводов и искать что то руками если все это можно накатить одним патчем.
Я такое решение выложил еще в ноябре 2007 года: http://drupal.ru/node/9493
Как раз то, о чем говорил neochief

"neochief" wrote:
"Февраль" на "Февраля"

и так далее.