Skip to content

Releases: BrutalBotX/OpenTranslator

v0.6.6

Choose a tag to compare

@BrutalBotX BrutalBotX released this 14 Jul 21:11

v0.6.6

UI

  • Fixed version displayversion.json imported at build time, loading overlay shows real version instead of 0.0.0
  • Simplified loading labels — "Starting Python backend..." → "Initializing...", "Loading translation memory..." → "Loading..."

Infrastructure

  • .gitignore — added logs/ and *.novelproj
  • bump script — fixed changelog insertion positioning and bumped from X to X reporting the same version

v0.6.5

  • CRITICAL: Fixed missing import asyncio in context_gatherer.py — single-segment /api/translate was crashing with NameError
  • CRITICAL: Fixed batch_answer_and_classify missing session.commit() — all QA answers, character/gender changes silently lost
  • CRITICAL: Fixed loadSegments abort using stale activeChapterId — rapid chapter switching no longer shows wrong segments
  • CRITICAL: Fixed ChapterNav rename using non-existent fetchChapters named export — rename now refreshes the list via store
  • CRITICAL: Fixed IPC path ignoring AbortSignal — timeouts now work correctly in Electron builds via _timeout parameter
  • Fixed case-sensitive == character/term lookups (changed to .ilike()) eliminating duplicate entries
  • Fixed instructions/actions saved in separate transactions — now single transaction, consistent on failure
  • Fixed Pydantic str fields without defaults on CharacterResponse and GlossaryResponse — no more 500 on NULL from DB
  • Fixed str(e) leaking API keys/paths to client — added sanitize_error() with regex redaction + truncation
  • Fixed multiple internal commits in _apply_answer_to_db — consistent transaction boundaries, callers manage commits
  • Fixed answer_question missing session.commit() (was relying on _apply_answer_to_db's removed internal commit)
  • Fixed novel store reference in useEffect dependency array — caused clear() + state loss on every unrelated store update
  • Fixed handleReapply lacking concurrent translation guard — added if (translatingChapter) return
  • Fixed missing chapter_id field in translation result segments (violated frontend Segment interface)
  • Fixed apply_qa opening 1 DB session per segment — now uses single session for entire batch loop
  • Fixed cancellation returning segments list shorter than total — remaining None entries filled as untouched
  • Fixed cancelTranslation leaking AbortController in _activeControllers map
  • Fixed ContextPanel context fetch race on rapid chapter switching — request counter discards stale responses
  • Fixed consistency check errors silently showing "No issues found" — added error state with distinct UI
  • Added user-visible error feedback for export failures

Changelog: See CHANGELOG.md

v0.5.0 — First Public Release

Choose a tag to compare

@BrutalBotX BrutalBotX released this 12 Jul 10:05

v0.5.0 — First Public Release

An AI-assisted webnovel translation workstation with persistent narrative context and proactive ambiguity resolution.

Features:

  • Batch chapter translation (configurable 1–10 segments per LLM call)
  • 15+ LLM providers: Ollama, OpenAI, Anthropic, DeepSeek, Google Gemini, Groq, Mistral, Together AI, Perplexity, Cohere, OpenCode, xAI, OpenRouter, Fireworks, Deep Infra, custom
  • Sliding window context (3 previous + 3 upcoming segments)
  • Persistent character management with auto-detect on import (Chinese/Japanese/Korean), gender suggestion from name
  • Glossary auto-population from detected cultivation/cultural terms
  • QA Queue: flags pronouns, unknown names, idioms, cultural terms without blocking translation; batch-resolve by type
  • Per-project translator instructions with "View prompt" preview
  • Transliteration: pinyin with accent marks (nǐ hǎo), pykakasi romaji, hangul romanization
  • Live progress tracking with cancel button
  • Resume support — skips already-translated segments
  • Re-apply — clear and re-translate with updated context
  • .novelproj cache — full project export/import with auto-save
  • Export: plain text, HTML (escaped), markdown

Changelog: See CHANGELOG.md