You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Bug]: Claude account labels 'System default' and 'Claude account' are not translatable #30101
Short summary:getClaudeAccountLabel (src/renderer/src/lib/claude-account-label.ts) returns two literals without translate(): 'System default' when the account id is null, and 'Claude account' when the account is not found or has no email. The sentences around the label are in the catalog, so in any other language the sentence is translated and the account name inside it stays English.
Where the label shows up:
the accounts.claude.nextLaunch toast after a switch ("{{value0}} → {{value1}}. The next Claude you start uses it. …"), already in v1.4.229;
In Settings → AI Provider Accounts, switch Claude from the system default login to an added account.
The toast description starts with "System default → " while the rest of it is translated.
Possible fix: wrap both returns, for example translate('accounts.claude.systemDefault', 'System default') and translate('accounts.claude.unnamedAccount', 'Claude account'). The neighbouring claude-account-switch-sessions.ts already imports translate from @/i18n/i18n. I can send the PR if you want it.
Checked on main at 6fcc183ab9.
Three earlier spots, still on main. I left these as comments on merged PRs, where they are easy to miss:
SeveredTerminalDaemonBanner.tsx:45: terminal.severedDaemonBanner.count has one English form, so a single terminal reads "1 running terminals" (#28021).
Three more strings of the same kind, in case they help while this is being looked at. Checked on main at 2b6077807a; all three are also in v1.4.230.
src/renderer/src/components/sidebar/use-worktree-context-menu-model.tsx:207–214: the workspace context menu builds Sleep, Sleep N Workspaces, Delete N Workspaces and Delete Selected from English literals, with the plural s glued on. Sleep is in every workspace's context menu, so it stays English in every language.
src/shared/execution-host-health.ts:33–51: getExecutionHostHealthLabel returns the host health labels as literals (Local, Connected, Connecting, Update needed, Re-pair needed, Disconnected, Needs attention), and sidebar-host-options.ts:211 adds Mixed. They show in the host picker and the sidebar host menu.
src/shared/protocol-compat.ts:61–63: describeRuntimeCompatBlock returns an English sentence ("This Orca client is too old for the selected server. Update Orca on this machine. …"). The host details in Settings, the connect toast, the host picker, HostSectionHeaderMenu and the automation target check show it as is.
The last two live in src/shared, so the translation would go at the renderer call sites rather than in the shared module.
Activity
AmethystLiang commentedon Oct 18, 2026
looking into it
smwbev commentedon Oct 19, 2026
Three more strings of the same kind, in case they help while this is being looked at. Checked on
mainat2b6077807a; all three are also in v1.4.230.src/renderer/src/components/sidebar/use-worktree-context-menu-model.tsx:207–214: the workspace context menu buildsSleep,Sleep N Workspaces,Delete N WorkspacesandDelete Selectedfrom English literals, with the pluralsglued on.Sleepis in every workspace's context menu, so it stays English in every language.src/shared/execution-host-health.ts:33–51:getExecutionHostHealthLabelreturns the host health labels as literals (Local,Connected,Connecting,Update needed,Re-pair needed,Disconnected,Needs attention), andsidebar-host-options.ts:211addsMixed. They show in the host picker and the sidebar host menu.src/shared/protocol-compat.ts:61–63:describeRuntimeCompatBlockreturns an English sentence ("This Orca client is too old for the selected server. Update Orca on this machine. …"). The host details in Settings, the connect toast, the host picker,HostSectionHeaderMenuand the automation target check show it as is.The last two live in
src/shared, so the translation would go at the renderer call sites rather than in the shared module.