Skip to content
Merged
Prev Previous commit
Next Next commit
feat(web-gui): i18n Phase 1 cleanup — translate remaining Settings & …
…RightPanel strings

Replace all remaining hardcoded English UI strings with t() calls:
- SettingsPage: header, runtime overview, model defaults, search section,
  provider status, OAuth section, advanced/raw config, diagnostics
- AgentOverviewPanel: empty states, worktree label, task detail Kind
- Add ~35 new translation keys to en.ts and zh-CN.ts

Verified: tsc --noEmit zero errors, vitest 118/118 passed
  • Loading branch information
jolestar committed Jul 5, 2026
commit c27f5d93f9fad64f7a016cd1e1e8b6238e4d8b78
9 changes: 5 additions & 4 deletions web-gui/app/src/features/right-panel/AgentOverviewPanel.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -100,10 +100,10 @@ export function AgentOverviewPanel({
const currentWorkItems = workItems.filter((item) => item.current);
const openWorkItems = workItems.filter((item) => !item.current && item.state !== "completed");
const completedWorkItems = workItems.filter((item) => item.state === "completed");
const currentWorkLabel = currentWorkItems[0]?.objective ?? agent.currentWork?.objective ?? "No current work item";
const currentWorkLabel = currentWorkItems[0]?.objective ?? agent.currentWork?.objective ?? t("rightPanel.noCurrentWork");
const workspaceName = workspace?.name ?? agent.workspace;
const workspaceRoot = workspace?.cwd ?? workspace?.executionRoot ?? workspace?.worktree?.path ?? workspace?.anchor;
const modeLabel = workspace?.worktree ? "Managed worktree" : workspace?.projectionKind;
const modeLabel = workspace?.worktree ? t("rightPanel.managedWorktree") : workspace?.projectionKind;
const showCwd = Boolean(workspace?.cwd && workspace.cwd !== workspace.executionRoot);
const hasActiveTasks = agent.activeTaskCount > 0 || Boolean(agent.tasks?.length);
const selectWorkItem = (workItem: WorkItemSummary) => {
Expand Down Expand Up @@ -357,7 +357,7 @@ export function AgentOverviewPanel({
className="inspector-empty"
icon="◎"
title={t("panel.noCurrentWork")}
description="Select a timeline activity to inspect tool output, or continue the conversation from the main pane."
description={t("rightPanel.noCurrentWorkDesc")}
/>
)}
</div>
Expand Down Expand Up @@ -602,6 +602,7 @@ export function WorkItemDetailPanel({ workItem, detailState, onOpenPlanFile }: {
}

export function TaskDetailPanel({ task, detailState }: { task: TaskSummary; detailState?: TaskDetailState }) {
const { t } = useTranslation();
const loading = detailState?.loading && !detailState?.output;
const output = detailState?.output;
const taskRecord = output?.task;
Expand Down Expand Up @@ -629,7 +630,7 @@ export function TaskDetailPanel({ task, detailState }: { task: TaskSummary; deta
<dd>{compactMeta([status, exitStatus != null ? `exit ${exitStatus}` : undefined])}</dd>
</div>
<div>
<dt>Kind</dt>
<dt>{t("rightPanel.kind")}</dt>
<dd>{task.kind}</dd>
</div>
{task.command ? (
Expand Down
Loading