Форумы / National / Russian / Зоопарк с окончаниями

Ratibor
#7974 14.02.2009 22:23
В общем если надо, то могу переделать так:
в tpl строку:
{PHP.L.plu_therescurrently} {WHOSONlINE_VISITORS} {PHP.L.plu_visitors} {WHOSONlINE_MEMBERS} {PHP.L.plu_members}<br />&nbsp;<br />
меняем на :
{PHP.L.plu_therescurrently} {WHOSONlINE_VISITORS} {WHOSONlINE_TEXTVISITORS} {WHOSONlINE_MEMBERS} {WHOSONlINE_TEXTMEMBERS}<br />&nbsp;<br />
а в whosonline.php добавляем:
'WHOSONlINE_TEXTVISITORS' => sed_declension($total2,$L['plu_visitors'],$onlyword=true),
'WHOSONlINE_TEXTMEMBERS' => sed_declension($total1,$L['plu_members'],$onlyword=true),

после строк:
'WHOSONlINE_VISITORS' => $total2,
'WHOSONlINE_MEMBERS' => $total1,
ну и соответственно в ланг файле меняем на:
$L['plu_visitors'] = array(' гость и ',' гостя и ',' гостей и ');
$L['plu_members'] = array(' зарегистрированный пользователь :',' зарегистрированных пользователя :',' зарегистрированных пользователей :');

Тогда все работает прекрасно, проверил.
Ну что, делать такие изменения ?

В общем переделал я whosonline и в плагине и в common.php

Начал исправлять вот это:
Страница сгенерирована за 1.568 секунд(ы) SQL общее время: 1.41 секунд(ы) - SQL запросов: 35 - Среднее время SQL: 0.04028 секунд(ы)
И столкнулся с проблеммой, функция неправльно обрабатывант дробные числа,
вернее она правильно обрабатывает, вот только обрабатывать это не надо :-)
Если число дробное, то окончание всегда будет как для 2.

Страница сгенерирована за 2 секунды
Страница сгенерирована за 1.568 секунды
Страница сгенерирована за 13.568 секунды

Т.е разлаживаем: Страница сгенерирована за 13 целых 568 тысячных секунды.
или Страница сгенерирована за 2 целыe 2 десятые секунды.
В любом случае окончание получается как для 2.

Выходит в функции надо еще зделать проверку целое число или нет,
если целое, то обрабатывать дальше как обычно, если нет, то вернуть значение как для 2.

Либо не заморачиваться с этим и плюнуть на это :)

Либо как то зделать отдельную функцию и вызывать ее до sed_declension.
Ведь дробные числа могут получится очень редко. Других мест в движке я ненашел где могут получится дробные числа.
Какие у кого будут мысли по этому поводу ?
Не задавай глупых вопросов, не услышишь вранья.
Отредактировано: Ratibor (15.02.2009 02:42, 16 лет назад)