Dieses Python-Skript bietet ein robustes und flexibles Tool zum Übersetzen .po
Dateien mithilfe des GPT-4-Modells von OpenAI. Es unterstützt verschiedene Übersetzungsmodi, verarbeitet Fuzzy-Einträge und integriert die Stapelverarbeitung für größere Projekte, wodurch es für verschiedene .po
Dateistrukturen und -größen geeignet ist.
--detail-lang
) : Unterstützt die Verwendung vollständiger Sprachnamen (z. B. „Niederlande, Deutsch“) neben Shortcodes (z. B. nl, de
) und sorgt so für Klarheit bei Übersetzungsaufforderungen.polib
-Bibliothek (zur Verarbeitung von .po
Dateien)openai
Python-Paket (zur Integration mit OpenAI GPT-Modellen)tenacity
-Bibliothek (für Wiederholungsmechanismen)python-dotenv
(zur Verwaltung von Umgebungsvariablen) Installieren Sie das gpt-po-translator
Paket direkt von PyPI:
pip install gpt-po-translator
Für die manuelle Installation oder das Arbeiten mit dem neuesten Code aus dem Repository:
git clone [repository URL]
pip install .
Der gpt-po-translator
unterstützt zwei Methoden zur Bereitstellung von OpenAI-API-Anmeldeinformationen:
Umgebungsvariable : Legen Sie Ihren OpenAI-API-Schlüssel als Umgebungsvariable mit dem Namen OPENAI_API_KEY
fest. Diese Methode wird aus Sicherheitsgründen und zur Vereinfachung der API-Schlüsselverwaltung empfohlen.
export OPENAI_API_KEY= ' your_api_key_here '
Befehlszeilenargument : Übergeben Sie den API-Schlüssel als Befehlszeilenargument mit der Option --api_key
.
gpt-po-translator --folder ./locales --lang de,fr --api_key ' your_api_key_here ' --bulk --bulksize 100 --folder-language
Stellen Sie sicher, dass Ihr API-Schlüssel sicher gespeichert und nicht in öffentlichen Bereichen oder Repositorys offengelegt wird.
Verwenden Sie gpt-po-translator
als Befehlszeilentool zum Übersetzen .po
Dateien:
gpt-po-translator --folder [path_to_po_files] --lang [language_codes] [--api_key [your_openai_api_key]] [--fuzzy] [--bulk] [--bulksize [batch_size]] [--folder-language] [--detail-lang [full_language_names]]
gpt-po-translator --folder ./locales --lang de,fr --api_key ' your_api_key_here ' --bulk --bulksize 40 --folder-language --detail-lang " German,French "
Dieser Befehl übersetzt .po
Dateien im Ordner ./locales
ins Deutsche und Französische, verwendet den bereitgestellten OpenAI-API-Schlüssel und verarbeitet 40 Übersetzungen pro Stapel im Massenmodus. Außerdem wird die Sprache aus der Ordnerstruktur abgeleitet.
--folder
: Gibt den Eingabeordner an, der .po
Dateien enthält.--lang
: Durch Kommas getrennte Sprachcodes zum Filtern von .po
Dateien (z. B. de,fr
).--detail-lang
: Optionales Argument für vollständige Sprachnamen, passend zur Reihenfolge von --lang
(z. B. „Deutsch, Französisch“).--fuzzy
: Entfernt Fuzzy-Einträge vor der Verarbeitung.--bulk
: Aktiviert den Massenübersetzungsmodus für eine schnellere Verarbeitung.--bulksize
: Legt die Stapelgröße für die Massenübersetzung fest (Standard ist 50).--model
: Gibt das OpenAI-Modell an, das für Übersetzungen verwendet werden soll (Standard ist gpt-3.5-turbo-0125
).--api_key
: OpenAI-API-Schlüssel. Kann über die Befehlszeile oder als Umgebungsvariable bereitgestellt werden.--folder-language
: Leitet die Zielsprache aus der Ordnerstruktur ab. Die Option --detail-lang
ergänzt --lang
, indem sie Ihnen die Angabe vollständiger Sprachnamen (z. B. Netherlands,German
) anstelle von Sprachkurzcodes ermöglicht. Die vollständigen Namen werden dann im Kontext von OpenAI-Eingabeaufforderungen verwendet, was die Klarheit des GPT-Modells verbessert.
Beispielverwendung:
gpt-po-translator --folder ./locales --lang nl,de --detail-lang " Netherlands,German "
Das Skript protokolliert detaillierte Informationen über die verarbeiteten Dateien, die Anzahl der Übersetzungen und Batch-Details im Massenmodus. Protokolle sind unerlässlich, um den Fortschritt zu überwachen, Probleme zu beheben und die Transparenz während des gesamten Übersetzungsprozesses sicherzustellen.
Das Skript umfasst eine robuste Fehlerbehandlung und Wiederholungsversuche, um eine zuverlässige Übersetzung sicherzustellen:
Dieses Projekt ist unter der MIT-Lizenz lizenziert. Einzelheiten finden Sie in der LICENSE-Datei.