Repository navigation
chore(i18n): translate new keys to es/fr/ja/ko/zh (scan 2026-10-14) - #28896
Conversation
Scan 2026-10-14: fill target-locale coverage for PRs merged since the 2026-10-13 scan (#28486). Adds the missing keys (es 98, fr/ja/ko/zh 125 each), updates the two changed WorktreeJumpPalette strings, and fixes pre-existing mistranslations: the ZCode missing-TUI notice (English in all five locales), fr settings search keywords (procuration/indigene), zh workspace-cleanup browse MT, 6 zh keys that still used Latin "Agent", and the zh AccountsPane credential-help cluster (leftover English and a mangled __Host-console_session token). Leaves the 11 pinned provider-credit-balance keys plus the 3 pinned Chat UI keys as English fallback by design. Records the scan in config/update-translation.txt.
📝 Walkthrough
Priority: ⬇️ Low Merge Risk: 🔵 Low · up to
|
There was a problem hiding this comment.
Actionable comments posted: 2
ℹ️ Review info
⚙️ Run configuration
- Configuration used: Repository UI
- Review profile: CHILL
- Plan: Advanced
- Run ID:
86c0e889-3981-4ba1-8694-9016bc36f427
📒 Files selected for processing: 6
config/update-translation.txtsrc/renderer/src/i18n/locales/es.jsonsrc/renderer/src/i18n/locales/fr.jsonsrc/renderer/src/i18n/locales/ja.jsonsrc/renderer/src/i18n/locales/ko.jsonsrc/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.
- ko Worktree Jump Palette: render "actions" as 동작 so it is distinct from the tasks entry (작업) in the same list. - zh DevTools cookie instruction: clarify the filter phrase to `任意包含 remains 的请求`, keeping the literal `remains` request name.
main moved 171 commits. Two kinds of conflict: - es, fr, ja, ko and zh: the translation sync (stablyai#28896) and this branch both appended keys to the end of auto.components.TaskPage. main's six Jira column labels and jiraBoardEmptyColumn come first, then the four labelCount and memberCount sentences from this branch. - ko-ui-semantic-mistranslations.test.ts was deleted on main (stablyai#28669); this branch only dropped the pinned sshImportSynced value from it, so the deletion is taken. en.json merged on its own. Against main the branch still removes the same twelve keys and adds the same 24 in all six catalogs, with no other value changed.
ELI5
The app ships five translated languages (Spanish, French, Japanese, Korean, Simplified Chinese). When new features add English UI text, those languages fall back to English until someone translates the new strings. This PR translates everything added since the last translation pass and cleans up some old strings that were translated badly.
What Changed
procuration(a legal proxy) →proxy, andindigène(indigenous) →natiffor "native".host→ 主持人 "emcee",path→ 小路 "small road",blockers→ 阻碍者,PR / MR→PR/先生, a leftover English "left"), plus 6 keys that still used Latin "Agent" where the project standard is 智能体, and the AccountsPane credential-help cluster (leftover English "auth cookie" and a mangled__Host-console_sessiontoken).config/update-translation.txt.Why
Orca's catalog model is sparse: a new English key is safe (it falls back to English) but it is untranslated, and a present-but-wrong value silently beats the fallback. The recurring translation pass keeps the five target locales caught up and repairs values that render wrong copy. Fixing the pre-existing strings here (rather than deferring again) is cheap, verified by the same gates, and removes user-visible defects like English text inside the Chinese credential help and the "emcee"/"small road" filter labels.
Linked Issue
N/A — internal localization maintenance; follows the recurring scan recorded in
config/update-translation.txt(previous pass: #28486).Visual Proof
N/A — catalog-only changes; no layout, component, or interaction change.
Testing
node config/scripts/verify-localization-catalog.mjs— PASS (all five locales 16062/16076; the 14 omissions are the pinned keys), 0 interpolation mismatches, 0 extra keys, 0 generic-term regressions.node config/scripts/audit-localization-coverage.mjs --check— PASS (13 allowlisted).node config/scripts/verify-localization-extraction.mjs— PASS.node config/scripts/generate-runtime-required-english-catalog.mjs— PASS.Locale vitest suites — 33 files / 304 tests PASS (
src/renderer/src/i18n+config/scripts/locale*).Translations were produced and reviewed by four rounds of per-locale review (translator + independent reviewer agents), with every value passing through the repo's
repairTranslatedValuepipeline (brand, phrase, CJK-spacing repairs) before landing.I manually tested these changes locally
Automated tests added/updated, or explained why not below
AI Disclosure
Internal change; not required.
Review
Agent skill upstream boundary
Notes
Catalog JSON only; no code paths, IPC, or platform-specific behavior touched.
Checklist
N/Awith reasonpnpm lint,pnpm typecheck,pnpm test, andpnpm buildpass (or CI will cover; local preferred)