Repository navigation
fix(i18n): correct wrong-sense Simplified Chinese UI strings - #29321
Conversation
|
Important Review skippedThe saved review base belongs to an older reviewed commit. This saved history cannot establish the base for an incremental review. Comment You can disable this status message by setting the Use the checkbox below for a quick retry:
|
| Check name | Status | Explanation | Resolution |
|---|---|---|---|
| Linked Issues check | Issue #29320 requires correcting wrong-sense Simplified Chinese labels in zh.json. The PR description and the AI-generated raw summary both claim 76 value changes in src/renderer/src/i18n/locales/zh.j… |
Provide a readable whole-PR diff from merge base 1ad8755 to head 5c0ad1b69efbbde8ae8063be289294c6af76c06c for src/renderer/src/i18n/locales/zh.json, so the before and after values of the listed keys can be c… | |
| Out of Scope Changes check | The PR description and raw summary state that only src/renderer/src/i18n/locales/zh.json changes (+76/-76) and that no code changes are included. The whole-PR file list is not confirmed because the di… | Provide the whole-PR changed-file list for merge base 1ad8755 to head 5c0ad1b69efbbde8ae8063be289294c6af76c06c, and a readable diff for those files. This is needed to confirm that no file other than zh.json … |

Passed checks: 3 passed
-
Full details: Description check
-
Explanation
The description is complete and relevant. It explains the user impact, changed terminology, rationale, linked issue, testing performed, limitations, AI usage, scope, and checklist status. The visual proof section explains why screenshots are unavailable, and the unrun checks are documented with CI coverage expected.
Full details: Docstring Coverage
-
Explanation
No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)
-
Full details: Linked Issues check
-
Explanation
Issue
#29320requires correcting wrong-sense Simplified Chinese labels in zh.json. The PR description and the AI-generated raw summary both claim 76 value changes in src/renderer/src/i18n/locales/zh.json, with terms such as 看板, 主机, 运行, 会话记录, 远程仓库, 引用, 检出, 智能体, and Latin-script shell, Bitbucket Cloud, and Orca Relay. Those claims are not verified. Whole-PR diff reads for base 1ad8755 to head 5c0ad1b failed because changed blobs are missing from the checkout. The zh.json blob at head is readable only in its first 16000 bytes, and the changed keys are not in that range. The visible head text is consistent with the requirements but does not show the changed values. No concrete unmet requirement was found. The coding requirement cannot be confirmed as met. Incremental diffs since the previous reviewed head are also unavailable, so the previous PASS cannot be carried forward on changed-code evidence.Resolution
Provide a readable whole-PR diff from merge base 1ad8755 to head 5c0ad1b69efbbde8ae8063be289294c6af76c06c for src/renderer/src/i18n/locales/zh.json, so the before and after values of the listed keys can be checked against the issue terms. Alternatively, provide readable blob content for the changed keys at the head revision.
Full details: Out of Scope Changes check
-
Explanation
The PR description and raw summary state that only src/renderer/src/i18n/locales/zh.json changes (+76/-76) and that no code changes are included. The whole-PR file list is not confirmed because the diff read failed with missing changed blobs. The incremental diff from the previous reviewed head is also unavailable. The head zh.json is readable only in part. Within the readable portion, no non-locale change is visible, but that portion does not cover the changed keys. The scope claim therefore cannot be verified. Grammar fixes, measure words, the 辅助功能 and 配置文件 terms, and the 工作智能体 and 监控任务 terms are described as support for the issue scope. Their relation to the issue cannot be checked against changed lines until the diff is readable.
Resolution
Provide the whole-PR changed-file list for merge base 1ad8755 to head 5c0ad1b69efbbde8ae8063be289294c6af76c06c, and a readable diff for those files. This is needed to confirm that no file other than zh.json changed and that every changed zh.json value is within the wrong-sense label correction scope.
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Comment @coderabbitai help to get the list of available commands.
5c0ad1b to
dbaf597
Compare
There was a problem hiding this comment.
Actionable comments posted: 1

Review info
-
Run configuration-
- Source mode: Auto
- Repository: Unavailable
- Branch: Unavailable
- File: No configuration file from this repository applied
- Commit: Unavailable
- Layers: Repository UI
- Review profile: CHILL
- Plan: Advanced
- Run ID:
2c8f7576-6822-4c93-9021-a4ef7c9a4645
Commits-
Reviewing files that changed from the base of the PR and between 28172ba585d3a3eb22ce3a929187dcc2a61a8cd7 and 5c0ad1b69efbbde8ae8063be289294c6af76c06c.
Files selected for processing: 1-
src/renderer/src/i18n/locales/zh.json
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.
-
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to GitHub limitations.

Minor · Keep Orca as the subject of the run-step title. · zh.json:12254
src/renderer/src/i18n/locales/zh.json:12254
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winKeep Orca as the subject of the run-step title.
Orca 开始每次运行is awkward, but每次运行都启动 Orcareverses the intended meaning. Use:Suggested wording
- "runStepTitle": "Orca 开始每次运行", + "runStepTitle": "Orca 会启动每次运行",

