Commit e410756
committed
feat: Implement internationalization (i18n) and enhance UI/error handling
This commit introduces comprehensive internationalization support for the application, allowing users to switch between English and Japanese user interfaces. It also includes significant improvements to error handling, UI responsiveness, and overall stability.
Key changes:
- Added `strings.py` to manage UI text for English and Japanese.
- Implemented dynamic language switching via a new "Language" menu.
- Updated all relevant UI components (menus, labels, buttons, tooltips, Advanced Yaw Selector) to reflect the selected language.
- Enhanced `gui_app.py`:
- Refactored menu creation for robust language switching.
- Improved handling of combobox selections during language changes.
- Strengthened error handling for FFmpeg/ffprobe checks and video info retrieval.
- Added Python and Tkinter version checks at startup in `insta360convert.py`.
- Enhanced `ffmpeg_worker.py`:
- Improved CUDA error detection logic.
- Added default values for potentially missing configuration keys.
- Refined FFmpeg command construction and output handling.
- Enhanced `update_checker.py`:
- Improved network error handling and API response parsing.
- Standardized message key a.k.a. return for GUI.
- Enhanced `tooltip_utils.py`:
- Improved cursor tracking and tooltip positioning logic for better stability.
- Updated `constants.py` with new version information (v2.2.0) and minor comment clarifications.
- Updated `README.md` to reflect new features, version, and updated requirements.
- Refined Windows batch file for launching the application.
Bug Fixes:
- Resolved TclError related to menu label updates during language switching.
- Fixed `TypeError` for `Pool.join()` by removing unsupported `timeout` argument.
- Addressed potential issues in video info parsing and CUDA compatibility checks.1 parent e570c5e commit e410756
12 files changed
Lines changed: 3552 additions & 1714 deletions
Large diffs are not rendered by default.
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
3 | | - | |
4 | | - | |
| 2 | + | |
5 | 3 | | |
6 | 4 | | |
7 | | - | |
8 | | - | |
| 5 | + | |
9 | 6 | | |
10 | | - | |
11 | | - | |
12 | 7 | | |
13 | | - | |
| 8 | + | |
14 | 9 | | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | 10 | | |
19 | 11 | | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
| 12 | + | |
36 | 13 | | |
37 | 14 | | |
38 | | - | |
39 | | - | |
| 15 | + | |
| 16 | + | |
40 | 17 | | |
41 | 18 | | |
42 | 19 | | |
43 | 20 | | |
44 | 21 | | |
45 | 22 | | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
0 commit comments