Обновить
4
PechoraDev@PechoraDev

Web-dev

1,4
Рейтинг
3
Подписчики
Отправить сообщение

Зачем я прочитал это на ночь глядя. Теперь не усну 😁

Функция склонения не привязана к языку, который задан в админке. Она просто берет три формы слова из кнстанты и применяет математические правила русского языка (1, 2-4, 5-20).

Константа уже содержит нужный набор форм для того языка, который сейчас активен.

Для русского языка это define('LANG_TOTAL_POSTS', 'пост|поста|постов');

Для другого языка(у меня второй En) - define('LANG_TOTAL_POSTS', 'post|posts|posts');

Работает это так:

В админке выбрали русский - загрузился русский файл с LANG_TOTAL_POSTS = 'пост|поста|постов'

В админке выбрали английский - загрузился английский файл с LANG_TOTAL_POSTS = 'post|posts|posts'

Функция для склонения одна и та же, просто получает на вход разные строки:

1) Для русского: "пост|поста|постов" - выбирает нужную форму

2) Для английского: "post|posts|posts" - тоже выбирает, но там формы 2 и 3 совпадают

В самом шаблоне (админка, фронт - не важно) выводим так:
<?php echo totalposts . ' ' . plural(totalposts, LANG_TOTAL_POSTS); ?>

Надеюь объяснил понятно =)

Вообще, можете посмотреть сами: https://github.com/pechoradev/BloggyCms

Там более менее стабильная версия, которая сейчас активно допиливается. Перевод сделан на 95% - как админки, так и фронта. Кстати, отдельная история с переводом в js файлах. Пока сделана костылем, но потом буду думать глубже.

А что же Россиянин для своего сервиса сделал сайт, который без vpn не открывается )

За старания лайк. Но скажу одну очевидную вещь - как бы фронтенд не пытался уйти от JS - у него это не получится по ряду многих причин.

Я не хейтер CSS, наоборот, рад, что скролл-снэп наконец-то довели до ума. Но если честно - как только карусель становится чуть сложнее «три картинки, листай вправо-влево», сразу вылезают грабли:

  • динамическая подгрузка контента;

  • синхронизация с состоянием;

  • доступность для скринридеров и клавиатуры - на CSS это до сих пор боль;

  • бесконечный цикл без копирования DOM-элементов;

  • кастомные триггеры при смене слайда.

Так что мой посыл простой: не надо натягивать сову на глобус. Если нужна галерея в портфолио - можно и через CSS, прокатит. Если проект живой и с логикой, то 10 - 15 кб своего js вместо 140 кб swiper сделают свое дело. Главное, не строить иллюзий, что веб вдруг станет "без js". Не станет. Даже в 2026.

Само число не хранится в константе — оно передаётся отдельно. Константа отвечает только за склоняемую часть слова.

Полная фраза собирается на уровне шаблона или представления:

define('LANG_ACTION_POSTS_BOOKMARKS_PAGE_TITLE', 'закладка|закладки|закладок');

$text = "$count " . plural($count, LANG_ACTION_POSTS_BOOKMARKS_PAGE_TITLE);

Знаю, что решение неидеально, но зато полностью справляется с текущей задачей без плясок с распарсиванием json, как предлагали в комментариях выше.

Немного не в тему - но:

А ведь это был настоящий агрессивный маркетинг сайтов вроде "Мамба", "Лавпланет" и др, которых современный пользователь интернета даже и не знает наверное.

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

Они бы сначала доделали элементарные вещи, например - сортировать загруженные фото, чтобы выстраивать хоть какой-то порядок. Банальная фича, которая есть даже в самых отсталых мессенджерах, наглухо отсутствует в максе

Ну все. А потом они объявят смартфоны враждебной техникой и мы снова перейдем на дисковые телефоны...Что ж не везет то так......

Здравствуйте! В этом подходе склонение числительных реализовано через плюрализацию на стороне вывода. Константа может содержать несколько вариантов слова, разделённых вертикальной чертой |, например:

define('LANG_ACTION_POSTS_BOOKMARKS_PAGE_TITLE', 'Закладка|Закладку|Закладки');

А в коде вызывается функция-помощник, которая в зависимости от числа подставляет нужную форму.

Как насчет пикабу? Года два назад, раскачивая свой сайт, у меня неожиданно пошел трафик со старого доброго «яплакал».

Коллекция хранится на сайте https://www.war.gov/UFO/

Всё, кина не будет - положили сайт

Посмотрел ваше приложение "Дели Умножай" и внезапно понял, что все ИИ-агенты при создании дизайна очень любят использовать emoji иконки и фиолетовые градиенты. (Или синие) - но с каждым разом, когда натыкаюсь на ИИ-приложение / сайт / программу - уже выкупаешь эту тему =)

О, круто! Надо попробовать их в один svg-спрайт упаковать

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

Почему мне кажется, что мы медленно, но верно идет к какому-то глобальному трындецу.

Для начала будьте добры ткнуть меня туда, где я что-то говорю про "Охрененный уровень"

Я ведь пожелал вам всего доброго. Вам всё хочется до чего-то докопаться?

Ну так занимайтесь на здоровье. При чем тут я и мои продукты? Я уже давно прошел этот путь - и дом построил, и сына почти вырастил, и второго в школу в этом году отправляю. В общем-то и в целом, благодаря всему тому - что вы называете баловством и пустой тратой времени. Предлагаю закончить этот диалог, так как конструктивно Вы сказать ничего не можете - единственное ваше оружие - влепить минус моему комментарию.


"Если есть в человеке гнильца, то рано или поздно она себя проявит, причем непременно в самый ненужный момент"

Поковыряться и потешить самолюбие на время это все что его ждет. Дальше дела житейские и отсутствие какой то монетизации, интереса пользователей сделают своё дело...

Вам бы на программу "Битва Экстрасенсов" - там ваши таланты относительно прогнозов будущего пригодятся очень кстати. За свою долгую карьеру в IT я сделал дохрена всего - в том числе кучу самописных CMS, среди которых была даже CMS для ведения борделя (Да, не смейтесь). И что удивительно - почти все мои продукты поддерживаются в актуальном состоянии. Если Вы в свое время столкнулись с продуктами, котоыре не поддерживаются - что ж, очень плохо, я такого не приветствую. За пожелания удачи спасибо, давайте закончим этот бессмысленный спор, все равно каждый останется со своим мнением. Вам также удачи и благополучия.

Информация

В рейтинге
2 152-й
Откуда
Россия
Зарегистрирован
Активность

Специализация

Фулстек разработчик, Веб-разработчик
Старший
От 160 000 ₽
SQL
Базы данных
JavaScript
PHP
ООП
Git