В разделе /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;
$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;
А вот в Новостях например, дата создания...где это дописать-то можно? Или есть другие пути?
Комментарии
Ох жесть. Вот, изучайте:
http://api.drupal.ru/api/function/format_date/
На сколько я помню, в стандартном переводе шестерки крайне дебильное именование месяцов. Из-за этого у вас и проблемы. Зайдите в раздел переводов, найдите и позаменяйте строки "Февраль" на "Февраля" и все остальные. После этого получите красивые строки без хаков.
neochief: а для 5-ки как нибуть хуком это можно под себя делать?
В API не силён
самый простой, но нежелательный способ: хакнуть format_date
Так а зачем хакать?? Я же объяснил как решить проблему.
да это я так, пижонствую. Имелось в виду более универсальное решение, то есть не только Февраля, но и февралем, феврале и тд.
Фиксы множественных чисел и месяцов.
Это можно исправить только переводом.
В Друпале склонение по падежам реализовать не реально в принципе.
Мне на одном из сайтов понадобился и именительный и родительный падеж месяцев.
В переводах: "February" перевел как "января", а "Feb" как "январь" (можно и наоборот, конечно).
Но беда с месяцем Май: и в краткой и полной форме это "May".
Пришлось ввести квази-месяц "May2" ( "May" - мая, "May2" - май ) и соответственно обрабатывать в format_date. Понимаю, что хакать ядро нехорошо, но что делать...
Как предлагал neochief в адмике зашел в раздел переводов и там поиском понаходил все, что нужно и позаменял на то, что нужно.
Я вот только не пойму, зачем заходить в админку переводов и искать что то руками если все это можно накатить одним патчем.
Я такое решение выложил еще в ноябре 2007 года: http://drupal.ru/node/9493
Как раз то, о чем говорил neochief
и так далее.
seaji спасибо, буду иметь ввиду для других проектов