Russify Comments Number

Когда-то давно я читал какую-то статью про развитие цивилизаций. Там была любопытная деталь, касающаяся счета. Автор статьи утверждал, что первобытный человек считал так: один, два, и так до какого-то предела счетного множества, много. То есть, он мог считать до какого-то ограниченного предела, а все, что больше этого счетного множества не помещалось в его мозги и называлось попросту «много». И он приводил аргументы за то, что в русском языке (как и в некоторых других) до сих пор есть следы этого деления, к примеру:

  • одна лошадь — это один.
  • две лошади, три лошади, четыре лошади (следите за изменением окончания) — это счетное множество.
  • пять лошадей, шесть лошадей и будь их хоть миллион, но все равно окончание будет -ей. Это то самое «много».

То есть, счетное множество у древних славян заканчивалось в районе четырех.

Собственно, это была лирика. А практика вот такая:

При настройке wordpress’овского блога я столкнулся со следующей проблемой: под русский язык невозможно настроить нормальное склонение (так как я не гуманитарий, то за точность применения термина не ручаюсь :) существительного «комментарий». То есть, к посту написали 1 комментарий, 2 комментария, или 5 комментариев.

В английском языке с этим делом проще. 0 comments, 1 comment, 2 and more comments. Примерно так и работает стандартная функция comments_number в файле wp-includes/comment-tempate.php. Она принимает всего четыре аргумента — формулу для вывода нуля комментариев, одного комментария,  «многих» комментариев, а также флаг deprecated.

Но я пишу на русском языке, и, соответственно, имею другую ситуацию. Итак. Чтобы нормально склонять слово «комментарии» нам надо обработать следующие ситуации:

  • Ноль комментариев.
  • Один комментарий (а также 21, 31 etc.)
  • Два, три, четыре комментария (а также 22-24, 32-34 etc.)
  • Пятнадцать комментариев. То есть произвольное число, не подпадающее под вышеуказанные рамки.

Для решения я написал этот простенький плагин.

Плагин устанавливается крайне просто — разархивируйте, скопируете в папку wp-content/plugins, в админке его активируйте. Проверялся на версиях 2.3.3 и 2.5.1. Настроек у него никаких нет, так что он тупо выводит «23 комментария», «31 комментарий» и так далее.

Собственно, пока что я не вижу никаких причин его дорабатывать, так как меня полностью устраивает его функционал. В принципе, можно еще добавить конвертер цифр в слова, чтобы было полностью словесное описание количества комментариев, но я думаю, это не самый лучший вариант — гораздо удобнее одним взглядом на цифру понять число, нежели читать целую строчку, чтобы узнать, что к посту настрочили четыреста восемьдесят девять комментариев.

blog comments powered by Disqus