 |
 |
Форум сетевых администраторов » Веб Форумы » VBulletin 2.x.x » Хаки от Netadmin или "Сделай сам" » Учим VBulletin правильно говорить по русски!
| Автор |
| Тема |
 |
|
 |
|
|
|
Администратор
|
| Учим VBulletin правильно говорить по русски! |
[сооб. #6352]
12-04-2002 17:18 |
|
Администратор


Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус:  |
Наверное многие из вас заметили неправильное отображение оканчания слова пользователь/гость при отображение их колличества на форумах переведенных на русский язык. Ð_то касаеться в частности следующих отрывкаов:
На данный момент на форуме прсудствуют 3 пользователей.
или
На форуме присудствуют 4 пользователей и 2 гостей
Я при переводе форума часто задумывался над этой проблемой, но всегда решал оставить все как есть и не забивать себе голову пустяками и везде где это возможно старался предварять количество двоиточием (Пользователей: 2).
На днях Total спросил у меня решения этой проблемы. Вот какое решения я предлагаю:
В файле admin/functions.php в самом конце перед ?> нужно добавить функцию:
PHP:
function termination ($number){
$s=$number;
if (strlen($number)>1){ $s=substr($number, strlen($number)-2); }
if ($s < 11 and $s > 14) { $s=substr($number, strlen($number)-1); }
if($s=="1"){ $term = "ь";}
elseif($s>"1" and $s < 5) { $term = "я"; }
else { $term = "ей"; }
return $term;
}
Ð_та функция принимает число и в зависимости от числа возвращяет окончание. Также учитываються числа 11, 12, 13, 14.
Пример использования:
Присвоение правильных окочаний на главной странице форума в блоке Кто в онлайне.
В файле index.php перед PHP:
eval("\$loggedinusers = \"".gettemplate('forumhome_loggedinusers')."\";");
добавить:
PHP:
$userterm = termination($numberregistered);
$guestterm = termination($numberguest);
В шаблоне forumhome_loggedinusers нужно изменить пользователей на пользовател$userterm и гостей на гост$guestterm.
В общем эту функцию можно применить везде где окончания ь, я, ей в зависимости от количества.
__________________
Всегда есть решение.
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
12-04-2002 17:18 |
|
|
Потерявшийся
|
| Было бы не плохо, если бы ты написал то же самое... |
[сооб. #6353]
12-04-2002 17:27 |
|
Потерявшийся


Зарегистрирован: Oct 2001
Место проживания: Tallinn, Estonia
Публикаций: 609
Статус:  |
Было бы не плохо, если бы ты написал то же самое про приватные сообщения
__________________
**censored** Ты тут еще не был? ...
**censored** Админы форумов - сюда!!!
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
12-04-2002 17:27 |
|
|
Администратор
|
| Для приватных сообщений все аналогично только... |
[сооб. #6354]
12-04-2002 17:34 |
|
|
-= n0b0dy =-

Зарегистрирован: Oct 2001
Место проживания: rus|53
Публикаций: 624
Статус:  |
Предлагаю следующую модификацию функции:
PHP:
Алгоритм немного изменен, правда не знаю в лучшую ли сторону. Если что то не работает... Пофиксите сами ))
Замеченные преимущетва и недостатки:
+ по требованию трудящихся введены случаи работы с ПС;
+ еще комментарии по мере сил накарябал, на тот случай если кто захочет разобраться/модифицировать;
- заточено под определенную русификацию;
- при словосочетанях вроде 'n новых сообщений' функцию приходится использовать неоднократно: отдельно для слова 'новых' и отдельно для - 'сообщений'.
Еще всем кто хочет проверить правильность работы скрипта - использовать следующий код:
PHP:
### Тестирование функции ###
for ($something=100; $something<=130; $something++) {
$tmp1=termination($something, 3);
$tmp2=termination($something, 4);
echo "$something нов<i>$tmp1</i> сообщен<i>$tmp2</i> <br>";
}
По использованию все остается так же как у polo. Однако рекомендую ознакомится с правильностью выбора параметра $mask (см. комментарии)
За сим позвольте откланятся.
--- Всем GL from Vanish aka Jesus
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
20-04-2002 15:31 |
|
|
Сибиряк
|
Моя версия хака "Транслитерации" |
[сооб. #45654]
04-06-2003 20:41 |
|
|
Сибиряк
|
MCTarakan
К теме русский язык.
Не буде же... |
[сооб. #45749]
05-06-2003 17:12 |
|
Сибиряк


Зарегистрирован: Sep 2002
Место проживания: Новосибирск
Публикаций: 1255
Статус:  |
MCTarakan
К теме русский язык.
Не буде же специально тему создавать?
Вот и прицепил свои три килобайта.
__________________
Международное брачное агенство в Сибири.
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
05-06-2003 17:12 |
|
|
MuZzClub.ru
|
| Tagore дык, описание можно поточнее сделать,... |
[сооб. #45769]
06-06-2003 00:51 |
|
MuZzClub.ru


Зарегистрирован: Jul 2002
Место проживания: Ireland
Публикаций: 2710
Статус:  |
Tagore дык, описание можно поточнее сделать, а то это же совсем НЕ то, что все ТУТ делают?! Или я неправ?
__________________
yMC.ru - хомяк музыканта
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
06-06-2003 00:51 |
|
|
Модератор
|
MCTarakan
Про то как установить транслит... |
[сооб. #45801]
06-06-2003 08:56 |
|
Модератор


Зарегистрирован: Jul 2001
Место проживания: USA
Публикаций: 745
Статус:  |
MCTarakan
Про то как установить транслит тут есть тема, и хак в дампе. Я сам описание установки делал больше года назад. Ð_то тагор доделал джава скрипт, чтоб лучше работал.
__________________
C уважением, Игорь
cblog.ru
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
06-06-2003 08:56 |
|
|
MuZzClub.ru
|
| Igor да нет... я и имел ввиду, что именно это... |
[сооб. #45884]
06-06-2003 23:31 |
|
MuZzClub.ru


Зарегистрирован: Jul 2002
Место проживания: Ireland
Публикаций: 2710
Статус:  |
Igor да нет... я и имел ввиду, что именно это за хак?! Теперь понятно, что это улучшенный транслит... просто сразу не врубился - тема про одно, а хак про другое... 
__________________
yMC.ru - хомяк музыканта
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
06-06-2003 23:31 |
|
|
Member minus
|
| Как сделать, чтобы можно было использовать... |
[сооб. #46250]
10-06-2003 22:59 |
|
Member minus


Зарегистрирован: Dec 2002
Место проживания:
Публикаций: 83
Статус:  |
Как сделать, чтобы можно было использовать $userterm в showthread.php, то есть на страницах, когда смотришь тему.
__________________
Было бы о чем промолчать, а уж что сказать - всегда найдется.
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
10-06-2003 22:59 |
|
|
Сибиряк
|
polo
А для вБ3 это выглядело бы немножко... |
[сооб. #60216]
03-02-2004 21:13 |
|
|
|
Формат времени GMT. Текущее время 08:06.
|
Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения. |
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
|
|
|
|
| |
Page generated in 1.13644600 seconds (99.48% PHP - 0.52% MySQL) with 27 queries.
|
 |