mirror of
https://github.com/Vateron-Media/XC_VM.git
synced 2026-10-31 11:03:22 +01:00
[PR #159] [MERGED] docs: migrate to MkDocs Material with auto-translated ru (English is the single source) #83
Closed
opened 2026-08-21 20:02:38 +02:00 by thegame_1980
·
0 comments
No Branch/Tag Specified
main
fix/admin-table-badge-contrast
feat/quick-tool-restart-high-memory
fix/stream-max-interleave-delta-cap
fix/player-api-live-added-string
fix/backup-undefined-extension-key
fix/serveonly-noderoot-certbot
fix/serveonly-install-preserve-config
fix/reseller-ui-prefs-persist
gh-pages
feat/lb-dataplane-serveonly-policy
docs/lb-single-binary-parity-audit
feat/serveonly-noderoot-sudoers
fix/serveonly-keep-nginx-ports
feat/lb-serve-only-node-mode
feat/lb-p6-install-php-free
fix/lb-policy-section-server-id
feat/lb-p2-selfheal-gate
feat/lb-p1-policy-section
feat/lb-certbot-webroot
feat/lb-migration-cleanup-recovery
feat/lb-serve-only-provisioning-gate
feat/lb-node-crontab-filter
docs/lb-stop-php-crons
docs/lb-rtmp-gates-design
feat/lb-single-binary-roadmap
2.7.2
2.7.1
2.7.0
2.6.7
2.6.6-p6
2.6.6-p5
2.6.6-p4
2.6.6-p3
2.6.6-p2
2.6.6-p1
2.6.6
2.6.5
2.6.4
2.6.3
2.6.2
2.6.1
2.6.0
2.5.3
2.5.2
2.5.1
2.5.0
2.4.3
2.4.2
2.4.1
2.4.0
2.3.9
2.3.8
2.3.7
2.3.6
2.3.5
2.3.4
2.3.3
2.3.2
2.3.1
2.2.2
2.2.1
2.2.0
2.1.5
2.1.4
2.1.3
2.1.2
2.1.1
2.1.0
2.0.2
2.0.1
2.0.0
1.2.16
1.2.15
1.2.14
1.2.13
1.2.12
1.2.11
1.2.10
1.2.9
1.2.8
1.2.7
1.2.6
1.2.5
1.2.4
1.2.3
1.2.2
1.2.1
1.2.0
1.1.4
1.1.3
1.1.2
1.1.1
1.1.0
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
Labels
Clear labels
Post-release verification
Review & Deploy
awaiting triage
bug
composer
dependencies
documentation
done
duplicate
enhancement
github-actions
good first issue
help wanted
in progress
incident
invalid
needs info
on hold
planned
pull-request
question
rejected
security
status: backlog
status: in progress
status: post-release verification
status: review & deploy
tech-debt
under consideration
wontfix
It is necessary to check whether the problem remains after the update
Board status (auto-synced from Projects v2)
Not yet reviewed/prioritized
Something isn't working
Composer bump: re-commit a production-only vendor (composer install --no-dev) after merging
Dependency update (Dependabot)
Improvements or additions to documentation
Successfully completed and ready for closure.
This issue or pull request already exists
New feature or request
GitHub Actions version bump
Good for newcomers
Extra attention is needed
Actively being worked on right now.
Production incident (outage/degradation)
This doesn't seem right
More information is needed before work can start.
Work is paused, pending external action or decision.
Approved and scheduled for future work.
Mirrored from GitHub Pull Request
Further information is requested
Will not be implemented.
Security-sensitive issue or fix
Board: Backlog (synced from the XC_VM board)
Board: In Progress (synced from the XC_VM board)
Board: released, waiting for confirmation (synced from the XC_VM board)
Board: Review & Deploy, merged and not released yet (synced from the XC_VM board)
Refactoring / cleanup / technical debt
Idea or proposal awaiting triage and decision.
This will not be worked on
No labels
pull-request
Milestone
No items
No Milestone
Projects
Clear projects
No projects
Assignees
thegame_1980
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Vateron-Media/XC_VM#83
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/Vateron-Media/XC_VM/pull/159
Author: @Divarion-D
Created: 8/21/2026
Status: ✅ Merged
Merged: 8/21/2026
Merged by: @Divarion-D
Base:
main← Head:feature/docs-autotranslate📝 Commits (5)
dcd1d8cdocs: migrate to MkDocs Material with auto-translated ru from Englishc55238fdocs(dev): document daemon delivery, Redis idle-resilience, cold-cache safetybdbcde9docs: commit generated ru, translate locally before release (not in CI)dbf535bdocs(translate): robust {N} sentinels + possessive handling; regenerate rub23adc2docs: translate ru navigation labels (nav_translations)📊 Changes
61 files changed (+4451 additions, -4069 deletions)
View changed files
📝
.github/workflows/pages.yml(+19 -6)📝
.gitignore(+6 -1)📝
Makefile(+41 -0)➖
docs/.nojekyll(+0 -0)➖
docs/_navbar.md(+0 -5)📝
docs/adr/plan-ffmpeg-per-distro-distribution.ru.md(+0 -0)📝
docs/adr/plan-ministra-module-extraction.ru.md(+0 -0)➖
docs/en/_sidebar.md(+0 -55)📝
docs/en/administration/server-diagnostics.md(+1 -1)📝
docs/en/administration/server-update.md(+2 -2)📝
docs/en/administration/update-system.md(+2 -2)📝
docs/en/api/swagger.md(+8 -8)📝
docs/en/builds/updates_checklist.md(+29 -0)📝
docs/en/development/caching-and-redis.md(+40 -0)📝
docs/en/development/streaming-subsystem.md(+40 -5)📝
docs/en/guides/cli-tools.md(+2 -2)📝
docs/en/info/faq.md(+2 -2)➖
docs/index.html(+0 -154)➕
docs/requirements.txt(+6 -0)📝
docs/ru/README.md(+31 -31)...and 41 more files
📄 Description
Summary
Replaces the hand-maintained Docsify site (two parallel
docs/en+docs/rutrees that had already drifted) with a MkDocs Material build where English is the single source of truth and Russian is generated from it. Adds a free, key-less translation pipeline and a two-tab User/Developer information architecture.What changed
Engine & structure
mkdocs.yml),site_urlset for the/XC_VM/GitHub Pages subpath.mkdocs-static-i18n(folder mode): English at root, Russian under/ru/, with a language switcher.nav_translationslocalizes the sidebar/tab labels too.mkdocs build --strictvalidates every link/anchor.index.html,_navbar.md,_sidebar.md,.nojekyll) and de-Docsify-ed body links (en-us/aliases → relative, swagger_mediapaths).Translation pipeline (
tools/docs/translate.py)DOCS_TRANSLATE_PROVIDER:translators(free web engines, no API key — default),anthropic,deepl,noop.XC_VM,FFmpeg,HLS,KeyDB, …) are masked behind{N}sentinels; a trailing possessive'sis folded into the masked span; a validate-and-retry loop guarantees no broken sentinel ever reaches the output (falls back to English for a line rather than emit garbage).Where translation runs
make docs-translate) — deliberately not in CI (it is slow).docs/ruis a committed, generated tree;pages.ymlonly builds it.docs-venv/docs-translate/docs-build/docs-serve), split requirements (docs/requirements.txt= build;tools/docs/requirements.txt= translation), and a "Regenerate translated documentation" step in the release checklist.Content enrichment (English source)
development/streaming-subsystem.md: daemon-only client delivery viaxc_fanout(X-Accel handoff, control-socket off-air/telemetry,fanout_syncreconciliation) + the "Send Message"drawtextoverlay.development/caching-and-redis.md: how long-lived daemon Redis connections survive an idletimeoutclose, and cold-cache fail-closed defaults.Rule going forward
Edit only
docs/en.docs/ruis generated — never hand-edit it; regenerate withmake docs-translatebefore a release and commit it.Validation
mkdocs build --strictclean for both languages (0 broken links/anchors).🤖 Generated with Claude Code
Summary by Sourcery
Migrate the documentation site from Docsify to MkDocs Material with English as the canonical source and locally generated Russian translations.
New Features:
Bug Fixes:
Enhancements:
Build:
CI:
Documentation:
Tests:
Chores:
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.