Раздражает, когда на сайте или в программе
написано «21 страниц» или ещё хуже «17 страниц(а, ы)»
(ещё бывают извращения — «Число страниц: 13»)
Склонение делается достаточно просто
по двум последним цифрам числа.
Пример на PHP:
<?php function make_papers_count_words($n) { global $papers_count_ru, $papers_count_en; $d = substr ($n, -1); $dd = substr ($n, -2); if ($d == 0) $words = 'печатных работ'; else if ($dd > 10) if ($dd < 20) $words = 'печатных работ'; else if ($d == 1) $words = 'печатная работа'; else if ($d < 5) $words = 'печатные работы'; else $words = 'печатных работ'; else if ($d == 1) $words = 'печатная работа'; else if ($d < 5) $words = 'печатные работы'; else $words = 'печатных работ'; $papers_count_ru = "$n $words"; $papers_count_en = ($n > 1) ? "$n papers" : "$n paper"; } ?>
<!SET NAME="d" CONTENT="$(PerSite:-1)"> <!SET NAME="dd" CONTENT="$(PerSite:-2)"> <!SET NAME="wfound" CONTENT="найдены"> <!IF NAME="d" CONTENT="0"> <!SET NAME="npages" CONTENT="страниц"> <!ELSE> <!IFGT NAME="dd" CONTENT="10"> <!IFLT NAME="dd" CONTENT="20"> <!SET NAME="npages" CONTENT="страниц"> <!ELSE> <!IF NAME="d" CONTENT="1"> <!SET NAME="npages" CONTENT="страница"> <!SET NAME="wfound" CONTENT="найдена"> <!ELSE> <!IFLT NAME="d" CONTENT="5"> <!SET NAME="npages" CONTENT="страницы"> <!ELSE> <!SET NAME="npages" CONTENT="страниц"> <!ENDIF> <!ENDIF> <!ENDIF> <!ELSE> <!IF NAME="d" CONTENT="1"> <!SET NAME="npages" CONTENT="страница"> <!SET NAME="wfound" CONTENT="найдена"> <!ELSE> <!IFLT NAME="d" CONTENT="5"> <!SET NAME="npages" CONTENT="страницы"> <!ELSE> <!SET NAME="npages" CONTENT="страниц"> <!ENDIF> <!ENDIF> <!ENDIF> <!ENDIF>