Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ npm/*/bin/downloads/
apps/

# Claude Code runtime artifacts
.claude/settings.json
.claude/scheduled_tasks.lock
.claude/worktrees/
.worktrees/
Expand Down
153 changes: 153 additions & 0 deletions crates/tui/src/localization.rs
Original file line number Diff line number Diff line change
Expand Up @@ -238,6 +238,23 @@ pub enum MessageId {
ConfigFooterDefault,
ConfigFooterScrollable,
ConfigFooterFiltered,
SidebarWork,
SidebarTasks,
SidebarSession,
SidebarLiveTools,
SidebarRecentTools,
SidebarBackgroundCommands,
SidebarStrategyMetadata,
SidebarWorkStateUpdating,
SidebarNoActiveWork,
SidebarNoLiveTools,
SidebarNoAgents,
SidebarFocusWork,
SidebarFocusTasks,
SidebarFocusAgents,
SidebarFocusContext,
SidebarFocusAuto,
SidebarHidden,
HelpTitle,
HelpFilterPlaceholder,
HelpFilterPrefix,
Expand Down Expand Up @@ -571,6 +588,23 @@ pub const ALL_MESSAGE_IDS: &[MessageId] = &[
MessageId::ConfigFooterDefault,
MessageId::ConfigFooterScrollable,
MessageId::ConfigFooterFiltered,
MessageId::SidebarWork,
MessageId::SidebarTasks,
MessageId::SidebarSession,
MessageId::SidebarLiveTools,
MessageId::SidebarRecentTools,
MessageId::SidebarBackgroundCommands,
MessageId::SidebarStrategyMetadata,
MessageId::SidebarWorkStateUpdating,
MessageId::SidebarNoActiveWork,
MessageId::SidebarNoLiveTools,
MessageId::SidebarNoAgents,
MessageId::SidebarFocusWork,
MessageId::SidebarFocusTasks,
MessageId::SidebarFocusAgents,
MessageId::SidebarFocusContext,
MessageId::SidebarFocusAuto,
MessageId::SidebarHidden,
MessageId::HelpTitle,
MessageId::HelpFilterPlaceholder,
MessageId::HelpFilterPrefix,
Expand Down Expand Up @@ -1081,6 +1115,23 @@ fn english(id: MessageId) -> &'static str {
MessageId::ConfigFooterFiltered => {
" type=filter, Backspace=delete, Ctrl+U/Esc=clear, Enter=edit "
}
MessageId::SidebarWork => "Work",
MessageId::SidebarTasks => "Tasks",
MessageId::SidebarSession => "Session",
MessageId::SidebarLiveTools => "Live tools",
MessageId::SidebarRecentTools => "Recent tools",
MessageId::SidebarBackgroundCommands => "Background commands",
MessageId::SidebarStrategyMetadata => "Strategy metadata",
MessageId::SidebarWorkStateUpdating => "Work state updating...",
MessageId::SidebarNoActiveWork => "No active work",
MessageId::SidebarNoLiveTools => "No live tools or background jobs",
MessageId::SidebarNoAgents => "No agents",
MessageId::SidebarFocusWork => "Sidebar focus: work",
MessageId::SidebarFocusTasks => "Sidebar focus: tasks",
MessageId::SidebarFocusAgents => "Sidebar focus: agents",
MessageId::SidebarFocusContext => "Sidebar focus: context",
MessageId::SidebarFocusAuto => "Sidebar focus: auto",
MessageId::SidebarHidden => "Sidebar hidden",
MessageId::HelpTitle => "Help",
MessageId::HelpFilterPlaceholder => "Type to filter",
MessageId::HelpFilterPrefix => "Filter: ",
Expand Down Expand Up @@ -1547,6 +1598,23 @@ fn vietnamese(id: MessageId) -> Option<&'static str> {
MessageId::ConfigFooterFiltered => {
" gõ=lọc, Backspace=xóa, Ctrl+U/Esc=xóa sạch, Enter=sửa "
}
MessageId::SidebarWork => "Công việc",
MessageId::SidebarTasks => "Nhiệm vụ",
MessageId::SidebarSession => "Phiên",
MessageId::SidebarLiveTools => "Công cụ trực tiếp",
MessageId::SidebarRecentTools => "Công cụ gần đây",
MessageId::SidebarBackgroundCommands => "Lệnh nền",
MessageId::SidebarStrategyMetadata => "Siêu dữ liệu chiến lược",
MessageId::SidebarWorkStateUpdating => "Đang cập nhật trạng thái...",
MessageId::SidebarNoActiveWork => "Không có công việc đang hoạt động",
MessageId::SidebarNoLiveTools => "Không có công cụ trực tiếp hoặc tác vụ nền",
MessageId::SidebarNoAgents => "Không có tác nhân",
MessageId::SidebarFocusWork => "Thanh bên: công việc",
MessageId::SidebarFocusTasks => "Thanh bên: nhiệm vụ",
MessageId::SidebarFocusAgents => "Thanh bên: tác nhân",
MessageId::SidebarFocusContext => "Thanh bên: ngữ cảnh",
MessageId::SidebarFocusAuto => "Thanh bên: tự động",
MessageId::SidebarHidden => "Đã ẩn thanh bên",
MessageId::HelpTitle => "Trợ giúp",
MessageId::HelpFilterPlaceholder => "Nhập để lọc",
MessageId::HelpFilterPrefix => "Bộ lọc: ",
Expand Down Expand Up @@ -2073,6 +2141,23 @@ fn traditional_chinese(id: MessageId) -> Option<&'static str> {
MessageId::CtxInspCacheTip => {
"提示:穩定前綴區塊符合 DeepSeek V4 前綴快取條件。易變工作集的更改僅會破壞快取尾部。"
}
MessageId::SidebarWork => "工作",
MessageId::SidebarTasks => "任務",
MessageId::SidebarSession => "會話",
MessageId::SidebarLiveTools => "即時工具",
MessageId::SidebarRecentTools => "最近工具",
MessageId::SidebarBackgroundCommands => "背景命令",
MessageId::SidebarStrategyMetadata => "策略元數據",
MessageId::SidebarWorkStateUpdating => "工作狀態更新中...",
MessageId::SidebarNoActiveWork => "沒有進行中的工作",
MessageId::SidebarNoLiveTools => "沒有即時工具或背景任務",
MessageId::SidebarNoAgents => "沒有代理",
MessageId::SidebarFocusWork => "側邊欄焦點:工作",
MessageId::SidebarFocusTasks => "側邊欄焦點:任務",
MessageId::SidebarFocusAgents => "側邊欄焦點:代理",
MessageId::SidebarFocusContext => "側邊欄焦點:上下文",
MessageId::SidebarFocusAuto => "側邊欄焦點:自動",
MessageId::SidebarHidden => "側邊欄已隱藏",
other => chinese_simplified(other)?,
})
}
Expand Down Expand Up @@ -2102,6 +2187,23 @@ fn japanese(id: MessageId) -> Option<&'static str> {
MessageId::ConfigFooterFiltered => {
" 入力=絞り込み, Backspace=削除, Ctrl+U/Esc=クリア, Enter=編集 "
}
MessageId::SidebarWork => "作業",
MessageId::SidebarTasks => "タスク",
MessageId::SidebarSession => "セッション",
MessageId::SidebarLiveTools => "ライブツール",
MessageId::SidebarRecentTools => "最近のツール",
MessageId::SidebarBackgroundCommands => "バックグラウンドコマンド",
MessageId::SidebarStrategyMetadata => "戦略メタデータ",
MessageId::SidebarWorkStateUpdating => "作業状態を更新中...",
MessageId::SidebarNoActiveWork => "アクティブな作業はありません",
MessageId::SidebarNoLiveTools => "ライブツールやバックグラウンドジョブはありません",
MessageId::SidebarNoAgents => "エージェントはありません",
MessageId::SidebarFocusWork => "サイドバー: 作業",
MessageId::SidebarFocusTasks => "サイドバー: タスク",
MessageId::SidebarFocusAgents => "サイドバー: エージェント",
MessageId::SidebarFocusContext => "サイドバー: コンテキスト",
MessageId::SidebarFocusAuto => "サイドバー: 自動",
MessageId::SidebarHidden => "サイドバーを非表示",
MessageId::HelpTitle => "ヘルプ",
MessageId::HelpFilterPlaceholder => "入力して絞り込み",
MessageId::HelpFilterPrefix => "絞り込み: ",
Expand Down Expand Up @@ -2562,6 +2664,23 @@ fn chinese_simplified(id: MessageId) -> Option<&'static str> {
MessageId::ConfigFooterFiltered => {
" 输入=筛选, Backspace=删除, Ctrl+U/Esc=清除, Enter=编辑 "
}
MessageId::SidebarWork => "工作",
MessageId::SidebarTasks => "任务",
MessageId::SidebarSession => "会话",
MessageId::SidebarLiveTools => "实时工具",
MessageId::SidebarRecentTools => "最近工具",
MessageId::SidebarBackgroundCommands => "后台命令",
MessageId::SidebarStrategyMetadata => "策略元数据",
MessageId::SidebarWorkStateUpdating => "工作状态更新中...",
MessageId::SidebarNoActiveWork => "没有进行中的工作",
MessageId::SidebarNoLiveTools => "没有实时工具或后台任务",
MessageId::SidebarNoAgents => "没有代理",
MessageId::SidebarFocusWork => "侧边栏焦点:工作",
MessageId::SidebarFocusTasks => "侧边栏焦点:任务",
MessageId::SidebarFocusAgents => "侧边栏焦点:代理",
MessageId::SidebarFocusContext => "侧边栏焦点:上下文",
MessageId::SidebarFocusAuto => "侧边栏焦点:自动",
MessageId::SidebarHidden => "侧边栏已隐藏",
MessageId::HelpTitle => "帮助",
MessageId::HelpFilterPlaceholder => "输入以筛选",
MessageId::HelpFilterPrefix => "筛选: ",
Expand Down Expand Up @@ -2968,6 +3087,23 @@ fn portuguese_brazil(id: MessageId) -> Option<&'static str> {
MessageId::ConfigFooterFiltered => {
" digite=filtrar, Backspace=apagar, Ctrl+U/Esc=limpar, Enter=editar "
}
MessageId::SidebarWork => "Trabalho",
MessageId::SidebarTasks => "Tarefas",
MessageId::SidebarSession => "Sessão",
MessageId::SidebarLiveTools => "Ferramentas ativas",
MessageId::SidebarRecentTools => "Ferramentas recentes",
MessageId::SidebarBackgroundCommands => "Comandos em segundo plano",
MessageId::SidebarStrategyMetadata => "Metadados da estratégia",
MessageId::SidebarWorkStateUpdating => "Atualizando estado do trabalho...",
MessageId::SidebarNoActiveWork => "Nenhum trabalho ativo",
MessageId::SidebarNoLiveTools => "Nenhuma ferramenta ativa ou trabalho em segundo plano",
MessageId::SidebarNoAgents => "Nenhum agente",
MessageId::SidebarFocusWork => "Foco da barra lateral: trabalho",
MessageId::SidebarFocusTasks => "Foco da barra lateral: tarefas",
MessageId::SidebarFocusAgents => "Foco da barra lateral: agentes",
MessageId::SidebarFocusContext => "Foco da barra lateral: contexto",
MessageId::SidebarFocusAuto => "Foco da barra lateral: automático",
MessageId::SidebarHidden => "Barra lateral oculta",
MessageId::HelpTitle => "Ajuda",
MessageId::HelpFilterPlaceholder => "Digite para filtrar",
MessageId::HelpFilterPrefix => "Filtro: ",
Expand Down Expand Up @@ -3454,6 +3590,23 @@ fn spanish_latin_america(id: MessageId) -> Option<&'static str> {
MessageId::ConfigFooterFiltered => {
" escribir=filtrar, Backspace=borrar, Ctrl+U/Esc=limpiar, Enter=editar "
}
MessageId::SidebarWork => "Trabajo",
MessageId::SidebarTasks => "Tareas",
MessageId::SidebarSession => "Sesión",
MessageId::SidebarLiveTools => "Herramientas activas",
MessageId::SidebarRecentTools => "Herramientas recientes",
MessageId::SidebarBackgroundCommands => "Comandos en segundo plano",
MessageId::SidebarStrategyMetadata => "Metadatos de estrategia",
MessageId::SidebarWorkStateUpdating => "Actualizando estado del trabajo...",
MessageId::SidebarNoActiveWork => "Sin trabajo activo",
MessageId::SidebarNoLiveTools => "Sin herramientas activas ni trabajos en segundo plano",
MessageId::SidebarNoAgents => "Sin agentes",
MessageId::SidebarFocusWork => "Enfoque barra lateral: trabajo",
MessageId::SidebarFocusTasks => "Enfoque barra lateral: tareas",
MessageId::SidebarFocusAgents => "Enfoque barra lateral: agentes",
MessageId::SidebarFocusContext => "Enfoque barra lateral: contexto",
MessageId::SidebarFocusAuto => "Enfoque barra lateral: automático",
MessageId::SidebarHidden => "Barra lateral oculta",
MessageId::HelpTitle => "Ayuda",
MessageId::HelpFilterPlaceholder => "Escribe para filtrar",
MessageId::HelpFilterPrefix => "Filtro: ",
Expand Down
7 changes: 5 additions & 2 deletions crates/tui/src/tui/hotbar/actions.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ use std::sync::Arc;

use anyhow::{Result, bail};

use crate::localization::{MessageId, tr};
use crate::tui::app::{App, AppAction, AppMode, SidebarFocus};
use crate::tui::command_palette::{
CommandPaletteView, build_entries as build_command_palette_entries,
Expand Down Expand Up @@ -234,10 +235,12 @@ impl HotbarAction for AppHotbarAction {
AppHotbarKind::SidebarToggle => {
if app.sidebar_focus == SidebarFocus::Hidden {
app.set_sidebar_focus(SidebarFocus::Auto);
app.status_message = Some("Sidebar focus: auto".to_string());
app.status_message =
Some(tr(app.ui_locale, MessageId::SidebarFocusAuto).to_string());
} else {
app.set_sidebar_focus(SidebarFocus::Hidden);
app.status_message = Some("Sidebar hidden".to_string());
app.status_message =
Some(tr(app.ui_locale, MessageId::SidebarHidden).to_string());
}
Ok(HotbarDispatch::Handled)
}
Expand Down
Loading
Loading