supervertaler 1.9.183__tar.gz → 1.9.185__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.183 → supervertaler-1.9.185}/CHANGELOG.md +29 -1
- {supervertaler-1.9.183 → supervertaler-1.9.185}/PKG-INFO +1 -1
- {supervertaler-1.9.183 → supervertaler-1.9.185}/Supervertaler.py +119 -55
- supervertaler-1.9.185/assets/README_ICONS.md +78 -0
- supervertaler-1.9.185/assets/arrow_left_dark.png +0 -0
- supervertaler-1.9.185/assets/arrow_left_light.png +0 -0
- supervertaler-1.9.185/assets/arrow_right_dark.png +0 -0
- supervertaler-1.9.185/assets/arrow_right_light.png +0 -0
- supervertaler-1.9.185/assets/icon.ico +0 -0
- supervertaler-1.9.185/assets/icon_16x16.png +0 -0
- supervertaler-1.9.185/assets/icon_256x256.png +0 -0
- supervertaler-1.9.185/assets/icon_32x32.png +0 -0
- supervertaler-1.9.185/assets/icon_48x48.png +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/index.html +1214 -1214
- supervertaler-1.9.185/docs/sv-icon.svg +15 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/termview_widget.py +46 -18
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/unified_prompt_manager_qt.py +12 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/pyproject.toml +1 -1
- {supervertaler-1.9.183 → supervertaler-1.9.185}/supervertaler.egg-info/PKG-INFO +1 -1
- {supervertaler-1.9.183 → supervertaler-1.9.185}/supervertaler.egg-info/SOURCES.txt +10 -0
- supervertaler-1.9.183/assets/icon.ico +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/FAQ.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/LICENSE +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/MANIFEST.in +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/README.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/assets/ICON_CONVERSION_GUIDE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/assets/MB.ico +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/assets/README.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/assets/generate_icons.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/assets/icon_128.png +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/assets/icon_24.png +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/assets/icon_256.png +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/assets/icon_32.png +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/assets/icon_48.png +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/assets/icon_64.png +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/assets/icon_preview.html +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/assets/icon_sv_modern.svg +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/assets/icon_sv_modern_paths.svg +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/assets/icon_sv_simple.svg +0 -0
- /supervertaler-1.9.183/docs/superdocs/.gitbook/assets/sv-icon.svg → /supervertaler-1.9.185/assets/icon_sv_website.svg +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/assets/patent-drawing-1951.jpg +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/assets/supervertaler_icon_colours.png +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/.nojekyll +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/CNAME +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/SIMILAR_APPS.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/apple-touch-icon.png +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/BUGFIX_README.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/CHANGELIST.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/CHANGELOG_Old.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/FAQ.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/INSTALLATION_v1.7.8.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/PROJECT_ORGANIZATION.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/TERMBASE_REFACTORING_SUMMARY.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/USER_GUIDE_v1.7.8.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/VERIFICATION_CHECKLIST.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/BEFORE_AFTER_COMPARISON.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/BUGFIX_SESSION_SUMMARY.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/COLOR_SCHEME_REFERENCE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/COMPACT_LAYOUT_CHANGELOG.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/COMPACT_LAYOUT_DOCUMENTATION_INDEX.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/COMPACT_LAYOUT_IMPLEMENTATION_SUMMARY.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/COMPACT_LAYOUT_UPDATE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/COMPLETE_IMPLEMENTATION_SUMMARY.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/COMPLETE_PROJECT_SUMMARY.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/DATABASE_FINAL_SUMMARY.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/DATABASE_IMPLEMENTATION.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/DATABASE_PRODUCTION_READY.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/DATABASE_QUICK_REFERENCE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/DUAL_VERSION_STRATEGY.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/FINAL_SESSION_SUMMARY.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/FOLDER_STRUCTURE_UPDATE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/GITHUB_PAGES_SETUP.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/IMPLEMENTATION_CHECKLIST.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/IMPLEMENTATION_COMPLETE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/IMPLEMENTATION_COMPLETE_COMPACT_LAYOUT.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/IMPLEMENTATION_READY.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/IMPLEMENTATION_STATUS_PHASE2_READY.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/KEYBOARD_SHORTCUTS_MATCHES.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/LAYOUT_BEFORE_AFTER.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/MASTER_INDEX.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/MATCH_DISPLAY_IMPROVEMENTS.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/MATCH_DISPLAY_LONG_SEGMENTS_UPDATE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/MATCH_DISPLAY_QUICK_REFERENCE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/MATCH_INSERTION_FEATURES.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/MATCH_SHORTCUTS_QUICK_REF.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/MODULAR_ARCHITECTURE_GUIDE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/PHASE2_IMPLEMENTATION_CHECKLIST.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/PHASE2_IMPLEMENTATION_DETAILED_CHECKLIST.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/PHASE2_IMPLEMENTATION_IN_PROGRESS.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/PHASE2_NEXT_STEPS.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/PHASE2_READY_TO_IMPLEMENT.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/PHASE2_START_HERE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/QT_MIGRATION_PLAN.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/QT_SESSION_SUMMARY.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/QUICK_SESSION_SUMMARY.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/RELEASE_Qt_v1.0.0_Phase5.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/RELEASE_v1.9.38.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/RELEASE_v3.7.1.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/RELEASE_v3.7.6.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/RELEASE_v3.7.7.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/RESTRUCTURE_COMPLETE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/SESSION_DOCUMENTATION_INDEX.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/SESSION_IMPLEMENTATION_SUMMARY.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/SESSION_LONG_SEGMENTS_COMPLETE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/SESSION_MATCH_FEATURES_COMPLETE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/SESSION_STATUS.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/SESSION_SUMMARY_Phase5.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/START_HERE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/START_IMPLEMENTATION_HERE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/STYLE_GUIDES_DELIVERABLES.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/STYLE_GUIDES_DOCUMENTATION_INDEX.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/STYLE_GUIDES_FEATURE_SUMMARY.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/STYLE_GUIDES_IMPLEMENTATION.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/STYLE_GUIDES_PROJECT_COMPLETION.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/STYLE_GUIDES_QUICK_REFERENCE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/STYLE_GUIDES_VISUAL_ARCHITECTURE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/TERMBASE_FIXES.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/TERMBASE_IMPLEMENTATION.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/TERMBASE_QUICK_START.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/TMX_CONCORDANCE_STYLE_HIGHLIGHTING.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/TMX_DUAL_HIGHLIGHTING.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/TMX_EDITOR_HIGHLIGHTING_UPDATE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/TMX_EDITOR_IMPLEMENTATION.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/TMX_EDITOR_WORD_HIGHLIGHTING.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/TMX_TABLE_LAYOUT_INTEGRATED_EDIT.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/TMX_TREEVIEW_GRID_RESIZABLE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/TMX_WORD_HIGHLIGHTING_IMPLEMENTATION_COMPLETE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/TMX_WORD_HIGHLIGHTING_SUMMARY.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/TM_MATCH_PANE_CHECKLIST.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/TM_MATCH_PANE_IMPLEMENTATION.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/TM_MATCH_PANE_VISUAL_GUIDE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/VISUAL_COLOR_REFERENCE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/development/VISUAL_IMPLEMENTATION_SUMMARY.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/sessions/COLOR_FIX_EXPLANATION.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/sessions/DATABASE_CONSOLIDATION_REPORT.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/sessions/DUAL_EDITOR_WORKFLOW.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/sessions/DUAL_SELECTION_SYSTEM.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/sessions/IMPROVEMENTS_SUMMARY.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/sessions/ISSUES_FIXES_PROGRESS.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/sessions/MATCH_DISPLAY_COMPACT_FIXES.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/sessions/README_SESSION_TERMBASE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/sessions/SAFE_DELETION_REMINDER.txt +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/sessions/SESSION_SUMMARY.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/sessions/TERMBASE_FIXES_APPLIED.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/sessions/TESTING_CHECKLIST.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/sessions/TMX_EDITOR_ANNOUNCEMENT.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/archive/sessions/TRANSLATION_RESULTS_IMPROVEMENTS.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/assets/Figure1.png +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/assets/patent-drawing-1951.jpg +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/changelog.html +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/dev-notes/QA.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/dev-notes/STYLE_GUIDES_UI_TEMPLATE.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/dev-notes/_Notes_2025-11-21.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/dev-notes/_things_to_remind_AIs_of_when_translating.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/dev-notes/issue_28.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/dev-notes/openai_debug.txt +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/dev-notes/pre-translation-dialog-enhancement.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/emoji_mockup.html +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/favicon.ico +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/guides/AI_PROMPT_ASSISTANT_USER_GUIDE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/guides/ENCODING_REPAIR_TOOL.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/guides/FAQ.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/guides/GLOSSARY_OF_SUPERVERTALER_TERMINOLOGY.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/guides/JSON_EDITORS_AND_HUMAN_READABLE_FORMAT.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/guides/KEYBOARD_SHORTCUTS.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/guides/PDF_RESCUE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/guides/PROMPT_ASSISTANT_USER_GUIDE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/guides/QT_SETTINGS_DIALOG_GUIDE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/guides/TERM_EXTRACTION_GUIDE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/guides/USER_DATA_FOLDER_SETUP.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/idea_beijer.bot_integration_idea/BEIJERBOT_FEATURE_ANALYSIS.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/idea_beijer.bot_integration_idea/CLI_BRIDGE_SPECIFICATION.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/idea_beijer.bot_integration_idea/IMPLEMENTATION_ROADMAP.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/idea_beijer.bot_integration_idea/QUICKMENU_INTEGRATION_PLAN.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/idea_beijer.bot_integration_idea/README.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/idea_tag-cleaner/tag_cleaner.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/idea_use_vscode_as_cat_tool/ai-agent-translation-workflow.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/logo.png +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/screenshots/2025-10-13_00-46-16.jpg +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/screenshots/Superlookup_Web_resources.jpg +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/screenshots/Supervertaler_AI-Assistant.jpg +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/screenshots/Supervertaler_CLASSIC_v2.4.1_(tkinter).jpg +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/screenshots/Supervertaler_Prompt_Manager_2026-01-14.png +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/screenshots/Supervertaler_Qt_LLM_LeaderboardResults_2025-11-12.jpg +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/screenshots/Supervertaler_Qt_LLM_Leaderboard_2025-11-12.jpg +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/screenshots/Supervertaler_Superbrowser.jpg +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/screenshots/Supervertaler_dark_mode_2025-12-16.jpg +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/screenshots/Supervertaler_dark_mode_2025-12-17.jpg +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/screenshots/Supervertaler_grid.jpg +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/screenshots/Supervertaler_tkinter (v3.7.7).jpg +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/screenshots/Supervertaler_v1.9.102_compare_panel_2026-01-14.png +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/screenshots/Supervertaler_v1.9.102_grid_2026-01-14.png +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/screenshots/new/Supervertaler-grid.jpg +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/screenshots/new/Supervertaler_AI-Assistant.jpg +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/screenshots/new/Supervertaler_Prompt-Library.jpg +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/screenshots/new/Supervertaler_Qt_LLM_LeaderboardResults_2025-11-12.jpg +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/screenshots/new/Supervertaler_Qt_LLM_Leaderboard_2025-11-12.jpg +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/screenshots/new/Supervertaler_Superbrowser.jpg +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/screenshots/old/2025-10-13_00-50-24.jpg +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/screenshots/old/Supervertaler_Qt_2025-11-12.jpg +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/script.js +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/site.webmanifest +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/specifications/AI_ASSISTANT_PHASE2_IMPLEMENTATION.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/specifications/AI_PROMPT_ASSISTANT.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/specifications/AI_PROMPT_ASSISTANT_IMPLEMENTATION.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/specifications/EXPORT_MENU_UPDATE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/specifications/IMPLEMENTATION_SUMMARY.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/specifications/QT_PHASE2_COMPLETE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/specifications/QT_PHASE3_COMPLETE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/specifications/SUPERVERTALER_DATA_FORMAT.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/specifications/TASK_TYPE_SYSTEM.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/specifications/TERMINOLOGY_UPDATE_SUMMARY.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/specifications/opus-api-integration.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/styles.css +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/.gitbook/assets/supervertaler-logo.png +0 -0
- {supervertaler-1.9.183/docs → supervertaler-1.9.185/docs/superdocs/.gitbook/assets}/sv-icon.svg +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/GITBOOK_LANDING_DRAFT.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/README.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/SUMMARY.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/ai-translation/batch-translation.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/ai-translation/ollama.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/ai-translation/overview.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/ai-translation/prompt-library.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/ai-translation/prompts.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/ai-translation/providers.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/ai-translation/single-segment.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/cat-tools/cafetran.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/cat-tools/memoq.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/cat-tools/overview.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/cat-tools/phrase.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/cat-tools/trados.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/editor/editing-confirming.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/editor/filtering.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/editor/find-replace.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/editor/keyboard-shortcuts.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/editor/navigation.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/editor/pagination.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/editor/translation-grid.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/get-started/api-keys.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/get-started/first-project.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/get-started/installation.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/get-started/quick-start.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/glossaries/basics.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/glossaries/creating.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/glossaries/extraction.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/glossaries/highlighting.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/glossaries/importing.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/import-export/bilingual-tables.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/import-export/docx-import.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/import-export/exporting.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/import-export/formats.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/import-export/multi-file.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/import-export/txt-import.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/qa/non-translatables.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/qa/spellcheck.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/qa/tag-validation.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/reference/changelog.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/reference/contributing.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/reference/faq.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/reference/file-formats.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/settings/fonts.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/settings/general.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/settings/shortcuts.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/settings/theme.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/settings/view.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/superlookup/glossary-search.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/superlookup/mt.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/superlookup/overview.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/superlookup/tm-search.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/superlookup/web-resources.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/tools/autofingers.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/tools/image-extractor.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/tools/pdf-rescue.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/tools/tmx-editor.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/tools/voice-commands.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/translation-memory/basics.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/translation-memory/fuzzy-matching.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/translation-memory/importing-tmx.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/translation-memory/managing-tms.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/translation-memory/supermemory.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/troubleshooting/api-issues.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/troubleshooting/common-issues.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/troubleshooting/import-export-errors.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/troubleshooting/linux.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/superdocs/troubleshooting/performance.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/technical/AI_ASSISTANT_GUIDE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/technical/AI_ASSISTANT_IMPLEMENTATION.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/technical/AI_ASSISTANT_INTEGRATION.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/technical/AI_ASSISTANT_QUICK_REFERENCE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/technical/DATABASE_LOCATIONS.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/technical/FILTER_HIGHLIGHTING_FIX.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/technical/MODULE_HEADER_PATTERN.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/technical/README.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/technical/SUPERBROWSER_GUIDE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/technical/SUPERVOICE_TROUBLESHOOTING.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/technical/UNIFIED_PROMPT_LIBRARY_GUIDE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/technical/VOICE_DICTATION_GUIDE.md +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/tests/test_encoding_corruption.txt +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/web-app-manifest-192x192.png +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/docs/web-app-manifest-512x512.png +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/__init__.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/ai_actions.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/ai_attachment_manager.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/ai_file_viewer_dialog.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/autofingers_engine.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/cafetran_docx_handler.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/config_manager.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/database_manager.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/database_migrations.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/dejavurtf_handler.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/document_analyzer.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/docx_handler.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/encoding_repair.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/encoding_repair_Qt.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/encoding_repair_ui.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/extract_tm.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/feature_manager.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/figure_context_manager.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/file_dialog_helper.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/find_replace.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/find_replace_qt.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/glossary_manager.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/image_extractor.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/keyboard_shortcuts_widget.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/llm_clients.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/llm_leaderboard.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/llm_superbench_ui.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/local_llm_setup.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/model_update_dialog.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/model_version_checker.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/mqxliff_handler.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/non_translatables_manager.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/pdf_rescue_Qt.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/pdf_rescue_tkinter.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/phrase_docx_handler.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/project_home_panel.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/project_tm.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/prompt_assistant.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/prompt_library.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/prompt_library_migration.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/quick_access_sidebar.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/ribbon_widget.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/sdlppx_handler.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/setup_wizard.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/shortcut_manager.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/simple_segmenter.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/spellcheck_manager.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/statuses.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/style_guide_manager.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/superbench_ui.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/superbrowser.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/supercleaner.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/supercleaner_ui.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/superdocs.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/superdocs_viewer_qt.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/superlookup.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/tag_cleaner.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/tag_manager.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/term_extractor.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/termbase_entry_editor.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/termbase_import_export.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/termbase_manager.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/theme_manager.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/tm_editor_dialog.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/tm_manager_qt.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/tm_metadata_manager.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/tmx_editor.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/tmx_editor_qt.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/tmx_generator.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/tracked_changes.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/trados_docx_handler.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/translation_memory.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/translation_results_panel.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/translation_services.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/unified_prompt_library.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/voice_commands.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/voice_dictation.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/modules/voice_dictation_lite.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/setup.cfg +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/setup.py +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/supervertaler.egg-info/dependency_links.txt +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/supervertaler.egg-info/entry_points.txt +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/supervertaler.egg-info/not-zip-safe +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/supervertaler.egg-info/requires.txt +0 -0
- {supervertaler-1.9.183 → supervertaler-1.9.185}/supervertaler.egg-info/top_level.txt +0 -0
|
@@ -2,10 +2,38 @@
|
|
|
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.185 (February 1, 2026)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
+
## v1.9.185 - February 1, 2026
|
|
10
|
+
|
|
11
|
+
### 🎨 UI Improvements
|
|
12
|
+
|
|
13
|
+
- **Grid Zoom Shortcut**: Changed Grid Zoom In keyboard shortcut from Ctrl++ to Ctrl+= for easier access (no need to hold Shift). The = and + keys are on the same physical key, making this more intuitive and faster to use.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## v1.9.184 - February 1, 2026
|
|
18
|
+
|
|
19
|
+
### 🎨 UI Improvements
|
|
20
|
+
|
|
21
|
+
- **Dark Mode Refinements**: Improved text visibility in TermView panels (both bottom and right panel source text now use #FFFFFF for better contrast). HTML formatting tags (`<b>`, `</b>`, etc.) now display in light pink (#FFB6C1) in dark mode for enhanced readability.
|
|
22
|
+
|
|
23
|
+
- **TM Navigation Arrows**: Fixed navigation arrows in Match Panel and Compare Panel that were invisible or incorrectly rendered in dark mode. Now using crisp Unicode triangle symbols (◀ ▶) with theme-aware colors (white in dark mode, dark gray in light mode).
|
|
24
|
+
|
|
25
|
+
- **Table Header Font Size**: Reduced column header font size to match grid content (only bold, not larger), resulting in better visual proportions.
|
|
26
|
+
|
|
27
|
+
### 🐛 Bug Fixes
|
|
28
|
+
|
|
29
|
+
- **Prompt Library Updates**: Fixed Issue #112 where edited prompts were not immediately reflected in the Prompt Library or Preview Combined sections. Changes now update both the active primary prompt and attached prompts immediately after saving.
|
|
30
|
+
|
|
31
|
+
### 🛠️ Developer Experience
|
|
32
|
+
|
|
33
|
+
- **Windows Start Menu Shortcuts**: Added PowerShell scripts to create Start Menu shortcuts for both end users (`Supervertaler.exe`) and developers (`run.cmd`). Scripts are automatically included in release packages.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
9
37
|
## v1.9.183 - January 31, 2026
|
|
10
38
|
|
|
11
39
|
### ⚡ Performance: Instant Ctrl+Enter Navigation
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: supervertaler
|
|
3
|
-
Version: 1.9.
|
|
3
|
+
Version: 1.9.185
|
|
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
|
|
@@ -32,9 +32,9 @@ License: MIT
|
|
|
32
32
|
"""
|
|
33
33
|
|
|
34
34
|
# Version Information.
|
|
35
|
-
__version__ = "1.9.
|
|
35
|
+
__version__ = "1.9.185"
|
|
36
36
|
__phase__ = "0.9"
|
|
37
|
-
__release_date__ = "2026-01
|
|
37
|
+
__release_date__ = "2026-02-01"
|
|
38
38
|
__edition__ = "Qt"
|
|
39
39
|
|
|
40
40
|
import sys
|
|
@@ -1401,10 +1401,15 @@ class ReadOnlyGridTextEditor(QTextEdit):
|
|
|
1401
1401
|
self.setMouseTracking(True)
|
|
1402
1402
|
|
|
1403
1403
|
# Add syntax highlighter for tags (no spellcheck for source cells)
|
|
1404
|
-
# Get invisible char color from main window
|
|
1404
|
+
# Get invisible char color and tag color from main window (theme-aware)
|
|
1405
1405
|
main_window = self._get_main_window()
|
|
1406
1406
|
invisible_char_color = main_window.invisible_char_color if main_window and hasattr(main_window, 'invisible_char_color') else '#999999'
|
|
1407
|
-
|
|
1407
|
+
|
|
1408
|
+
# Use theme-aware tag color (light pink in dark mode, dark red in light mode)
|
|
1409
|
+
is_dark = main_window and hasattr(main_window, 'theme_manager') and main_window.theme_manager and main_window.theme_manager.current_theme.name == "Dark"
|
|
1410
|
+
tag_color = '#FFB6C1' if is_dark else self.tag_highlight_color # Light pink in dark mode
|
|
1411
|
+
|
|
1412
|
+
self.highlighter = TagHighlighter(self.document(), tag_color, invisible_char_color, enable_spellcheck=False)
|
|
1408
1413
|
|
|
1409
1414
|
# Store raw text (with tags) for mode switching
|
|
1410
1415
|
self._raw_text = text
|
|
@@ -2726,10 +2731,15 @@ class EditableGridTextEditor(QTextEdit):
|
|
|
2726
2731
|
self.setPalette(palette)
|
|
2727
2732
|
|
|
2728
2733
|
# Add syntax highlighter for tags (with spellcheck enabled for target cells)
|
|
2729
|
-
# Get invisible char color from main window
|
|
2734
|
+
# Get invisible char color and tag color from main window (theme-aware)
|
|
2730
2735
|
main_window = self._get_main_window()
|
|
2731
2736
|
invisible_char_color = main_window.invisible_char_color if main_window and hasattr(main_window, 'invisible_char_color') else '#999999'
|
|
2732
|
-
|
|
2737
|
+
|
|
2738
|
+
# Use theme-aware tag color (light pink in dark mode, dark red in light mode)
|
|
2739
|
+
is_dark = main_window and hasattr(main_window, 'theme_manager') and main_window.theme_manager and main_window.theme_manager.current_theme.name == "Dark"
|
|
2740
|
+
tag_color = '#FFB6C1' if is_dark else self.tag_highlight_color # Light pink in dark mode
|
|
2741
|
+
|
|
2742
|
+
self.highlighter = TagHighlighter(self.document(), tag_color, invisible_char_color, enable_spellcheck=True)
|
|
2733
2743
|
|
|
2734
2744
|
# Style to look like a normal cell with subtle selection
|
|
2735
2745
|
# Background and text colors now managed by theme system
|
|
@@ -6360,7 +6370,13 @@ class SupervertalerQt(QMainWindow):
|
|
|
6360
6370
|
self.termview_widget.theme_manager = self.theme_manager
|
|
6361
6371
|
if hasattr(self.termview_widget, 'apply_theme'):
|
|
6362
6372
|
self.termview_widget.apply_theme()
|
|
6363
|
-
|
|
6373
|
+
|
|
6374
|
+
# Also update the Match Panel TermView (right panel)
|
|
6375
|
+
if hasattr(self, 'termview_widget_match') and self.termview_widget_match:
|
|
6376
|
+
self.termview_widget_match.theme_manager = self.theme_manager
|
|
6377
|
+
if hasattr(self.termview_widget_match, 'apply_theme'):
|
|
6378
|
+
self.termview_widget_match.apply_theme()
|
|
6379
|
+
|
|
6364
6380
|
if hasattr(self, 'translation_results_panel') and self.translation_results_panel:
|
|
6365
6381
|
self.translation_results_panel.theme_manager = self.theme_manager
|
|
6366
6382
|
# Also update class-level theme_manager for CompactMatchItem
|
|
@@ -8013,7 +8029,7 @@ class SupervertalerQt(QMainWindow):
|
|
|
8013
8029
|
grid_zoom_menu = view_menu.addMenu("📊 &Grid Text Zoom")
|
|
8014
8030
|
|
|
8015
8031
|
grid_zoom_in = QAction("Grid Zoom &In", self)
|
|
8016
|
-
grid_zoom_in.setShortcut(
|
|
8032
|
+
grid_zoom_in.setShortcut("Ctrl+=")
|
|
8017
8033
|
grid_zoom_in.triggered.connect(self.zoom_in)
|
|
8018
8034
|
grid_zoom_menu.addAction(grid_zoom_in)
|
|
8019
8035
|
|
|
@@ -29100,6 +29116,9 @@ class SupervertalerQt(QMainWindow):
|
|
|
29100
29116
|
segment_num_color = "black" if theme.name in ["Light (Default)", "Soft Gray", "Warm Cream", "Sepia", "High Contrast"] else theme.text
|
|
29101
29117
|
id_item.setForeground(QColor(segment_num_color))
|
|
29102
29118
|
id_item.setBackground(QColor()) # Default background from theme
|
|
29119
|
+
# Smaller font for segment numbers
|
|
29120
|
+
seg_num_font = QFont(self.default_font_family, max(8, self.default_font_size - 2))
|
|
29121
|
+
id_item.setFont(seg_num_font)
|
|
29103
29122
|
self.table.setItem(row, 0, id_item)
|
|
29104
29123
|
|
|
29105
29124
|
# Type - show segment type based on style and content
|
|
@@ -29182,13 +29201,17 @@ class SupervertalerQt(QMainWindow):
|
|
|
29182
29201
|
type_item = QTableWidgetItem(type_display)
|
|
29183
29202
|
type_item.setFlags(type_item.flags() & ~Qt.ItemFlag.ItemIsEditable) # Read-only
|
|
29184
29203
|
type_item.setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
29185
|
-
|
|
29204
|
+
|
|
29186
29205
|
# Color-code by type for better visibility
|
|
29187
29206
|
if type_display in ("H1", "H2", "H3", "H4", "Title"):
|
|
29188
29207
|
type_item.setForeground(QColor("#1976D2")) # Blue for headings (works in both themes)
|
|
29189
29208
|
elif type_display.startswith("#") or type_display in ("•", "li"):
|
|
29190
29209
|
type_item.setForeground(QColor("#388E3C")) # Green for list items (works in both themes)
|
|
29191
|
-
|
|
29210
|
+
|
|
29211
|
+
# Smaller font for type symbols
|
|
29212
|
+
type_font = QFont(self.default_font_family, max(8, self.default_font_size - 2))
|
|
29213
|
+
type_item.setFont(type_font)
|
|
29214
|
+
|
|
29192
29215
|
self.table.setItem(row, 1, type_item)
|
|
29193
29216
|
|
|
29194
29217
|
# Source - Use read-only QTextEdit widget for easy text selection
|
|
@@ -29465,9 +29488,13 @@ class SupervertalerQt(QMainWindow):
|
|
|
29465
29488
|
termview_layout.setContentsMargins(4, 4, 4, 0)
|
|
29466
29489
|
termview_layout.setSpacing(2)
|
|
29467
29490
|
|
|
29468
|
-
# Termview header label
|
|
29491
|
+
# Termview header label (theme-aware)
|
|
29469
29492
|
termview_header = QLabel("📖 Termview")
|
|
29470
|
-
|
|
29493
|
+
if hasattr(self, 'theme_manager') and self.theme_manager:
|
|
29494
|
+
header_color = self.theme_manager.current_theme.text_disabled
|
|
29495
|
+
else:
|
|
29496
|
+
header_color = "#666"
|
|
29497
|
+
termview_header.setStyleSheet(f"font-weight: bold; font-size: 9px; color: {header_color};")
|
|
29471
29498
|
termview_layout.addWidget(termview_header)
|
|
29472
29499
|
|
|
29473
29500
|
# Third Termview instance for Match Panel
|
|
@@ -29491,11 +29518,19 @@ class SupervertalerQt(QMainWindow):
|
|
|
29491
29518
|
tm_layout = QHBoxLayout(tm_container)
|
|
29492
29519
|
tm_layout.setContentsMargins(0, 0, 0, 0)
|
|
29493
29520
|
tm_layout.setSpacing(0)
|
|
29494
|
-
|
|
29495
|
-
#
|
|
29496
|
-
|
|
29497
|
-
|
|
29498
|
-
|
|
29521
|
+
|
|
29522
|
+
# Get theme-aware colors for TM boxes (same as Compare Panel)
|
|
29523
|
+
if hasattr(self, 'theme_manager') and self.theme_manager:
|
|
29524
|
+
theme = self.theme_manager.current_theme
|
|
29525
|
+
is_dark = getattr(theme, 'is_dark', 'dark' in theme.name.lower())
|
|
29526
|
+
border_color = theme.border
|
|
29527
|
+
text_color = theme.text
|
|
29528
|
+
# Green background - theme-appropriate shade
|
|
29529
|
+
tm_box_bg = theme.panel_success if hasattr(theme, 'panel_success') else ("#1e3a2f" if is_dark else "#d4edda")
|
|
29530
|
+
else:
|
|
29531
|
+
tm_box_bg = "#d4edda" # Green (light mode)
|
|
29532
|
+
text_color = "#333"
|
|
29533
|
+
border_color = "#ddd"
|
|
29499
29534
|
|
|
29500
29535
|
# TM Source box (GREEN, with navigation)
|
|
29501
29536
|
self.match_panel_tm_matches = [] # Separate match list
|
|
@@ -29637,42 +29672,58 @@ class SupervertalerQt(QMainWindow):
|
|
|
29637
29672
|
header_layout.addWidget(nav_label)
|
|
29638
29673
|
|
|
29639
29674
|
if has_navigation:
|
|
29640
|
-
|
|
29641
|
-
|
|
29642
|
-
|
|
29643
|
-
|
|
29644
|
-
|
|
29645
|
-
|
|
29646
|
-
|
|
29647
|
-
|
|
29648
|
-
|
|
29649
|
-
|
|
29650
|
-
|
|
29651
|
-
|
|
29652
|
-
|
|
29653
|
-
|
|
29654
|
-
|
|
29655
|
-
|
|
29656
|
-
|
|
29675
|
+
# Detect theme for arrow color
|
|
29676
|
+
is_dark_theme = hasattr(self, 'theme_manager') and self.theme_manager and 'dark' in self.theme_manager.current_theme.name.lower()
|
|
29677
|
+
arrow_color = "#FFFFFF" if is_dark_theme else "#333333"
|
|
29678
|
+
|
|
29679
|
+
# Create clickable label class with theme update capability
|
|
29680
|
+
from PyQt6.QtCore import pyqtSignal
|
|
29681
|
+
|
|
29682
|
+
class ClickableArrow(QLabel):
|
|
29683
|
+
clicked = pyqtSignal()
|
|
29684
|
+
|
|
29685
|
+
def __init__(self, arrow_symbol, parent=None):
|
|
29686
|
+
"""arrow_symbol: '◀' or '▶'"""
|
|
29687
|
+
self.arrow_symbol = arrow_symbol
|
|
29688
|
+
super().__init__("", parent)
|
|
29689
|
+
self.setCursor(Qt.CursorShape.PointingHandCursor)
|
|
29690
|
+
|
|
29691
|
+
def set_color(self, color):
|
|
29692
|
+
"""Update arrow color for current theme"""
|
|
29693
|
+
self.setStyleSheet(f"""
|
|
29694
|
+
QLabel {{
|
|
29695
|
+
color: {color};
|
|
29696
|
+
background: transparent;
|
|
29697
|
+
border: none;
|
|
29698
|
+
font-size: 11px;
|
|
29699
|
+
font-weight: bold;
|
|
29700
|
+
}}
|
|
29701
|
+
""")
|
|
29702
|
+
self.setText(self.arrow_symbol)
|
|
29703
|
+
|
|
29704
|
+
def mousePressEvent(self, event):
|
|
29705
|
+
self.clicked.emit()
|
|
29706
|
+
super().mousePressEvent(event)
|
|
29707
|
+
|
|
29708
|
+
# Prev arrow - using ◀
|
|
29709
|
+
prev_btn = ClickableArrow("◀")
|
|
29710
|
+
prev_btn.set_color(arrow_color)
|
|
29711
|
+
prev_btn.setFixedSize(16, 16)
|
|
29712
|
+
prev_btn.setAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
29657
29713
|
header_layout.addWidget(prev_btn)
|
|
29658
|
-
|
|
29659
|
-
# Next
|
|
29660
|
-
next_btn =
|
|
29661
|
-
next_btn.
|
|
29662
|
-
next_btn.
|
|
29663
|
-
|
|
29664
|
-
font-size: 9px;
|
|
29665
|
-
padding: 0px;
|
|
29666
|
-
background: transparent;
|
|
29667
|
-
border: 1px solid {border_color};
|
|
29668
|
-
border-radius: 2px;
|
|
29669
|
-
color: {text_color};
|
|
29670
|
-
}}
|
|
29671
|
-
QPushButton:hover {{
|
|
29672
|
-
background: rgba(128,128,128,0.2);
|
|
29673
|
-
}}
|
|
29674
|
-
""")
|
|
29714
|
+
|
|
29715
|
+
# Next arrow - using ▶
|
|
29716
|
+
next_btn = ClickableArrow("▶")
|
|
29717
|
+
next_btn.set_color(arrow_color)
|
|
29718
|
+
next_btn.setFixedSize(16, 16)
|
|
29719
|
+
next_btn.setAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
29675
29720
|
header_layout.addWidget(next_btn)
|
|
29721
|
+
|
|
29722
|
+
# Store reference for theme updates
|
|
29723
|
+
if not hasattr(self, 'theme_aware_arrows'):
|
|
29724
|
+
self.theme_aware_arrows = []
|
|
29725
|
+
self.theme_aware_arrows.extend([prev_btn, next_btn])
|
|
29726
|
+
|
|
29676
29727
|
nav_buttons = [prev_btn, next_btn]
|
|
29677
29728
|
|
|
29678
29729
|
header_layout.addStretch()
|
|
@@ -30601,8 +30652,8 @@ class SupervertalerQt(QMainWindow):
|
|
|
30601
30652
|
status_label = QLabel(status_def.icon)
|
|
30602
30653
|
status_label.setAlignment(Qt.AlignmentFlag.AlignVCenter | Qt.AlignmentFlag.AlignLeft)
|
|
30603
30654
|
status_label.setToolTip(status_def.label)
|
|
30604
|
-
#
|
|
30605
|
-
font_size = "
|
|
30655
|
+
# Smaller red X for "not_started" to match green checkmark visual size
|
|
30656
|
+
font_size = "8px" if segment.status == "not_started" else "13px"
|
|
30606
30657
|
# Make confirmed checkmark green
|
|
30607
30658
|
color = "color: #2e7d32;" if segment.status == "confirmed" else ""
|
|
30608
30659
|
|
|
@@ -30779,7 +30830,7 @@ class SupervertalerQt(QMainWindow):
|
|
|
30779
30830
|
|
|
30780
30831
|
self.table.setFont(font)
|
|
30781
30832
|
|
|
30782
|
-
# Also update header font
|
|
30833
|
+
# Also update header font - same size as grid content, just bold
|
|
30783
30834
|
header_font = QFont(self.default_font_family, self.default_font_size, QFont.Weight.Bold)
|
|
30784
30835
|
self.table.horizontalHeader().setFont(header_font)
|
|
30785
30836
|
|
|
@@ -43938,7 +43989,15 @@ OUTPUT ONLY THE SEGMENT MARKERS. DO NOT ADD EXPLANATIONS BEFORE OR AFTER."""
|
|
|
43938
43989
|
# Reapply alternating row colors with new theme
|
|
43939
43990
|
if hasattr(self, 'apply_alternating_row_colors'):
|
|
43940
43991
|
self.apply_alternating_row_colors()
|
|
43941
|
-
|
|
43992
|
+
|
|
43993
|
+
# Update navigation arrow colors based on theme
|
|
43994
|
+
if hasattr(self, 'theme_aware_arrows'):
|
|
43995
|
+
is_dark = theme.name == "Dark"
|
|
43996
|
+
arrow_color = "#FFFFFF" if is_dark else "#333333"
|
|
43997
|
+
for arrow in self.theme_aware_arrows:
|
|
43998
|
+
if hasattr(arrow, 'set_color'):
|
|
43999
|
+
arrow.set_color(arrow_color)
|
|
44000
|
+
|
|
43942
44001
|
# Refresh segment numbers color
|
|
43943
44002
|
if hasattr(self, 'table') and self.table:
|
|
43944
44003
|
# Determine segment number color based on theme
|
|
@@ -43975,6 +44034,11 @@ OUTPUT ONLY THE SEGMENT MARKERS. DO NOT ADD EXPLANATIONS BEFORE OR AFTER."""
|
|
|
43975
44034
|
if hasattr(self.termview_widget, 'apply_theme'):
|
|
43976
44035
|
self.termview_widget.apply_theme()
|
|
43977
44036
|
|
|
44037
|
+
# Also refresh Match Panel TermView (right panel)
|
|
44038
|
+
if hasattr(self, 'termview_widget_match') and self.termview_widget_match:
|
|
44039
|
+
if hasattr(self.termview_widget_match, 'apply_theme'):
|
|
44040
|
+
self.termview_widget_match.apply_theme()
|
|
44041
|
+
|
|
43978
44042
|
def show_file_progress_dialog(self):
|
|
43979
44043
|
"""Show File Progress dialog for multi-file projects.
|
|
43980
44044
|
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Icon Generation Guide
|
|
2
|
+
|
|
3
|
+
## Problem: Pixelated Icons
|
|
4
|
+
|
|
5
|
+
The original `icon.ico` was only 836 bytes with a single low resolution, causing pixelation in:
|
|
6
|
+
- Windows Start Menu
|
|
7
|
+
- Taskbar
|
|
8
|
+
- Application window title bar
|
|
9
|
+
- Desktop shortcuts
|
|
10
|
+
|
|
11
|
+
## Solution: Multi-Resolution .ico File
|
|
12
|
+
|
|
13
|
+
Windows .ico files should contain multiple resolutions for crisp display:
|
|
14
|
+
- **16x16** - Small icons, file explorer details view
|
|
15
|
+
- **32x32** - Standard icons, file explorer list view
|
|
16
|
+
- **48x48** - Large icons, file explorer thumbnail view
|
|
17
|
+
- **256x256** - High-DPI displays, Windows 10/11 Start Menu tiles
|
|
18
|
+
|
|
19
|
+
## How to Generate a New Icon
|
|
20
|
+
|
|
21
|
+
### Step 1: Install Dependencies
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
pip install Pillow cairosvg
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Step 2: Choose Your SVG Source
|
|
28
|
+
|
|
29
|
+
Available SVG files in this folder:
|
|
30
|
+
- `icon_sv_website.svg` - Current website icon (blue gradient circle with "Sv")
|
|
31
|
+
- `icon_sv_simple.svg` - Simplified version
|
|
32
|
+
- `icon_sv_modern.svg` - Modern variant
|
|
33
|
+
- `icon_sv_modern_paths.svg` - Modern variant with paths
|
|
34
|
+
|
|
35
|
+
### Step 3: Run the Generator
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
python create_icon_from_svg.py
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
This will:
|
|
42
|
+
1. Convert the SVG to PNG at sizes: 16x16, 32x32, 48x48, 256x256
|
|
43
|
+
2. Combine all PNGs into a single `icon.ico` file
|
|
44
|
+
3. Replace the old icon.ico in the assets folder
|
|
45
|
+
|
|
46
|
+
### Step 4: Rebuild the Windows EXE
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
.\build_windows_release.ps1
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
The new multi-resolution icon will be embedded in `Supervertaler.exe` via the PyInstaller spec file.
|
|
53
|
+
|
|
54
|
+
## Customizing
|
|
55
|
+
|
|
56
|
+
To use a different SVG or different sizes, edit `create_icon_from_svg.py`:
|
|
57
|
+
|
|
58
|
+
```python
|
|
59
|
+
# Change the source SVG
|
|
60
|
+
svg_path = assets_dir / 'icon_sv_modern.svg'
|
|
61
|
+
|
|
62
|
+
# Change the output sizes
|
|
63
|
+
sizes = [16, 24, 32, 48, 64, 128, 256]
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Technical Details
|
|
67
|
+
|
|
68
|
+
- **Format**: Windows ICO (multi-resolution)
|
|
69
|
+
- **Tool**: cairosvg for SVG→PNG, Pillow for PNG→ICO
|
|
70
|
+
- **Expected Size**: ~15-30 KB for multi-resolution .ico
|
|
71
|
+
- **Original Size**: 836 bytes (single resolution, pixelated)
|
|
72
|
+
|
|
73
|
+
## Alternatives
|
|
74
|
+
|
|
75
|
+
If you don't want to install cairosvg, you can:
|
|
76
|
+
1. Use an online converter (e.g., CloudConvert, RealFaviconGenerator)
|
|
77
|
+
2. Use GIMP: Open SVG → Export as .ico → Select multiple sizes
|
|
78
|
+
3. Use ImageMagick: `convert icon.svg -resize 256x256 -define icon:auto-resize="256,128,64,48,32,16" icon.ico`
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|