Übersetzungsleitfaden
Dieser Leitfaden erklärt, wie Sie Übersetzungen zur Dokumentation von FastAPI-fastkit beitragen.
Maßgebliche Referenz und Übersetzungsrichtlinie
Englisch (
en) ist die maßgebliche Referenz für die FastAPI-fastkit-Dokumentation. Jede andere Sprache ist ein Übersetzungsziel, das dem Englischen um ein Release oder einzelne Seiten hinterherhängen kann.Wenn eine übersetzte Seite der englischen Seite widerspricht, vertrauen Sie der englischen Seite, bis die Übersetzung nachzieht. Übersetzungen werden in dem Vollständigkeitsgrad ausgeliefert, den die Mitwirkenden erreicht haben — eine teilweise Abdeckung ist normal und zu erwarten.
Das nutzerseitige Pendant zu dieser Politik ist die Seite Übersetzungsstatus, die die tatsächliche Vollständigkeit jeder Sprache auflistet und erklärt, wie MkDocs noch nicht übersetzte Seiten rendert (kurz: sie fallen auf Englisch zurück).
Die CHANGELOG.md im Stammverzeichnis des Repositorys bleibt ebenfalls als kanonische Releasehistorie auf Englisch. Falls eine Sprache eine changelog.md-Seite anbietet, sollte diese auf den kanonischen englischen Changelog verlinken oder ihn einbinden, statt einen separaten übersetzten Changelog zu pflegen — sofern die Projektrichtlinie das später nicht ändert.
Wenn Sie eine Übersetzung beitragen, aktualisieren Sie auch die Tabelle der Statusseite, damit Nutzer den Stand sehen können, ohne ihn aus dem Sprachumschalter erraten zu müssen.
Übersicht
FastAPI-fastkit nutzt ein automatisiertes Übersetzungssystem auf KI-Basis, um die Dokumentation in mehrere Sprachen zu übersetzen. Das System:
- Liest die Quelldokumentation auf Englisch
- Übersetzt Inhalte über KI-APIs (OpenAI oder Anthropic)
- Speichert Übersetzungen in sprachspezifischen Verzeichnissen
- Erstellt GitHub-Pull-Requests zur Überprüfung
Die Automatisierung liefert einen Ausgangspunkt; eine menschliche Überprüfung ist vor dem Merge weiterhin erforderlich. KI-generierte Übersetzungen sollten in ihren PRs als „draft" markiert und von einem fließenden Sprecher überprüft werden, bevor sie gemergt werden.
Unterstützte Sprachen
Dies sind die Sprachen, für die die Dokumentations-Site derzeit einen Build erzeugt. Die bloße Konfiguration eines Sprach-Build-Ziels bedeutet nicht, dass die Seiten dieser Sprache bereits übersetzt sind — den tatsächlichen Stand sehen Sie im Übersetzungsstatus.
- 🇰🇷 Koreanisch (ko)
- 🇯🇵 Japanisch (ja)
- 🇨🇳 Chinesisch (zh)
- 🇪🇸 Spanisch (es)
- 🇫🇷 Französisch (fr)
- 🇩🇪 Deutsch (de)
Voraussetzungen
1. Abhängigkeiten für Übersetzungen installieren
2. API-Schlüssel einrichten
Sie benötigen einen API-Schlüssel von OpenAI oder Anthropic:
# Für OpenAI
export TRANSLATION_API_KEY="sk-..."
# Oder für Anthropic
export TRANSLATION_API_KEY="sk-ant-..."
3. GitHub CLI installieren (optional)
Für die automatische PR-Erstellung:
# macOS
brew install gh
# Linux
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update
sudo apt install gh
# Anmelden
gh auth login
Nutzung
Mit Make-Befehlen (empfohlen)
Der einfachste Weg, Übersetzungen auszuführen:
# Alle Dokumente in alle Sprachen übersetzen
make translate
# In eine bestimmte Sprache übersetzen
make translate LANG=ko
# API-Anbieter und Modell festlegen
make translate LANG=ko PROVIDER=openai MODEL=gpt-4
make translate LANG=ko PROVIDER=github MODEL=gpt-4o-mini
Mit dem Skript direkt
Die gesamte Dokumentation übersetzen
Die gesamte Dokumentation in alle unterstützten Sprachen übersetzen:
In eine bestimmte Sprache übersetzen
Nur ins Koreanische übersetzen:
Bestimmte Dateien übersetzen
Nur bestimmte Dokumentationsdateien übersetzen:
python scripts/translate.py \
--target-lang ko \
--files user-guide/installation.md user-guide/quick-start.md \
--api-provider openai
PR-Erstellung überspringen
Übersetzen, ohne eine GitHub-PR zu erstellen:
Anthropic Claude verwenden
Anthropic Claude statt OpenAI verwenden:
Verzeichnisstruktur
Nach der Übersetzung sieht die Dokumentationsstruktur so aus:
docs/
├── en/ # Englisch (Original)
│ ├── index.md
│ ├── user-guide/
│ │ ├── installation.md
│ │ ├── quick-start.md
│ │ └── ...
│ ├── tutorial/
│ └── ...
├── ko/ # Koreanisch
│ ├── index.md
│ ├── user-guide/
│ └── ...
├── ja/ # Japanisch
├── zh/ # Chinesisch
├── es/ # Spanisch
├── fr/ # Französisch
├── de/ # Deutsch
├── css/ # Gemeinsame Assets
├── js/ # Gemeinsame Assets
└── img/ # Gemeinsame Assets
Übersetzungs-Workflow
1. Dokumentation auf Englisch schreiben
Alle Dokumentation sollte zuerst auf Englisch im Verzeichnis docs/ geschrieben werden:
2. Übersetzung starten
Sobald die englische Dokumentation fertig ist, führen Sie das Übersetzungsskript aus:
3. Pull-Request prüfen
Das Skript erstellt eine Pull-Request mit den Übersetzungen. Prüfen Sie die PR:
- Markdown-Formatierung wurde erhalten
- Technische Begriffe sind korrekt behandelt
- Code-Beispiele bleiben unverändert
- Sprachspezifische Eigenheiten beachten
Changelog-Politik
- Halten Sie die
CHANGELOG.mdim Stammverzeichnis auf Englisch. - Eröffnen Sie keine Übersetzungs-PRs, deren Ziel es ist, die Releasehistorie im Stamm-Changelog in einer anderen Sprache neu zu schreiben.
- Falls eine Sprache eine Changelog-Seite benötigt, behandeln Sie
docs/<locale>/changelog.mdals Einstiegsseite oder Verweis auf den kanonischen englischen Changelog.
4. Freigeben und mergen (für Maintainer)
Sobald die Übersetzung verifiziert ist:
5. Dokumentation veröffentlichen
Die Dokumentations-Site wird automatisch mit den neuen Übersetzungen neu gebaut.
Übersetzungs-Konfiguration
Bearbeiten Sie scripts/translation_config.json, um anzupassen:
{
"source_language": "en",
"target_languages": [
{
"code": "ko",
"name": "Korean",
"native_name": "한국어",
"enabled": true
}
],
"translation_settings": {
"default_api_provider": "openai",
"batch_size": 5,
"preserve_formatting": true
},
"github_settings": {
"create_pr_by_default": true,
"branch_prefix": "translation"
}
}
Best Practices
Für die Quelldokumentation
- Klare Sprache verwenden: schreiben Sie klares, einfaches Englisch, das sich gut übersetzen lässt
- Einheitliche Terminologie: verwenden Sie einheitliche Fachbegriffe
- Saubere Code-Blöcke: geben Sie immer die Sprache im Code-Block an
- Linkprüfung: stellen Sie sicher, dass alle internen Links relative Pfade nutzen
Für die Überprüfung von Übersetzungen
- Fachbegriffe: prüfen Sie, dass Fachbegriffe für die Zielsprache angemessen sind
- Kultureller Kontext: prüfen Sie, ob Beispiele lokalisiert werden müssen
- Formatierung: stellen Sie sicher, dass die gesamte Markdown-Formatierung erhalten bleibt
- Code-Integrität: prüfen Sie, dass Code-Blöcke unverändert sind
Fehlerbehebung
API-Ratenbeschränkungen
Bei API-Ratenlimits in kleineren Chargen übersetzen:
# Translate only user guide
python scripts/translate.py \
--target-lang ko \
--files user-guide/*.md
Probleme mit der Übersetzungsqualität
Wenn die Übersetzungen schlecht sind:
- Prüfen Sie, dass Ihr API-Schlüssel gültig ist
- Versuchen Sie einen anderen KI-Anbieter
- Zerlegen Sie komplexe Dokumente in kleinere Abschnitte
- Manuell überprüfen und nachbearbeiten
GitHub-PR schlägt fehl
Wenn die PR-Erstellung fehlschlägt:
# Translate without PR
python scripts/translate.py --target-lang ko --no-pr
# Manually create PR
git checkout -b translation/ko
git add docs/ko/
git commit -m "Add Korean translations"
git push -u origin translation/ko
gh pr create --title "Add Korean translations"
Manuelle Übersetzung
Sie können auch manuell übersetzen:
-
Englische Datei in das Zielsprachenverzeichnis kopieren:
-
Die Datei in Ihrem bevorzugten Editor bearbeiten
- Committen und eine PR erstellen
Sprachumschalter
Die Dokumentations-Site bietet einen Sprachumschalter in der oberen Navigation. Nutzer können:
- Auf den Sprachumschalter klicken
- Ihre bevorzugte Sprache wählen
- Durch die übersetzte Dokumentation navigieren
Neue Sprachen beitragen
Um eine neue Sprache hinzuzufügen:
-
scripts/translation_config.jsonbearbeiten: -
mkdocs.ymlaktualisieren: -
Übersetzung starten:
Brauchen Sie Hilfe?
- Issues: Übersetzungsprobleme auf GitHub Issues melden
- Discussions: Fragen in GitHub Discussions stellen
- Mitwirken: siehe CONTRIBUTING.md
Qualitätsstandards für Übersetzungen
Alle Übersetzungen müssen diese Standards erfüllen:
- ✅ Die gesamte Markdown-Formatierung erhalten
- ✅ Code-Blöcke unverändert lassen
- ✅ Fachterminologie angemessen beibehalten
- ✅ Korrekte Grammatik und Rechtschreibung verwenden
- ✅ Sprachspezifische Konventionen befolgen
- ✅ Alle Links auf Funktionsfähigkeit testen
Vielen Dank, dass Sie zu den FastAPI-fastkit-Übersetzungen beitragen! 🌍