Fighting Game · Guides & deep dives

V2 Iris Real-Time Translation

localization to @iris/voice through createVoiceCallTranslation.

4sections1 minread

On this page

Scope#

@v2/iris-realtime-translation wires V2 spectator chat and commentary localization to @iris/voice through createVoiceCallTranslation. The bridge registers spectator and commentator speakers, creates per-locale receiver feeds, and emits immutable delivery transcripts for:

  • spectator chat translation;
  • commentary subtitle localization;
  • esports broadcast overlays;
  • companion second-screen feeds.

Runtime Contract#

The bridge is presentation-only. Translated text can update chat, subtitles, broadcast graphics, and companion UI, but it never feeds rollback simulation state, move selection, frame data, match outcome, ranking, moderation penalties, or deterministic gameplay logic.

Iris owns translation provider routing and failover. V2 supplies match correlation, participants, target languages, surfaces, and utterance metadata. If the provider fails and V2 configures fail-open behavior, the original text is delivered with failed-delivery metadata so viewers can still see the source utterance and operators can alert on degraded localization.

V2Services Binding#

V2Services registers an iris-realtime-translation adapter on the Iris domain for @iris/voice. It is available to client surfaces, disabled for dedicated-server gameplay, and off rollback. bMayInfluenceRollback remains false.

Validation#

The repo gate is python V2/ue/Tools/check-v2-iris-realtime-translation.py. It validates the V2 package, tests, docs, V2Services adapter, CI wiring, domain reciprocal notes, and this TODO completion state.