How utkucanc/yznvltranslate works
NCA is a PyQt6 desktop tool for organizing novel projects, translating chapters with AI or conventional providers, managing terminology, and exporting cleaned TXT/EPUB results. The principal workflow runs from project/file selection through translation and quality checks to merging/export; the README also documents splitting files and chapter-range terminology extraction. The graph reflects documented capabilities as well as sampled controller/worker behavior; unsampled subsystem wiring is shown only where supported by the documented workflow.
Main entry points: project_page.py Project view · translation_worker.py Translation worker · main_window.py Main window · merging_worker.py Chapter merging
Components 25
Desktop interface
- Main window
main_window.py - Dashboard
ui/dashboard_page.py - Project view
ui/project_page.py - File table
ui/file_table_manager.py - Terminology UI
ui/terminology_page.py
Project management
- Project manager
core/project_manager.py - File index
core/file_list_manager.py - SQLite index
core/database_manager.py - Path resolver
core/path_resolver.py
Translation and language
- Translation controller
core/translation_controller.py - Translation worker
core/workers/translation_worker.py - Provider endpoints
core/llm_provider.py - Classic translators
core/free_translators.py - LLM services
- Translation services
- Terminology manager
terminology/terminology_manager.py - ML term extraction
core/workers/ml_terminology_extractor.py - Quality checks
core/workers/translation_quality_checker.py - Translation error checks
core/workers/translation_error_check_worker.py
Text processing and export
- Text cleaning
core/workers/cleaning_worker.py - File splitting
core/workers/split_worker.py - Chapter merging
core/workers/merging_worker.py - EPUB export
core/workers/epub_worker.py - Completed files
Other components
- User
Connections 25
- User → Main window: uses
- Main window → Dashboard: shows
- Main window → Project view: shows
- Project view → Project manager: manages
- Project view → File index: loads files
- File index → SQLite index: reads and writes
- Project view → File table: populates
- Project manager → Path resolver: resolves paths
- Project view → Translation controller: starts translation
- Translation controller → Translation worker: starts worker
- Translation worker → Provider endpoints: selects endpoint
- Translation worker → Classic translators: uses provider
- Provider endpoints → LLM services: requests translation
- Classic translators → Translation services: requests translation
- Translation worker → Terminology manager: injects terms
- Terminology UI → Terminology manager: manages terms
- ML term extraction → Terminology manager: adds extracted terms
- Translation worker → Quality checks: checks output
- Project view → Translation error checks: starts checks
- Project view → Text cleaning: starts cleaning
- Project view → File splitting: starts splitting
- Project view → Chapter merging: starts merging
- Chapter merging → EPUB export: exports EPUB
- Chapter merging → Completed files: writes TXT
- EPUB export → Completed files: writes EPUB