diff --git a/desktop/src/components/layout/TabBar.tsx b/desktop/src/components/layout/TabBar.tsx index d68365a8..932791a4 100644 --- a/desktop/src/components/layout/TabBar.tsx +++ b/desktop/src/components/layout/TabBar.tsx @@ -551,6 +551,18 @@ const TabItem = forwardRef void onMouseDown: (event: React.MouseEvent) => void }>(({ tab, isRunning, isActive, isDragOver, isDragging, dragOffsetX, runningLabel, onClick, onClose, onContextMenu, onMouseDown }, ref) => { + const t = useTranslation() + // Special tabs (settings/scheduled/traces) carry a stored title from when + // they were first opened; that title is frozen at the locale active at the + // time and persists across locale switches via localStorage. Always derive + // the label from i18n at render time so the current locale wins. + const displayTitle = tab.type === 'settings' + ? t('sidebar.settings') + : tab.type === 'scheduled' + ? t('sidebar.scheduled') + : tab.type === 'traces' + ? t('trace.list.title') + : (tab.title || 'Untitled') return (
- {tab.title || 'Untitled'} + {displayTitle}