10. Juli 2026
- Mit dem Markdown → JSONL Converter wurde die offizielle Dokumentations‑JSONL‑Umwandlung von 1 180 auf 1 230 Einträge erhöht.
- Die mehrsprachige Übersetzungspipeline verzögert sich stärker als erwartet; es kann also länger dauern, bis sie stabil läuft.
- In einem privaten Repository habe ich die Synchronisationspipeline für mehrsprachige Dokumente getestet und dabei folgende Kriterien festgelegt.
Kriterien für die Dokumentenstruktur
- Koreanische Dokumente gelten als Ausgangsdokumente.
- Dokumente anderer Sprachen liegen im Format
docs/<lang>/…. - Unterverzeichnisse, die bisher direkt unter
docs/lagen, werden als koreanische Basisdokumente betrachtet und nachdocs/ko/…verschoben. - Sprachcodes sind keine willkürlichen Kürzel wie
jpoderch, sondern standardisierte Codes wieja,zh,pt-BR. - Die
README.mdim Root bleibt das Root‑Dokument. - Übersetzte README‑Versionen werden ebenfalls im Root behandelt.
- Änderungen an
README.mddürfen nicht fälschlicherweise als Änderungen innerhalb vondocs/interpretiert werden. - Bereits vorhandene Sprachordner wie
docs/en,docs/jadürfen nicht zu verschachtelten Pfaden wiedocs/ko/enführen. - Beim Testen von komprimierten Archiven werden nur
READMEunddocsentpackt und übernommen.
Kriterien für Links und Pfade
- Links in README und in den Docs werden an die jeweilige Zielsprache angepasst. Beispiel: Ein Link
docs/ko/...in der koreanischen README wird in der englischen README zudocs/en/.... - Relative Pfade zwischen Dokumenten innerhalb von
docswerden ebenfalls an die Zielsprache angepasst. - Bildpfade, Unterverzeichnis‑Links und relative Pfade dürfen beim Übersetz‑/Synchronisationsprozess nicht kaputtgehen.
- Die Sprachlinks im README sollen so gestaltet sein, dass der Nutzer das Gefühl hat, zur jeweiligen Sprachversion zu wechseln.
Kriterien für die automatische Synchronisation
- Wird eine Datei in
docs/kohinzugefügt, erzeugt die Pipeline entsprechende Dateien in den anderen Sprachen. - Wird eine Datei in
docs/kogelöscht, wird die entsprechende Datei in den anderen Sprachen ebenfalls entfernt. - Wird eine bestimmte Datei in
docs/kogeändert, wird nur die entsprechende Datei in den anderen Sprachen neu erzeugt. - Es wird nicht jedes Mal alles von Grund auf neu übersetzt.
- Erfolgreich übersetzte Sprachen/Dateien werden nicht erneut übersetzt.
- Bei einem Fehlschlag werden bereits erfolgreiche Ergebnisse nicht gelöscht.
- Nur die fehlgeschlagenen Ziel‑Dateien werden entfernt und beim nächsten Durchlauf neu erzeugt.
- Wenn die Dateianzahl oder eine einfache Versionsdatei bereits stimmt, wird der entsprechende Sprachordner übersprungen.
- Versionsdateien verwenden ein einfaches Format wie
v1oder eine Zahl statt komplexer JSON/Hash‑Strukturen.
Kriterien für die Übersetzungs‑Verarbeitung
- Die Übersetzung wird mit einer echten API getestet.
- Mock‑Erfolge werden nicht verwendet.
- Die Chunk‑Größe wird anhand der offiziellen Kontext‑/Ausgabebegrenzungen des Modells festgelegt.
- Es ist wichtiger, die Ausgabe so zu kürzen, dass sie
max_tokensnicht überschreitet, als den Eingabekontext zu reduzieren. - Direkt nach dem Übersetzen eines Chunks wird dieser sofort geprüft.
- Fehlgeschlagene Bereiche werden in eine Warteschlange gestellt.
- Nur die in der Warteschlange befindlichen fehlerhaften Bereiche erhalten ein erhöhtes
depth, werden feiner aufgeteilt und erneut übersetzt bzw. geprüft. - Ein Ansatz, bei dem alle Chunks erst am Ende zusammengeführt und dann einmalig geprüft werden, wird vermieden.
Prüfungskriterien:
- Überprüfen, ob koreanischer Text im Übersetzungsergebnis unverändert bleibt.
- Sicherstellen, dass keine Leerzeichen verloren gehen.
- Die Markdown‑Struktur muss erhalten bleiben.
- Code‑Fences, Links, Bilder und Überschriften dürfen nicht verändert werden.
- Bei Sprachen, die wie Chinesisch kürzer werden, darf nicht nur die Länge verglichen werden.
- Das Ergebnis muss tatsächlich lesbar sein und keine merkwürdigen Abweichungen vom Original aufweisen.
Fehlerprotokoll‑Kriterien:
- Unterscheiden Sie Fehlertypen wie
HTTP 429,504,RemoteDisconnected,finish_reason=lengthoder leere Antworten. - Protokollieren Sie Antwort‑Header, -Body, Laufzeit, Modellname, Eingabegröße und Token‑Verbrauch.
- Verhindern Sie, dass ein einzelner Fehler die gesamte Pipeline stoppt oder das Ergebnis verloren geht.
- Bei wiederholten Fehlern zuerst die Ursache analysieren.
NVIDIA‑API‑Nutzungsrichtlinien:
- Die Übersetzungspipeline wird anhand der NVIDIA‑API getestet.
gpt-oss-120bunterstützt Eingabekontexte bis zu 128 k, aber die Ausgabe ist laut NVIDIA‑Richtlinie auf etwa 4096 Token begrenzt.- Auch wenn große Eingaben möglich sind, kann das Ergebnis wegen des Ausgabelimits abgeschnitten werden; daher wird das Chunk‑Limit auf 4096 Token festgelegt.
- Es werden maximal 40 Aufrufe pro Minute versucht; bei Fehlern gelten Warte‑/Retry‑Strategien.
Hard‑Coding‑Richtlinien:
- Verwenden Sie Strukturen wie
docs/<lang>, Marker, Link‑Regexes und Code‑Fence‑Parsing. - Ändern oder entfernen Sie keine spezifischen Wörter oder Phrasen willkürlich.
- Entfernen Sie nicht
example.com. - Registrieren Sie Dokumentdateien nicht einzeln über Pfade.
- Vermeiden Sie erzwungene sprachliche Ersetzungen oder Manipulationen einzelner Sätze/Wörter.
Betriebsrichtlinien:
- Sowohl GitHub Actions als auch ein selbstgehosteter Mac‑Runner werden geprüft.
- Auf dem Mac soll nach Abschluss automatisch ein Commit/Push erfolgen.
- Wie bei GitHub Actions soll der Fortschritt sichtbar sein.
- Log‑Ausgaben müssen zeigen, welche Sprache/Datei/Chunk gerade verarbeitet wird.
- Branch‑Name, Run‑URL, Fehlerursache und aktueller Fortschritt müssen klar dokumentiert werden.
Neben der Übersetzung:
Ich habe kürzlich ein interessantes Dokument entdeckt.
Pollinations APIDOCS.md prüfen
Mit
curllässt sich die API sogar ohne Schlüssel anrufen und erhält Text‑Antworten; Bildgenerierung scheint ebenfalls möglichVielleicht lässt sich das leicht experimentell nutzen, ohne sich um Kosten zu sorgen
Ich habe bereits ein kleines Projekt damit gebaut und plane, nach weiterer Nutzung das Ergebnis später zu veröffentlichen
Die Versions‑Trennungs‑JSONL‑Slot‑Struktur des
Qwen Validation Debuggerwurde neu organisiertdocs_chunksdient als Begründung für Code‑Erklärungen, daher werden separate Beschreibungs‑/Irrelevanz‑Slots für Godot 3‑Code und Godot 4‑Code beibehaltenapi_mappingundlabel_prototypeswerden nicht in separate JSONL‑Dateien für Godot 3 bzw. Godot 4 aufgeteilt, sondern gemeinsam mit Godot 3‑ und Godot 4‑Code in ein3 -> 4‑Umwandlungs‑Begründungs‑JSONL eingefügt- Die erwarteten Validierungswerte des
3 -> 4‑Umwandlungs‑Begründungs‑JSONL sind für Godot 3‑CodeJa, für Godot 4‑CodeNein - Für das irrelevante Umwandlungs‑JSONL werden die Validierungswerte sowohl für Godot 3‑Code als auch für Godot 4‑Code auf
Neingesetzt
Rückblick: docs/retrospectives/2026-07-10.md