fix(i18n): emit settings expected-result codes from producers - #4551
Draft
orangeCatDeveloper wants to merge 3 commits into
Draft
fix(i18n): emit settings expected-result codes from producers#4551orangeCatDeveloper wants to merge 3 commits into
orangeCatDeveloper wants to merge 3 commits into
Conversation
orangeCatDeveloper
force-pushed
the
fix/locale-producer-codes
branch
7 times, most recently
from
September 3, 2026 08:49
ad2b11d to
89c58cd
Compare
3 tasks
orangeCatDeveloper
force-pushed
the
fix/locale-producer-codes
branch
from
September 3, 2026 08:55
89c58cd to
3ffb1a2
Compare
3 tasks
orangeCatDeveloper
force-pushed
the
fix/locale-producer-codes
branch
from
September 3, 2026 09:11
3ffb1a2 to
2af778f
Compare
Settings-area producers (memory, data, permission center, connection test, computer-use health, dev dialogs) emitted zh prose that reached en users verbatim, and presenters sniffed CJK to decide whether to show it. Producers now return stable codes; each settings catalog maps its codes per locale with an explicit unknown fallback. Generated-by: Claude Code
Gate the remaining CJK passthrough to zh, drop silent locale defaults, redact probe detail at the producer, and remove dead copy. Generated-by: Muse Spark
Generated-by: OpenCode
orangeCatDeveloper
force-pushed
the
fix/locale-producer-codes
branch
from
September 3, 2026 10:12
4b6d344 to
b526451
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Settings-area producers emitted zh-only result strings, so English users either saw Chinese or — where consumers guarded with
/[㐀-鿿]/content sniffing — silently lost the information (permission guidance was dropped entirely). Producers now emit stable machine codes (IPC payloads stay locale-free), and each settings catalog maps its union exhaustively per locale with an explicit unknown-code fallback. Every CJK-sniff site in this area dies with its producer fixed; zh copy moved verbatim, en copy is new.Covered producers:
capability-snapshotreasons, memory ops,test-connectionOAuth rate-limit,computer-use-hosthealth reasons, the GitHub Copilot import path (github-copilot-local-credential+ its IPC handler, re-based onto main's device-grant rewrite), plus the dev-singleton dialog, browser message-box close label, and artifact/config native dialog titles (wired through the main-process locale authority).subscriptionResultMessagenow takes the result envelope and resolvescode, then the typedreason(experimental_disabled), through the catalog before falling back to the keyword classifier; its trailing CJK passthrough is gone. It moved out of theuseOAuthLoginFlowhook module into the catalog module beside the copy it renders, which also makes it testable from node.The bot domain moved to its own PR so each PR is one reviewer context.
Refs #2672
Verification
Boundaries: the four legacy capability reason tokens keep their existing prose form — #4524's health presenter maps that exact vocabulary, so renaming is a coordinated follow-up.
AI use
Select exactly one:
Tool(s) and scope: Claude Code — analysis, implementation, tests, and this description, under the contributor's direction; the commit carries a
Generated-by: Claude Codetrailer.Checklist