supervertaler 1.9.176b0__tar.gz → 1.9.178__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of supervertaler might be problematic. Click here for more details.
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/CHANGELOG.md +23 -1
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/PKG-INFO +1 -1
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/Supervertaler.py +135 -46
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/index.html +4 -4
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/database_manager.py +169 -64
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/mqxliff_handler.py +71 -2
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/tm_metadata_manager.py +23 -18
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/pyproject.toml +1 -1
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/supervertaler.egg-info/PKG-INFO +1 -1
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/FAQ.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/LICENSE +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/MANIFEST.in +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/README.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/assets/ICON_CONVERSION_GUIDE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/assets/MB.ico +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/assets/README.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/assets/generate_icons.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/assets/icon.ico +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/assets/icon_128.png +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/assets/icon_24.png +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/assets/icon_256.png +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/assets/icon_32.png +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/assets/icon_48.png +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/assets/icon_64.png +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/assets/icon_preview.html +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/assets/icon_sv_modern.svg +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/assets/icon_sv_modern_paths.svg +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/assets/icon_sv_simple.svg +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/assets/patent-drawing-1951.jpg +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/assets/supervertaler_icon_colours.png +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/.nojekyll +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/CNAME +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/SIMILAR_APPS.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/apple-touch-icon.png +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/BUGFIX_README.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/CHANGELIST.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/CHANGELOG_Old.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/FAQ.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/INSTALLATION_v1.7.8.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/PROJECT_ORGANIZATION.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/TERMBASE_REFACTORING_SUMMARY.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/USER_GUIDE_v1.7.8.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/VERIFICATION_CHECKLIST.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/BEFORE_AFTER_COMPARISON.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/BUGFIX_SESSION_SUMMARY.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/COLOR_SCHEME_REFERENCE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/COMPACT_LAYOUT_CHANGELOG.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/COMPACT_LAYOUT_DOCUMENTATION_INDEX.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/COMPACT_LAYOUT_IMPLEMENTATION_SUMMARY.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/COMPACT_LAYOUT_UPDATE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/COMPLETE_IMPLEMENTATION_SUMMARY.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/COMPLETE_PROJECT_SUMMARY.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/DATABASE_FINAL_SUMMARY.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/DATABASE_IMPLEMENTATION.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/DATABASE_PRODUCTION_READY.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/DATABASE_QUICK_REFERENCE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/DUAL_VERSION_STRATEGY.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/FINAL_SESSION_SUMMARY.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/FOLDER_STRUCTURE_UPDATE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/GITHUB_PAGES_SETUP.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/IMPLEMENTATION_CHECKLIST.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/IMPLEMENTATION_COMPLETE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/IMPLEMENTATION_COMPLETE_COMPACT_LAYOUT.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/IMPLEMENTATION_READY.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/IMPLEMENTATION_STATUS_PHASE2_READY.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/KEYBOARD_SHORTCUTS_MATCHES.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/LAYOUT_BEFORE_AFTER.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/MASTER_INDEX.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/MATCH_DISPLAY_IMPROVEMENTS.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/MATCH_DISPLAY_LONG_SEGMENTS_UPDATE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/MATCH_DISPLAY_QUICK_REFERENCE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/MATCH_INSERTION_FEATURES.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/MATCH_SHORTCUTS_QUICK_REF.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/MODULAR_ARCHITECTURE_GUIDE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/PHASE2_IMPLEMENTATION_CHECKLIST.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/PHASE2_IMPLEMENTATION_DETAILED_CHECKLIST.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/PHASE2_IMPLEMENTATION_IN_PROGRESS.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/PHASE2_NEXT_STEPS.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/PHASE2_READY_TO_IMPLEMENT.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/PHASE2_START_HERE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/QT_MIGRATION_PLAN.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/QT_SESSION_SUMMARY.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/QUICK_SESSION_SUMMARY.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/RELEASE_Qt_v1.0.0_Phase5.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/RELEASE_v1.9.38.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/RELEASE_v3.7.1.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/RELEASE_v3.7.6.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/RELEASE_v3.7.7.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/RESTRUCTURE_COMPLETE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/SESSION_DOCUMENTATION_INDEX.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/SESSION_IMPLEMENTATION_SUMMARY.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/SESSION_LONG_SEGMENTS_COMPLETE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/SESSION_MATCH_FEATURES_COMPLETE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/SESSION_STATUS.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/SESSION_SUMMARY_Phase5.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/START_HERE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/START_IMPLEMENTATION_HERE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/STYLE_GUIDES_DELIVERABLES.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/STYLE_GUIDES_DOCUMENTATION_INDEX.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/STYLE_GUIDES_FEATURE_SUMMARY.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/STYLE_GUIDES_IMPLEMENTATION.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/STYLE_GUIDES_PROJECT_COMPLETION.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/STYLE_GUIDES_QUICK_REFERENCE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/STYLE_GUIDES_VISUAL_ARCHITECTURE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/TERMBASE_FIXES.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/TERMBASE_IMPLEMENTATION.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/TERMBASE_QUICK_START.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/TMX_CONCORDANCE_STYLE_HIGHLIGHTING.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/TMX_DUAL_HIGHLIGHTING.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/TMX_EDITOR_HIGHLIGHTING_UPDATE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/TMX_EDITOR_IMPLEMENTATION.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/TMX_EDITOR_WORD_HIGHLIGHTING.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/TMX_TABLE_LAYOUT_INTEGRATED_EDIT.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/TMX_TREEVIEW_GRID_RESIZABLE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/TMX_WORD_HIGHLIGHTING_IMPLEMENTATION_COMPLETE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/TMX_WORD_HIGHLIGHTING_SUMMARY.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/TM_MATCH_PANE_CHECKLIST.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/TM_MATCH_PANE_IMPLEMENTATION.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/TM_MATCH_PANE_VISUAL_GUIDE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/VISUAL_COLOR_REFERENCE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/development/VISUAL_IMPLEMENTATION_SUMMARY.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/sessions/COLOR_FIX_EXPLANATION.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/sessions/DATABASE_CONSOLIDATION_REPORT.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/sessions/DUAL_EDITOR_WORKFLOW.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/sessions/DUAL_SELECTION_SYSTEM.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/sessions/IMPROVEMENTS_SUMMARY.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/sessions/ISSUES_FIXES_PROGRESS.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/sessions/MATCH_DISPLAY_COMPACT_FIXES.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/sessions/README_SESSION_TERMBASE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/sessions/SAFE_DELETION_REMINDER.txt +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/sessions/SESSION_SUMMARY.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/sessions/TERMBASE_FIXES_APPLIED.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/sessions/TESTING_CHECKLIST.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/sessions/TMX_EDITOR_ANNOUNCEMENT.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/archive/sessions/TRANSLATION_RESULTS_IMPROVEMENTS.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/assets/Figure1.png +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/assets/patent-drawing-1951.jpg +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/changelog.html +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/dev-notes/QA.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/dev-notes/STYLE_GUIDES_UI_TEMPLATE.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/dev-notes/_Notes_2025-11-21.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/dev-notes/_things_to_remind_AIs_of_when_translating.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/dev-notes/issue_28.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/dev-notes/openai_debug.txt +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/dev-notes/pre-translation-dialog-enhancement.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/emoji_mockup.html +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/favicon.ico +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/guides/AI_PROMPT_ASSISTANT_USER_GUIDE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/guides/ENCODING_REPAIR_TOOL.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/guides/FAQ.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/guides/GLOSSARY_OF_SUPERVERTALER_TERMINOLOGY.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/guides/JSON_EDITORS_AND_HUMAN_READABLE_FORMAT.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/guides/KEYBOARD_SHORTCUTS.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/guides/PDF_RESCUE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/guides/PROMPT_ASSISTANT_USER_GUIDE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/guides/QT_SETTINGS_DIALOG_GUIDE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/guides/TERM_EXTRACTION_GUIDE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/guides/USER_DATA_FOLDER_SETUP.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/idea_beijer.bot_integration_idea/BEIJERBOT_FEATURE_ANALYSIS.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/idea_beijer.bot_integration_idea/CLI_BRIDGE_SPECIFICATION.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/idea_beijer.bot_integration_idea/IMPLEMENTATION_ROADMAP.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/idea_beijer.bot_integration_idea/QUICKMENU_INTEGRATION_PLAN.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/idea_beijer.bot_integration_idea/README.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/idea_tag-cleaner/tag_cleaner.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/idea_use_vscode_as_cat_tool/ai-agent-translation-workflow.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/logo.png +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/screenshots/2025-10-13_00-46-16.jpg +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/screenshots/Superlookup_Web_resources.jpg +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/screenshots/Supervertaler_AI-Assistant.jpg +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/screenshots/Supervertaler_CLASSIC_v2.4.1_(tkinter).jpg +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/screenshots/Supervertaler_Prompt_Manager_2026-01-14.png +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/screenshots/Supervertaler_Qt_LLM_LeaderboardResults_2025-11-12.jpg +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/screenshots/Supervertaler_Qt_LLM_Leaderboard_2025-11-12.jpg +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/screenshots/Supervertaler_Superbrowser.jpg +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/screenshots/Supervertaler_dark_mode_2025-12-16.jpg +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/screenshots/Supervertaler_dark_mode_2025-12-17.jpg +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/screenshots/Supervertaler_grid.jpg +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/screenshots/Supervertaler_tkinter (v3.7.7).jpg +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/screenshots/Supervertaler_v1.9.102_compare_panel_2026-01-14.png +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/screenshots/Supervertaler_v1.9.102_grid_2026-01-14.png +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/screenshots/new/Supervertaler-grid.jpg +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/screenshots/new/Supervertaler_AI-Assistant.jpg +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/screenshots/new/Supervertaler_Prompt-Library.jpg +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/screenshots/new/Supervertaler_Qt_LLM_LeaderboardResults_2025-11-12.jpg +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/screenshots/new/Supervertaler_Qt_LLM_Leaderboard_2025-11-12.jpg +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/screenshots/new/Supervertaler_Superbrowser.jpg +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/screenshots/old/2025-10-13_00-50-24.jpg +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/screenshots/old/Supervertaler_Qt_2025-11-12.jpg +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/script.js +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/site.webmanifest +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/specifications/AI_ASSISTANT_PHASE2_IMPLEMENTATION.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/specifications/AI_PROMPT_ASSISTANT.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/specifications/AI_PROMPT_ASSISTANT_IMPLEMENTATION.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/specifications/EXPORT_MENU_UPDATE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/specifications/IMPLEMENTATION_SUMMARY.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/specifications/QT_PHASE2_COMPLETE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/specifications/QT_PHASE3_COMPLETE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/specifications/SUPERVERTALER_DATA_FORMAT.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/specifications/TASK_TYPE_SYSTEM.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/specifications/TERMINOLOGY_UPDATE_SUMMARY.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/specifications/opus-api-integration.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/styles.css +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/.gitbook/assets/supervertaler-logo.png +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/.gitbook/assets/sv-icon.svg +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/GITBOOK_LANDING_DRAFT.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/README.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/SUMMARY.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/ai-translation/batch-translation.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/ai-translation/ollama.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/ai-translation/overview.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/ai-translation/prompt-library.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/ai-translation/prompts.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/ai-translation/providers.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/ai-translation/single-segment.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/cat-tools/cafetran.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/cat-tools/memoq.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/cat-tools/overview.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/cat-tools/phrase.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/cat-tools/trados.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/editor/editing-confirming.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/editor/filtering.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/editor/find-replace.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/editor/keyboard-shortcuts.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/editor/navigation.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/editor/pagination.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/editor/translation-grid.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/get-started/api-keys.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/get-started/first-project.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/get-started/installation.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/get-started/quick-start.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/glossaries/basics.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/glossaries/creating.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/glossaries/extraction.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/glossaries/highlighting.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/glossaries/importing.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/import-export/bilingual-tables.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/import-export/docx-import.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/import-export/exporting.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/import-export/formats.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/import-export/multi-file.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/import-export/txt-import.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/qa/non-translatables.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/qa/spellcheck.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/qa/tag-validation.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/reference/changelog.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/reference/contributing.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/reference/faq.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/reference/file-formats.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/settings/fonts.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/settings/general.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/settings/shortcuts.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/settings/theme.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/settings/view.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/superlookup/glossary-search.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/superlookup/mt.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/superlookup/overview.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/superlookup/tm-search.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/superlookup/web-resources.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/tools/autofingers.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/tools/image-extractor.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/tools/pdf-rescue.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/tools/tmx-editor.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/tools/voice-commands.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/translation-memory/basics.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/translation-memory/fuzzy-matching.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/translation-memory/importing-tmx.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/translation-memory/managing-tms.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/translation-memory/supermemory.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/troubleshooting/api-issues.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/troubleshooting/common-issues.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/troubleshooting/import-export-errors.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/troubleshooting/linux.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/superdocs/troubleshooting/performance.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/sv-icon.svg +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/technical/AI_ASSISTANT_GUIDE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/technical/AI_ASSISTANT_IMPLEMENTATION.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/technical/AI_ASSISTANT_INTEGRATION.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/technical/AI_ASSISTANT_QUICK_REFERENCE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/technical/DATABASE_LOCATIONS.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/technical/FILTER_HIGHLIGHTING_FIX.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/technical/MODULE_HEADER_PATTERN.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/technical/README.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/technical/SUPERBROWSER_GUIDE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/technical/SUPERVOICE_TROUBLESHOOTING.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/technical/UNIFIED_PROMPT_LIBRARY_GUIDE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/technical/VOICE_DICTATION_GUIDE.md +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/tests/test_encoding_corruption.txt +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/web-app-manifest-192x192.png +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/docs/web-app-manifest-512x512.png +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/__init__.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/ai_actions.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/ai_attachment_manager.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/ai_file_viewer_dialog.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/autofingers_engine.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/cafetran_docx_handler.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/config_manager.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/database_migrations.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/dejavurtf_handler.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/document_analyzer.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/docx_handler.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/encoding_repair.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/encoding_repair_Qt.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/encoding_repair_ui.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/feature_manager.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/figure_context_manager.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/file_dialog_helper.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/find_replace.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/find_replace_qt.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/glossary_manager.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/image_extractor.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/keyboard_shortcuts_widget.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/llm_clients.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/llm_leaderboard.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/llm_superbench_ui.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/local_llm_setup.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/model_update_dialog.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/model_version_checker.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/non_translatables_manager.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/pdf_rescue_Qt.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/pdf_rescue_tkinter.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/phrase_docx_handler.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/project_home_panel.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/prompt_assistant.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/prompt_library.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/prompt_library_migration.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/quick_access_sidebar.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/ribbon_widget.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/sdlppx_handler.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/setup_wizard.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/shortcut_manager.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/simple_segmenter.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/spellcheck_manager.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/statuses.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/style_guide_manager.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/superbench_ui.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/superbrowser.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/supercleaner.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/supercleaner_ui.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/superdocs.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/superdocs_viewer_qt.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/superlookup.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/tag_cleaner.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/tag_manager.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/term_extractor.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/termbase_entry_editor.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/termbase_import_export.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/termbase_manager.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/termview_widget.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/theme_manager.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/tm_editor_dialog.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/tm_manager_qt.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/tmx_editor.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/tmx_editor_qt.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/tmx_generator.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/tracked_changes.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/trados_docx_handler.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/translation_memory.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/translation_results_panel.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/translation_services.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/unified_prompt_library.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/unified_prompt_manager_qt.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/voice_commands.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/voice_dictation.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/modules/voice_dictation_lite.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/setup.cfg +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/setup.py +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/supervertaler.egg-info/SOURCES.txt +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/supervertaler.egg-info/dependency_links.txt +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/supervertaler.egg-info/entry_points.txt +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/supervertaler.egg-info/not-zip-safe +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/supervertaler.egg-info/requires.txt +0 -0
- {supervertaler-1.9.176b0 → supervertaler-1.9.178}/supervertaler.egg-info/top_level.txt +0 -0
|
@@ -2,10 +2,32 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to Supervertaler are documented in this file.
|
|
4
4
|
|
|
5
|
-
**Current Version:** v1.9.
|
|
5
|
+
**Current Version:** v1.9.178-beta (January 28, 2026)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
+
## v1.9.178-beta - January 28, 2026
|
|
10
|
+
|
|
11
|
+
### 🐛 Bug Fixes
|
|
12
|
+
|
|
13
|
+
- **Slovak Language in Import Dialogs**: Slovak and other languages were missing from the Trados and Phrase import language dropdowns. Both dialogs now use the full language list matching the main New Project dialog.
|
|
14
|
+
|
|
15
|
+
- **mqxliff Target Loading for Pretranslated Files**: When importing pretranslated mqxliff files, the target translations were not being loaded. Added new `extract_bilingual_segments()` method to properly extract both source and target text from memoQ XLIFF files.
|
|
16
|
+
|
|
17
|
+
- **TM Activation for Global TMs**: Fixed issue where TMs created when no project was loaded would not save segments later. The TM activation system now properly handles global activations (project_id=0), so TMs activated before loading a project continue to work after a project is opened.
|
|
18
|
+
|
|
19
|
+
- **TM Storage Consistency**: The `get_writable_tm_ids`, `get_active_tm_ids`, and `is_tm_active` functions now include globally-activated TMs in addition to project-specific activations.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## v1.9.177-beta - January 28, 2026
|
|
24
|
+
|
|
25
|
+
### ✨ New Features
|
|
26
|
+
|
|
27
|
+
- **Bidirectional Termbase Matching**: Glossaries now work like memoQ and Trados - a termbase created for NL→EN will also find matches when working on EN→NL projects (and vice versa). This "direction-insensitive" behavior means you no longer need separate termbases for different language directions. When a match is found on the target side, source and target are automatically swapped in the results.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
9
31
|
## v1.9.176-beta - January 28, 2026
|
|
10
32
|
|
|
11
33
|
### ✨ New Features
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: supervertaler
|
|
3
|
-
Version: 1.9.
|
|
3
|
+
Version: 1.9.178
|
|
4
4
|
Summary: Professional AI-enhanced translation workbench with multi-LLM support, glossary system, TM, spellcheck, voice commands, and PyQt6 interface. Batteries included (core).
|
|
5
5
|
Home-page: https://supervertaler.com
|
|
6
6
|
Author: Michael Beijer
|
|
@@ -3,8 +3,6 @@ Supervertaler
|
|
|
3
3
|
=============
|
|
4
4
|
The Ultimate Translation Workbench.
|
|
5
5
|
Modern PyQt6 interface with specialised modules to handle any problem.
|
|
6
|
-
Version: 1.9.153 (Tab Layout Reorganization)
|
|
7
|
-
Release Date: January 23, 2026
|
|
8
6
|
Framework: PyQt6
|
|
9
7
|
|
|
10
8
|
This is the modern edition of Supervertaler using PyQt6 framework.
|
|
@@ -34,7 +32,7 @@ License: MIT
|
|
|
34
32
|
"""
|
|
35
33
|
|
|
36
34
|
# Version Information.
|
|
37
|
-
__version__ = "1.9.
|
|
35
|
+
__version__ = "1.9.178"
|
|
38
36
|
__phase__ = "0.9"
|
|
39
37
|
__release_date__ = "2026-01-28"
|
|
40
38
|
__edition__ = "Qt"
|
|
@@ -10622,7 +10620,11 @@ class SupervertalerQt(QMainWindow):
|
|
|
10622
10620
|
button_layout = QHBoxLayout()
|
|
10623
10621
|
|
|
10624
10622
|
create_btn = QPushButton("+ Create New TM")
|
|
10625
|
-
|
|
10623
|
+
# Get project_id dynamically - use 0 (global) when no project is loaded
|
|
10624
|
+
create_btn.clicked.connect(lambda: self._show_create_tm_dialog(
|
|
10625
|
+
tm_metadata_mgr, refresh_tm_list,
|
|
10626
|
+
self.current_project.id if (hasattr(self, 'current_project') and self.current_project and hasattr(self.current_project, 'id')) else 0
|
|
10627
|
+
))
|
|
10626
10628
|
button_layout.addWidget(create_btn)
|
|
10627
10629
|
|
|
10628
10630
|
import_btn = QPushButton("📥 Import TMX")
|
|
@@ -14974,8 +14976,8 @@ class SupervertalerQt(QMainWindow):
|
|
|
14974
14976
|
)
|
|
14975
14977
|
|
|
14976
14978
|
if result:
|
|
14977
|
-
# Auto-activate for current project
|
|
14978
|
-
if project_id:
|
|
14979
|
+
# Auto-activate for current project (or global=0 if no project loaded)
|
|
14980
|
+
if project_id is not None:
|
|
14979
14981
|
tm_metadata_mgr.activate_tm(result, project_id)
|
|
14980
14982
|
|
|
14981
14983
|
QMessageBox.information(self, "Success", f"Translation Memory '{name}' created successfully!")
|
|
@@ -22319,20 +22321,24 @@ class SupervertalerQt(QMainWindow):
|
|
|
22319
22321
|
"""
|
|
22320
22322
|
Search termbases using a provided cursor (thread-safe for background threads).
|
|
22321
22323
|
This method allows background workers to query the database without SQLite threading errors.
|
|
22322
|
-
|
|
22324
|
+
|
|
22325
|
+
Implements BIDIRECTIONAL matching: searches both source_term and target_term columns.
|
|
22326
|
+
When a match is found on target_term, source and target are swapped in the result.
|
|
22327
|
+
This matches memoQ/Trados behavior where a NL→EN termbase also works for EN→NL projects.
|
|
22328
|
+
|
|
22323
22329
|
Args:
|
|
22324
22330
|
source_text: The source text to search for
|
|
22325
22331
|
cursor: A database cursor from a thread-local connection
|
|
22326
22332
|
source_lang: Source language code
|
|
22327
22333
|
target_lang: Target language code
|
|
22328
22334
|
project_id: Current project ID (required to filter by activated termbases)
|
|
22329
|
-
|
|
22335
|
+
|
|
22330
22336
|
Returns:
|
|
22331
22337
|
Dictionary of {term: translation} matches
|
|
22332
22338
|
"""
|
|
22333
22339
|
if not source_text or not cursor:
|
|
22334
22340
|
return {}
|
|
22335
|
-
|
|
22341
|
+
|
|
22336
22342
|
try:
|
|
22337
22343
|
# Convert language names to codes (match interactive search logic)
|
|
22338
22344
|
source_lang_code = self._convert_language_to_code(source_lang) if source_lang else None
|
|
@@ -22352,20 +22358,26 @@ class SupervertalerQt(QMainWindow):
|
|
|
22352
22358
|
try:
|
|
22353
22359
|
# JOIN termbases AND termbase_activation to filter by activated termbases
|
|
22354
22360
|
# This matches the logic in database_manager.py search_termbases()
|
|
22361
|
+
# BIDIRECTIONAL: Search both source_term (forward) and target_term (reverse)
|
|
22362
|
+
# Using UNION to combine both directions
|
|
22355
22363
|
query = """
|
|
22356
|
-
SELECT
|
|
22357
|
-
|
|
22358
|
-
|
|
22359
|
-
|
|
22360
|
-
|
|
22361
|
-
|
|
22362
|
-
|
|
22363
|
-
|
|
22364
|
-
|
|
22365
|
-
|
|
22364
|
+
SELECT * FROM (
|
|
22365
|
+
-- Forward match: search source_term
|
|
22366
|
+
SELECT
|
|
22367
|
+
t.id, t.source_term, t.target_term, t.termbase_id, t.priority,
|
|
22368
|
+
t.domain, t.notes, t.project, t.client, t.forbidden,
|
|
22369
|
+
tb.is_project_termbase, tb.name as termbase_name,
|
|
22370
|
+
COALESCE(ta.priority, tb.ranking) as ranking,
|
|
22371
|
+
'source' as match_direction
|
|
22372
|
+
FROM termbase_terms t
|
|
22373
|
+
LEFT JOIN termbases tb ON CAST(t.termbase_id AS INTEGER) = tb.id
|
|
22374
|
+
LEFT JOIN termbase_activation ta ON ta.termbase_id = tb.id AND ta.project_id = ? AND ta.is_active = 1
|
|
22375
|
+
WHERE LOWER(t.source_term) LIKE ?
|
|
22376
|
+
AND (ta.is_active = 1 OR tb.is_project_termbase = 1)
|
|
22366
22377
|
"""
|
|
22367
22378
|
params = [project_id if project_id else 0, f"%{clean_word.lower()}%"]
|
|
22368
22379
|
|
|
22380
|
+
# Language filters for forward query
|
|
22369
22381
|
if source_lang_code:
|
|
22370
22382
|
query += " AND (t.source_lang = ? OR (t.source_lang IS NULL AND tb.source_lang = ?) OR (t.source_lang IS NULL AND tb.source_lang IS NULL))"
|
|
22371
22383
|
params.extend([source_lang_code, source_lang_code])
|
|
@@ -22373,15 +22385,45 @@ class SupervertalerQt(QMainWindow):
|
|
|
22373
22385
|
query += " AND (t.target_lang = ? OR (t.target_lang IS NULL AND tb.target_lang = ?) OR (t.target_lang IS NULL AND tb.target_lang IS NULL))"
|
|
22374
22386
|
params.extend([target_lang_code, target_lang_code])
|
|
22375
22387
|
|
|
22376
|
-
#
|
|
22377
|
-
query += "
|
|
22388
|
+
# Reverse match: search target_term, swap source/target in output
|
|
22389
|
+
query += """
|
|
22390
|
+
UNION ALL
|
|
22391
|
+
-- Reverse match: search target_term, swap columns
|
|
22392
|
+
SELECT
|
|
22393
|
+
t.id, t.target_term as source_term, t.source_term as target_term,
|
|
22394
|
+
t.termbase_id, t.priority,
|
|
22395
|
+
t.domain, t.notes, t.project, t.client, t.forbidden,
|
|
22396
|
+
tb.is_project_termbase, tb.name as termbase_name,
|
|
22397
|
+
COALESCE(ta.priority, tb.ranking) as ranking,
|
|
22398
|
+
'target' as match_direction
|
|
22399
|
+
FROM termbase_terms t
|
|
22400
|
+
LEFT JOIN termbases tb ON CAST(t.termbase_id AS INTEGER) = tb.id
|
|
22401
|
+
LEFT JOIN termbase_activation ta ON ta.termbase_id = tb.id AND ta.project_id = ? AND ta.is_active = 1
|
|
22402
|
+
WHERE LOWER(t.target_term) LIKE ?
|
|
22403
|
+
AND (ta.is_active = 1 OR tb.is_project_termbase = 1)
|
|
22404
|
+
"""
|
|
22405
|
+
params.extend([project_id if project_id else 0, f"%{clean_word.lower()}%"])
|
|
22406
|
+
|
|
22407
|
+
# Language filters for reverse query (swapped)
|
|
22408
|
+
if source_lang_code:
|
|
22409
|
+
# For reverse: source_lang filters target_lang column
|
|
22410
|
+
query += " AND (t.target_lang = ? OR (t.target_lang IS NULL AND tb.target_lang = ?) OR (t.target_lang IS NULL AND tb.target_lang IS NULL))"
|
|
22411
|
+
params.extend([source_lang_code, source_lang_code])
|
|
22412
|
+
if target_lang_code:
|
|
22413
|
+
# For reverse: target_lang filters source_lang column
|
|
22414
|
+
query += " AND (t.source_lang = ? OR (t.source_lang IS NULL AND tb.source_lang = ?) OR (t.source_lang IS NULL AND tb.source_lang IS NULL))"
|
|
22415
|
+
params.extend([target_lang_code, target_lang_code])
|
|
22416
|
+
|
|
22417
|
+
# Close UNION and limit
|
|
22418
|
+
query += ") combined LIMIT 30"
|
|
22378
22419
|
cursor.execute(query, params)
|
|
22379
22420
|
results = cursor.fetchall()
|
|
22380
22421
|
|
|
22381
22422
|
for row in results:
|
|
22382
|
-
# Uniform access
|
|
22423
|
+
# Uniform access (columns are already swapped for reverse matches)
|
|
22383
22424
|
source_term = row[1] if isinstance(row, tuple) else row['source_term']
|
|
22384
22425
|
target_term = row[2] if isinstance(row, tuple) else row['target_term']
|
|
22426
|
+
match_direction = row[13] if isinstance(row, tuple) else row.get('match_direction', 'source')
|
|
22385
22427
|
if not source_term or not target_term:
|
|
22386
22428
|
continue
|
|
22387
22429
|
|
|
@@ -22405,8 +22447,10 @@ class SupervertalerQt(QMainWindow):
|
|
|
22405
22447
|
existing = matches.get(source_term.strip())
|
|
22406
22448
|
# Deduplicate: keep numerically lowest ranking (highest priority)
|
|
22407
22449
|
# For project termbases, ranking is None so they always win
|
|
22450
|
+
# Also prefer 'source' matches over 'target' matches when equal
|
|
22408
22451
|
if existing:
|
|
22409
22452
|
existing_ranking = existing.get('ranking', None)
|
|
22453
|
+
existing_direction = existing.get('match_direction', 'source')
|
|
22410
22454
|
if is_project_tb:
|
|
22411
22455
|
# Project termbase always wins
|
|
22412
22456
|
pass
|
|
@@ -22415,8 +22459,12 @@ class SupervertalerQt(QMainWindow):
|
|
|
22415
22459
|
continue
|
|
22416
22460
|
elif existing_ranking is not None and ranking is not None:
|
|
22417
22461
|
# Both have rankings, keep lower (higher priority)
|
|
22418
|
-
if existing_ranking
|
|
22462
|
+
if existing_ranking < ranking:
|
|
22419
22463
|
continue
|
|
22464
|
+
elif existing_ranking == ranking:
|
|
22465
|
+
# Same ranking: prefer source match over target match
|
|
22466
|
+
if existing_direction == 'source' and match_direction == 'target':
|
|
22467
|
+
continue
|
|
22420
22468
|
|
|
22421
22469
|
matches[source_term.strip()] = {
|
|
22422
22470
|
'translation': target_term.strip(),
|
|
@@ -22431,15 +22479,18 @@ class SupervertalerQt(QMainWindow):
|
|
|
22431
22479
|
'forbidden': forbidden or False,
|
|
22432
22480
|
'is_project_termbase': bool(is_project_tb),
|
|
22433
22481
|
'termbase_name': termbase_name or '',
|
|
22434
|
-
'target_synonyms': [] # Will be populated below
|
|
22482
|
+
'target_synonyms': [], # Will be populated below
|
|
22483
|
+
'match_direction': match_direction # Track if this was a reverse match
|
|
22435
22484
|
}
|
|
22436
|
-
|
|
22485
|
+
|
|
22437
22486
|
# Fetch synonyms for this term
|
|
22487
|
+
# For reverse matches, fetch 'source' synonyms since they become targets
|
|
22438
22488
|
try:
|
|
22489
|
+
synonym_lang = 'source' if match_direction == 'target' else 'target'
|
|
22439
22490
|
cursor.execute("""
|
|
22440
|
-
SELECT synonym_text FROM termbase_synonyms
|
|
22441
|
-
WHERE term_id = ? AND language =
|
|
22442
|
-
""", (term_id,))
|
|
22491
|
+
SELECT synonym_text FROM termbase_synonyms
|
|
22492
|
+
WHERE term_id = ? AND language = ? AND forbidden = 0
|
|
22493
|
+
""", (term_id, synonym_lang))
|
|
22443
22494
|
synonym_rows = cursor.fetchall()
|
|
22444
22495
|
for syn_row in synonym_rows:
|
|
22445
22496
|
synonym = syn_row[0] if isinstance(syn_row, tuple) else syn_row['synonym_text']
|
|
@@ -26645,24 +26696,32 @@ class SupervertalerQt(QMainWindow):
|
|
|
26645
26696
|
)
|
|
26646
26697
|
return
|
|
26647
26698
|
|
|
26648
|
-
# Extract segments
|
|
26649
|
-
mqxliff_segments = handler.
|
|
26650
|
-
|
|
26699
|
+
# Extract segments (including targets for pretranslated files)
|
|
26700
|
+
mqxliff_segments = handler.extract_bilingual_segments()
|
|
26701
|
+
|
|
26651
26702
|
if not mqxliff_segments:
|
|
26652
26703
|
QMessageBox.warning(
|
|
26653
26704
|
self, "No Segments",
|
|
26654
26705
|
"No segments found in the memoQ XLIFF file."
|
|
26655
26706
|
)
|
|
26656
26707
|
return
|
|
26657
|
-
|
|
26708
|
+
|
|
26709
|
+
# Count pretranslated segments
|
|
26710
|
+
pretranslated_count = sum(1 for s in mqxliff_segments if s.get('target', '').strip())
|
|
26711
|
+
|
|
26658
26712
|
# Convert to internal Segment format
|
|
26659
26713
|
segments = []
|
|
26660
26714
|
for i, mq_seg in enumerate(mqxliff_segments):
|
|
26715
|
+
# Map status from mqxliff
|
|
26716
|
+
status = mq_seg.get('status', 'not_started')
|
|
26717
|
+
if status not in ['not_started', 'pre_translated', 'translated', 'confirmed', 'locked']:
|
|
26718
|
+
status = 'not_started'
|
|
26719
|
+
|
|
26661
26720
|
segment = Segment(
|
|
26662
26721
|
id=i + 1,
|
|
26663
|
-
source=mq_seg.
|
|
26664
|
-
target=
|
|
26665
|
-
status=
|
|
26722
|
+
source=mq_seg.get('source', ''),
|
|
26723
|
+
target=mq_seg.get('target', ''),
|
|
26724
|
+
status=status,
|
|
26666
26725
|
notes="",
|
|
26667
26726
|
)
|
|
26668
26727
|
segments.append(segment)
|
|
@@ -26706,11 +26765,17 @@ class SupervertalerQt(QMainWindow):
|
|
|
26706
26765
|
# Log success
|
|
26707
26766
|
self.log(f"✓ Imported {len(segments)} segments from memoQ XLIFF: {Path(file_path).name}")
|
|
26708
26767
|
self.log(f" Source: {source_lang}, Target: {target_lang}")
|
|
26709
|
-
|
|
26768
|
+
if pretranslated_count > 0:
|
|
26769
|
+
self.log(f" Pretranslated: {pretranslated_count} segments with target text")
|
|
26770
|
+
|
|
26771
|
+
# Build message with pretranslation info
|
|
26772
|
+
msg = f"Successfully imported {len(segments)} segment(s) from memoQ XLIFF.\n\nLanguages: {source_lang} → {target_lang}"
|
|
26773
|
+
if pretranslated_count > 0:
|
|
26774
|
+
msg += f"\n\nPretranslated: {pretranslated_count} segment(s) with target text loaded."
|
|
26775
|
+
|
|
26710
26776
|
QMessageBox.information(
|
|
26711
26777
|
self, "Import Successful",
|
|
26712
|
-
|
|
26713
|
-
f"Languages: {source_lang} → {target_lang}"
|
|
26778
|
+
msg
|
|
26714
26779
|
)
|
|
26715
26780
|
except Exception as e:
|
|
26716
26781
|
self.log(f"❌ Error importing memoQ XLIFF: {e}")
|
|
@@ -27119,7 +27184,19 @@ class SupervertalerQt(QMainWindow):
|
|
|
27119
27184
|
source_row = QHBoxLayout()
|
|
27120
27185
|
source_row.addWidget(QLabel("Source Language:"))
|
|
27121
27186
|
source_combo = QComboBox()
|
|
27122
|
-
|
|
27187
|
+
# Full language list (same as New Project dialog)
|
|
27188
|
+
available_languages = [
|
|
27189
|
+
"Afrikaans", "Albanian", "Arabic", "Armenian", "Basque", "Bengali",
|
|
27190
|
+
"Bulgarian", "Catalan", "Chinese (Simplified)", "Chinese (Traditional)",
|
|
27191
|
+
"Croatian", "Czech", "Danish", "Dutch", "English", "Estonian",
|
|
27192
|
+
"Finnish", "French", "Galician", "Georgian", "German", "Greek",
|
|
27193
|
+
"Hebrew", "Hindi", "Hungarian", "Icelandic", "Indonesian", "Irish",
|
|
27194
|
+
"Italian", "Japanese", "Korean", "Latvian", "Lithuanian", "Macedonian",
|
|
27195
|
+
"Malay", "Norwegian", "Persian", "Polish", "Portuguese", "Romanian",
|
|
27196
|
+
"Russian", "Serbian", "Slovak", "Slovenian", "Spanish", "Swahili",
|
|
27197
|
+
"Swedish", "Thai", "Turkish", "Ukrainian", "Urdu", "Vietnamese", "Welsh"
|
|
27198
|
+
]
|
|
27199
|
+
source_combo.addItems(available_languages)
|
|
27123
27200
|
# Try to match current UI selection
|
|
27124
27201
|
current_source = self.source_lang_combo.currentText() if hasattr(self, 'source_lang_combo') else "English"
|
|
27125
27202
|
source_idx = source_combo.findText(current_source)
|
|
@@ -27127,12 +27204,12 @@ class SupervertalerQt(QMainWindow):
|
|
|
27127
27204
|
source_combo.setCurrentIndex(source_idx)
|
|
27128
27205
|
source_row.addWidget(source_combo)
|
|
27129
27206
|
lang_group_layout.addLayout(source_row)
|
|
27130
|
-
|
|
27207
|
+
|
|
27131
27208
|
# Target language
|
|
27132
27209
|
target_row = QHBoxLayout()
|
|
27133
27210
|
target_row.addWidget(QLabel("Target Language:"))
|
|
27134
27211
|
target_combo = QComboBox()
|
|
27135
|
-
target_combo.addItems(
|
|
27212
|
+
target_combo.addItems(available_languages)
|
|
27136
27213
|
# Try to match current UI selection
|
|
27137
27214
|
current_target = self.target_lang_combo.currentText() if hasattr(self, 'target_lang_combo') else "Dutch"
|
|
27138
27215
|
target_idx = target_combo.findText(current_target)
|
|
@@ -27140,15 +27217,15 @@ class SupervertalerQt(QMainWindow):
|
|
|
27140
27217
|
target_combo.setCurrentIndex(target_idx)
|
|
27141
27218
|
target_row.addWidget(target_combo)
|
|
27142
27219
|
lang_group_layout.addLayout(target_row)
|
|
27143
|
-
|
|
27220
|
+
|
|
27144
27221
|
lang_layout.addWidget(lang_group)
|
|
27145
|
-
|
|
27222
|
+
|
|
27146
27223
|
# Buttons
|
|
27147
27224
|
lang_buttons = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel)
|
|
27148
27225
|
lang_buttons.accepted.connect(lang_dialog.accept)
|
|
27149
27226
|
lang_buttons.rejected.connect(lang_dialog.reject)
|
|
27150
27227
|
lang_layout.addWidget(lang_buttons)
|
|
27151
|
-
|
|
27228
|
+
|
|
27152
27229
|
if lang_dialog.exec() != QDialog.DialogCode.Accepted:
|
|
27153
27230
|
self.log("✗ User cancelled Trados import during language selection")
|
|
27154
27231
|
return
|
|
@@ -27799,7 +27876,19 @@ class SupervertalerQt(QMainWindow):
|
|
|
27799
27876
|
source_row = QHBoxLayout()
|
|
27800
27877
|
source_row.addWidget(QLabel("Source Language:"))
|
|
27801
27878
|
source_combo = QComboBox()
|
|
27802
|
-
|
|
27879
|
+
# Full language list (same as New Project dialog)
|
|
27880
|
+
available_languages = [
|
|
27881
|
+
"Afrikaans", "Albanian", "Arabic", "Armenian", "Basque", "Bengali",
|
|
27882
|
+
"Bulgarian", "Catalan", "Chinese (Simplified)", "Chinese (Traditional)",
|
|
27883
|
+
"Croatian", "Czech", "Danish", "Dutch", "English", "Estonian",
|
|
27884
|
+
"Finnish", "French", "Galician", "Georgian", "German", "Greek",
|
|
27885
|
+
"Hebrew", "Hindi", "Hungarian", "Icelandic", "Indonesian", "Irish",
|
|
27886
|
+
"Italian", "Japanese", "Korean", "Latvian", "Lithuanian", "Macedonian",
|
|
27887
|
+
"Malay", "Norwegian", "Persian", "Polish", "Portuguese", "Romanian",
|
|
27888
|
+
"Russian", "Serbian", "Slovak", "Slovenian", "Spanish", "Swahili",
|
|
27889
|
+
"Swedish", "Thai", "Turkish", "Ukrainian", "Urdu", "Vietnamese", "Welsh"
|
|
27890
|
+
]
|
|
27891
|
+
source_combo.addItems(available_languages)
|
|
27803
27892
|
# Try to match current UI selection
|
|
27804
27893
|
current_source = self.source_lang_combo.currentText() if hasattr(self, 'source_lang_combo') else "English"
|
|
27805
27894
|
source_idx = source_combo.findText(current_source)
|
|
@@ -27812,7 +27901,7 @@ class SupervertalerQt(QMainWindow):
|
|
|
27812
27901
|
target_row = QHBoxLayout()
|
|
27813
27902
|
target_row.addWidget(QLabel("Target Language:"))
|
|
27814
27903
|
target_combo = QComboBox()
|
|
27815
|
-
target_combo.addItems(
|
|
27904
|
+
target_combo.addItems(available_languages)
|
|
27816
27905
|
# Try to match current UI selection
|
|
27817
27906
|
current_target = self.target_lang_combo.currentText() if hasattr(self, 'target_lang_combo') else "Dutch"
|
|
27818
27907
|
target_idx = target_combo.findText(current_target)
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
<link rel="apple-touch-icon" href="apple-touch-icon.png">
|
|
18
18
|
<link rel="manifest" href="site.webmanifest">
|
|
19
19
|
|
|
20
|
-
<link rel="stylesheet" href="styles.css?v=1.9.
|
|
20
|
+
<link rel="stylesheet" href="styles.css?v=1.9.178-beta">
|
|
21
21
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
22
22
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
23
23
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
class="nav-discussions">💬 Discussions</a></li>
|
|
51
51
|
<li class="nav-action">
|
|
52
52
|
<a href="https://github.com/michaelbeijer/Supervertaler/blob/main/CHANGELOG.md" target="_blank"
|
|
53
|
-
class="nav-version" title="Current version">v1.9.
|
|
53
|
+
class="nav-version" title="Current version">v1.9.178-beta</a>
|
|
54
54
|
</li>
|
|
55
55
|
<li class="nav-action">
|
|
56
56
|
<a href="https://github.com/michaelbeijer/Supervertaler" target="_blank" class="nav-icon-link"
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
Supervertaler
|
|
75
75
|
<span class="gradient-text">The Ultimate Translation Workbench</span>
|
|
76
76
|
</h1>
|
|
77
|
-
<p class="version-badge">v1.9.
|
|
77
|
+
<p class="version-badge">v1.9.178-beta</p>
|
|
78
78
|
<p class="hero-subtitle">
|
|
79
79
|
AI-enhanced translation workbench. Work with ChatGPT, Claude, and Gemini simultaneously.
|
|
80
80
|
Built by translators, for translators and writers.
|
|
@@ -711,7 +711,7 @@
|
|
|
711
711
|
<div style="text-align: center; margin: 40px 0;">
|
|
712
712
|
<div class="download-card featured"
|
|
713
713
|
style="border: 3px solid #6366F1; max-width: 700px; margin: 0 auto;">
|
|
714
|
-
<div class="download-badge" style="background: #6366F1;">v1.9.
|
|
714
|
+
<div class="download-badge" style="background: #6366F1;">v1.9.178-beta</div>
|
|
715
715
|
<h3>🎨 Supervertaler</h3>
|
|
716
716
|
<p class="download-description" style="font-weight: 600; color: #6366F1; margin-bottom: 10px;">
|
|
717
717
|
Modern Professional Interface
|