AUTO-I18N: Automatisches mehrsprachiges Übersetzungstool mit ChatGPT
Auto-I18N ist ein Tool, das Markdown-Dateien automatisch mit ChatGPT in mehrsprachige Übersetzungen übersetzt. Es implementiert die volle Automatisierung des Blog -Beitrags i18n (Internationalisierung). Sie müssen Ihren Blog -Beitrag nur in Ihr Github -Repository übertragen, um sich automatisch mit GitHub -Aktionen auf mehrere Sprachen zu übersetzen. (Englisch, Spanisch und Arabisch werden derzeit unterstützt, und in Zukunft wird mehr Sprachunterstützung angeboten)
Die Hauptmerkmale von Auto-I18N:
- Batch Mehrsprachige Übersetzung : Auto-I18N bietet die Funktion der Batch-Übersetzung und ermöglicht es Ihnen, alle Markdown-Dokumente auf einem ganzen Weg in mehrsprachige Sprachen gleichzeitig zu übersetzen und die Effizienz mehrsprachiger Projekte erheblich zu verbessern.
- Kompatibel mit Front Materie : Auto-I18N-kompatibel mit der Markdown-Front-Materie-Syntax können Sie Übersetzungs- oder Ersatzregeln für verschiedene Felder anpassen.
- Ersatz für fester Inhalt : Auto-I18N unterstützt auch den Ersatz für feste Inhalte. Wenn Sie möchten, dass die Übersetzung einiger doppelter Felder im Dokument unverändert bleibt, kann diese Funktion Ihnen helfen, eine konsistente Dokumentation zu erzielen.
- Automatischer Workflow : Sie können mit GitHub -Aktionen einen automatisierten Übersetzungsprozess implementieren. Ohne manuelle Eingriffe werden die Übersetzungsarbeiten automatisch fortgesetzt und Dokumente aktualisieren, sodass Sie sich mehr auf Inhalte konzentrieren können.
Fangen Sie schnell an
- Klonen Sie das Repository lokal, umbenennen
env_template.py in env.py und bereitstellen Ihre Chatgpt -API. Wenn Sie keine eigene API haben, können Sie sich für eine kostenlose in gpt_api_free bewerben. Sie können auch Go-Chatgpt-API verwenden, um die Webversion von ChatGPT in API umzuwandeln. - Installieren Sie die erforderlichen Module:
pip install -r requirements.txt . - Führen Sie den Befehl
python auto-translater.py aus, um das Programm auszuführen, das automatisch alle Markdown-Dateien im Testverzeichnis testdir/to-translate verarbeitet und Batch in Englisch, Spanisch und Arabisch übersetzt. (Weitere Sprachunterstützung werden in Zukunft bereitgestellt.)
Detaillierte Beschreibung
Die laufende Logik des Programms auto-translater.py lautet wie folgt:
- Das Programm verarbeitet automatisch alle Markdown-Dateien im Testverzeichnis
testdir/to-translate . Sie können Dateien ausschließen, die in der Variablen exclude_list nicht übersetzt werden müssen. - Der verarbeitete Dateiname wird in der automatisch generierten
processed_list.txt aufgezeichnet. Die verarbeiteten Dateien werden beim nächsten Ausführen des Programms nicht erneut übersetzt. - Für Artikel, die ursprünglich in englischer Sprache geschrieben wurden, wird das Programm weder ins Englische übertragen, noch wird es auf Chinesisch zurückgesetzt, sondern in andere Sprachen übersetzt. Sie müssen Felder in den Artikel hinzufügen
> This post was originally written in English. (Beachten Sie, dass in jedem oberen und unteren Bereich eine leere Linie vorhanden ist.) Das Programm zu erkennen. Weitere Informationen finden Sie im Test article_en.md. - Wenn Sie den angegebenen Artikel erneut übertragen müssen (z. B. die Übersetzungsergebnisse sind ungenau oder der Inhalt des Artikels usw.), können Sie dem Artikel ein Feld
[translate] (auch Sie müssen eine leere Linie oben und unten hinterlassen). Dadurch wird die Regeln exclude_list und processed_list ignoriert und die Übersetzungsverarbeitung erzwungen. Weitere Informationen finden Sie im Test article_force-mark.md. - Wenn die Markdown -Datei Front Matter enthält, wird die folgende Verarbeitungsmethode gemäß den Regeln in der Programm
front_matter_translation_rules ausgewählt:- Automatische Übersetzung: Übersetzt von Chatgpt. Anwendbar für Artikel im Artikel oder Artikelbeschreibung.
- Fixierfeldersatz: anwendbar für Kategorien- oder Etikettenfelder. Wenn beispielsweise derselbe chinesische Label -Name nicht in verschiedene englische Etiketten übersetzt werden möchte, verursacht er Indexfehler.
- Es erfolgt keine Verarbeitung: Wenn das Feld nicht in den beiden oben genannten Regeln erscheint, wird der Originaltext beibehalten und keine Verarbeitung erfolgt. Bis Datum anwendbar, URL usw.
GitHub Actions Automatisierungshandbuch
Sie können .github/workflows/ci.yml unter Ihrem Projektrepository erstellen. Wenn das GitHub -Repository erkannt wird, können Sie mit GitHub -Aktionen automatisch übersetzt und verarbeitet und automatisch zum ursprünglichen Repository zurückgeführt werden.
Der Inhalt von ci.yml kann als Vorlage bezeichnet werden: ci_template.yml
Sie müssen zwei Geheimnisse in die Repository Settings hinzufügen - Secrets and variables - Repository secrets : CHATGPT_API_BASE und CHATGPT_API_KEY , und kommentieren die import env -Anweisung im Programm auto-translater.py .
Fehlerbehebung bei der Fehlerbehebung
- Wenn Sie die Verfügbarkeit des Chatgpt-API-Schlüssels überprüfen müssen, können Sie das Programm verify-api-key.py verwenden, um es zu testen. Wenn Sie die offizielle API im Land verwenden, müssen Sie einen lokalen Proxy haben.
- Wenn Front Materie in Markdown normal nicht erkannt werden kann, können Sie das Programm detekt_front_matter.py zum Testen verwenden.
- Wenn Sie Probleme unter Verwendung von GitHub -Aktionen stoßen, priorisieren Sie die Überprüfung, ob die Pfadreferenz korrekt ist (z. B.
dir_to_translate dir_translated_en dir_translated_es dir_translated_ar processed_list ).
Probleme zu lösen
- Unter besonderen Umständen kann die Übersetzung ungenau sein oder einige Felder werden nicht übersetzt. Es wird empfohlen, den Artikel nach der Übersetzung manuell zu überprüfen.
- (Gelöst)
Wenn in Markdown vordere Materie enthalten ist, wird der ursprüngliche Inhalt der Front Materie beibehalten. Front Matter Einige Parameterübersetzungsfunktionen sind in der Entwicklung.
beitragen
Willkommen an der Verbesserung dieses Projekts! Wenn Sie Code beitragen, Fragen melden oder Vorschläge machen möchten, lesen Sie den Beitragshandbuch.
Urheberrecht und Lizenz
Dieses Projekt verfolgt eine MIT -Lizenz.
Fragen und Unterstützung
Wenn Sie Probleme mit Auto-I18N auf Probleme stoßen oder technischen Support benötigen, können Sie das Problem gerne einreichen.
Mein Blog verwendet Auto-I18N, um mehrsprachige Unterstützung zu implementieren.
Anerkennung
- Vielen Dank an Chatanywhere/gpt_api_free für den kostenlosen Chatgpt -API -Schlüssel.
- Vielen Dank an Linweiyuan/go-chatgpt-api für die Methode, um Chatgpt in API im Web umzuwandeln.