Review info
-
Run configuration-
- Source mode: Auto
- Repository: Unavailable
- Branch: Unavailable
- File: No configuration file from this repository applied
- Commit: Unavailable
- Layers: Repository UI
- Review profile: CHILL
- Plan: Advanced
- Run ID:
2c8f7576-6822-4c93-9021-a4ef7c9a4645
Commits-
Reviewing files that changed from the base of the PR and between 28172ba585d3a3eb22ce3a929187dcc2a61a8cd7 and 5c0ad1b69efbbde8ae8063be289294c6af76c06c.
Files selected for processing: 1-
src/renderer/src/i18n/locales/zh.json
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.
-
fef1280 to
2f6c680
Compare
Several zh.json strings used a translation with the wrong meaning for the UI context (e.g. git base ref, dividers, host, browser profile, search keywords). Align them with the intended sense and consistent terminology. Co-authored-by: Neil <neil@stably.ai>
2f6c680 to
f5cde88
Compare
main moved 1112 commits. One conflict, in the WorktreeList object of zh.json: stablyai#29321 rewrote groupRenameFailedDesc, while this branch had appended its two groupProjectsRemained* keys after hostRepairRequired. Resolved with main's value first, then the branch's two keys. The other six catalogs, en-runtime-required.json and locale-ko-key-overrides.json merged on their own. Against main the branch removes the same twelve keys and adds the same 24 in all seven catalogs, with no other value changed.
ELI5
Some Simplified Chinese labels in Orca used the wrong meaning of the English word. "Board" came out as "board of directors", "host" as "TV presenter", "run" as "jogging", "terminal" as "airport terminal", and "transcript" as "school report card". This PR rewrites those labels so they mean what the English means.
What Changed
Only
src/renderer/src/i18n/locales/zh.jsonchanges: 90 values. There are no code changes, and every{{value0}}placeholder stays the same.Before: wrong-sense machine translations, for example 董事会设置 (board of directors), 主持人 (presenter), 别跑 / 每次跑步 (don't jog / every jog), 前往航站楼 (go to the airport terminal), 成绩单 (report card), 遥控器 (TV remotes), 稀疏结账 (cashier checkout), 风俗 (folk customs), 受到推崇的 (revered), 贝壳 (seashells), 嵌套工人 (factory worker), 不可触摸 (untouchable), 轮廓 (outline), 个人资料 (personal profile).
After: terms that already appear elsewhere in the catalog or match the platform. That gives 看板, 主机, 运行 / 运行中, 交给终端, 会话记录, 远程仓库, 基础引用, 稀疏检出, 自定义, 推荐, 辅助功能 (the name macOS uses for the Accessibility permission), 配置文件, 工作智能体, 交接, 窗口, 分隔线粗细, and 水平内边距. Brand names stay in Latin script (Bitbucket Cloud, Orca Relay), and so does "shell", as in the rest of the catalog. The count strings in the background-task strip gain the measure word they need (个 / 项).
The second commit on the original branch carried the same fixes over to the hidden Settings-search keywords and a few sibling strings. Without it, search and labels would disagree: custom / window / host / running / base ref / manager, plus the divider-thickness description.
The full table of the original 76 keys is in #29321.
Why
Machine translation chose the everyday meaning of words that have a specific meaning in software, so Chinese readers saw nonsense. None of the existing repair-policy overrides in
config/scripts/locale-*cover these keys, so a re-translation pass would not have fixed them. Where the catalog already had a correct term, this PR reuses it. Fixing only the wrong-sense strings, instead of retranslating the whole catalog, keeps the diff easy to review.Linked Issue
Fixes #29320
Visual Proof
Settings → Browser: the terminal link action changes from 前往航站楼 ("go to the airport terminal") to 交给终端. The add-profile button changes from 添加个人资料 to 添加配置文件.
Settings → Terminal: the color contrast description changes from 平衡可读性与终端主题。受到推崇的。("...Revered.") to 兼顾可读性与终端主题。推荐使用。
Testing
Rendered the Settings → Browser and Settings → Terminal panes with the UI language set to zh, before and after the change, on macOS (background Electron, CDP screenshots above).
pnpm verify:localization-catalogspasses: all 17023 existing zh.json entries verified.Ran the zh locale policy tests (
locale-translation-policy.test.mjs,.zh-round5,.zh-status-bar-usage,locale-generic-ui-terms.test.mjs): 33/33 pass.src/renderer/src/i18nvitest suite: 146/147 pass. The one failure is a hook timeout inlanguage-detection-reconciliation.test.tsxwhile it imports modules on a heavily loaded machine (load average ~82). That test exercisesjadetection and does not read zh strings.oxfmt --checkis clean on the changed file.Only label text changes, so there is no platform, SSH/remote, or mobile behavior impact.
I manually tested these changes locally
Automated tests added/updated, or explained why not below (no new test: this is translation data only, and perf(ci): cut redundant tests and reuse expensive setup #28669 deliberately removed the zh mistranslation test file)
Original fix by @shichen35 in #29321.
Review
Agent skill upstream boundary
Notes
Language file only. No impact on security, cross-platform behavior, remote SSH, mobile, backwards compatibility, or performance.
Checklist
N/Awith reasonpnpm lint,pnpm typecheck,pnpm test, andpnpm buildpass (or CI will cover; local preferred)