跳轉到

Beitrag zum Projekt

Caution

Die aktuellen Projektbetreuer erforschen die automatisierte Internationalisierung der Dokumentation. Daher werden keine PRs im Zusammenhang mit der Internationalisierung/Übersetzung der Dokumentation akzeptiert!

Bitte reichen Sie KEINE PRs im Zusammenhang mit der Internationalisierung/Übersetzung der Dokumentation ein!

Vielen Dank für Ihr Interesse an diesem Projekt! Bevor Sie mit Ihrem Beitrag beginnen, nehmen Sie sich bitte etwas Zeit, um die folgenden Richtlinien zu lesen, damit Ihr Beitrag problemlos akzeptiert werden kann.

Nicht akzeptierte Beitragsarten

  1. Dokumentationsinternationalisierung/-übersetzung
  2. Beiträge zur Kerninfrastruktur, wie z. B. HTTP-API usw.
  3. Probleme, die explizit als "Keine Hilfe benötigt" markiert sind (einschließlich Probleme in den Repositorys Byaidu/PDFMathTranslate und PDFMathTranslate-next/PDFMathTranslate-next).
  4. Andere Beiträge, die von den Maintainern als unangemessen erachtet werden.
  5. Beiträge zur Dokumentation, aber Änderungen an der Dokumentation in anderen Sprachen als Englisch.
  6. PRs, die Änderungen an PDF-Dateien erfordern.
  7. PRs, die die Datei pdf2zh_next/gui_translation.yaml modifizieren.

Bitte reichen Sie keine PRs ein, die sich auf die oben genannten Arten beziehen.

Note

Wenn Sie zur Dokumentation beitragen möchten, ändern Sie bitte nur die englische Version der Dokumentation. Andere Sprachversionen werden von den Mitwirkenden selbst übersetzt.

PRs, die vor der Einreichung mit den Maintainern über ein Issue besprochen werden sollten

To avoid wasting time and effort, we recommend that you discuss the following types of PRs with the maintainers before submitting them: Um Zeit und Mühe zu sparen, empfehlen wir, dass Sie die folgenden Arten von PRs vor der Einreichung mit den Maintainern besprechen:

  • Major feature additions: If you plan to add a major feature, please open an issue first to discuss the necessity and implementation plan.
  • Hauptfunktionserweiterungen: Wenn Sie planen, eine Hauptfunktion hinzuzufügen, öffnen Sie bitte zuerst ein Issue, um die Notwendigkeit und den Implementierungsplan zu besprechen.
  • Architectural changes: Changes that affect the overall architecture of the project, such as modifying the core data structures or algorithms.
  • Architekturänderungen: Änderungen, die die Gesamtarchitektur des Projekts betreffen, wie z.B. die Änderung der Kerndatenstrukturen oder -algorithmen.
  • Breaking changes: Changes that may break existing functionality or require significant adjustments from users.
  • Breaking Changes: Änderungen, die bestehende Funktionalität beeinträchtigen könnten oder erhebliche Anpassungen seitens der Benutzer erfordern.
  • Dependency updates: Upgrading major versions of dependencies or adding new dependencies.
  • Abhängigkeitsaktualisierungen: Das Upgrade von Hauptversionen von Abhängigkeiten oder das Hinzufügen neuer Abhängigkeiten.
  • Performance optimizations: If you have ideas for performance optimization, please discuss them first to ensure they align with the project's goals.
  • Leistungsoptimierungen: Wenn Sie Ideen zur Leistungsoptimierung haben, besprechen Sie diese bitte zuerst, um sicherzustellen, dass sie mit den Zielen des Projekts übereinstimmen.
  • UI/UX changes: Significant changes to the user interface or user experience.
  • UI/UX-Änderungen: Wesentliche Änderungen an der Benutzeroberfläche oder Benutzererfahrung.

By discussing these changes in advance, we can ensure that your contributions align with the project's direction and avoid unnecessary rework. Durch die vorherige Besprechung dieser Änderungen können wir sicherstellen, dass Ihre Beiträge mit der Ausrichtung des Projekts übereinstimmen und unnötige Nacharbeit vermieden wird.


TRANSLATION RESULT

PRs, die vor der Einreichung mit den Maintainern über ein Issue besprochen werden sollten

