diff --git a/internal/tui/i18n_de.go b/internal/tui/i18n_de.go index 3796a8a78..37c773c42 100644 --- a/internal/tui/i18n_de.go +++ b/internal/tui/i18n_de.go @@ -610,12 +610,6 @@ func deCatalog(key string) string { return "Sitzungsspeicher nicht konfiguriert.\n\n" case "session.none": return "Keine Sitzungen gefunden.\n\n" - case "session.list.title": - return "Sitzungen:\n\n" - case "session.list.item": - return " %d. %s %s (%s)\n" - case "session.list.hint": - return "\n/resume verwenden, um eine Sitzung fortzusetzen\n\n" case "session.new": return "Neue Sitzung: %s\n\n" case "session.resume": @@ -652,12 +646,6 @@ func deCatalog(key string) string { return " %s %d Bearb. zuletzt: %s%s\n" case "files.hint": return "\n/undo verwenden, um die letzte Bearbeitung rückgängig zu machen, /checkpoints für Details.\n\n" - case "checkpoint.list.title": - return "Checkpoints (%d):\n\n" - case "checkpoint.list.item": - return " %d. %s %s %s %s\n" - case "checkpoint.list.hint": - return "\n/undo verwenden, um die letzte rückgängig zu machen.\n\n" // --- Memory --- case "memory.auto_unavailable": @@ -966,8 +954,6 @@ func deCatalog(key string) string { // --- QQ panel --- case "panel.qq.directory": return "Verzeichnis" - case "panel.qq.runtime": - return "Laufzeit" case "panel.qq.bots": return "QQ-Bots" case "panel.qq.created": diff --git a/internal/tui/i18n_dingtalk.go b/internal/tui/i18n_dingtalk.go index 34ed6de2f..65a95b6b8 100644 --- a/internal/tui/i18n_dingtalk.go +++ b/internal/tui/i18n_dingtalk.go @@ -7,7 +7,6 @@ func init() { func enDingtalkModule() map[string]string { return map[string]string{ "panel.dingtalk.directory": "Directory", - "panel.dingtalk.runtime": "Runtime", "panel.dingtalk.bots": "DingTalk Bots", "panel.dingtalk.created": "Created: %d", "panel.dingtalk.bound": "Bound: %d", @@ -53,9 +52,6 @@ func enDingtalkModule() map[string]string { "panel.dingtalk.error.not_dingtalk_adapter": "adapter %q is not a DingTalk bot", "panel.dingtalk.error.not_online": "DingTalk bot %q is not online", "panel.dingtalk.error.not_online_detail": "DingTalk bot %q is not online: %s", - "panel.dingtalk.runtime.available": "available", - "panel.dingtalk.runtime.disabled": "disabled (set im.enabled: true and restart ggcode)", - "panel.dingtalk.runtime.not_started": "not started (restart ggcode to initialize IM runtime)", "panel.dingtalk.status.not_started": "not started", "panel.dingtalk.status.unknown": "unknown", } @@ -64,7 +60,6 @@ func enDingtalkModule() map[string]string { func zhDingtalkModule() map[string]string { return map[string]string{ "panel.dingtalk.directory": "目录", - "panel.dingtalk.runtime": "运行时", "panel.dingtalk.bots": "钉钉机器人", "panel.dingtalk.created": "已创建:%d", "panel.dingtalk.bound": "已绑定:%d", @@ -110,9 +105,6 @@ func zhDingtalkModule() map[string]string { "panel.dingtalk.error.not_dingtalk_adapter": "适配器 %q 不是钉钉机器人", "panel.dingtalk.error.not_online": "钉钉机器人 %q 未上线", "panel.dingtalk.error.not_online_detail": "钉钉机器人 %q 未上线:%s", - "panel.dingtalk.runtime.available": "可用", - "panel.dingtalk.runtime.disabled": "已禁用(设置 im.enabled: true 并重启 ggcode)", - "panel.dingtalk.runtime.not_started": "未启动(重启 ggcode 以初始化 IM 运行时)", "panel.dingtalk.status.not_started": "未启动", "panel.dingtalk.status.unknown": "未知", } diff --git a/internal/tui/i18n_discord.go b/internal/tui/i18n_discord.go index dcb905e70..fdcb176c5 100644 --- a/internal/tui/i18n_discord.go +++ b/internal/tui/i18n_discord.go @@ -7,7 +7,6 @@ func init() { func enDiscordModule() map[string]string { return map[string]string{ "panel.discord.directory": "Directory", - "panel.discord.runtime": "Runtime", "panel.discord.bots": "Discord Bots", "panel.discord.created": "Created: %d", "panel.discord.bound": "Bound: %d", @@ -53,9 +52,6 @@ func enDiscordModule() map[string]string { "panel.discord.error.not_discord_adapter": "adapter %q is not a Discord bot", "panel.discord.error.not_online": "Discord bot %q is not online", "panel.discord.error.not_online_detail": "Discord bot %q is not online: %s", - "panel.discord.runtime.available": "available", - "panel.discord.runtime.disabled": "disabled (set im.enabled: true and restart ggcode)", - "panel.discord.runtime.not_started": "not started (restart ggcode to initialize IM runtime)", "panel.discord.status.not_started": "not started", "panel.discord.status.unknown": "unknown", } @@ -64,7 +60,6 @@ func enDiscordModule() map[string]string { func zhDiscordModule() map[string]string { return map[string]string{ "panel.discord.directory": "目录", - "panel.discord.runtime": "运行时", "panel.discord.bots": "Discord 机器人", "panel.discord.created": "已创建:%d", "panel.discord.bound": "已绑定:%d", @@ -110,9 +105,6 @@ func zhDiscordModule() map[string]string { "panel.discord.error.not_discord_adapter": "适配器 %q 不是 Discord 机器人", "panel.discord.error.not_online": "Discord 机器人 %q 未上线", "panel.discord.error.not_online_detail": "Discord 机器人 %q 未上线:%s", - "panel.discord.runtime.available": "可用", - "panel.discord.runtime.disabled": "已禁用(设置 im.enabled: true 并重启 ggcode)", - "panel.discord.runtime.not_started": "未启动(重启 ggcode 以初始化 IM 运行时)", "panel.discord.status.not_started": "未启动", "panel.discord.status.unknown": "未知", } diff --git a/internal/tui/i18n_en.go b/internal/tui/i18n_en.go index b5f49be91..e7bdecd61 100644 --- a/internal/tui/i18n_en.go +++ b/internal/tui/i18n_en.go @@ -621,12 +621,6 @@ func enCatalog(key string) string { return "Session store not configured.\n\n" case "session.none": return "No sessions found.\n\n" - case "session.list.title": - return "Sessions:\n\n" - case "session.list.item": - return " %d. %s %s (%s)\n" - case "session.list.hint": - return "\nUse /resume to continue a session\n\n" case "session.new": return "New session: %s\n\n" case "session.resume": @@ -679,12 +673,6 @@ func enCatalog(key string) string { return " %s %d edits last: %s%s\n" case "files.hint": return "\nUse /undo to revert the most recent edit, /redo to re-apply, /checkpoints for details.\n\n" - case "checkpoint.list.title": - return "Checkpoints (%d):\n\n" - case "checkpoint.list.item": - return " %d. %s %s %s %s\n" - case "checkpoint.list.hint": - return "\nUse /undo to revert the most recent, /redo to re-apply.\n\n" case "memory.auto_unavailable": return "Auto memory not initialized.\n\n" case "traj.no_workspace": @@ -1093,8 +1081,6 @@ func enCatalog(key string) string { return "Open unified IM channels panel" case "panel.qq.directory": return "Directory" - case "panel.qq.runtime": - return "Runtime" case "panel.qq.bots": return "QQ Bots" case "panel.qq.created": diff --git a/internal/tui/i18n_es.go b/internal/tui/i18n_es.go index 08ae10673..e094968ea 100644 --- a/internal/tui/i18n_es.go +++ b/internal/tui/i18n_es.go @@ -554,12 +554,6 @@ func esCatalog(key string) string { return "Almacen de sesiónes no configurado.\n\n" case "session.none": return "No se encontraron sesiónes.\n\n" - case "session.list.title": - return "Sesiónes:\n\n" - case "session.list.item": - return " %d. %s %s (%s)\n" - case "session.list.hint": - return "\nUse /resume para continúar una sesión\n\n" case "session.new": return "Nueva sesión: %s\n\n" case "session.resume": @@ -592,12 +586,6 @@ func esCatalog(key string) string { return " %s %d ediciónes último: %s%s\n" case "files.hint": return "\nUse /undo para revertir la edición más reciente, /checkpoints para detalles.\n\n" - case "checkpoint.list.title": - return "Checkpoints (%d):\n\n" - case "checkpoint.list.item": - return " %d. %s %s %s %s\n" - case "checkpoint.list.hint": - return "\nUse /undo para revertir el más reciente.\n\n" case "memory.auto_unavailable": return "Memoria automatica no inicializada.\n\n" case "memory.list_failed": @@ -882,8 +870,6 @@ func esCatalog(key string) string { return "Abrir panel unificado de canales IM" case "panel.qq.directory": return "Directorio" - case "panel.qq.runtime": - return "Runtime" case "panel.qq.bots": return "Bots QQ" case "panel.qq.created": diff --git a/internal/tui/i18n_feishu.go b/internal/tui/i18n_feishu.go index 77096532d..07b35bdaa 100644 --- a/internal/tui/i18n_feishu.go +++ b/internal/tui/i18n_feishu.go @@ -7,7 +7,6 @@ func init() { func enFeishuModule() map[string]string { return map[string]string{ "panel.feishu.directory": "Directory", - "panel.feishu.runtime": "Runtime", "panel.feishu.bots": "Feishu Bots", "panel.feishu.created": "Created: %d", "panel.feishu.bound": "Bound: %d", @@ -53,9 +52,6 @@ func enFeishuModule() map[string]string { "panel.feishu.error.not_feishu_adapter": "adapter %q is not a Feishu bot", "panel.feishu.error.not_online": "Feishu bot %q is not online", "panel.feishu.error.not_online_detail": "Feishu bot %q is not online: %s", - "panel.feishu.runtime.available": "available", - "panel.feishu.runtime.disabled": "disabled (set im.enabled: true and restart ggcode)", - "panel.feishu.runtime.not_started": "not started (restart ggcode to initialize IM runtime)", "panel.feishu.status.not_started": "not started", "panel.feishu.status.unknown": "unknown", } @@ -64,7 +60,6 @@ func enFeishuModule() map[string]string { func zhFeishuModule() map[string]string { return map[string]string{ "panel.feishu.directory": "目录", - "panel.feishu.runtime": "运行时", "panel.feishu.bots": "飞书机器人", "panel.feishu.created": "已创建:%d", "panel.feishu.bound": "已绑定:%d", @@ -110,9 +105,6 @@ func zhFeishuModule() map[string]string { "panel.feishu.error.not_feishu_adapter": "适配器 %q 不是飞书机器人", "panel.feishu.error.not_online": "飞书机器人 %q 未上线", "panel.feishu.error.not_online_detail": "飞书机器人 %q 未上线:%s", - "panel.feishu.runtime.available": "可用", - "panel.feishu.runtime.disabled": "已禁用(设置 im.enabled: true 并重启 ggcode)", - "panel.feishu.runtime.not_started": "未启动(重启 ggcode 以初始化 IM 运行时)", "panel.feishu.status.not_started": "未启动", "panel.feishu.status.unknown": "未知", } diff --git a/internal/tui/i18n_fr.go b/internal/tui/i18n_fr.go index 780a66e04..9f76eb136 100644 --- a/internal/tui/i18n_fr.go +++ b/internal/tui/i18n_fr.go @@ -554,12 +554,6 @@ func frCatalog(key string) string { return "Stockâge de sessions non configuré.\n\n" case "session.none": return "Aucune session trouvée.\n\n" - case "session.list.title": - return "Sessions:\n\n" - case "session.list.item": - return " %d. %s %s (%s)\n" - case "session.list.hint": - return "\nUtilisez /resume pour reprendre une session\n\n" case "session.new": return "Nouvelle session: %s\n\n" case "session.resume": @@ -592,12 +586,6 @@ func frCatalog(key string) string { return " %s %d éditions dernier: %s%s\n" case "files.hint": return "\nUtilisez /undo pour annulér l'édition la plus récente, /checkpoints pour les détails.\n\n" - case "checkpoint.list.title": - return "Checkpoints (%d):\n\n" - case "checkpoint.list.item": - return " %d. %s %s %s %s\n" - case "checkpoint.list.hint": - return "\nUtilisez /undo pour annulér le plus récent.\n\n" case "memory.auto_unavailable": return "Mémoire automatique non initialisée.\n\n" case "memory.list_failed": @@ -882,8 +870,6 @@ func frCatalog(key string) string { return "Ouvrir le panneau unifie des canaux IM" case "panel.qq.directory": return "Répertoire" - case "panel.qq.runtime": - return "Runtime" case "panel.qq.bots": return "Bots QQ" case "panel.qq.created": diff --git a/internal/tui/i18n_ja.go b/internal/tui/i18n_ja.go index 28435c801..3a179458a 100644 --- a/internal/tui/i18n_ja.go +++ b/internal/tui/i18n_ja.go @@ -597,12 +597,6 @@ func jaCatalog(key string) string { return "セッションストアが設定されていません。\n\n" case "session.none": return "セッションが見つかりません。\n\n" - case "session.list.title": - return "セッション一覧:\n\n" - case "session.list.item": - return " %d. %s %s (%s)\n" - case "session.list.hint": - return "\n/resume でセッションを再開できます\n\n" case "session.new": return "新しいセッション: %s\n\n" case "session.resume": @@ -637,12 +631,6 @@ func jaCatalog(key string) string { return " %s %d 回編集 最終: %s%s\n" case "files.hint": return "ファイルを選択" - case "checkpoint.list.title": - return "チェックポイント (%d):\n\n" - case "checkpoint.list.item": - return " %d. %s %s %s %s\n" - case "checkpoint.list.hint": - return "チェックポイントを選択してロールバック (Esc でキャンセル)" case "memory.auto_unavailable": return "自動メモリが初期化されていません。\n\n" case "memory.list_failed": @@ -927,8 +915,6 @@ func jaCatalog(key string) string { return "IMアダプタを管理" case "panel.qq.directory": return "ディレクトリ" - case "panel.qq.runtime": - return "ランタイム" case "panel.qq.bots": return "QQボット" case "panel.qq.created": diff --git a/internal/tui/i18n_ko.go b/internal/tui/i18n_ko.go index 19e445ab3..7213de1ba 100644 --- a/internal/tui/i18n_ko.go +++ b/internal/tui/i18n_ko.go @@ -558,12 +558,6 @@ func koCatalog(key string) string { return "세션 저장소가 구성되지 않았습니다.\n\n" case "session.none": return "세션을 찾을 수 없습니다.\n\n" - case "session.list.title": - return "세션:\n\n" - case "session.list.item": - return " %d. %s %s (%s)\n" - case "session.list.hint": - return "\n/resume 로 세션을 계속하세요\n\n" case "session.new": return "새 세션: %s\n\n" case "session.resume": @@ -596,12 +590,6 @@ func koCatalog(key string) string { return " %s %d회 편집 마지막: %s%s\n" case "files.hint": return "파일 선택" - case "checkpoint.list.title": - return "체크포인트 (%d):\n\n" - case "checkpoint.list.item": - return " %d. %s %s %s %s\n" - case "checkpoint.list.hint": - return "\n/undo로 가장 최근 항목을 되돌리세요\n\n" case "memory.auto_unavailable": return "자동 메모리가 초기화되지 않았습니다.\n\n" case "memory.list_failed": @@ -888,8 +876,6 @@ func koCatalog(key string) string { return "IM 어댑터 관리" case "panel.qq.directory": return "디렉토리" - case "panel.qq.runtime": - return "런타임" case "panel.qq.bots": return "QQ 봇" case "panel.qq.created": diff --git a/internal/tui/i18n_pc.go b/internal/tui/i18n_pc.go index 3046b7921..10e9a87e8 100644 --- a/internal/tui/i18n_pc.go +++ b/internal/tui/i18n_pc.go @@ -6,9 +6,6 @@ func init() { func enPCModule() map[string]string { return map[string]string{ - "panel.pc.runtime": "Runtime", - "panel.pc.runtime.available": "available", - "panel.pc.runtime.not_configured": "not configured (add a PrivateClaw adapter to im.adapters and restart ggcode)", // #1731: the connection status used to be hardcoded English - the // catalog shipped in the same commit as the panel but was never wired. "panel.pc.status.starting": "starting...", @@ -22,9 +19,6 @@ func enPCModule() map[string]string { func zhPCModule() map[string]string { return map[string]string{ - "panel.pc.runtime": "运行时", - "panel.pc.runtime.available": "可用", - "panel.pc.runtime.not_configured": "未配置(在 im.adapters 中添加 PrivateClaw 适配器并重启 ggcode)", "panel.pc.status.starting": "启动中...", "panel.pc.status.connected_none": "已连接(无会话)", "panel.pc.status.connected_sessions": "已连接(%d 个会话)", diff --git a/internal/tui/i18n_pt.go b/internal/tui/i18n_pt.go index e65d0ffb8..a2aa8809e 100644 --- a/internal/tui/i18n_pt.go +++ b/internal/tui/i18n_pt.go @@ -115,10 +115,6 @@ func ptCatalog(key string) string { return "sem título" case "session.none": return "Nenhuma sessão encontrada." - case "session.list.title": - return "Sessões:" - case "session.list.hint": - return "\nUse /resume para continuar uma sessão" case "session.new": return "Nova sessão: %s" case "session.resume": @@ -287,12 +283,6 @@ func ptCatalog(key string) string { return "Pressione Ctrl-C ou Esc novamente para cancelar o agente em execução.\n\n" // ── Checkpoint ──────────────────────────────────────────────── - case "checkpoint.list.hint": - return "\nUse /undo para reverter o mais recente.\n\n" - case "checkpoint.list.item": - return " %d. %s %s %s %s\n" - case "checkpoint.list.title": - return "Checkpoints (%d):\n\n" case "checkpoint.undo_failed": return "Desfazer falhou: %v\n\n" @@ -675,8 +665,6 @@ func ptCatalog(key string) string { return "efêmera" case "session.export_failed": return "Erro ao exportar sessão: %v\n\n" - case "session.list.item": - return " %d. %s %s (%s)\n" case "session.list_failed": return "Erro ao listar sessões: %v\n\n" case "session.resume_fallback": @@ -1203,8 +1191,6 @@ func ptCatalog(key string) string { return "Ocupado por: %s" case "panel.qq.qr_code": return "QR Code:" - case "panel.qq.runtime": - return "Runtime" case "panel.qq.runtime.available": return "disponível" case "panel.qq.runtime.disabled": diff --git a/internal/tui/i18n_qq.go b/internal/tui/i18n_qq.go index ed601ce61..753a5e8fa 100644 --- a/internal/tui/i18n_qq.go +++ b/internal/tui/i18n_qq.go @@ -7,7 +7,6 @@ func init() { func enQQModule() map[string]string { return map[string]string{ "panel.qq.directory": "Directory", - "panel.qq.runtime": "Runtime", "panel.qq.bots": "QQ Bots", "panel.qq.created": "Created: %d", "panel.qq.bound": "Bound: %d", @@ -67,7 +66,6 @@ func enQQModule() map[string]string { func zhQQModule() map[string]string { return map[string]string{ "panel.qq.directory": "目录", - "panel.qq.runtime": "运行时", "panel.qq.bots": "QQ 机器人", "panel.qq.created": "已创建:%d", "panel.qq.bound": "已绑定:%d", diff --git a/internal/tui/i18n_ru.go b/internal/tui/i18n_ru.go index df5762866..d844b5405 100644 --- a/internal/tui/i18n_ru.go +++ b/internal/tui/i18n_ru.go @@ -602,12 +602,6 @@ func ruCatalog(key string) string { return "Хранилище сессий не настроено.\n\n" case "session.none": return "Сессии не найдены.\n\n" - case "session.list.title": - return "Сессии:\n\n" - case "session.list.item": - return " %d. %s %s (%s)\n" - case "session.list.hint": - return "\nИспользуйте /resume для продолжения сессии\n\n" case "session.new": return "Новая сессия: %s\n\n" case "session.resume": @@ -644,12 +638,6 @@ func ruCatalog(key string) string { return " %s %d правок последняя: %s%s\n" case "files.hint": return "\nИспользуйте /undo для отмены последней правки, /checkpoints для деталей.\n\n" - case "checkpoint.list.title": - return "Контрольные точки (%d):\n\n" - case "checkpoint.list.item": - return " %d. %s %s %s %s\n" - case "checkpoint.list.hint": - return "\nИспользуйте /undo для отмены последней.\n\n" // --- Memory --- case "memory.auto_unavailable": @@ -958,8 +946,6 @@ func ruCatalog(key string) string { // --- QQ panel --- case "panel.qq.directory": return "Каталог" - case "panel.qq.runtime": - return "Среда" case "panel.qq.bots": return "QQ-боты" case "panel.qq.created": diff --git a/internal/tui/i18n_slack.go b/internal/tui/i18n_slack.go index 483fa6fd5..6aec8d92a 100644 --- a/internal/tui/i18n_slack.go +++ b/internal/tui/i18n_slack.go @@ -7,7 +7,6 @@ func init() { func enSlackModule() map[string]string { return map[string]string{ "panel.slack.directory": "Directory", - "panel.slack.runtime": "Runtime", "panel.slack.bots": "Slack Bots", "panel.slack.created": "Created: %d", "panel.slack.bound": "Bound: %d", @@ -53,9 +52,6 @@ func enSlackModule() map[string]string { "panel.slack.error.not_slack_adapter": "adapter %q is not a Slack bot", "panel.slack.error.not_online": "Slack bot %q is not online", "panel.slack.error.not_online_detail": "Slack bot %q is not online: %s", - "panel.slack.runtime.available": "available", - "panel.slack.runtime.disabled": "disabled (set im.enabled: true and restart ggcode)", - "panel.slack.runtime.not_started": "not started (restart ggcode to initialize IM runtime)", "panel.slack.status.not_started": "not started", "panel.slack.status.unknown": "unknown", } @@ -64,7 +60,6 @@ func enSlackModule() map[string]string { func zhSlackModule() map[string]string { return map[string]string{ "panel.slack.directory": "目录", - "panel.slack.runtime": "运行时", "panel.slack.bots": "Slack 机器人", "panel.slack.created": "已创建:%d", "panel.slack.bound": "已绑定:%d", @@ -110,9 +105,6 @@ func zhSlackModule() map[string]string { "panel.slack.error.not_slack_adapter": "适配器 %q 不是 Slack 机器人", "panel.slack.error.not_online": "Slack 机器人 %q 未上线", "panel.slack.error.not_online_detail": "Slack 机器人 %q 未上线:%s", - "panel.slack.runtime.available": "可用", - "panel.slack.runtime.disabled": "已禁用(设置 im.enabled: true 并重启 ggcode)", - "panel.slack.runtime.not_started": "未启动(重启 ggcode 以初始化 IM 运行时)", "panel.slack.status.not_started": "未启动", "panel.slack.status.unknown": "未知", } diff --git a/internal/tui/i18n_tg.go b/internal/tui/i18n_tg.go index b2ce1587f..0b639b79f 100644 --- a/internal/tui/i18n_tg.go +++ b/internal/tui/i18n_tg.go @@ -7,7 +7,6 @@ func init() { func enTGModule() map[string]string { return map[string]string{ "panel.tg.directory": "Directory", - "panel.tg.runtime": "Runtime", "panel.tg.bots": "Telegram Bots", "panel.tg.created": "Created: %d", "panel.tg.bound": "Bound: %d", @@ -65,7 +64,6 @@ func enTGModule() map[string]string { func zhTGModule() map[string]string { return map[string]string{ "panel.tg.directory": "目录", - "panel.tg.runtime": "运行时", "panel.tg.bots": "Telegram 机器人", "panel.tg.created": "已创建:%d", "panel.tg.bound": "已绑定:%d", diff --git a/internal/tui/i18n_vi.go b/internal/tui/i18n_vi.go index 638fb2b5d..d114db334 100644 --- a/internal/tui/i18n_vi.go +++ b/internal/tui/i18n_vi.go @@ -554,12 +554,6 @@ func viCatalog(key string) string { return "Kho phiên chưa được cấu hình.\n\n" case "session.none": return "Không tìm thấy phiên nào.\n\n" - case "session.list.title": - return "Phiên:\n\n" - case "session.list.item": - return " %d. %s %s (%s)\n" - case "session.list.hint": - return "\nDùng /resume để tiếp tục phiên\n\n" case "session.new": return "Phiên mới: %s\n\n" case "session.resume": @@ -592,12 +586,6 @@ func viCatalog(key string) string { return " %s %d lần sửa cuối: %s%s\n" case "files.hint": return "\nDùng /undo để hoàn tác lần sửa gần nhất, /checkpoints để xem chi tiết.\n\n" - case "checkpoint.list.title": - return "Checkpoint (%d):\n\n" - case "checkpoint.list.item": - return " %d. %s %s %s %s\n" - case "checkpoint.list.hint": - return "\nDùng /undo để hoàn tác lần sửa gần nhất.\n\n" case "memory.auto_unavailable": return "Auto memory chưa được khởi tạo.\n\n" case "memory.list_failed": @@ -882,8 +870,6 @@ func viCatalog(key string) string { return "Mở bảng kênh IM thống nhất" case "panel.qq.directory": return "Thư mục" - case "panel.qq.runtime": - return "Runtime" case "panel.qq.bots": return "QQ Bot" case "panel.qq.created": diff --git a/internal/tui/i18n_zh.go b/internal/tui/i18n_zh.go index 59e137d98..82a0544f1 100644 --- a/internal/tui/i18n_zh.go +++ b/internal/tui/i18n_zh.go @@ -632,12 +632,6 @@ func zhCatalog(key string) string { return "未配置会话存储。\n\n" case "session.none": return "没有找到会话。\n\n" - case "session.list.title": - return "会话列表:\n\n" - case "session.list.item": - return " %d. %s %s (%s)\n" - case "session.list.hint": - return "\n使用 /resume 继续某个会话\n\n" case "session.new": return "新会话:%s\n\n" case "session.resume": @@ -690,12 +684,6 @@ func zhCatalog(key string) string { return " %s %d 次编辑 最后: %s%s\n" case "files.hint": return "\n使用 /undo 撤销最近一次编辑,/redo 重做,/checkpoints 查看详情。\n\n" - case "checkpoint.list.title": - return "检查点(%d):\n\n" - case "checkpoint.list.item": - return " %d. %s %s %s %s\n" - case "checkpoint.list.hint": - return "\n使用 /undo 回滚最近一次修改,/redo 重做。\n\n" case "memory.auto_unavailable": return "自动记忆未初始化。\n\n" case "traj.no_workspace": @@ -1106,8 +1094,6 @@ func zhCatalog(key string) string { return "查看(/traj)或清空(/traj clear)注入系统提示的历史经验学习库" case "panel.qq.directory": return "目录" - case "panel.qq.runtime": - return "运行时" case "panel.qq.bots": return "QQ 机器人" case "panel.qq.created":