Ссылка на генератор
Ссылка на генератор кода, правильно склоняющего существительные с числами на стороне uCoz-сервера, например:
5 сообщений;
221 сообщение;
362 сообщения.
19.06.2010: исправлен недочёт, не позволяющий использовать изменяемую часть слова из более, чем одной буквы. Спасибо uWebу.
Объяснение работы сгенерированного кода
Теорчасть — русскоязычная.
Существительное имеет три вида окончаний в зависимости от числа — если число оканчивается на
1. 0, 5, 6, 7, 8, 9 (5 сообщений);
2. 1 (221 сообщение);
3. 2, 3, 4 (362 сообщения).
Но есть исключение: если число оканчивается на двузначное число второго десятка — 11, 12, 13, 14, то оно имеет окончание 1-ого варианта. (15, 16, ..., 20 — не исключения.)
Практическая часть — кодинг.
Понятно, что в таком формате, как написано в теорчасти написать можно, но это будет очень длинно и некрасиво. Поэтому перефразируем условия так:
1. Если число
- оканчивается на 0, или
- на цифру, большую 4, или
- на двузначное число, большее 10 и меньшее 15, то
оно имеет окончание 1-ого варианта (5 сообщений); иначе
2. если число оканчивается на 1, то оно имеет окончание 2-ого варианта (221 сообщение); иначе
3. оно имеет окончание 3-ого варианта (362 сообщения).
Как же узнать, на что оканчивается число? Чтобы узнать последнюю цифру, нужно взять остаток числа от деления на 10; чтобы две последних цифры — от деления на 100. Остаток от деления в uCoz — %.
Правила использования:
- Все права на публикуемые скрипты принадлежат их авторам!
- Запрещается распространение скриптов без указания автора!
- Запрещается "затирание" копирайтов!