Skip to content

feat(i18n): localize gateway busy-input acknowledgements - #92301

Closed
vesc-baek wants to merge 1 commit into
NousResearch:mainfrom
vesc-baek:feat/i18n-busy-ack
Closed

vesc-baek wants to merge 1 commit into
NousResearch:mainfrom
vesc-baek:feat/i18n-busy-ack

Conversation

@vesc-baek

Copy link
Copy Markdown

Summary

display.language already translates approval prompts and a handful of gateway slash replies. Busy-input acknowledgements (⏩ Steered into current run…, queue, interrupt, redirect) were still hardcoded English in gateway/run.py, so a ko (or any non-English) install kept posting English bubbles.

This wires those strings through t() and adds gateway.busy_ack.* keys to every locale catalog.

What changed

  • gateway/run.py — steer / redirect / queue / subagent-queue / compression-queue / interrupt copy, plus the optional status fragments (N min elapsed, iteration a/b, running: tool)
  • locales/*.yaml — catalog parity for all SUPPORTED_LANGUAGES
  • docs + agent/i18n.py scope note
  • tests: catalog render in Korean, and a live steer-ack path with HERMES_LANGUAGE=ko

English wording is unchanged when display.language is en.

Related

Complementary to #26024 / #26150 (display.busy_ack_templates). Templates would let an install rewrite the copy; this is the official i18n path so display.language: ko just works.

Test plan

  • ./scripts/run_tests.sh tests/agent/test_i18n.py tests/gateway/test_busy_session_ack.py tests/gateway/test_subagent_protection_30170.py (54 passed)
  • Set display.language: ko, message a busy Slack/Telegram session in steer mode, confirm the Korean bubble
  • Repeat with unset / en and confirm the existing English string

Hardcoded English steer/queue/interrupt bubbles ignored display.language.
Route them through t() and add catalog keys for every locale.
@alt-glitch alt-glitch added type/feature New feature or request P3 Low — cosmetic, nice to have comp/agent Core agent runtime: loop, agent_init, prompt builder, context-compression, responses endpoint comp/gateway Gateway runner, session dispatch, delivery area/i18n Localization, locales, translations sweeper:risk-message-delivery Sweeper risk: may drop, duplicate, misroute, or suppress messages labels Aug 22, 2026
@vesc-baek

Copy link
Copy Markdown
Author

Closing: too thin. A one-family i18n PR for busy-ack only, while sibling user-facing English strings stay hardcoded, reads as spam. Will come back with the remaining static surface in one PR if we reopen.

@vesc-baek vesc-baek closed this Aug 22, 2026
@vesc-baek
vesc-baek deleted the feat/i18n-busy-ack branch August 22, 2026 15:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/i18n Localization, locales, translations comp/agent Core agent runtime: loop, agent_init, prompt builder, context-compression, responses endpoint comp/gateway Gateway runner, session dispatch, delivery P3 Low — cosmetic, nice to have sweeper:risk-message-delivery Sweeper risk: may drop, duplicate, misroute, or suppress messages type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants