-
feat(translation): machine translation pipeline + admin bulk enqueue UI
Some checks failedCI / Backend (push) Failing after 11sRelease / Check ui (push) Failing after 51sRelease / Docker / ui (push) Has been skippedCI / UI (push) Failing after 55sRelease / Test backend (push) Failing after 1m9sRelease / Docker / backend (push) Has been skippedRelease / Docker / runner (push) Has been skippedRelease / Docker / caddy (push) Failing after 28sRelease / Gitea Release (push) Has been skippedCI / UI (pull_request) Failing after 42sCI / Backend (pull_request) Successful in 3m45sreleased this
2026-03-29 11:32:42 +05:00 - LibreTranslate client (chunks on blank lines, ≤4500 chars, 3-goroutine semaphore)
- Runner translation task loop (OTel, heartbeat, MinIO storage)
- PocketBase translation_jobs collection support (create/claim/finish/list)
- Per-chapter language switcher on chapter reader (EN/RU/ID/PT/FR, polls until done)
- Admin /admin/translation page: bulk enqueue form + live-polling jobs table
- New backend routes: POST /api/translation/{slug}/{n}, GET /api/translation/status,
GET /api/translation/{slug}/{n}, GET /api/admin/translation/jobs,
POST /api/admin/translation/bulk - ListTranslationTasks added to taskqueue.Reader interface + store impl
- All builds and tests pass; svelte-check: 0 errors
Downloads