Um Zeit und Mühe zu sparen, empfehlen wir, dass Sie die folgenden Arten von PRs vor der Einreichung mit den Maintainern besprechen:

  • Hauptfunktionserweiterungen: Wenn Sie planen, eine Hauptfunktion hinzuzufügen, öffnen Sie bitte zuerst ein Issue, um die Notwendigkeit und den Implementierungsplan zu besprechen.
  • Architekturänderungen: Änderungen, die die Gesamtarchitektur des Projekts betreffen, wie z.B. die Änderung der Kerndatenstrukturen oder -algorithmen.
  • Breaking Changes: Änderungen, die bestehende Funktionalität beeinträchtigen könnten oder erhebliche Anpassungen seitens der Benutzer erfordern.
  • Abhängigkeitsaktualisierungen: Das Upgrade von Hauptversionen von Abhängigkeiten oder das Hinzufügen neuer Abhängigkeiten.
  • Leistungsoptimierungen: Wenn Sie Ideen zur Leistungsoptimierung haben, besprechen Sie diese bitte zuerst, um sicherzustellen, dass sie mit den Zielen des Projekts übereinstimmen.
  • UI/UX-Änderungen: Wesentliche Änderungen an der Benutzeroberfläche oder Benutzererfahrung.

Durch die vorherige Besprechung dieser Änderungen können wir sicherstellen, dass Ihre Beiträge mit der Ausrichtung des Projekts übereinstimmen und unnötige Nacharbeit vermieden wird.

  • Major feature additions
  • Architectural changes
  • Breaking changes
  • Dependency updates
  • Performance optimizations
  • UI/UX changes

TRANSLATION RESULT

Für die folgenden Arten von PRs wird empfohlen, sie vor der Einreichung zuerst mit den Maintainern zu besprechen: - Hauptfunktionserweiterungen - Architekturänderungen - Breaking Changes - Abhängigkeitsaktualisierungen - Leistungsoptimierungen - UI/UX-Änderungen

  1. PRs related to authentication, authorization, or user management systems. (The project does not plan to implement a complete user system).
  2. PRs that introduce new major dependencies without sufficient justification. (We aim to keep the project lightweight and maintainable).
  3. PRs that significantly change the project's core architecture without prior discussion. (Such changes require careful consideration and consensus).
  4. PRs that are not aligned with the project's primary goal of providing a simple and efficient PDF translation tool. (We want to avoid feature creep and keep the project focused).

TRANSLATION RESULT

  1. PRs im Zusammenhang mit Multi-User-Sharing-Funktionalität. (Dieses Projekt ist in erster Linie für die Einzelnutzung konzipiert und beabsichtigt nicht, ein umfassendes Multi-User-System einzuführen).
  2. PRs im Zusammenhang mit Authentifizierung, Autorisierung oder Benutzerverwaltungssystemen. (Das Projekt plant nicht, ein vollständiges Benutzersystem zu implementieren).
  3. PRs, die neue Hauptabhängigkeiten ohne ausreichende Begründung einführen. (Wir streben danach, das Projekt leichtgewichtig und wartbar zu halten).
  4. PRs, die die Kernarchitektur des Projekts erheblich ändern, ohne vorherige Diskussion. (Solche Änderungen erfordern sorgfältige Überlegung und Konsens).
  5. PRs, die nicht mit dem Hauptziel des Projekts übereinstimmen, ein einfaches und effizientes PDF-Übersetzungstool bereitzustellen. (Wir möchten Funktionsüberladung vermeiden und das Projekt fokussiert halten).

Beitragsprozess

  1. Forken Sie dieses Repository und klonen Sie es lokal.
  2. Erstellen Sie einen neuen Branch: git checkout -b feature/<feature-name>.
  3. Entwickeln Sie und stellen Sie sicher, dass Ihr Code den Anforderungen entspricht.
  4. Committen Sie Ihren Code:
    git add .
    git commit -m "<semantic commit message>"
    
  5. Pushen Sie zu Ihrem Repository: git push origin feature/<feature-name>.
  6. Erstellen Sie einen PR auf GitHub, geben Sie eine detaillierte Beschreibung an und fordern Sie eine Überprüfung von @awwaawwa an.
  7. Stellen Sie sicher, dass alle automatisierten Prüfungen bestanden werden.

Tip

Sie müssen nicht warten, bis Ihre Entwicklung vollständig abgeschlossen ist, um einen PR zu erstellen. Eine frühzeitige Erstellung ermöglicht es uns, Ihre Implementierung zu überprüfen und Vorschläge zu machen.

Wenn Sie Fragen zum Quellcode oder verwandten Themen haben, wenden Sie sich bitte an den Maintainer unter [email protected].

