Summary
Follow-up to #740 / #781. After adding zh-Hant support, the shipped locale registry covers core UI chrome, but many user-visible TUI strings still remain hardcoded in English. This issue tracks expanding localization coverage for commands, modals, widgets, approval dialogs, and status picker UI.
This should improve all shipped locales (en, ja, zh-Hans, zh-Hant, pt-BR), not just Traditional Chinese.
Current Gaps
Representative areas that still render English under non-English locales:
- Composer hints, including slash menu and submit/queue hints
- Config modal labels, scopes, edit footer, and hints
- Status line picker title, actions, labels, and hints
- Pending input preview headers and removable hints
- Approval and sandbox elevation dialogs
- Sub-agent modal status labels and detail prefixes
- Common command output for
/queue, /task, /trust, /restore, /config, /statusline, /lsp, and /logout
- Tool and agent card labels
Scope
- Move high-frequency hardcoded UI chrome into
localization::MessageId
- Add translations for every shipped locale:
en, ja, zh-Hans, zh-Hant, pt-BR
- Prioritize short, visible UI chrome before lower-frequency generated/exported content
- Keep command names, keybindings, paths, env vars, model IDs, and tool names unchanged where they are technical tokens
Non-goals
- Model output language
- System prompts or model prompts
- Tool output or shell command output
- User-provided content
- Provider protocol/internal keys
- Full localization of generated
AGENTS.md or exported /share HTML in the first pass
Suggested Phasing
Phase 1: high-frequency TUI chrome
- Composer slash menu hints
- Composer submit/queue hints
- Config modal section/scope/edit labels and footer
- Status line picker title/actions/prompt
- Pending input preview section headers
Phase 2: approval and sandbox elevation
- Approval field labels (
Type, About, Impact, Params)
- Risk/category labels
- Approval option labels and destructive confirmation footer
- Sandbox elevation title, option labels, and descriptions
Phase 3: common command output
CommandResult::error prefix
/queue, /task, /trust, /restore, /config, /statusline, /lsp, /logout
Phase 4: lower-frequency surfaces
- Tool family labels
- Agent lifecycle labels
- Fanout summaries
- Sub-agent modal detail prefixes
- Skills/hooks/session/memory command output
Acceptance Criteria
- New localized strings are represented by shared
MessageId entries or equivalent locale-aware APIs
- Every shipped locale has translations for newly localized strings
- Existing localization completeness tests continue to pass
- Render smoke tests cover at least the surfaces changed in each PR
cargo fmt --all -- --check passes
cargo test --workspace --all-features passes
cargo clippy --workspace --all-targets --all-features passes
- Manual
LANG=zh_TW.UTF-8 cargo run --bin deepseek smoke testing shows reduced English chrome in the targeted surfaces
Summary
Follow-up to #740 / #781. After adding
zh-Hantsupport, the shipped locale registry covers core UI chrome, but many user-visible TUI strings still remain hardcoded in English. This issue tracks expanding localization coverage for commands, modals, widgets, approval dialogs, and status picker UI.This should improve all shipped locales (
en,ja,zh-Hans,zh-Hant,pt-BR), not just Traditional Chinese.Current Gaps
Representative areas that still render English under non-English locales:
/queue,/task,/trust,/restore,/config,/statusline,/lsp, and/logoutScope
localization::MessageIden,ja,zh-Hans,zh-Hant,pt-BRNon-goals
AGENTS.mdor exported/shareHTML in the first passSuggested Phasing
Phase 1: high-frequency TUI chrome
Phase 2: approval and sandbox elevation
Type,About,Impact,Params)Phase 3: common command output
CommandResult::errorprefix/queue,/task,/trust,/restore,/config,/statusline,/lsp,/logoutPhase 4: lower-frequency surfaces
Acceptance Criteria
MessageIdentries or equivalent locale-aware APIscargo fmt --all -- --checkpassescargo test --workspace --all-featurespassescargo clippy --workspace --all-targets --all-featurespassesLANG=zh_TW.UTF-8 cargo run --bin deepseeksmoke testing shows reduced English chrome in the targeted surfaces