05:30 Правильное отображение слова \"Комментарии\" | |
Сбылось! Многие просили о таком хаке, но только сейчас дошли руки. Не видел в интернете готовых реализаций, поэтому предлагаю Вам свою. Хак использует переменную $lang для хранения вариантов перевода разного колличества комментариев. В данный момет, хак оптимален для русского языка. В ближайшее время выпущу баг-фикс для англоязычных сайтов. Тестировалось: DLE 8.5 (cp1251). И так, нам необходимо отредактировать файлы: website.lng, show.custom.php, show.full.php и show.short.php, а так же файлы шаблона shortstory.tpl, fullstory.tpl и все шаблоны custom, которые Вы используете. Время установки: 5 минут Приступим. Откройте файл language/Russian/website.php, ищем: 'wysiwyg_language' => "ru", И со следующей строки вставляем: //Нормальное отображение слова "Комментарии" 'mvl_com0' => " комментариев", 'mvl_com1' => " комментарий", 'mvl_com2' => " комментария", //Нормальное отображение слова "Комментарии" Открываем engine/modules/show.short.php, находим: $news_find = array ('{comments-num-mvl}' => $comments_num_mvl, '{comments-num}' => $row['comm_num'], '{views}' => $row['news_read'], '{category}' => $my_cat, '{link-category}' => $my_cat_link, '{news-id}' => $row['id'], В строке находим: '{comments-num}' => $row['comm_num'], Вставляем до: '{comments-num-mvl}' => $comments_num_mvl, Чуть выше находим: $row['category'] = intval( $row['category'] ); Вставляем после: //Нормальное отображение слова "Комментарии" $comments_num_mvl = substr($row['comm_num'], -1); if ($comments_num_mvl == 0 OR $comments_num_mvl > 4) { $comments_num_mvl = $row['comm_num'] . $lang['mvl_com0']; } elseif ($comments_num_mvl == 1) { $comments_num_mvl = $row['comm_num'] . $lang['mvl_com1']; } elseif ($comments_num_mvl > 1) { $comments_num_mvl = $row['comm_num'] . $lang['mvl_com2']; } //Нормальное отображение слова "Комментарии" Открываем engine/modules/show.full.php, находим: $news_find = array ('{comments-num}' => $comments_num, '{views}' => $row['news_read'], '{category}' => $my_cat, '{link-category}' => $my_cat_link, '{news-id}' => $row['id'] ); В строке находим: '{comments-num}' => $comments_num, Вставляем до: '{comments-num-mvl}' => $comments_num_mvl, Чуть вишу ищем: $comments_num = $row['comm_num']; Вставляем после: //Нормальное отображение слова "Комментарии" $comments_num_mvl = substr($comments_num, -1); if ($comments_num_mvl == 0 OR $comments_num_mvl > 4) { $comments_num_mvl = $comments_num . $lang['mvl_com0']; } elseif ($comments_num_mvl == 1) { $comments_num_mvl = $comments_num . $lang['mvl_com1']; } elseif ($comments_num_mvl > 1) { $comments_num_mvl = $comments_num . $lang['mvl_com2']; } //Нормальное отображение слова "Комментарии" Открываем engine/modules/show.custom.php, находим: $news_find = array ('{comments-num}' => $row['comm_num'], '{views}' => $row['news_read'], '{category}' => $my_cat, '{link-category}' => $my_cat_link, '{news-id}' => $row['id'], '{php-self}' => $PHP_SELF, В строке находим: '{comments-num}' => $row['comm_num'], Вставляем до: '{comments-num-mvl}' => $comments_num_mvl, Чуть выше ищем: $row['category'] = intval( $row['category'] ); Вставляем после: //Нормальное отображение слова "Комментарии" $comments_num_mvl = substr($row['comm_num'], -1); if ($comments_num_mvl == 0 OR $comments_num_mvl > 4) { $comments_num_mvl = $row['comm_num'] . $lang['mvl_com0']; } elseif ($comments_num_mvl == 1) { $comments_num_mvl = $row['comm_num'] . $lang['mvl_com1']; } elseif ($comments_num_mvl > 1) { $comments_num_mvl = $row['comm_num'] . $lang['mvl_com2']; } //Нормальное отображение слова "Комментарии" Сохраняем все файлы, приминяем изменения на сервере. Теперь в шаблон можно вставлять новый тег: {comments-num-mvl}, который выводит цифру и слово кооментарий в нужном числе. Примеры: 0 комментариев 1 комментарий 45 комментариев 22 комментария Демо: m-v-l.ru | |
|
Всего комментариев: 0 | |