You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[FEATURE]: Land TUI i18n groundwork adapted from #48731 #53857
I have verified this feature I'm about to request hasn't been suggested before.
Describe the enhancement you want to request
The TUI (packages/tui) currently ships zero i18n: roughly 700–1000 user-facing strings are hardcoded English, while the app/desktop side already has per-locale dictionaries.
#48731 by @neriousy laid down the full groundwork (lazy per-locale dictionaries, t()/plural()/number() helpers, language picker, config.language) and the architecture looked solid in review, but the PR has been stalled — no updates since 2026-09-23 and no response to the collaboration comment on the PR.
Rather than let that work rot, I would like to carry it forward:
Merge Feat/tui i18n #48731 onto the current v2 branch (it had fallen ~550 commits behind).
Resolve conflicts with v2's evolved TUI code (theme tokens, dialog APIs, diff-viewer sources, fail/attempt helpers) while keeping the PR's language.t(...) wiring.
Drop parts of the PR that reference APIs v2 has since removed.
Run lint/typecheck/tests with a baseline comparison to prove zero new failures.
All of @neriousy's original commits are preserved via a merge commit, so authorship stays intact.
Note: this supersedes #51998, which was auto-closed by the issue-compliance workflow before its body was converted to the feature-request template structure. The original request is preserved there; this issue carries the same scope in template form.
Thanks for picking up the TUI i18n work and carrying #48731 forward!
I think this is a duplicate of #37216. That issue is still open and asks for the same thing: moving the hardcoded TUI strings into per-locale dictionaries with a language/locale setting. Your PR #52000 can link #37216 as the issue it closes, so the discussion stays in one place.
Possible duplicates and related issues, ordered by likelihood:
Thanks for the triage — agreed, this is the same scope as #37216 (extract packages/tui hardcoded strings into per-locale dictionaries + a language/locale config option). I opened this issue to carry #48731's stalled work forward and to give PR #52000 an issue-first link; no difference worth keeping separate. Closing as duplicate of #37216 is fine — I've updated PR #52000 to close #37216 instead.
Thanks for confirming, and for pointing #52000 at #37216. That keeps the TUI i18n discussion in one place. This issue will be closed as a duplicate of #37216 as planned.
Closing this as a duplicate of #37216, as agreed above. Please continue the TUI i18n discussion there. PR #52000 now links #37216, so the work stays connected to that issue. Thanks for carrying #48731 forward!
Feature hasn't been suggested before.
Describe the enhancement you want to request
The TUI (
packages/tui) currently ships zero i18n: roughly 700–1000 user-facing strings are hardcoded English, while the app/desktop side already has per-locale dictionaries.#48731 by @neriousy laid down the full groundwork (lazy per-locale dictionaries,
t()/plural()/number()helpers, language picker,config.language) and the architecture looked solid in review, but the PR has been stalled — no updates since 2026-09-23 and no response to the collaboration comment on the PR.Rather than let that work rot, I would like to carry it forward:
v2branch (it had fallen ~550 commits behind).fail/attempthelpers) while keeping the PR'slanguage.t(...)wiring.All of @neriousy's original commits are preserved via a merge commit, so authorship stays intact.
Related: #48731
Follow-up PR: #52000
Note: this supersedes #51998, which was auto-closed by the issue-compliance workflow before its body was converted to the feature-request template structure. The original request is preserved there; this issue carries the same scope in template form.