Byaidu/PDFMathTranslate

pdf2zh 2.0: Rewrite all parts of PDF2ZH except the translator to improve user experience and developer experience.

awwaawwa opened this issue · 7 comments

Background

PDF2ZH consists of the following parts:

  1. Core: I am completely rewriting it, related code is at https://github.com/funstory-ai/BabelDOC
  2. Configuration System
  3. GUI
  4. Translator Support

The current PDF2ZH code is difficult to maintain. I hope to completely rewrite all parts of PDF2ZH except for the translator to improve both user and developer experience.

Note

Everyone is welcome to discuss in this issue.

BabelDOC Preview

Image

Project Positioning

BabelDOC serves as a PDF translation library providing core translation functionality.

PDF2ZH handles self-deployment related tasks, such as GUI, better configuration system, better initial guidance, multi-language localization, etc.

Roadmap

  • Experimental support for BabelDOC in CLI and GUI
  • Stop adding new features to the legacy backend
  • Refactor the configuration system
  • Switch documentation to mkdocs
  • Provide a more user-friendly http api
  • Completely remove the legacy backend after BabelDOC is perfected
  • ...

Specific Details

Requires further research & discussion.

For the configuration system, I want:

  1. Support CLI parameters
  2. Support environment variables
  3. Support configuration files
  4. Support modifying all configurations in GUI

For the GUI, I hope to have a comprehensive beginner's guide. And it would be best to have a complete packaging solution, aiming to achieve one-click startup with a double-click .exe file, and then complete all operations within the GUI.

GUI needs good localization support. Export all UI strings.

weblate is all you need.

After pdf2zh 2.0 is released, explain the relationship between memory usage and page count in the readme.

GUI may need to consider supporting automatic PDF splitting for translation, and then merging back together.