Repository navigation
Conversation
Correct 22 Korean labels to match the workspace or worktree named by their English source. Pin the same values in the Korean key overrides and cover catalog values and repair-policy stability with regression tests. Fixes stablyai#11727 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (4)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe Korean locale and translation overrides were updated for workspace and worktree terminology across Linear, SSH, terminal, session-resumption, and agent messages. Tests check the corrected values, repeated repair, catalog repair, placeholders, and command literals. Priority: ⬇️ Low Severity of issue fixed: Low Merge Risk: ⚪ Minimal · up to The Korean wording corrections appear ready to merge after normal checks. 🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
Full details: Linked Issues checkExplanation The PR fixes the two reported object-label defects in [ Resolution Implement or link reviewed code for the remaining [
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai run pre-merge checks |
✅ Actions performedRunning Pre-merge checks. Results will be posted in the summary comment once complete. |
|
@coderabbitai The The primary/default terminology and the worktree spelling normalization in #11727 are intentionally left for follow-up PRs, to keep this one small and reviewable. This PR covers the workspace/worktree object mix-ups and the corrupted Linear text. |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
git rev-parse HEAD
fd '^locale-(translation-policy\.mjs|repair-catalog-missing-leaves\.test\.mjs)$' .
ast-grep outline config/scripts/locale-translation-policy.mjs --match repairCatalog --view expanded
sed -n '460,530p' config/scripts/locale-translation-policy.mjs
ast-grep outline config/scripts/locale-repair-catalog-missing-leaves.test.mjs --items all
cat -n config/scripts/locale-repair-catalog-missing-leaves.test.mjs
if git cat-file -e f9a5920^{commit} 2>/dev/null; then
if git merge-base --is-ancestor f9a5920 HEAD; then
printf '\nf9a5920 is an ancestor of HEAD\n'
else
printf '\nCould not confirm f9a5920 as an ancestor of HEAD\n'
fi
else
printf '\nf9a5920 is not available in the local clone\n'
fiLength of output: 5118
The primary/default terminology and worktree spelling normalization are outside this PR’s scope. This PR covers workspace/worktree object mix-ups and corrupted Linear text. Would you like separate follow-up issues for the deferred work, or keep tracking it in ✏️ Learnings added
You are interacting with an AI system. |
|
@Jinwoo-H Could you take a look when you have a moment? This PR only changes Korean UI wording (workspace vs. worktree), so a native Korean speaker's review would help a lot. Thank you! |
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes
- Korean catalog corrections — 22 values in
ko.jsonnow name the same object as their English source (workspace→ 워크스페이스,worktree→ 워크트리), plus repair of the corrupted Linear string containing\uFFFD. - Override pinning —
locale-ko-key-overrides.jsongains 21 entries and corrects 1 existing (WorktreeContextMenu.8d9cd19d09), so catalog regeneration preserves the wording. - Regression guards —
locale-ko-key-overrides.test.mjsadds the 22-key table and four tests through the real repair policy;ko-ui-semantic-mistranslations.test.tsextends its shipped/override assertions to the same values.
Every changed value matches its English source in both directions, a full-catalog scan finds no remaining EN=workspace/KO=워크트리 (or inverse) mismatches, and no \uFFFD survives. The changed tests pass (7 passed), oxlint is clean, and verify-localization-catalogs.mjs passes.
deepseek-v4.1-flash (free via Pullfrog for OSS) | 𝕏
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes
- Korean catalog corrections — 22 values in
ko.jsonnow name the same object as their English source (workspace→ 워크스페이스,worktree→ 워크트리), plus repair of the corrupted Linear string containing\uFFFD. - Override pinning —
locale-ko-key-overrides.jsongains 21 entries and corrects 1 existing (WorktreeContextMenu.8d9cd19d09), so catalog regeneration preserves the wording. - Regression guards —
locale-ko-key-overrides.test.mjsadds the 22-key table and four tests through the real repair policy;ko-ui-semantic-mistranslations.test.tsextends its shipped/override assertions to the same values.
Every changed value matches its English source in both directions, a full-catalog scan finds no remaining EN=workspace/KO=워크트리 (or inverse) mismatches, and no \uFFFD survives. The changed tests pass (7 passed), oxlint is clean, and verify-localization-catalogs.mjs passes.
deepseek-v4.1-flash (free via Pullfrog for OSS) | 𝕏
|
@brennanb2025 Friendly ping: could you approve the CI workflows and take a look when you have a moment? CodeRabbit and Pullfrog found no issues, and it still merges cleanly. Thank you! |

ELI5
Some Korean labels name a workspace as a worktree, or a worktree as a workspace. This corrects 22 strings so the Korean UI names the same object as the English UI, including “Remove workspace” and “Open Parent Worktree.”
What Changed
Update the 22 strings in
src/renderer/src/i18n/locales/ko.jsonand pin the same values inconfig/scripts/locale-ko-key-overrides.json. This corrects one existing override and adds 21, so catalog regeneration preserves the wording.The changes cover the SSH reconnect overlay, parent-worktree menu, host-removal counts, Linear filters and guidance, and related workspace messages. They also repair the corrupted Linear text containing
�크트리. Placeholders, punctuation, and the literalgit worktree unlock <worktree-path>command are preserved; the corrupted Linear sentence is rewritten.Extend the existing catalog and override test suites to check all 22 values and run them through the actual repair policy.
Why
A workspace and a Git worktree are different objects. The wrong noun makes removal and navigation actions misleading. I'm a native Korean speaker and reviewed these 22 strings against their English source and UI context.
#12514 incorporated the repair crash guard from #11728 but left the catalog regeneration for a separate change. Editing only the catalog would let an existing override restore the wrong parent-worktree label; editing only the overrides would leave the shipped labels wrong. Updating both fixes the UI and keeps the correction durable without changing translation logic.
Linked Issue
Fixes #11727
This addresses the workspace/worktree object mix-ups and corrupted Linear text. The issue's broader primary/default terminology and worktree spelling normalization remain separate follow-ups.
Visual Proof
Before (Orca 1.4.217 with the Korean UI, right-click menu of a child worktree in the sidebar):
The highlighted item is Open Parent Worktree, but it reads 상위 워크스페이스 열기 ("Open Parent Workspace"). The item right above it, 상위 워크트리 변경… ("Change Parent Worktree…"), already names the same parent correctly. With this PR the highlighted item reads 상위 워크트리 열기.
An after screenshot has not been captured. The table below lists exact before/after values from the catalog.
Testing
Verified on macOS with Node 24, pnpm 12, and
ORCA_BACKGROUND_LAUNCH=1:oxlintandoxfmt --check,pnpm run check:code-quality:changed, andpnpm run tc:webpassed.pnpm run verify:localization-catalogs,verify:localization-extraction,verify:localization-coverage, andgit diff --checkpassed.The existing
ko-ui-semantic-mistranslations.test.tsandlocale-ko-key-overrides.test.mjsnow check the shipped and override values for every changed key. The policy tests feed in old values, corrected values, English fallbacks, and a cloned full catalog; they also check repeated repair, placeholders, the Git command literal, and the repaired Linear text.An in-memory comparison against HEAD data fails all 22 catalog and 22 override exact-value assertions; the current data passes. This was an assertion-equivalent comparison, not a Vitest run on an old checkout.
Full
pnpm lint,pnpm typecheck,pnpm test, andpnpm buildwere not run; the focused checks above are the local evidence, with broader checks left to CI. The repair CLI was not run because it currently rewrites unrelated catalog values. The tests exercise its policy in memory. Rendered UI, Linux, Windows, and live SSH sessions were not manually tested.AI Disclosure
Codex (gpt-6-astra) workers handled research, planning, implementation, and an independent verification pass, coordinated by Claude Code, which also reran the tests independently. I reviewed the Korean wording and final diff.
Review
AI-agent review summary:
Agent skill upstream boundary
docs/reference/agent-skill-sharing-upstream-boundary.mdand copies or mechanically translates no upstream skill-installer source, tests, fixtures, registry entries, path tables, comments, or documentation.Notes
This keeps the change to object names. The 10 audited primary/default terminology keys and 132 spelling-normalization keys are unchanged and deferred.
Checklist
N/Awith reasonpnpm lint,pnpm typecheck,pnpm test, andpnpm buildpass (or CI will cover; local preferred)Author
X: @room_nomad
🤖 Generated with Claude Code