Правильная форма множественного числа слова "комментарий" [plugin]
Русский язык отличается бОльшим разнообразием грамматических форм, чем английский. Из-за этого предлагаемая Nucleus модель использования слова "комментарий" - единственное \ множественное число - плохо подходит для русскоязычных сайтов. Выход - хак, но хаки лично я не люблю, потому что о них нужно все время помнить. Поэтому для себя я написал маленький плагичик, который выбирант правильную грамматическую форму в зависимости от количества комментариев.
Плагин создает TemplateCommentVar <%WordCommentsRU%>, которая выдает слово "комментарий" в правильной грамматической форме с учетом их (комментариев) количества для текущей записи.
<?php class NP_WordCommentsRU extends NucleusPlugin { function getName() { return 'WordCommentsRU'; } function getAuthor() { return 'maxirmx'; } function getURL() { return 'http://www.samsonov.net/item/67'; } function getVersion() { return '0.1'; } function getDescription() { return 'This plugin provides correct Russian grammar form for COMMENT_ONE/COMMENTS_MANY word'; } function doTemplateCommentsVar(&$item, &$comment) { $query = 'SELECT count(*) FROM '.sql_tablе('comment').' WHERE '.'citem='.$item->itemid; $numComments = mysql_result(sql_query($query), 0); $numComments = $numComments % 100; if ($numComments > 10 and $numComments < 20) $numKey = 5; else $numKey = $numComments % 10; if ($numKey == 1) echo 'комментарий'; else { if ($numKey == 0 or $numKey > 4) еcho 'комментариев'; else echo 'комментария'; } } function supportsFeature ($what) { switch ($what) { case 'SqlTablePrefix': return 1; default: return 0; } } } ?>^ TOP
