Pull to refresh

Comments 31

1. Либо в соответствующий блог, либо укажите название продукта.
2. Оформите код с помощью какого-нибудь редактора с подсветкой.
Афигенно… то что это относится к Drupal'у можно узнать только из комментария в коде.
У меня не хватило кармы опубликовать в тематическом блоге. Увы.
ну дак хоть укажите в названии статьи что для друпала
Уже указал в заголовке, что речь идёт о Drupal и сделал подсветку синтаксиса. Спасибо за замечания.
use theme functions.
и будет Вам счастье ;)
Как именно это можно использовать?
Он, видимо, предлагает перекрывать переменные $submitted и т.п. Я обычно в template.php определяю свою функцию вывода времени и использую ее в *.tpl.php. Предпочитаю даты вида
«понедельник, 8 марта 2010 года в 16:30» (длинный формат), «8 марта в 16:30» (короткий для текущего года) и т.п.
8 марта, Понедельник — это столь же не по-русски, как и 8 Март, Понедельник.
Чтобы написать действительно по-русски, нужно еще 5 лет и 200 килобайт кода.
На «понедельник 8 марта» вам нужно 5 лет? :)
Патчить модули — это моветон.
Идем в admin/build/translate/search, находим нужные строки и переводим как нам нравится.
Вы предлагаете то, что сами не пробовали. А я этот вариант проверил — результат плохой.
Почему? Потому что исправляя перевод названий месяцев мы получаем родительный падеж ВЕЗДЕ, что не верно. То есть «марта, 2010» в блоке календаря и прочее.
Поэтому это не вариант.
Сам пробовал. Если переводить не всё подряд, а только нужные строки, то несовпадений практически нет
да полно совпадений. напереводились в свое время, не надо лял-я :)
Ну Вам конечно же виднее.
Не все так просто, одному слову может соответствовать несколько переводов
я тупо, использую короткий формат даты

В конце концов, через пару лет, какая разница в какой день недели была опубликована конкретная нода.

Хотя не спорю, где то это нужно
Извиняюсь, но хочу вставить свои пять копеек.
Быть может это очень глупо и не правильно, но иногда, когда я заполняю документы(благо это не президентские рукописи)) и там прописаны графы типа "__/_____/20__" то я пишу «08/март/2010» или даже такие «08 _______ 20__» тоже, заполняя, пишу месяц в именительном падеже.

Поэтому, лично мое мнение, менять падеж только основываясь на том, что перед месяцем стоит цифра — неверно. Видится мне, что куда сложнее потом будет избавиться от неверно всплывшем падеже, в каком-нибудь закадычном месте. Уж если менять падеж, то только указывая где-то в параметрах функции в какой именно падеж вам хочется привести слово.
уважаемый, вы как вообще планируете определять необходимость наличия падежа для любого языка? кто вам вообще сказал, что в текущем языке будет падеж и что он будет родительный? вы как бы не забывайте, что машина воображение включать не будет на этот счёт
uk = украинский язык (ISO-639-1)

очевидно, что здесь не страны, а языки.
ГОСТ суров — но он ISO :)
Хорошо, что сократили до 1, а то какое то время на drupal.org было 2 варианта…
Патч к модулю… Вот по этому я перестал использовать друпал. Хотя, в своей нише, наверное, он лучший.
Ну не знаю. Тот патч который стоит не любить (который приходится самому поддерживать) мне кажется достаточно редкое явление в Друпале. В подавляющем большинстве случаев сделанный патч отправляется разработчику модуля и уже в следующей версии этого модуля вы получаете решение вашей проблемы и следовательно при обновлении ваш код можно не поддерживать, в модуле эта функциональность уже есть. Это по сути не патч, это ваша «помощь комьюнити». Патчи, которые по каким-то причинам не включаются в модуля — достаточно редкое явление.
Это точно. Патч в данном случае это название программы (patch), которая используется, чтобы наложить изменения на текущий код модуля. И кроме того, акцент на слове патч как раз и значит, что вероятность его принятия разработчиком модуля очень велика — я всё уже подготовил.

Если бы я в вольной форме изложил автору модуля чего я хочу и просил бы его самого это сделать, но это было бы реально дольше и называлось бы не патч, а feature request. И их там тысячи.

С выходом 7ки к патчам будут предьявляться всё более жесткие требования (код должен проходить автоматизированные тесты), но я считаю, что с ростом сложности системы это просто необходимо и очень разумно. Но это касается ядра Друпал. Какая-то другая CMS может похвастаться автоматизированными тестами для своего ядра?!
А нужно ли где-нибудь выводить названия месяцев в именительном падеже? Было бы проще изменить все переводв на родительный падеж, в своё время так было сделано при локализации MediaWiki.
К сожалению нужно. Модуль Calendar, например, выводит разного рода списки где есть архив по месяцам (март 2010, апрель 2010). Есть блок с календарём, где в заголовке название месяца и, если оно в родительном падеже, но это выглядит не очень…
Я для подобных вещей написал функцию format_date2 и везде в шаблонах и своих модулях использую ее, вместо стандартной format_date.

global $_format_date2_monthes;

$_format_date2_monthes['large']['ru'] = array('', 'января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря');
$_format_date2_monthes['large']['en'] = array('', 'january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december');
$_format_date2_monthes['medium']['ru'] = array('', 'янв', 'фев', 'мар', 'апр', 'мая', 'июн', 'июл', 'авг', 'сен', 'окт', 'ноя', 'дек');
$_format_date2_monthes['medium']['en'] = array('', 'jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec');

// type=[small,medium,large], language=[ru,en,cn,es,de]
function format_date2($timestamp, $type = 'medium', $language = NULL) {
if (empty($language)) $language = $GLOBALS['language']->language;
if ($language == 'zh-hans') return date('Y年m月d日', $timestamp);
$small = date('d.m.Y', $timestamp);
if ($type == 'small') return $small;
global $_format_date2_monthes;
list($day, $month, $year) = explode(".", $small);
$day = (int) $day; $month = (int) $month; $year = (int) $year;
$month = $_format_date2_monthes[$type][$language][$month];
if (empty($month)) return $small;
$result = "$day $month $year";
if ($language == 'ru') $result .= " г.";
return $result;
}
Патч на drupal.org до сих пор не закоммитили. Автор модуля хочет, чтобы его больше людей потестили и желательно не на русскоязычных/англоязычных сайтах.
Поэтому если кто имеет подобные сайты и использует патч — отпишитесь в drupal.org/node/728350
Sign up to leave a comment.

Articles