From 5f741762b9cb7f872a7a2edec82c6e244310c2bd Mon Sep 17 00:00:00 2001 From: Junjun Zhang Date: Mon, 19 Oct 2026 12:38:21 +0800 Subject: [PATCH] chore: remove confirmed dead code MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove 55 dead i18n keys (panel.{provider}.channel/target/default/ error.disabled across dingtalk/discord/feishu/irc/matrix/mattermost/ nostr/qq/signal/slack/tg/twitch/wecom/wechat + whatsapp.default), introduced in 7fd72d6e5 with no wiring evidence; verified via 4-channel scan (literal/concat/panel-live/test) — only panel.whatsapp.channel/ target have live refs (whatsapp_panel.go) and are kept. r64 dead-code scan, pool batch 3. --- internal/tui/i18n_de.go | 8 -------- internal/tui/i18n_dingtalk.go | 8 -------- internal/tui/i18n_discord.go | 8 -------- internal/tui/i18n_en.go | 8 -------- internal/tui/i18n_es.go | 8 -------- internal/tui/i18n_feishu.go | 8 -------- internal/tui/i18n_fr.go | 8 -------- internal/tui/i18n_irc.go | 8 -------- internal/tui/i18n_ja.go | 8 -------- internal/tui/i18n_ko.go | 8 -------- internal/tui/i18n_matrix.go | 8 -------- internal/tui/i18n_mattermost.go | 8 -------- internal/tui/i18n_nostr.go | 8 -------- internal/tui/i18n_pt.go | 8 -------- internal/tui/i18n_qq.go | 8 -------- internal/tui/i18n_ru.go | 8 -------- internal/tui/i18n_signal.go | 8 -------- internal/tui/i18n_slack.go | 8 -------- internal/tui/i18n_tg.go | 8 -------- internal/tui/i18n_twitch.go | 8 -------- internal/tui/i18n_vi.go | 8 -------- internal/tui/i18n_wechat.go | 4 ---- internal/tui/i18n_wecom.go | 8 -------- internal/tui/i18n_whatsapp.go | 2 -- internal/tui/i18n_zh.go | 8 -------- 25 files changed, 190 deletions(-) diff --git a/internal/tui/i18n_de.go b/internal/tui/i18n_de.go index 37c773c42..0a1ef9b6a 100644 --- a/internal/tui/i18n_de.go +++ b/internal/tui/i18n_de.go @@ -964,14 +964,8 @@ func deCatalog(key string) string { return "Verfügbar: %d" case "panel.qq.none": return "(keine)" - case "panel.qq.default": - return "(Standard)" case "panel.qq.adapter": return "Adapter: %s" - case "panel.qq.target": - return "Ziel: %s" - case "panel.qq.channel": - return "Kanal: %s" case "panel.qq.bot_list": return "QQ-Bot-Liste" case "panel.qq.no_bots": @@ -1046,8 +1040,6 @@ func deCatalog(key string) string { return "QQ-Adaptername erforderlich" case "panel.qq.error.not_configured": return "QQ-Bot %q ist nicht konfiguriert" - case "panel.qq.error.disabled": - return "QQ-Bot %q ist deaktiviert" case "panel.qq.error.not_qq_adapter": return "Adapter %q ist kein QQ-Bot" case "panel.qq.error.not_online": diff --git a/internal/tui/i18n_dingtalk.go b/internal/tui/i18n_dingtalk.go index 65a95b6b8..bb955796f 100644 --- a/internal/tui/i18n_dingtalk.go +++ b/internal/tui/i18n_dingtalk.go @@ -12,10 +12,7 @@ func enDingtalkModule() map[string]string { "panel.dingtalk.bound": "Bound: %d", "panel.dingtalk.available": "Available: %d", "panel.dingtalk.none": "(none)", - "panel.dingtalk.default": "(default)", "panel.dingtalk.adapter": "Adapter: %s", - "panel.dingtalk.target": "Target: %s", - "panel.dingtalk.channel": "Channel: %s", "panel.dingtalk.bot_list": "DingTalk Bot List", "panel.dingtalk.no_bots": "No DingTalk bots configured.", "panel.dingtalk.entry.available": "Available", @@ -48,7 +45,6 @@ func enDingtalkModule() map[string]string { "panel.dingtalk.error.config_format": "DingTalk bot config must be: ", "panel.dingtalk.error.adapter_required": "DingTalk adapter name is required", "panel.dingtalk.error.not_configured": "DingTalk bot %q is not configured", - "panel.dingtalk.error.disabled": "DingTalk bot %q is disabled", "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", @@ -65,10 +61,7 @@ func zhDingtalkModule() map[string]string { "panel.dingtalk.bound": "已绑定:%d", "panel.dingtalk.available": "可用:%d", "panel.dingtalk.none": "(无)", - "panel.dingtalk.default": "(默认)", "panel.dingtalk.adapter": "机器人:%s", - "panel.dingtalk.target": "目标:%s", - "panel.dingtalk.channel": "渠道:%s", "panel.dingtalk.bot_list": "钉钉机器人列表", "panel.dingtalk.no_bots": "没有配置钉钉机器人。", "panel.dingtalk.entry.available": "可用", @@ -101,7 +94,6 @@ func zhDingtalkModule() map[string]string { "panel.dingtalk.error.config_format": "钉钉配置格式:<名称> ", "panel.dingtalk.error.adapter_required": "需要钉钉适配器名称", "panel.dingtalk.error.not_configured": "钉钉机器人 %q 未配置", - "panel.dingtalk.error.disabled": "钉钉机器人 %q 已禁用", "panel.dingtalk.error.not_dingtalk_adapter": "适配器 %q 不是钉钉机器人", "panel.dingtalk.error.not_online": "钉钉机器人 %q 未上线", "panel.dingtalk.error.not_online_detail": "钉钉机器人 %q 未上线:%s", diff --git a/internal/tui/i18n_discord.go b/internal/tui/i18n_discord.go index fdcb176c5..f7194aed6 100644 --- a/internal/tui/i18n_discord.go +++ b/internal/tui/i18n_discord.go @@ -12,10 +12,7 @@ func enDiscordModule() map[string]string { "panel.discord.bound": "Bound: %d", "panel.discord.available": "Available: %d", "panel.discord.none": "(none)", - "panel.discord.default": "(default)", "panel.discord.adapter": "Adapter: %s", - "panel.discord.target": "Target: %s", - "panel.discord.channel": "Channel: %s", "panel.discord.bot_list": "Discord Bot List", "panel.discord.no_bots": "No Discord bots configured.", "panel.discord.entry.available": "Available", @@ -48,7 +45,6 @@ func enDiscordModule() map[string]string { "panel.discord.error.config_format": "Discord bot config must be: ", "panel.discord.error.adapter_required": "Discord adapter name is required", "panel.discord.error.not_configured": "Discord bot %q is not configured", - "panel.discord.error.disabled": "Discord bot %q is disabled", "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", @@ -65,10 +61,7 @@ func zhDiscordModule() map[string]string { "panel.discord.bound": "已绑定:%d", "panel.discord.available": "可用:%d", "panel.discord.none": "(无)", - "panel.discord.default": "(默认)", "panel.discord.adapter": "机器人:%s", - "panel.discord.target": "目标:%s", - "panel.discord.channel": "渠道:%s", "panel.discord.bot_list": "Discord 机器人列表", "panel.discord.no_bots": "没有配置 Discord 机器人。", "panel.discord.entry.available": "可用", @@ -101,7 +94,6 @@ func zhDiscordModule() map[string]string { "panel.discord.error.config_format": "Discord 配置格式:<名称> ", "panel.discord.error.adapter_required": "需要 Discord 适配器名称", "panel.discord.error.not_configured": "Discord 机器人 %q 未配置", - "panel.discord.error.disabled": "Discord 机器人 %q 已禁用", "panel.discord.error.not_discord_adapter": "适配器 %q 不是 Discord 机器人", "panel.discord.error.not_online": "Discord 机器人 %q 未上线", "panel.discord.error.not_online_detail": "Discord 机器人 %q 未上线:%s", diff --git a/internal/tui/i18n_en.go b/internal/tui/i18n_en.go index e7bdecd61..b48639b4c 100644 --- a/internal/tui/i18n_en.go +++ b/internal/tui/i18n_en.go @@ -1091,14 +1091,8 @@ func enCatalog(key string) string { return "Available: %d" case "panel.qq.none": return "(none)" - case "panel.qq.default": - return "(default)" case "panel.qq.adapter": return "Adapter: %s" - case "panel.qq.target": - return "Target: %s" - case "panel.qq.channel": - return "Channel: %s" case "panel.qq.bot_list": return "QQ Bot List" case "panel.qq.no_bots": @@ -1171,8 +1165,6 @@ func enCatalog(key string) string { return "QQ adapter name is required" case "panel.qq.error.not_configured": return "QQ bot %q is not configured" - case "panel.qq.error.disabled": - return "QQ bot %q is disabled" case "panel.qq.error.not_qq_adapter": return "adapter %q is not a QQ bot" case "panel.qq.error.not_online": diff --git a/internal/tui/i18n_es.go b/internal/tui/i18n_es.go index e094968ea..3bf77ef5e 100644 --- a/internal/tui/i18n_es.go +++ b/internal/tui/i18n_es.go @@ -880,14 +880,8 @@ func esCatalog(key string) string { return "Disponibles: %d" case "panel.qq.none": return "(ninguno)" - case "panel.qq.default": - return "(predeterminado)" case "panel.qq.adapter": return "Adaptador: %s" - case "panel.qq.target": - return "Objetivo: %s" - case "panel.qq.channel": - return "Canal: %s" case "panel.qq.bot_list": return "Lista de Bots QQ" case "panel.qq.no_bots": @@ -962,8 +956,6 @@ func esCatalog(key string) string { return "Se requiere el nombre del adaptador QQ" case "panel.qq.error.not_configured": return "El bot QQ %q no está configurado" - case "panel.qq.error.disabled": - return "El bot QQ %q está deshabilitado" case "panel.qq.error.not_qq_adapter": return "el adaptador %q no es un bot QQ" case "panel.qq.error.not_online": diff --git a/internal/tui/i18n_feishu.go b/internal/tui/i18n_feishu.go index 07b35bdaa..f09d40c45 100644 --- a/internal/tui/i18n_feishu.go +++ b/internal/tui/i18n_feishu.go @@ -12,10 +12,7 @@ func enFeishuModule() map[string]string { "panel.feishu.bound": "Bound: %d", "panel.feishu.available": "Available: %d", "panel.feishu.none": "(none)", - "panel.feishu.default": "(default)", "panel.feishu.adapter": "Adapter: %s", - "panel.feishu.target": "Target: %s", - "panel.feishu.channel": "Channel: %s", "panel.feishu.bot_list": "Feishu Bot List", "panel.feishu.no_bots": "No Feishu bots configured.", "panel.feishu.entry.available": "Available", @@ -48,7 +45,6 @@ func enFeishuModule() map[string]string { "panel.feishu.error.config_format": "Feishu bot config must be: ", "panel.feishu.error.adapter_required": "Feishu adapter name is required", "panel.feishu.error.not_configured": "Feishu bot %q is not configured", - "panel.feishu.error.disabled": "Feishu bot %q is disabled", "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", @@ -65,10 +61,7 @@ func zhFeishuModule() map[string]string { "panel.feishu.bound": "已绑定:%d", "panel.feishu.available": "可用:%d", "panel.feishu.none": "(无)", - "panel.feishu.default": "(默认)", "panel.feishu.adapter": "机器人:%s", - "panel.feishu.target": "目标:%s", - "panel.feishu.channel": "渠道:%s", "panel.feishu.bot_list": "飞书机器人列表", "panel.feishu.no_bots": "没有配置飞书机器人。", "panel.feishu.entry.available": "可用", @@ -101,7 +94,6 @@ func zhFeishuModule() map[string]string { "panel.feishu.error.config_format": "飞书配置格式:<名称> ", "panel.feishu.error.adapter_required": "需要飞书适配器名称", "panel.feishu.error.not_configured": "飞书机器人 %q 未配置", - "panel.feishu.error.disabled": "飞书机器人 %q 已禁用", "panel.feishu.error.not_feishu_adapter": "适配器 %q 不是飞书机器人", "panel.feishu.error.not_online": "飞书机器人 %q 未上线", "panel.feishu.error.not_online_detail": "飞书机器人 %q 未上线:%s", diff --git a/internal/tui/i18n_fr.go b/internal/tui/i18n_fr.go index 9f76eb136..64d77fcb3 100644 --- a/internal/tui/i18n_fr.go +++ b/internal/tui/i18n_fr.go @@ -880,14 +880,8 @@ func frCatalog(key string) string { return "Disponibles: %d" case "panel.qq.none": return "(aucun)" - case "panel.qq.default": - return "(par défaut)" case "panel.qq.adapter": return "Adapteur: %s" - case "panel.qq.target": - return "Cible: %s" - case "panel.qq.channel": - return "Canal: %s" case "panel.qq.bot_list": return "Liste des Bots QQ" case "panel.qq.no_bots": @@ -962,8 +956,6 @@ func frCatalog(key string) string { return "Le nom de l'adapteur QQ est requis" case "panel.qq.error.not_configured": return "Le bot QQ %q n'est pas configuré" - case "panel.qq.error.disabled": - return "Le bot QQ %q est désactivé" case "panel.qq.error.not_qq_adapter": return "l'adapteur %q n'est pas un bot QQ" case "panel.qq.error.not_online": diff --git a/internal/tui/i18n_irc.go b/internal/tui/i18n_irc.go index 3a7305b35..f3b8b9b33 100644 --- a/internal/tui/i18n_irc.go +++ b/internal/tui/i18n_irc.go @@ -12,10 +12,7 @@ func enIRCModule() map[string]string { "panel.irc.bound": "Bound: %d", "panel.irc.available": "Available: %d", "panel.irc.none": "(none)", - "panel.irc.default": "(default)", "panel.irc.adapter": "Adapter: %s", - "panel.irc.target": "Target: %s", - "panel.irc.channel": "Channel: %s", "panel.irc.bot_list": "IRC Bot List", "panel.irc.no_bots": "No IRC bots configured.", "panel.irc.entry.available": "Available", @@ -48,7 +45,6 @@ func enIRCModule() map[string]string { "panel.irc.error.config_format": "IRC bot config must be: ", "panel.irc.error.adapter_required": "IRC adapter name is required", "panel.irc.error.not_configured": "IRC bot %q is not configured", - "panel.irc.error.disabled": "IRC bot %q is disabled", "panel.irc.error.not_irc_adapter": "adapter %q is not an IRC bot", "panel.irc.status.not_started": "not started", "panel.irc.status.unknown": "unknown", @@ -63,10 +59,7 @@ func zhIRCModule() map[string]string { "panel.irc.bound": "已绑定: %d", "panel.irc.available": "可用: %d", "panel.irc.none": "(无)", - "panel.irc.default": "(默认)", "panel.irc.adapter": "适配器: %s", - "panel.irc.target": "目标: %s", - "panel.irc.channel": "频道: %s", "panel.irc.bot_list": "IRC 机器人列表", "panel.irc.no_bots": "未配置 IRC 机器人。", "panel.irc.entry.available": "可用", @@ -99,7 +92,6 @@ func zhIRCModule() map[string]string { "panel.irc.error.config_format": "IRC 机器人配置格式: <名称> <主机> <昵称> <频道>", "panel.irc.error.adapter_required": "需要 IRC 适配器名称", "panel.irc.error.not_configured": "IRC 机器人 %q 未配置", - "panel.irc.error.disabled": "IRC 机器人 %q 已禁用", "panel.irc.error.not_irc_adapter": "适配器 %q 不是 IRC 机器人", "panel.irc.status.not_started": "未启动", "panel.irc.status.unknown": "未知", diff --git a/internal/tui/i18n_ja.go b/internal/tui/i18n_ja.go index 3a179458a..26ab185f9 100644 --- a/internal/tui/i18n_ja.go +++ b/internal/tui/i18n_ja.go @@ -925,14 +925,8 @@ func jaCatalog(key string) string { return "利用可能: %d" case "panel.qq.none": return "(なし)" - case "panel.qq.default": - return "(デフォルト)" case "panel.qq.adapter": return "アダプタ: %s" - case "panel.qq.target": - return "ターゲット: %s" - case "panel.qq.channel": - return "チャネル: %s" case "panel.qq.bot_list": return "QQ Bot リスト" case "panel.qq.no_bots": @@ -1007,8 +1001,6 @@ func jaCatalog(key string) string { return "QQアダプタ名が必要です" case "panel.qq.error.not_configured": return "QQ Bot %q は設定されていません" - case "panel.qq.error.disabled": - return "QQ Bot %q は無効です" case "panel.qq.error.not_qq_adapter": return "アダプタ %q はQQ Botではありません" case "panel.qq.error.not_online": diff --git a/internal/tui/i18n_ko.go b/internal/tui/i18n_ko.go index 7213de1ba..54532b4f2 100644 --- a/internal/tui/i18n_ko.go +++ b/internal/tui/i18n_ko.go @@ -886,14 +886,8 @@ func koCatalog(key string) string { return "사용 가능: %d" case "panel.qq.none": return "(없음)" - case "panel.qq.default": - return "(기본값)" case "panel.qq.adapter": return "어댑터: %s" - case "panel.qq.target": - return "대상: %s" - case "panel.qq.channel": - return "채널: %s" case "panel.qq.bot_list": return "QQ 봇 목록" case "panel.qq.no_bots": @@ -968,8 +962,6 @@ func koCatalog(key string) string { return "QQ 어댑터 이름이 필요합니다" case "panel.qq.error.not_configured": return "QQ 봇 %q이(가) 구성되지 않았습니다" - case "panel.qq.error.disabled": - return "QQ 봇 %q이(가) 비활성화되었습니다" case "panel.qq.error.not_qq_adapter": return "어댑터 %q은(는) QQ 봇이 아닙니다" case "panel.qq.error.not_online": diff --git a/internal/tui/i18n_matrix.go b/internal/tui/i18n_matrix.go index 67da293da..e022d46c6 100644 --- a/internal/tui/i18n_matrix.go +++ b/internal/tui/i18n_matrix.go @@ -12,10 +12,7 @@ func enMatrixModule() map[string]string { "panel.matrix.bound": "Bound: %d", "panel.matrix.available": "Available: %d", "panel.matrix.none": "(none)", - "panel.matrix.default": "(default)", "panel.matrix.adapter": "Adapter: %s", - "panel.matrix.target": "Target: %s", - "panel.matrix.channel": "Channel: %s", "panel.matrix.bot_list": "Matrix Bot List", "panel.matrix.no_bots": "No Matrix bots configured.", "panel.matrix.entry.available": "Available", @@ -48,7 +45,6 @@ func enMatrixModule() map[string]string { "panel.matrix.error.config_format": "Matrix bot config must be: ", "panel.matrix.error.adapter_required": "Matrix adapter name is required", "panel.matrix.error.not_configured": "Matrix bot %q is not configured", - "panel.matrix.error.disabled": "Matrix bot %q is disabled", "panel.matrix.error.not_matrix_adapter": "adapter %q is not a Matrix bot", "panel.matrix.status.not_started": "not started", "panel.matrix.status.unknown": "unknown", @@ -63,10 +59,7 @@ func zhMatrixModule() map[string]string { "panel.matrix.bound": "已绑定:%d", "panel.matrix.available": "可用:%d", "panel.matrix.none": "(无)", - "panel.matrix.default": "(默认)", "panel.matrix.adapter": "机器人:%s", - "panel.matrix.target": "目标:%s", - "panel.matrix.channel": "渠道:%s", "panel.matrix.bot_list": "Matrix 机器人列表", "panel.matrix.no_bots": "没有配置 Matrix 机器人。", "panel.matrix.entry.available": "可用", @@ -99,7 +92,6 @@ func zhMatrixModule() map[string]string { "panel.matrix.error.config_format": "Matrix 配置格式:<名称> <服务器URL> ", "panel.matrix.error.adapter_required": "需要 Matrix 适配器名称", "panel.matrix.error.not_configured": "Matrix 机器人 %q 未配置", - "panel.matrix.error.disabled": "Matrix 机器人 %q 已禁用", "panel.matrix.error.not_matrix_adapter": "适配器 %q 不是 Matrix 机器人", "panel.matrix.status.not_started": "未启动", "panel.matrix.status.unknown": "未知", diff --git a/internal/tui/i18n_mattermost.go b/internal/tui/i18n_mattermost.go index 48124d150..ecd585ea3 100644 --- a/internal/tui/i18n_mattermost.go +++ b/internal/tui/i18n_mattermost.go @@ -12,10 +12,7 @@ func enMattermostModule() map[string]string { "panel.mattermost.bound": "Bound: %d", "panel.mattermost.available": "Available: %d", "panel.mattermost.none": "(none)", - "panel.mattermost.default": "(default)", "panel.mattermost.adapter": "Adapter: %s", - "panel.mattermost.target": "Target: %s", - "panel.mattermost.channel": "Channel: %s", "panel.mattermost.bot_list": "Mattermost Bot List", "panel.mattermost.no_bots": "No Mattermost bots configured.", "panel.mattermost.entry.available": "Available", @@ -48,7 +45,6 @@ func enMattermostModule() map[string]string { "panel.mattermost.error.config_format": "Mattermost bot config must be: ", "panel.mattermost.error.adapter_required": "Mattermost adapter name is required", "panel.mattermost.error.not_configured": "Mattermost bot %q is not configured", - "panel.mattermost.error.disabled": "Mattermost bot %q is disabled", "panel.mattermost.error.not_mm_adapter": "adapter %q is not a Mattermost bot", "panel.mattermost.status.not_started": "not started", "panel.mattermost.status.unknown": "unknown", @@ -63,10 +59,7 @@ func zhMattermostModule() map[string]string { "panel.mattermost.bound": "已绑定:%d", "panel.mattermost.available": "可用:%d", "panel.mattermost.none": "(无)", - "panel.mattermost.default": "(默认)", "panel.mattermost.adapter": "机器人:%s", - "panel.mattermost.target": "目标:%s", - "panel.mattermost.channel": "渠道:%s", "panel.mattermost.bot_list": "Mattermost 机器人列表", "panel.mattermost.no_bots": "没有配置 Mattermost 机器人。", "panel.mattermost.entry.available": "可用", @@ -99,7 +92,6 @@ func zhMattermostModule() map[string]string { "panel.mattermost.error.config_format": "Mattermost 配置格式:<名称> <服务器URL> ", "panel.mattermost.error.adapter_required": "需要 Mattermost 适配器名称", "panel.mattermost.error.not_configured": "Mattermost 机器人 %q 未配置", - "panel.mattermost.error.disabled": "Mattermost 机器人 %q 已禁用", "panel.mattermost.error.not_mm_adapter": "适配器 %q 不是 Mattermost 机器人", "panel.mattermost.status.not_started": "未启动", "panel.mattermost.status.unknown": "未知", diff --git a/internal/tui/i18n_nostr.go b/internal/tui/i18n_nostr.go index f10411d95..923c9c033 100644 --- a/internal/tui/i18n_nostr.go +++ b/internal/tui/i18n_nostr.go @@ -12,10 +12,7 @@ func enNostrModule() map[string]string { "panel.nostr.bound": "Bound: %d", "panel.nostr.available": "Available: %d", "panel.nostr.none": "(none)", - "panel.nostr.default": "(default)", "panel.nostr.adapter": "Adapter: %s", - "panel.nostr.target": "Target: %s", - "panel.nostr.channel": "Channel: %s", "panel.nostr.bot_list": "Nostr Bot List", "panel.nostr.no_bots": "No Nostr bots configured.", "panel.nostr.entry.available": "Available", @@ -51,7 +48,6 @@ func enNostrModule() map[string]string { "panel.nostr.error.config_format": "Nostr bot config requires at least a name", "panel.nostr.error.adapter_required": "Nostr adapter name is required", "panel.nostr.error.not_configured": "Nostr bot %q is not configured", - "panel.nostr.error.disabled": "Nostr bot %q is disabled", "panel.nostr.error.not_nostr_adapter": "adapter %q is not a Nostr bot", "panel.nostr.status.not_started": "not started", "panel.nostr.status.unknown": "unknown", @@ -66,10 +62,7 @@ func zhNostrModule() map[string]string { "panel.nostr.bound": "已绑定: %d", "panel.nostr.available": "可用: %d", "panel.nostr.none": "(无)", - "panel.nostr.default": "(默认)", "panel.nostr.adapter": "适配器: %s", - "panel.nostr.target": "目标: %s", - "panel.nostr.channel": "频道: %s", "panel.nostr.bot_list": "Nostr 机器人列表", "panel.nostr.no_bots": "未配置 Nostr 机器人。", "panel.nostr.entry.available": "可用", @@ -105,7 +98,6 @@ func zhNostrModule() map[string]string { "panel.nostr.error.config_format": "Nostr 机器人配置至少需要一个名称", "panel.nostr.error.adapter_required": "需要 Nostr 适配器名称", "panel.nostr.error.not_configured": "Nostr 机器人 %q 未配置", - "panel.nostr.error.disabled": "Nostr 机器人 %q 已禁用", "panel.nostr.error.not_nostr_adapter": "适配器 %q 不是 Nostr 机器人", "panel.nostr.status.not_started": "未启动", "panel.nostr.status.unknown": "未知", diff --git a/internal/tui/i18n_pt.go b/internal/tui/i18n_pt.go index a2aa8809e..b1b77503f 100644 --- a/internal/tui/i18n_pt.go +++ b/internal/tui/i18n_pt.go @@ -1119,8 +1119,6 @@ func ptCatalog(key string) string { return "Vinculados: %d" case "panel.qq.bound_directory": return "Diretório Vinculado: %s" - case "panel.qq.channel": - return "Canal: %s" case "panel.qq.create": return "Criar" case "panel.qq.create_example": @@ -1135,8 +1133,6 @@ func ptCatalog(key string) string { return "Canal do Diretório Atual: %s" case "panel.qq.current_directory_target": return "Alvo do Diretório Atual: %s" - case "panel.qq.default": - return "(padrão)" case "panel.qq.details": return "Detalhes" case "panel.qq.directory": @@ -1159,8 +1155,6 @@ func ptCatalog(key string) string { return "Config do bot QQ deve ser: " case "panel.qq.error.config_unavailable": return "config indisponível" - case "panel.qq.error.disabled": - return "Bot QQ %q está desativado" case "panel.qq.error.not_configured": return "Bot QQ %q não está configurado" case "panel.qq.error.not_online": @@ -1207,8 +1201,6 @@ func ptCatalog(key string) string { return "não iniciado" case "panel.qq.status.unknown": return "desconhecido" - case "panel.qq.target": - return "Alvo: %s" case "panel.qq.transport": return "Transporte: %s" case "panel.qq.waiting_for_pairing": diff --git a/internal/tui/i18n_qq.go b/internal/tui/i18n_qq.go index 753a5e8fa..ec4e31550 100644 --- a/internal/tui/i18n_qq.go +++ b/internal/tui/i18n_qq.go @@ -12,10 +12,7 @@ func enQQModule() map[string]string { "panel.qq.bound": "Bound: %d", "panel.qq.available": "Available: %d", "panel.qq.none": "(none)", - "panel.qq.default": "(default)", "panel.qq.adapter": "Adapter: %s", - "panel.qq.target": "Target: %s", - "panel.qq.channel": "Channel: %s", "panel.qq.bot_list": "QQ Bot List", "panel.qq.no_bots": "No QQ bots configured.", "panel.qq.entry.available": "Available", @@ -51,7 +48,6 @@ func enQQModule() map[string]string { "panel.qq.error.config_format": "QQ bot config must be: ", "panel.qq.error.adapter_required": "QQ adapter name is required", "panel.qq.error.not_configured": "QQ bot %q is not configured", - "panel.qq.error.disabled": "QQ bot %q is disabled", "panel.qq.error.not_qq_adapter": "adapter %q is not a QQ bot", "panel.qq.error.not_online": "QQ bot %q is not online", "panel.qq.error.not_online_detail": "QQ bot %q is not online: %s", @@ -71,10 +67,7 @@ func zhQQModule() map[string]string { "panel.qq.bound": "已绑定:%d", "panel.qq.available": "可用:%d", "panel.qq.none": "(无)", - "panel.qq.default": "(默认)", "panel.qq.adapter": "机器人:%s", - "panel.qq.target": "目标:%s", - "panel.qq.channel": "渠道:%s", "panel.qq.bot_list": "QQ 机器人列表", "panel.qq.no_bots": "没有配置 QQ 机器人。", "panel.qq.entry.available": "可用", @@ -110,7 +103,6 @@ func zhQQModule() map[string]string { "panel.qq.error.config_format": "QQ 机器人配置格式必须为: ", "panel.qq.error.adapter_required": "QQ 适配器名称不能为空", "panel.qq.error.not_configured": "QQ 机器人 %q 未配置", - "panel.qq.error.disabled": "QQ 机器人 %q 已禁用", "panel.qq.error.not_qq_adapter": "适配器 %q 不是 QQ 机器人", "panel.qq.error.not_online": "QQ 机器人 %q 未在线", "panel.qq.error.not_online_detail": "QQ 机器人 %q 未在线:%s", diff --git a/internal/tui/i18n_ru.go b/internal/tui/i18n_ru.go index d844b5405..61d3aea2a 100644 --- a/internal/tui/i18n_ru.go +++ b/internal/tui/i18n_ru.go @@ -956,14 +956,8 @@ func ruCatalog(key string) string { return "Доступно: %d" case "panel.qq.none": return "(нет)" - case "panel.qq.default": - return "(по умолчанию)" case "panel.qq.adapter": return "Адаптер: %s" - case "panel.qq.target": - return "Цель: %s" - case "panel.qq.channel": - return "Канал: %s" case "panel.qq.bot_list": return "Список QQ-ботов" case "panel.qq.no_bots": @@ -1038,8 +1032,6 @@ func ruCatalog(key string) string { return "Требуется имя QQ-адаптера" case "panel.qq.error.not_configured": return "QQ-бот %q не настроен" - case "panel.qq.error.disabled": - return "QQ-бот %q отключён" case "panel.qq.error.not_qq_adapter": return "Адаптер %q не является QQ-ботом" case "panel.qq.error.not_online": diff --git a/internal/tui/i18n_signal.go b/internal/tui/i18n_signal.go index 36418dd58..ed81c45a2 100644 --- a/internal/tui/i18n_signal.go +++ b/internal/tui/i18n_signal.go @@ -12,10 +12,7 @@ func enSignalModule() map[string]string { "panel.signal.bound": "Bound: %d", "panel.signal.available": "Available: %d", "panel.signal.none": "(none)", - "panel.signal.default": "(default)", "panel.signal.adapter": "Adapter: %s", - "panel.signal.target": "Target: %s", - "panel.signal.channel": "Channel: %s", "panel.signal.bot_list": "Signal Bot List", "panel.signal.no_bots": "No Signal bots configured.", "panel.signal.entry.available": "Available", @@ -48,7 +45,6 @@ func enSignalModule() map[string]string { "panel.signal.error.config_format": "Signal bot config must be: ", "panel.signal.error.adapter_required": "Signal adapter name is required", "panel.signal.error.not_configured": "Signal bot %q is not configured", - "panel.signal.error.disabled": "Signal bot %q is disabled", "panel.signal.error.not_signal_adapter": "adapter %q is not a Signal bot", "panel.signal.status.not_started": "not started", "panel.signal.status.unknown": "unknown", @@ -78,10 +74,7 @@ func zhSignalModule() map[string]string { "panel.signal.bound": "已绑定: %d", "panel.signal.available": "可用: %d", "panel.signal.none": "(无)", - "panel.signal.default": "(默认)", "panel.signal.adapter": "适配器: %s", - "panel.signal.target": "目标: %s", - "panel.signal.channel": "频道: %s", "panel.signal.bot_list": "Signal 机器人列表", "panel.signal.no_bots": "未配置 Signal 机器人。", "panel.signal.entry.available": "可用", @@ -114,7 +107,6 @@ func zhSignalModule() map[string]string { "panel.signal.error.config_format": "Signal 机器人配置格式: <名称> <基础URL> <账号>", "panel.signal.error.adapter_required": "需要 Signal 适配器名称", "panel.signal.error.not_configured": "Signal 机器人 %q 未配置", - "panel.signal.error.disabled": "Signal 机器人 %q 已禁用", "panel.signal.error.not_signal_adapter": "适配器 %q 不是 Signal 机器人", "panel.signal.status.not_started": "未启动", "panel.signal.status.unknown": "未知", diff --git a/internal/tui/i18n_slack.go b/internal/tui/i18n_slack.go index 6aec8d92a..3e268bbd0 100644 --- a/internal/tui/i18n_slack.go +++ b/internal/tui/i18n_slack.go @@ -12,10 +12,7 @@ func enSlackModule() map[string]string { "panel.slack.bound": "Bound: %d", "panel.slack.available": "Available: %d", "panel.slack.none": "(none)", - "panel.slack.default": "(default)", "panel.slack.adapter": "Adapter: %s", - "panel.slack.target": "Target: %s", - "panel.slack.channel": "Channel: %s", "panel.slack.bot_list": "Slack Bot List", "panel.slack.no_bots": "No Slack bots configured.", "panel.slack.entry.available": "Available", @@ -48,7 +45,6 @@ func enSlackModule() map[string]string { "panel.slack.error.config_format": "Slack bot config must be: ", "panel.slack.error.adapter_required": "Slack adapter name is required", "panel.slack.error.not_configured": "Slack bot %q is not configured", - "panel.slack.error.disabled": "Slack bot %q is disabled", "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", @@ -65,10 +61,7 @@ func zhSlackModule() map[string]string { "panel.slack.bound": "已绑定:%d", "panel.slack.available": "可用:%d", "panel.slack.none": "(无)", - "panel.slack.default": "(默认)", "panel.slack.adapter": "机器人:%s", - "panel.slack.target": "目标:%s", - "panel.slack.channel": "渠道:%s", "panel.slack.bot_list": "Slack 机器人列表", "panel.slack.no_bots": "没有配置 Slack 机器人。", "panel.slack.entry.available": "可用", @@ -101,7 +94,6 @@ func zhSlackModule() map[string]string { "panel.slack.error.config_format": "Slack 配置格式:<名称> ", "panel.slack.error.adapter_required": "需要 Slack 适配器名称", "panel.slack.error.not_configured": "Slack 机器人 %q 未配置", - "panel.slack.error.disabled": "Slack 机器人 %q 已禁用", "panel.slack.error.not_slack_adapter": "适配器 %q 不是 Slack 机器人", "panel.slack.error.not_online": "Slack 机器人 %q 未上线", "panel.slack.error.not_online_detail": "Slack 机器人 %q 未上线:%s", diff --git a/internal/tui/i18n_tg.go b/internal/tui/i18n_tg.go index 0b639b79f..5dda67b00 100644 --- a/internal/tui/i18n_tg.go +++ b/internal/tui/i18n_tg.go @@ -12,10 +12,7 @@ func enTGModule() map[string]string { "panel.tg.bound": "Bound: %d", "panel.tg.available": "Available: %d", "panel.tg.none": "(none)", - "panel.tg.default": "(default)", "panel.tg.adapter": "Adapter: %s", - "panel.tg.target": "Target: %s", - "panel.tg.channel": "Channel: %s", "panel.tg.bot_list": "Telegram Bot List", "panel.tg.no_bots": "No Telegram bots configured.", "panel.tg.entry.available": "Available", @@ -49,7 +46,6 @@ func enTGModule() map[string]string { "panel.tg.error.token_format": "bot_token must look like : (from BotFather)", "panel.tg.error.adapter_required": "Telegram adapter name is required", "panel.tg.error.not_configured": "Telegram bot %q is not configured", - "panel.tg.error.disabled": "Telegram bot %q is disabled", "panel.tg.error.not_tg_adapter": "adapter %q is not a Telegram bot", "panel.tg.error.not_online": "Telegram bot %q is not online", "panel.tg.error.not_online_detail": "Telegram bot %q is not online: %s", @@ -69,10 +65,7 @@ func zhTGModule() map[string]string { "panel.tg.bound": "已绑定:%d", "panel.tg.available": "可用:%d", "panel.tg.none": "(无)", - "panel.tg.default": "(默认)", "panel.tg.adapter": "机器人:%s", - "panel.tg.target": "目标:%s", - "panel.tg.channel": "渠道:%s", "panel.tg.bot_list": "Telegram 机器人列表", "panel.tg.no_bots": "没有配置 Telegram 机器人。", "panel.tg.entry.available": "可用", @@ -106,7 +99,6 @@ func zhTGModule() map[string]string { "panel.tg.error.token_format": "bot_token 须为 <数字ID>:<密钥> 形态(来自 BotFather)", "panel.tg.error.adapter_required": "Telegram 适配器名称不能为空", "panel.tg.error.not_configured": "Telegram 机器人 %q 未配置", - "panel.tg.error.disabled": "Telegram 机器人 %q 已禁用", "panel.tg.error.not_tg_adapter": "适配器 %q 不是 Telegram 机器人", "panel.tg.error.not_online": "Telegram 机器人 %q 未在线", "panel.tg.error.not_online_detail": "Telegram 机器人 %q 未在线:%s", diff --git a/internal/tui/i18n_twitch.go b/internal/tui/i18n_twitch.go index e8ef2d1ef..c51aefb34 100644 --- a/internal/tui/i18n_twitch.go +++ b/internal/tui/i18n_twitch.go @@ -12,10 +12,7 @@ func enTwitchModule() map[string]string { "panel.twitch.bound": "Bound: %d", "panel.twitch.available": "Available: %d", "panel.twitch.none": "(none)", - "panel.twitch.default": "(default)", "panel.twitch.adapter": "Adapter: %s", - "panel.twitch.target": "Target: %s", - "panel.twitch.channel": "Channel: %s", "panel.twitch.bot_list": "Twitch Bot List", "panel.twitch.no_bots": "No Twitch bots configured.", "panel.twitch.entry.available": "Available", @@ -48,7 +45,6 @@ func enTwitchModule() map[string]string { "panel.twitch.error.config_format": "Twitch bot config must be: ", "panel.twitch.error.adapter_required": "Twitch adapter name is required", "panel.twitch.error.not_configured": "Twitch bot %q is not configured", - "panel.twitch.error.disabled": "Twitch bot %q is disabled", "panel.twitch.error.not_twitch_adapter": "adapter %q is not a Twitch bot", "panel.twitch.status.not_started": "not started", "panel.twitch.status.unknown": "unknown", @@ -63,10 +59,7 @@ func zhTwitchModule() map[string]string { "panel.twitch.bound": "已绑定: %d", "panel.twitch.available": "可用: %d", "panel.twitch.none": "(无)", - "panel.twitch.default": "(默认)", "panel.twitch.adapter": "适配器: %s", - "panel.twitch.target": "目标: %s", - "panel.twitch.channel": "频道: %s", "panel.twitch.bot_list": "Twitch 机器人列表", "panel.twitch.no_bots": "未配置 Twitch 机器人。", "panel.twitch.entry.available": "可用", @@ -99,7 +92,6 @@ func zhTwitchModule() map[string]string { "panel.twitch.error.config_format": "Twitch 机器人配置格式: <名称> <令牌> <昵称> <频道>", "panel.twitch.error.adapter_required": "需要 Twitch 适配器名称", "panel.twitch.error.not_configured": "Twitch 机器人 %q 未配置", - "panel.twitch.error.disabled": "Twitch 机器人 %q 已禁用", "panel.twitch.error.not_twitch_adapter": "适配器 %q 不是 Twitch 机器人", "panel.twitch.status.not_started": "未启动", "panel.twitch.status.unknown": "未知", diff --git a/internal/tui/i18n_vi.go b/internal/tui/i18n_vi.go index d114db334..4fbced42c 100644 --- a/internal/tui/i18n_vi.go +++ b/internal/tui/i18n_vi.go @@ -880,14 +880,8 @@ func viCatalog(key string) string { return "Khả dụng: %d" case "panel.qq.none": return "(không có)" - case "panel.qq.default": - return "(mặc định)" case "panel.qq.adapter": return "Adapter: %s" - case "panel.qq.target": - return "Mục tiêu: %s" - case "panel.qq.channel": - return "Kênh: %s" case "panel.qq.bot_list": return "Danh sách QQ Bot" case "panel.qq.no_bots": @@ -962,8 +956,6 @@ func viCatalog(key string) string { return "Tên QQ adapter là bắt buộc" case "panel.qq.error.not_configured": return "QQ bot %q chưa được cấu hình" - case "panel.qq.error.disabled": - return "QQ bot %q đã bị tắt" case "panel.qq.error.not_qq_adapter": return "adapter %q không phải là QQ bot" case "panel.qq.error.not_online": diff --git a/internal/tui/i18n_wechat.go b/internal/tui/i18n_wechat.go index 4e93ac5ef..dfc17f0ec 100644 --- a/internal/tui/i18n_wechat.go +++ b/internal/tui/i18n_wechat.go @@ -12,8 +12,6 @@ func enWechatModule() map[string]string { "panel.wechat.bound": "Bound: %d", "panel.wechat.available": "Available: %d", "panel.wechat.none": "(none)", - "panel.wechat.default": "(default)", - "panel.wechat.target": "Target: %s", "panel.wechat.bot_list": "WeChat Bot List", "panel.wechat.no_bots": "No WeChat bots configured. Press 'a' to scan QR code.", "panel.wechat.scan_qr": "📱 Scan QR Code with WeChat", @@ -36,8 +34,6 @@ func zhWechatModule() map[string]string { "panel.wechat.bound": "已绑定: %d", "panel.wechat.available": "可用: %d", "panel.wechat.none": "(无)", - "panel.wechat.default": "(默认)", - "panel.wechat.target": "目标: %s", "panel.wechat.bot_list": "微信机器人列表", "panel.wechat.no_bots": "暂无微信机器人。按 'a' 扫码授权。", "panel.wechat.scan_qr": "📱 请用微信扫描二维码", diff --git a/internal/tui/i18n_wecom.go b/internal/tui/i18n_wecom.go index 009811c92..5bea44c01 100644 --- a/internal/tui/i18n_wecom.go +++ b/internal/tui/i18n_wecom.go @@ -12,10 +12,7 @@ func enWeComModule() map[string]string { "panel.wecom.bound": "Bound: %d", "panel.wecom.available": "Available: %d", "panel.wecom.none": "(none)", - "panel.wecom.default": "(default)", "panel.wecom.adapter": "Adapter: %s", - "panel.wecom.target": "Target: %s", - "panel.wecom.channel": "Channel: %s", "panel.wecom.bot_list": "WeCom Bot List", "panel.wecom.no_bots": "No WeCom bots configured.", "panel.wecom.entry.available": "Available", @@ -48,7 +45,6 @@ func enWeComModule() map[string]string { "panel.wecom.error.config_format": "WeCom bot config must be: ", "panel.wecom.error.adapter_required": "WeCom adapter name is required", "panel.wecom.error.not_configured": "WeCom bot %q is not configured", - "panel.wecom.error.disabled": "WeCom bot %q is disabled", "panel.wecom.error.not_wecom_adapter": "adapter %q is not a WeCom bot", "panel.wecom.status.not_started": "not started", "panel.wecom.status.unknown": "unknown", @@ -63,10 +59,7 @@ func zhWeComModule() map[string]string { "panel.wecom.bound": "已绑定:%d", "panel.wecom.available": "可用:%d", "panel.wecom.none": "(无)", - "panel.wecom.default": "(默认)", "panel.wecom.adapter": "机器人:%s", - "panel.wecom.target": "目标:%s", - "panel.wecom.channel": "渠道:%s", "panel.wecom.bot_list": "企业微信机器人列表", "panel.wecom.no_bots": "没有配置企业微信机器人。", "panel.wecom.entry.available": "可用", @@ -99,7 +92,6 @@ func zhWeComModule() map[string]string { "panel.wecom.error.config_format": "企业微信配置格式:<名称> ", "panel.wecom.error.adapter_required": "需要企业微信适配器名称", "panel.wecom.error.not_configured": "企业微信机器人 %q 未配置", - "panel.wecom.error.disabled": "企业微信机器人 %q 已禁用", "panel.wecom.error.not_wecom_adapter": "适配器 %q 不是企业微信机器人", "panel.wecom.status.not_started": "未启动", "panel.wecom.status.unknown": "未知", diff --git a/internal/tui/i18n_whatsapp.go b/internal/tui/i18n_whatsapp.go index 3beadcd5f..2e0dfaba7 100644 --- a/internal/tui/i18n_whatsapp.go +++ b/internal/tui/i18n_whatsapp.go @@ -11,7 +11,6 @@ func enWhatsAppModule() map[string]string { "panel.whatsapp.adapters": "Adapters", "panel.whatsapp.summary": "Configured: %d Bound: %d Available: %d", "panel.whatsapp.none": "(none)", - "panel.whatsapp.default": "(default)", "panel.whatsapp.adapter": "Adapter: %s", "panel.whatsapp.target": "Target: %s", "panel.whatsapp.channel": "Channel: %s", @@ -62,7 +61,6 @@ func zhWhatsAppModule() map[string]string { "panel.whatsapp.adapters": "适配器", "panel.whatsapp.summary": "已配置:%d 已绑定:%d 可用:%d", "panel.whatsapp.none": "(无)", - "panel.whatsapp.default": "(默认)", "panel.whatsapp.adapter": "适配器:%s", "panel.whatsapp.target": "目标:%s", "panel.whatsapp.channel": "渠道:%s", diff --git a/internal/tui/i18n_zh.go b/internal/tui/i18n_zh.go index 82a0544f1..1f5652d65 100644 --- a/internal/tui/i18n_zh.go +++ b/internal/tui/i18n_zh.go @@ -1104,14 +1104,8 @@ func zhCatalog(key string) string { return "可用:%d" case "panel.qq.none": return "(无)" - case "panel.qq.default": - return "(默认)" case "panel.qq.adapter": return "机器人:%s" - case "panel.qq.target": - return "目标:%s" - case "panel.qq.channel": - return "渠道:%s" case "panel.qq.bot_list": return "QQ 机器人列表" case "panel.qq.no_bots": @@ -1184,8 +1178,6 @@ func zhCatalog(key string) string { return "QQ 适配器名称不能为空" case "panel.qq.error.not_configured": return "QQ 机器人 %q 未配置" - case "panel.qq.error.disabled": - return "QQ 机器人 %q 已禁用" case "panel.qq.error.not_qq_adapter": return "适配器 %q 不是 QQ 机器人" case "panel.qq.error.not_online":