Ressourcendateien für Version 2.0 werden mit BabelDOC geteilt. Der Code zum Herunterladen der relevanten Ressourcen befindet sich in BabelDOC. Wenn Sie neue Ressourcendateien hinzufügen möchten, wenden Sie sich bitte an den BabelDOC-Maintainer unter [email protected].

Grundlegende Anforderungen

1. Arbeitsablauf

  • Bitte forken Sie vom main-Branch und entwickeln Sie auf Ihrem geforkten Branch.
  • Geben Sie beim Einreichen eines Pull Requests (PR) eine detaillierte Beschreibung Ihrer Änderungen an.
  • Wenn Ihr PR die automatisierten Prüfungen nicht besteht (angezeigt durch checks failed und ein rotes Kreuz), überprüfen Sie bitte die entsprechenden details und passen Sie Ihre Einreichung an, um sicherzustellen, dass der neue PR alle Prüfungen besteht.

2. Entwicklung und Test

  • Verwenden Sie den Befehl pip install -e . für Entwicklung und Tests.

3. Code-Formatierung

  • Konfigurieren Sie das pre-commit-Tool und aktivieren Sie black und flake8 für die Codeformatierung.

4. Abhängigkeitsaktualisierungen

  • Wenn Sie neue Abhängigkeiten einführen, aktualisieren Sie bitte die Abhängigkeitsliste in der pyproject.toml-Datei zeitnah.

5. Dokumentationsaktualisierungen

  • Wenn Sie neue Kommandozeilenoptionen hinzufügen, aktualisieren Sie bitte die Liste der Kommandozeilenoptionen in allen Sprachversionen der README.md-Datei entsprechend.

6. Commit-Nachrichten

7. Codierungsstil

  • Stellen Sie sicher, dass Ihr eingereichter Code grundlegende Codierungsstilstandards einhält.
  • Verwenden Sie entweder snake_case oder camelCase für die Benennung von Variablen.

8. Dokumentationsformatierung

  • Für die Formatierung von README.md folgen Sie bitte den Chinesischen Copywriting-Richtlinien.
  • Stellen Sie sicher, dass sowohl die englische als auch die chinesische Dokumentation immer auf dem neuesten Stand sind; Aktualisierungen der Dokumentation in anderen Sprachen sind optional.

Hinzufügen einer Übersetzungsmaschine

  1. Fügen Sie eine neue Übersetzer-Konfigurationsklasse in der Datei pdf2zh/config/translate_engine_model.py hinzu.
  2. Fügen Sie eine Instanz der neuen Übersetzer-Konfigurationsklasse zum Typalias TRANSLATION_ENGINE_SETTING_TYPE in derselben Datei hinzu.
  3. Fügen Sie die neue Übersetzer-Implementierungsklasse im Ordner pdf2zh/translator/translator_impl hinzu.

Note

Dieses Projekt beabsichtigt nicht, Übersetzungsmaschinen mit einer RPS (Anfragen pro Sekunde) von weniger als 4 zu unterstützen. Bitte reichen Sie keine Unterstützung für solche Maschinen ein. Die folgenden Arten von Übersetzern werden ebenfalls nicht integriert: - Übersetzer, die von den ursprünglichen Maintainern eingestellt wurden (wie deeplx) - Übersetzer mit großen Abhängigkeiten (wie solche, die von pytorch abhängen) - Instabile Übersetzer - Übersetzer, die auf Reverse-Engineering-APIs basieren

Wenn Sie unsicher sind, ob ein Übersetzer die Anforderungen erfüllt, können Sie ein Issue erstellen, um mit den Maintainern zu diskutieren.

Projektstruktur

  • config folder: Konfigurationssystem.
  • translator folder: Übersetzerbezogene Implementierungen.
  • gui.py: Bietet die GUI-Schnittstelle.
  • const.py: Einige Konstanten.
  • main.py: Bietet das Kommandozeilen-Tool.
  • high_level.py: Hochrangige Schnittstellen basierend auf BabelDOC.
  • http_api.py: Bietet HTTP API (nicht gestartet).

Frage KI, um das Projekt zu verstehen: DeepWiki

Kontaktieren Sie uns

Wenn Sie Fragen haben, können Sie Feedback über Issue einreichen oder unserer Telegram-Gruppe beitreten. Vielen Dank für Ihren Beitrag!

Tip

Immersive Translate sponsert monatliche Pro-Mitgliedschaftscodes für aktive Mitwirkende an diesem Projekt. Einzelheiten finden Sie unter: BabelDOC/PDFMathTranslate Beitragsbelohnungsregeln

Ein Teil des Inhalts dieser Seite wurde von GPT übersetzt und kann Fehler enthalten.