Плюрализация или Склонение слов для сайта
Все мы знаем что русский язык, один из самых богатых и сложных языков.
Во многих языках орфография довольно проста и понятлива, но не в русском языке. К чему я это клоню? Хмм Всё очень просто..
Сверстал я несколько шаблонов, по началу целью был красивый внешний вид, адаптивный дизайн и всё вот это вот..
Затем я задумался не только над красотой своих шаблонов но и над функциональностью. Я стал добавлять различные, интересные скрипты, модули, в общем всё то, что поможет сделать сайт необычным.
И вот, одним из таких скриптов является "Плюрализацией". Что это такое?
Взять к примеру любую социальную сеть. Вы зарегистрировались в этой сети и стали искать своих друзей. Нашли первого друга, добавили в друзья, и теперь в разделе "Друзья" сайт выводит вам "В списке 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>
Вот и всё.
Надеюсь статья была понятна, если у кого возникнут вопросы можете смело накатать комментарий



admin
Автор8-12-2019, 23:37
Дата пуликацииJavaScript / DLE хаки
Категория- Комментариев: 0
- Просмотров: 812
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
