Zurück zum Blog

Reliability · 1. Juli 2026

Echtzeit-Übersetzungsaktualisierungen sollten nützlich sein, nicht erforderlich

Live-Status ist wertvoll, aber Übersetzungsvorgänge sollten korrekt bleiben, wenn die Echtzeit-Infrastruktur nicht verfügbar oder absichtlich deaktiviert ist.

Echtzeit-Übersetzungsaktualisierungen sollten nützlich sein, nicht erforderlich

Zu sehen, wie eine Übersetzung von „in Warteschlange“ zu „in Bearbeitung“ zu „bereit“ wechselt, ist nützlich. Teams können den Fortschritt ohne Aktualisieren sehen, abgeschlossene Arbeit schnell öffnen und eine fehlgeschlagene Anfrage bemerken, solange das Release noch aktiv ist.

Aber Live-Updates sind eine Darstellungsfunktion. Sie sollten nicht der Mechanismus sein, der den Workflow korrekt macht.

Dauerhafter Zustand kommt zuerst

Die Datenbank und das Job-System sollten den Übersetzungsstatus verwalten. Jeder Phasenübergang muss aufgezeichnet werden, unabhängig davon, ob ein Browser verbunden ist oder nicht:

  • Anfrage in Warteschlange
  • Übersetzung gestartet und abgeschlossen
  • Push gestartet und abgeschlossen
  • Veröffentlichung gestartet und abgeschlossen
  • Fehler- und Wiederholungsereignisse

Ein Echtzeitereignis kann diese dauerhafte Änderung ankündigen. Es sollte nicht die einzige Aufzeichnung dafür sein, dass die Änderung stattgefunden hat.

Diese Unterscheidung schützt Benutzer, die den Tab schließen, den Netzwerkzugang verlieren oder in einer Umgebung arbeiten, in der die WebSocket-Infrastruktur deaktiviert ist.

Echtzeit hat Betriebskosten

Broadcasting bringt mehr bewegliche Teile mit sich: einen WebSocket-Dienst, Verbindungsautorisierung, Kanalkonfiguration, Proxy-Unterstützung und das Wiederverbindungsverhalten des Browsers.

Für Teams, die Live-Koordination benötigen, kann sich dieser Aufwand lohnen. Für ein kleineres Deployment kann gewöhnliches Polling einfacher und völlig ausreichend sein.

Echtzeit optional zu machen, ermöglicht es jeder Umgebung, das Betriebsprofil zu wählen, das sie unterstützen kann, ohne das grundlegende Übersetzungsverhalten zu verlieren.

Eine elegante Ausweichlösung entwerfen

Die UI sollte über Echtzeitereignisse oder periodische Aktualisierung zum gleichen Endzustand gelangen.

Ein praktischer Ansatz ist:

  1. den aktuellen dauerhaften Zustand laden
  2. relevante Ereignisse abonnieren, wenn Echtzeit aktiviert ist
  3. eingehende Aktualisierungen nach Anfrage-ID und Version zusammenführen
  4. in einem moderaten Intervall pollen, solange aktive Arbeit verbleibt
  5. häufiges Polling beenden, wenn der Batch einen Endzustand erreicht

Echtzeit lässt den Bildschirm unmittelbar wirken. Polling schließt Lücken nach Wiederverbindungen und bietet eine Ausweichlösung.

Die beiden Wege sollten keine konkurrierenden Statusregeln erzeugen.

Vermeiden, dass Aktualisierungen zu Rauschen werden

Nicht jedes interne Ereignis gehört in die Oberfläche. Jedes Token, jeden Worker-Heartbeat oder jedes Zwischenspeichern zu übertragen, kann die Seite instabil machen und die Infrastruktur stärker belasten.

Benutzer benötigen normalerweise sinnvolle Phasenübergänge und aktualisierte Zählerstände. Schnelle Änderungen auf niedriger Ebene in eine kleinere Menge dauerhafter Meilensteine zu bündeln, hält das Erlebnis ruhig und gut erfassbar.

Dasselbe Prinzip gilt für Benachrichtigungen. Ein abgeschlossener Batch kann Aufmerksamkeit verdienen. Jede abgeschlossene Locale wahrscheinlich nicht.

Den stillen Pfad testen

Es ist leicht, mit aktivierter Echtzeit zu testen und anzunehmen, dass die Ausweichlösung funktioniert. Zuverlässigkeit erfordert die gegenteilige Übung:

  • Broadcasting deaktivieren
  • einen Batch mit mehreren Locales starten
  • die Seite verlassen und zurückkehren
  • bestätigen, dass der Fortschritt aufholt
  • eine fehlgeschlagene Anfrage wiederholen
  • die endgültigen Zählerstände und verfügbaren Aktionen überprüfen

Wenn dieser Pfad funktioniert, ist Echtzeit eine Verbesserung statt einer versteckten Abhängigkeit.

Das Fazit

Live-Updates verbessern Übersetzungsvorgänge, wenn sie auf dauerhaftem Zustand aufsetzen.

Zeichnen Sie jeden Übergang zuerst auf, machen Sie Broadcasting konfigurierbar und behalten Sie ein zurückhaltendes Polling-Fallback bei. Der Workflow sollte vertrauenswürdig bleiben, selbst wenn der unmittelbarste Auslieferungskanal nicht verfügbar ist.