Плюрализация или Склонение слов для сайта


Все мы знаем что русский язык, один из самых богатых и сложных языков.
Во многих языках орфография довольно проста и понятлива, но не в русском языке. К чему я это клоню? Хмм expressionless Всё очень просто..

Сверстал я несколько шаблонов, по началу целью был красивый внешний вид, адаптивный дизайн и всё вот это вот..
Затем я задумался не только над красотой своих шаблонов но и над функциональностью. Я стал добавлять различные, интересные скрипты, модули, в общем всё то, что поможет сделать сайт необычным.
  И вот, одним из таких скриптов является "Плюрализацией". Что это такое?
Взять к примеру любую социальную сеть. Вы зарегистрировались в этой сети и стали искать своих друзей. Нашли первого друга, добавили в друзья, и теперь в разделе "Друзья" сайт выводит вам "В списке 1 друг" Вы ищете ещё друзей и нашли допустим ещё троих, вы добавляете их в свой список и сайт выводит вам текст "В списке 4 друга" И вот у вас накопилось аж 10 человек, соответственно сайт выдаст вам "В списке 10 друзей"
  Проще говоря, Плюрализация - Это орфографически правильное склонение слов в зависимости от количества/числа/цифры/суммы

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



Установка
По 'дефолту' к DLE уже подключена JQuery библиотека и ниже указанная строка нам не нужна. Если вы используете DLE то можете пропустить первый пункт установки.
1. Подключаем Jquery библиотеку.
<script src="http://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>

2. В файле main.tpl - для DLE либо файл в котором находится слово / index.html в самом конце после </body> вставляем:
<script>
function pluralizeRus(n, forms) {
  return n % 10 == 1 && n % 100 != 11
        ? forms[0]
        : (n % 10 >= 2 && n % 10 <= 4
        && (n % 100 < 10
            || n % 100 >= 20) ? forms[1] : forms[2]);
}
var numberOfLis = document.getElementById('list').children.length; 
document.getElementById('result').textContent = numberOfLis + ' Скриншот' + pluralizeRus(numberOfLis, ['', 'а', 'ов']);</script>

Тут мы заменяем слово "Скриншот" и все окончания " " "а" "ов" на своё слово.

3. Теперь, там где мы хотим вывести данное слово просто вставляем:
<div id="result"></div>

Вот и всё.
Надеюсь статья была понятна, если у кого возникнут вопросы можете смело накатать комментарий  smile

скачать dle 11.1смотреть фильмы бесплатно


Плюрализация склонение javascript js орфография числа цифры количество jquery
Гость, оставишь комментарий?
Имя:*
E-Mail:


Информация