fix(im): put the seven Chinese reply strings back into English - #73
Merged
Conversation
The IM surface was mixed: approval cards, /help, continue cards and the settlement text are English, but seven error and status replies were Chinese — so a user could get an English card and then a Chinese error inside the same interaction. One try/catch even had an English success path and a Chinese failure path. Wording reuses vocabulary the repo already has rather than inventing a second set: Approvals paused from the trust toggle, wrapped with tlive run, and the Turn finished card. Three test assertions pinned Chinese fragments and now pin the English ones, so they still hold the copy rather than being loosened. The two additionalContext strings in normalizer.ts stay Chinese: those are read by the model, not the user, and changing them is a separate decision about how the agent guides someone through setup.
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.
The IM surface was mixed. Approval cards,
/help, continue cards and the settlement text are English, but seven error and status replies were Chinese — so a user could get an English card and then a Chinese error inside the same interaction. Onetry/catchhad an English success path and a Chinese failure path one line apart.This was found while reviewing the desktop-toast localization in #72, which explicitly localizes nothing outside the toast. It is not a regression from that work — all seven predate v4.0.0.
pause:button replyApprovals paused — this one is allowed, and everything after it is auto-allowed. Send /trust off to resume.N sessions are active — reply to a message from the one you mean.tlive: no active session can take text. Reply to a session's message to send text to that terminal — the session must be wrapped with tlive run. See /help for commands.No session matches that message — the daemon may have restarted. Reply to a more recent one.That session has ended.[label] is not wrapped with tlive run, so text cannot be injected. Use the buttons for approvals, and reply under a "Turn finished" card to continue a run.[label] injection failed — the session may have exited.Wording reuses vocabulary the repo already has rather than inventing a second set:
Approvals pausedfrom the trust toggle intoggle.ts,wrapped with tlive run, and theTurn finishedcard title.Deliberately unchanged
The two
additionalContextstrings innormalizer.tsstay Chinese. Those are injected into Claude Code's context at session start and read by the model, not the user — they shape how the agent guides someone through setup. Changing them is a separate decision with a different consequence, so it does not belong in a copy-consistency pass.Tests
793 passing,
tscandbuildclean.Three assertions pinned Chinese fragments —
无法注入,引用, and a/no longer active|引用/alternation. They now pin the corresponding English fragments rather than being loosened to something that would pass regardless. Worth noting how they surfaced: a pre-flight grep for the full Chinese sentences came back empty and suggested nothing was pinned, because the assertions match short substrings, not whole strings. The three failures were the correction.