Commit Graph
296 Commits
Author SHA1 Message Date
Alex Xu dd7978adb0 rename kepubs with folder input 2026-10-18 15:34:26 -07:00
Alex Xu 4b48b045d2 keep spaces, remove special characters in kepub filenames (#1465)
* rename KEPUBs same as Kobo touch driver

* add kepub ! note
2026-10-18 15:05:28 -07:00
Alex Xu 1f15bfd5c5 add custom fixed resolutions 2026-10-16 13:09:28 -07:00
Ryuga6 a053b3ea9f Add multi-language i18n support (Simplified Chinese, Japanese, Korean) (#1453)
* Add multi-language i18n support (English, Chinese, Japanese, Korean)

- Add i18n.py module for translation management via QTranslator
- Add Simplified Chinese (zh_CN), Japanese (ja_JP), and Korean (ko_KR) translations
- Integrate translation files into Qt resource system (KCC.qrc / KCC_rc.py)
- Add language switcher button in the top button bar of main window
- Language setting persists via QSettings
- Dynamic text updates work correctly after language switch
- Support %1, %2, %3 placeholders via tr_arg() helper function
- KCCGUI and KCCGUI_MetaEditor now inherit QObject for tr() support

* Complete Japanese/Korean/Chinese translations + fix language switch issues

- Fill 61 missing Japanese translations (tooltips, 3-state checkboxes, etc.)
- Fill 61 missing Korean translations (tooltips, 3-state checkboxes, etc.)
- Fill 6 missing Chinese translations
- Fix language menu: use QActionGroup for exclusive (single-select) checkmarks
- Fix jobList initial tips: refresh translations on language switch by
  updating label text directly (preserves message order and user-added entries)
- Add PROJECT_I18N_README.md developer documentation

* Replace emoji language icon with PNG globe icon

Fixes PR review feedback from axu2: the emoji character doesn't render on Windows 7 (no emoji font support). Replaced with a PNG globe icon from Wikimedia Commons (CC license), loaded via Qt resource system for consistent cross-platform rendering.

* Fix RuntimeError when switching language: re-fetch labels from jobList

Previously, QLabel references were saved directly, but the underlying

C++ objects could be deleted by Qt, causing RuntimeError on access.

Now we save only source strings and re-fetch labels from jobList

items when updating, with try/except as a safety net.

* Use text label for language button instead of PNG icon

Replace the globe PNG icon with a plain text button (' 文 A ')

so its color automatically follows the system light/dark theme,

per review feedback. Removes icons/language.png and its QRC entry.

* Finalize i18n: retranslate jobList messages and translate CLI output

- Add source= to 16 GUI addMessage calls so already-shown messages retranslate on language switch
- Translate comic2ebook.py conversion/CLI messages via QCoreApplication.translate('KCCGUI', ...)
- Clear 29 unfinished WorkerThread translations (context unified to KCCGUI)
- Guard apply_language when QApplication is not yet created
- Trim dead imports and redundant code

* Avoid duplicated source strings: translate inside addMessage

Replace the self.tr/translate + source= pattern (same string written twice) with
QT_TRANSLATE_NOOP('KCCGUI', ...) at call sites; addMessage now translates internally
and stores the source text for retranslation on language switch.

- Drop the source parameter from addMessage; simplify signal to 3 args
- Include comic2ebook.py in lupdate (20 CLI/conversion messages)

* Add translation maintenance workflow

Add gen_translation_files.sh/.bat, TRANSLATION.md, and a README pointer; remove the superseded PROJECT_I18N_README.md.

* chmod +x
2026-10-13 11:10:33 -07:00
Alex Xu 1cc8db37e2 fix dark images on Kindle 1/2/3 for cbz png (#1450) 2026-09-25 13:33:39 -07:00
Alex Xu 2ac50f66ef add Legacy Panel View option from KCC 6 (#1445) 2026-09-21 13:38:39 -07:00
Alex Xu 6ce8d6fecb crop before split instead of after (#1444) 2026-09-20 22:37:08 -07:00
Alex Xu 19eda3aad2 don't crop first page if its color (#1441) 2026-09-16 15:07:10 -07:00
Alex Xu aaf3548595 increase search range 2026-09-15 18:25:32 -07:00
Alex Xu ea8a4db26e search for windows kindlegen 2026-09-15 18:25:32 -07:00
Alex Xu aa652ff6c0 refactor kindlegen check 2026-09-15 18:25:32 -07:00
Alex Xu 7245fdf2e1 support kindle previewer 4 (#1439) 2026-09-14 15:56:18 -07:00
Alex Xu fe85274105 implement custom covers for webtoon and fusion (#1438) 2026-09-14 13:06:53 -07:00
Alex Xu 3be76ec89f add legacy extract warning (#1433) 2026-09-03 21:52:27 -07:00
Alex Xu 38fa13610f A "Covers" folder next to source files defines custom covers (#1432)
* A "Covers" folder next to source files defines custom covers

* fix case with output folder unchecked
2026-09-03 15:00:07 -07:00
Alex Xu 9decf0e68e add wallpaper mode for KOreader (#1431)
* add wallpaper mode for KOreader

* fix wallpaper interactions with no rotate
2026-09-03 10:21:08 -07:00
Alex Xu 55468019dd add folder output option (#1430) 2026-09-02 16:56:42 -07:00
Alex Xu a503f54f9f Spread labels support left to right (#1428) 2026-08-28 14:38:22 -07:00
Alex Xu c8cf50da0a fix spread label when it's the first page (#1426) 2026-08-26 11:40:25 -07:00
Alex Xu b3e1d393b6 Manually label spreads button (#1412)
* initial commit

* initial commit 2

* json it

* UI labels

* basics

* add todo

* options to getWorkFolder

* refactor options

* refactor UI

* cleanup

* pdf fixed size

* remove comment

* finalized json creation

* fix help text

* finalized

* remove print

* add youtube
2026-07-31 22:25:41 -07:00
Alex Xu b4c71b3b91 pass options to slugify (#1411) 2026-07-29 17:06:52 -07:00
Alex Xu 7e412f12ae pass options to getWorkFolder (#1410) 2026-07-29 16:41:34 -07:00
Nils Leo 2076775d94 Create the destination dir before flattening a single-subfolder archive (#1405) 2026-07-23 22:43:16 -07:00
Alex Xu ff5edc5ce5 fix: Destination path... already exists (#1404) 2026-07-20 14:21:42 -07:00
Alex Xu 6f9f5067d8 Merge pull request #1384 from drshliapa/fix/912-preserve-comicinfo
add Keep ComicInfo.xml in CBZ output option
2026-07-10 18:38:05 -07:00
Alex Xu 11be0dffcc make it an option 2026-07-10 18:32:44 -07:00
Alex Xu 4c10569ab1 millisecond timestamp kindlegen log (#1393) 2026-07-10 17:47:34 -07:00
Alex Xu feec40ffc8 more detailed kindlegen warnings (#1390)
* show kindlegen warnings and errors

* show kindlegen warnings

* dump kindlegen logs to txt

* move warnings to end

* don't show webtoon cover warning

* fix typo

* add timestamp to kindlegen log dump

* double enter

* add TODO

* add more TODO

* fix comment

* final clean up
2026-07-10 13:57:20 -07:00
Alex Xu ca14a4c813 don't crash on empty nested folders (#1388) 2026-07-08 17:46:46 -07:00
Alex Xu 0c1071a358 fix Access is denied with read only input folder (2013 bug) (#1387)
* fix Access is denied on read only input folders

* minimize changes
2026-07-08 17:22:23 -07:00
Alex Xu 858251f509 show entire kindlegen error (#1386) 2026-07-07 10:02:26 -07:00
Marian Leontiev 3c66aa9a67 preserve ComicInfo.xml in CBZ output for Other profile 2026-07-05 21:07:26 +02:00
Aldijonas 077957e665 Rename 'cover.jpg' file to '##cover.jpg' (#1383) 2026-07-05 07:34:26 -07:00
Aldijonas c3f86e29c8 Rename cover.jpg to !cover.jpg in CBZ (#1381)
Change cover image filename from 'cover.jpg' to '!cover.jpg' in line 1907 for correct cover display when using CBZ file format
2026-07-02 16:41:37 -07:00
Alex Xu 3723bf9d52 add light novel mode (#1361)
* add a novel mode where it only resizes images

* add GUI

* cleanup

* fix typo

* fully cooked

* remove print

* clean up

* cook

* cook

* handle LA case

* cleanup
2026-06-26 10:23:28 -07:00
Alex Xu 2a6d61530f epub input: fix fusion (#1375) 2026-06-26 10:23:09 -07:00
Alex Xu 5396f1f9c4 name output epub/cbz directly (#1374) 2026-06-24 21:22:49 -07:00
Alex Xu f1b58c83d6 Replace copyfile + remove with move (#1373)
* remove mobiPath toclean

* remove copyfile _comic.zip
2026-06-24 18:58:27 -07:00
Alex Xu ee5bd150e5 add force ebok option 2026-06-23 17:37:46 -07:00
Alex Xu a55c0ddb08 add epub language option (#1371) 2026-06-23 13:29:10 -07:00
Alex Xu bc28df1f53 add invert direction and vertical 4 panel options (#1369) 2026-06-22 17:31:12 -07:00
Alex Xu a8b2c055bf epub input: invert spread shift (#1368) 2026-06-22 17:17:22 -07:00
Alex Xu 89fc6437dd don't crash if rosetta is not available on macOS (#1366)
* don't crash if rosetta is not available on macOS

* make error a dialog

* add newlines

* fix format

* modify strings
2026-06-20 17:55:04 -07:00
Alex Xu 1e57da08a9 time kindlegen (#1365) 2026-06-18 16:34:52 -07:00
Alex Xu b95cf6e179 ignore exceptions when epub parsing (#1360)
* ignore exceptions when epub parsing

* Update comic2ebook.py

* Update comic2ebook.py
2026-05-26 09:13:22 -07:00
フィルターペーパー 08070cdd97 Fix fusion output location (#1355)
* Fix fusion output location

Use source folder when output folder is not specified

* undelete things
2026-05-25 16:41:36 -07:00
Alex Xu df3d174437 fusion temp file cleanup improvements (#1359) 2026-05-25 14:52:08 -07:00
Alex Xu 4102643110 disk usage warning reccomends using temp directory option (#1353) 2026-05-22 11:55:42 -07:00
Alex Xu ca6b3b7611 fix file fusion when output folder unchecked (beta regression) (#1352) 2026-05-22 11:41:47 -07:00
Alex Xu 7ceeb29fae add 1 page landscape option (#1344) 2026-05-17 11:55:46 -07:00