История коммитов

.
refactor(guestbook): use query builder and localize demo data
Replace the raw INSERT statement in the demo data installer with a
Capsule query builder insert, and move demo texts to English source
strings wrapped in d__('guestbook', ...) with the module translation
domain loaded on install. Add Russian translations.
.
feat(library): localize demo data strings
Replace hardcoded Russian demo strings with English source strings wrapped
in d__('library', ...) and load the module translation domain on install,
so demo data follows the language selected in the installer. Keep the
Russian text via the module translation catalog.
.
feat(downloads): localize demo data strings
Wrap demo category and file titles/descriptions in d__('downloads', ...)
and load the module translation domain on install, so demo data follows
the language selected in the installer. Add Russian translations.
.
feat(album): add demo data with albums, photos, comments and votes
Ship demo images with the module and seed them on install into per-user
album directories with generated thumbnails. Create demo albums covering
every access level (public, private, password-protected) for the admin
and demo users, plus comments and votes.

Demo strings are wrapped in d__('album', ...) and translated into Russian
so they follow the language selected in the installer.
.
feat(downloads): add demo data with categories and media files
Ship trimmed, ID3-tagged audio, video, image and document samples under
modules/downloads/demo, and seed them via installDemoData(): create
categories under upload/downloads/files, copy files and insert
download__category/download__files rows with English titles, descriptions,
slugs, ratings and download counts.
.
fix(install): seed user IPs, clear cache and rebuild smilies after install
- Pass string IPs to User creation so the Ip cast stores them (was ip2long twice -> 0)
- Give demo users distinct RFC 5737 example IPs
- Clear cache after install so counters are recalculated
- Rebuild smilies cache so text formatters have a valid list from the first request
- Guard Tools::smilies against an empty or corrupt cache file to avoid a fatal array_merge(null, null)
.
feat(library): add demo data with users, articles, comments and ratings
.
chore: update packages
.
feat(install): move demo data into per-module installers via installDemoData()
.
fix(install): replace removed Languages class with LanguageFilesManager