Files
clawpanel/src/locales/modules/channels.js

320 lines
47 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { _ } from '../helper.js'
export default {
title: _('消息渠道', 'Channels', '訊息頻道', 'チャンネル', '채널', 'Kênh', 'Canales', 'Canais', 'Каналы', 'Canaux', 'Kanäle'),
desc: _('渠道列表管理接入;在 Agent 对接页为每个 Agent 绑定多条渠道路由,配置相互独立,并支持渠道连通性测试', 'Manage channel integrations; bind multiple channel routes per Agent with independent configs and connectivity testing', '頻道列表管理接入;在 Agent 对接頁為每個 Agent 綁定多條頻道路由,設定相互獨立,並支援頻道連通性測試', 'メッセージチャンネルの管理とプラットフォーム接続', '메시지 채널 관리 및 플랫폼 연결', 'Quản lý kênh tin nhắn và kết nối nền tảng', 'Gestionar canales de mensajería y conexiones de plataforma', 'Gerenciar canais de mensagens e conexões de plataforma', 'Управление каналами сообщений и подключение платформ', 'Gérer les canaux de messagerie et les connexions de plateforme', 'Nachrichtenkanäle und Plattformverbindungen verwalten'),
tabChannels: _('渠道列表', 'Channel List', '頻道列表'),
tabAgents: _('Agent 对接', 'Agent Binding'),
configured: _('已接入', 'Connected'),
available: _('可接入平台', 'Available Platforms'),
accountCount: _('{count} 个账号', '{count} accounts', '{count} 個账號'),
editAccount: _('编辑', 'Edit', '編輯'),
addAccount: _('添加账号', 'Add Account', '新增账號'),
editDefault: _('编辑默认', 'Edit Default', '編輯預設'),
noGuide: _('无向导', 'No guide', '無向导'),
disable: _('禁用', 'Disable', '停用', '無効化', '비활성화'),
enable: _('启用', 'Enable', '啟用', '有効化', '활성화'),
loadFailed: _('加载平台列表失败', 'Failed to load platform list', '載入平台列表失敗', 'チャンネルの読み込みに失敗', '채널 로드 실패', 'Tải thất bại', 'Error al cargar', 'Falha ao carregar', 'Ошибка загрузки', 'Échec du chargement', 'Laden fehlgeschlagen'),
agentBindHint: _('每个 Agent 可绑定多条路由(例如不同账号或匹配条件);绑定之间互不影响。请先在「渠道列表」中完成渠道接入。', 'Each Agent can have multiple route bindings (e.g. different accounts or match conditions). Bindings are independent. Complete channel setup in "Channel List" first.', '每個 Agent 可綁定多條路由(例如不同账號或匹配條件);綁定之間互不影響。請先在「頻道列表」中完成頻道接入。'),
createAgentFirst: _('请先在「Agent 管理」中创建 Agent', 'Please create an Agent in "Agent Management" first', '請先在「Agent 管理」中建立 Agent'),
qqbotLabel: _('QQ 机器人', 'QQ Bot', 'QQ 機器人'),
qqbotDesc: _('通过 QQ 开放平台接入,支持私聊和群聊', 'Connect via QQ Open Platform, supports DM and group chat', '通過 QQ 開放平台接入,支援私聊和群聊'),
qqbotGuide1: _('前往 <a href="https://q.qq.com" target="_blank" rel="noopener">QQ 开放平台</a> 创建机器人', '前往 <a href="https://q.qq.com" target="_blank" rel="noopener">QQ 开放平台</a> 创建机器人', '前往 <a href="https://q.qq.com" target="_blank" rel="noopener">QQ 開放平台</a> 建立機器人'),
qqbotGuide2: _('在「开发 → 开发设置」中获取 <strong>AppID</strong> 和 <strong>ClientSecret</strong>', '在「开发 → 开发设置」中获取 <strong>AppID</strong> 和 <strong>ClientSecret</strong>', '在「開發 → 開發設定」中取得 <strong>AppID</strong> 和 <strong>ClientSecret</strong>'),
qqbotGuide3: _('沙箱模式下可跳过审核直接测试', 'You can skip review and test directly in sandbox mode', '沙箱模式下可略過審核直接測試'),
qqbotGuide4: _('将机器人添加到你的 QQ 群(沙箱频道亦可)', 'Add the bot to your QQ group (sandbox channel also works)', '將機器人新增到你的 QQ 群(沙箱頻道亦可)'),
qqbotGuide5: _('填入下方凭证并保存,面板会自动安装插件、写入配置并重启 Gateway', 'Fill in credentials and save; the panel will auto-install the plugin, write config, and restart Gateway', '填入下方憑證並儲存,面板會自動安裝外掛、写入設定並重啟 Gateway'),
qqbotGuide6: _('在群里 @机器人 发消息即可开始对话', '@mention the bot in the group to start chatting', '在群里 @機器人 發訊息即可開始對話'),
qqbotGuideFooter: _('<div style="margin-top:8px;font-size:var(--font-size-xs);color:var(--text-tertiary)">遇到问题?参考 <a href="https://q.qq.com/qqbot/openclaw/faq.html" target="_blank" rel="noopener">OpenClaw × QQ 常见问题</a></div>', '<div style="margin-top:8px;font-size:var(--font-size-xs);color:var(--text-tertiary)">遇到问题?参考 <a href="https://q.qq.com/qqbot/openclaw/faq.html" target="_blank" rel="noopener">OpenClaw × QQ 常见问题</a></div>', '<div style="margin-top:8px;font-size:var(--font-size-xs);color:var(--text-tertiary)">遇到問題?參考 <a href="https://q.qq.com/qqbot/openclaw/faq.html" target="_blank" rel="noopener">OpenClaw × QQ 常见問題</a></div>'),
qqbotAppIdPh: _('QQ 开放平台 AppID', 'QQ Open Platform AppID', 'QQ 開放平台 AppID'),
qqbotSecretPh: _('QQ 开放平台 ClientSecret', 'QQ Open Platform ClientSecret', 'QQ 開放平台 ClientSecret'),
dingtalkLabel: _('钉钉', 'DingTalk', '釘釘'),
dingtalkDesc: _('通过钉钉企业内部应用接入,支持单聊和群聊', 'Connect via DingTalk enterprise internal app, supports DM and group chat', '通過釘釘企業內部應用接入,支援單聊和群聊', 'DingTalk に接続'),
dingtalkGuide1: _('前往 <a href="https://open-dev.dingtalk.com" target="_blank" rel="noopener">钉钉开放平台</a>,创建「企业内部应用」', '前往 <a href="https://open-dev.dingtalk.com" target="_blank" rel="noopener">钉钉开放平台</a>,创建「企业内部应用」', '前往 <a href="https://open-dev.dingtalk.com" target="_blank" rel="noopener">釘釘開放平台</a>,建立「企業內部應用」'),
dingtalkGuide2: _('在「应用功能 → 机器人」中启用机器人能力', 'Enable Robot capability under "App Features → Robot"', '在「應用功能 → 機器人」中啟用機器人能力'),
dingtalkGuide3: _('消息接收模式选择 <strong>Stream 模式</strong>(推荐)', 'Set message receive mode to <strong>Stream Mode</strong> (recommended)', '訊息接收模式選擇 <strong>Stream 模式</strong>(推薦)'),
dingtalkGuide4: _('在「凭证与基础信息」中获取 <strong>Client ID (AppKey)</strong> 和 <strong>Client Secret (AppSecret)</strong>', 'Get <strong>Client ID (AppKey)</strong> and <strong>Client Secret (AppSecret)</strong> from credentials page', '在「憑證與基礎資訊」中取得 <strong>Client ID (AppKey)</strong> 和 <strong>Client Secret (AppSecret)</strong>'),
dingtalkGuide5: _('权限管理中添加 <code>qyapi_robot_sendmsg</code>、<code>Card.Streaming.Write</code>、<code>Card.Instance.Write</code>', '权限管理中添加 <code>qyapi_robot_sendmsg</code>、<code>Card.Streaming.Write</code>、<code>Card.Instance.Write</code>', '權限管理中新增 <code>qyapi_robot_sendmsg</code>、<code>Card.Streaming.Write</code>、<code>Card.Instance.Write</code>'),
dingtalkGuide6: _('发布应用版本后,将机器人添加到目标群', 'Publish the app version, then add the bot to the target group', '發佈應用版本后,將機器人新增到目標群'),
dingtalkGuide7: _('填入下方凭证并保存,面板会自动安装插件并重启 Gateway', 'Fill in credentials and save; the panel will auto-install the plugin and restart Gateway', '填入下方憑證並儲存,面板會自動安裝外掛並重啟 Gateway'),
dingtalkGuideFooter: _('<div style="margin-top:8px;font-size:var(--font-size-xs);color:var(--text-tertiary)">注意Stream 模式需要钉钉服务端主动推送,确保网络可达</div>', '<div style="margin-top:8px;font-size:var(--font-size-xs);color:var(--text-tertiary)">注意Stream 模式需要钉钉服务端主动推送,确保网络可达</div>', '<div style="margin-top:8px;font-size:var(--font-size-xs);color:var(--text-tertiary)">注意Stream 模式需要釘釘伺服端主動推送,確保網路可達</div>'),
dingtalkClientIdPh: _('AppKey / Client ID', 'AppKey / Client ID'),
dingtalkClientSecretPh: _('AppSecret / Client Secret', 'AppSecret / Client Secret'),
feishuLabel: _('飞书', 'Feishu', '飛書'),
feishuDesc: _('通过飞书企业自建应用接入,支持单聊和群聊', 'Connect via Feishu custom enterprise app, supports DM and group chat', '通過飛書企業自建應用接入,支援單聊和群聊', 'Feishu に接続'),
feishuGuide1: _('前往 <a href="https://open.feishu.cn/app" target="_blank" rel="noopener">飞书开放平台</a> 创建企业自建应用', '前往 <a href="https://open.feishu.cn/app" target="_blank" rel="noopener">飞书开放平台</a> 创建企业自建应用', '前往 <a href="https://open.feishu.cn/app" target="_blank" rel="noopener">飛書開放平台</a> 建立企業自建應用'),
feishuGuide2: _('在「添加应用能力」中添加「机器人」', 'Add "Bot" capability under "Add App Capabilities"', '在「新增應用能力」中新增「機器人」'),
feishuGuide3: _('在「凭证与基础信息」中获取 <strong>App ID</strong> 和 <strong>App Secret</strong>', 'Get <strong>App ID</strong> and <strong>App Secret</strong> from credentials page', '在「憑證與基礎資訊」中取得 <strong>App ID</strong> 和 <strong>App Secret</strong>'),
feishuGuide4: _('事件回调选择「长连接」方式(无需公网 IP', 'Select "Long Connection" for event callback (no public IP needed)', '事件回調選擇「長連線」方式(無需公網 IP'),
feishuGuide5: _('权限管理中搜索并开通 <code>im:message</code>、<code>im:message.group_at_msg</code> 等消息权限', '权限管理中搜索并开通 <code>im:message</code>、<code>im:message.group_at_msg</code> 等消息权限', '權限管理中搜尋並開通 <code>im:message</code>、<code>im:message.group_at_msg</code> 等訊息權限'),
feishuGuide6: _('创建版本并发布后,将机器人添加到目标群', 'Create a version, publish, then add the bot to the target group', '建立版本並發佈后,將機器人新增到目標群'),
feishuGuideFooter: _('<div style="margin-top:8px;font-size:var(--font-size-xs);color:var(--text-tertiary)">推荐使用长连接方式,无需公网地址即可接收消息</div>', '<div style="margin-top:8px;font-size:var(--font-size-xs);color:var(--text-tertiary)">推荐使用长连接方式,无需公网地址即可接收消息</div>', '<div style="margin-top:8px;font-size:var(--font-size-xs);color:var(--text-tertiary)">推薦使用長連線方式,無需公網位址即可接收訊息</div>'),
feishuAppIdPh: _('飞书应用 App ID', 'Feishu App ID', '飛書應用 App ID'),
feishuAppSecretPh: _('飞书应用 App Secret', 'Feishu App Secret', '飛書應用 App Secret'),
feishuDomainLabel: _('平台域名', 'Platform Domain'),
feishuDomainFeishu: _('飞书 (feishu.cn)', 'Feishu (feishu.cn)', '飛書 (feishu.cn)'),
feishuDomainLark: _('Lark (larksuite.com)', 'Lark (larksuite.com)'),
telegramDesc: _('接入 Telegram Bot支持私聊和群组', 'Connect a Telegram Bot, supports DM and groups', '接入 Telegram Bot支援私聊和群組', 'Telegram Bot に接続'),
telegramGuide1: _('在 Telegram 中搜索 <a href="https://t.me/BotFather" target="_blank" rel="noopener">@BotFather</a> 并发送 <code>/newbot</code>', '在 Telegram 中搜索 <a href="https://t.me/BotFather" target="_blank" rel="noopener">@BotFather</a> 并发送 <code>/newbot</code>', '在 Telegram 中搜尋 <a href="https://t.me/BotFather" target="_blank" rel="noopener">@BotFather</a> 並發送 <code>/newbot</code>'),
telegramGuide2: _('按提示设置机器人名称和用户名', 'Follow prompts to set bot name and username', '按提示設定機器人名稱和使用者名'),
telegramGuide3: _('复制 BotFather 返回的 <strong>Bot Token</strong>', 'Copy the <strong>Bot Token</strong> returned by BotFather', '複製 BotFather 返回的 <strong>Bot Token</strong>'),
telegramGuide4: _('填入下方凭证并保存', 'Fill in credentials below and save', '填入下方憑證並儲存'),
telegramGuideFooter: _('<div style="margin-top:8px;font-size:var(--font-size-xs);color:var(--text-tertiary)">需要公网可达的服务器或使用 polling 模式</div>', '<div style="margin-top:8px;font-size:var(--font-size-xs);color:var(--text-tertiary)">需要公网可达的服务器或使用 polling 模式</div>', '<div style="margin-top:8px;font-size:var(--font-size-xs);color:var(--text-tertiary)">需要公網可達的伺服器或使用 polling 模式</div>'),
discordDesc: _('接入 Discord Bot支持服务器频道和私信', 'Connect a Discord Bot, supports server channels and DMs', '接入 Discord Bot支援伺服器頻道和私信', 'Discord Bot に接続'),
discordGuide1: _('前往 <a href="https://discord.com/developers/applications" target="_blank" rel="noopener">Discord Developer Portal</a> 创建 Application', '前往 <a href="https://discord.com/developers/applications" target="_blank" rel="noopener">Discord Developer Portal</a> 创建 Application', '前往 <a href="https://discord.com/developers/applications" target="_blank" rel="noopener">Discord Developer Portal</a> 建立 Application'),
discordGuide2: _('在 Bot 页面点击「Reset Token」获取 <strong>Bot Token</strong>', 'Click "Reset Token" on the Bot page to get the <strong>Bot Token</strong>', '在 Bot 頁面点擊「Reset Token」取得 <strong>Bot Token</strong>'),
discordGuide3: _('开启 <strong>MESSAGE CONTENT INTENT</strong>', 'Enable <strong>MESSAGE CONTENT INTENT</strong>', '開啟 <strong>MESSAGE CONTENT INTENT</strong>'),
discordGuide4: _('使用 OAuth2 URL Generator 邀请 Bot 加入服务器', 'Use OAuth2 URL Generator to invite the Bot to your server', '使用 OAuth2 URL Generator 邀請 Bot 加入伺服器'),
discordGuideFooter: _('<div style="margin-top:8px;font-size:var(--font-size-xs);color:var(--text-tertiary)">确保开启 Message Content Intent 以接收消息内容</div>', '<div style="margin-top:8px;font-size:var(--font-size-xs);color:var(--text-tertiary)">确保开启 Message Content Intent 以接收消息内容</div>', '<div style="margin-top:8px;font-size:var(--font-size-xs);color:var(--text-tertiary)">確保開啟 Message Content Intent 以接收訊息內容</div>'),
slackDesc: _('接入 Slack App支持频道和私信', 'Connect a Slack App, supports channels and DMs', '接入 Slack App支援頻道和私信', 'Slack に接続'),
slackGuide1: _('前往 <a href="https://api.slack.com/apps" target="_blank" rel="noopener">Slack API</a> 创建 App推荐 From a manifest', '前往 <a href="https://api.slack.com/apps" target="_blank" rel="noopener">Slack API</a> 创建 App推荐 From a manifest', '前往 <a href="https://api.slack.com/apps" target="_blank" rel="noopener">Slack API</a> 建立 App推薦 From a manifest'),
slackGuide2: _('在 OAuth & Permissions 中添加 Bot Token Scopes<code>chat:write</code>、<code>app_mentions:read</code> 等', 'Add Bot Token Scopes in OAuth & Permissions: <code>chat:write</code>, <code>app_mentions:read</code>, etc.', '在 OAuth & Permissions 中新增 Bot Token Scopes<code>chat:write</code>、<code>app_mentions:read</code> 等'),
slackGuide3: _('安装 App 到工作区,获取 <strong>Bot Token</strong>xoxb-', 'Install the App to your workspace and get the <strong>Bot Token</strong> (xoxb-)', '安裝 App 到工作區,取得 <strong>Bot Token</strong>xoxb-'),
slackGuide4: _('Socket Mode在 Basic Information 中开启 Socket Mode获取 <strong>App-Level Token</strong>xapp-', 'Socket Mode: Enable Socket Mode in Basic Information and get the <strong>App-Level Token</strong> (xapp-)', 'Socket Mode在 Basic Information 中開啟 Socket Mode取得 <strong>App-Level Token</strong>xapp-'),
slackGuide5: _('HTTP Mode在 Event Subscriptions 中填入请求 URL', 'HTTP Mode: Fill in the Request URL under Event Subscriptions', 'HTTP Mode在 Event Subscriptions 中填入請求 URL'),
slackGuideFooter: _('<div style="margin-top:8px;font-size:var(--font-size-xs);color:var(--text-tertiary)">Socket Mode 无需公网地址HTTP Mode 需要配置事件回调 URL</div>', '<div style="margin-top:8px;font-size:var(--font-size-xs);color:var(--text-tertiary)">Socket Mode 无需公网地址HTTP Mode 需要配置事件回调 URL</div>', '<div style="margin-top:8px;font-size:var(--font-size-xs);color:var(--text-tertiary)">Socket Mode 無需公網位址HTTP Mode 需要設定事件回調 URL</div>'),
modeLabel: _('连接模式', 'Connection Mode', '連線模式'),
slackSocketMode: _('Socket Mode推荐', 'Socket Mode (recommended)', 'Socket Mode推薦'),
slackHttpMode: _('HTTP Mode', 'HTTP Mode'),
slackAppTokenHint: _('Socket Mode 需要 App-Level Token (xapp-)', 'Socket Mode requires App-Level Token (xapp-)'),
slackSigningSecretPh: _('Signing Secret', 'Signing Secret'),
slackSigningSecretHint: _('HTTP Mode 下用于验证请求签名', 'Used to verify request signatures in HTTP Mode', 'HTTP Mode 下用於驗證請求簽章'),
slackTeamIdPh: _('可选,如 T01234567', 'Optional, e.g. T01234567', '可選,如 T01234567'),
slackWebhookPathPh: _('可选,如 /slack/events', 'Optional, e.g. /slack/events', '可選,如 /slack/events'),
dmPolicy: _('私信策略', 'DM Policy'),
policyDefault: _('默认', 'Default', '預設'),
dmAllow: _('允许私信', 'Allow DMs', '允許私信'),
dmDeny: _('拒绝私信', 'Deny DMs', '拒絕私信'),
groupPolicy: _('群组策略', 'Group Policy', '群組策略'),
groupAllChannels: _('所有频道', 'All channels', '所有頻道'),
groupMentionOnly: _('仅 @提及时', 'Only when @mentioned', '僅 @提及時'),
groupAllowlist: _('白名单', 'Allowlist', '白名單'),
allowFromPh: _('可选,逗号分隔用户/频道 ID', 'Optional, comma-separated user/channel IDs', '可選,逗號分隔使用者/頻道 ID'),
allowFromHint: _('限制允许的用户或频道 ID留空不限制', 'Restrict to specific user or channel IDs; leave empty for no restriction', '限制允許的使用者或頻道 ID留空不限制'),
weixinLabel: _('微信', 'WeChat'),
weixinDesc: _('通过 openclaw-weixin 插件接入个人微信', 'Connect personal WeChat via the openclaw-weixin plugin', '通過 openclaw-weixin 外掛接入個人微信'),
weixinGuide1: _('本功能基于 <strong>openclaw-weixin</strong> 插件', 'This feature is powered by the <strong>openclaw-weixin</strong> plugin', '本功能基於 <strong>openclaw-weixin</strong> 外掛'),
weixinGuide2: _('点击下方「一键安装插件」自动安装', 'Click "Install Plugin" below to auto-install', '点擊下方「一鍵安裝外掛」自動安裝'),
weixinGuide3: _('安装完成后点击「扫码登录」,用手机微信扫描二维码', 'After installation, click "Scan to Login" and scan the QR code with your phone', '安裝完成后点擊「掃碼登入」,用手機微信掃描二维碼'),
weixinGuide4: _('登录成功后 Gateway 会自动接管消息', 'Once logged in, Gateway will automatically handle messages', '登入成功后 Gateway 會自動接管訊息'),
weixinGuide5: _('若掉线需重新扫码登录', 'Re-scan is needed if disconnected', '若掉線需重新掃碼登入'),
weixinGuideFooter: _('<div style="margin-top:8px;font-size:var(--font-size-xs);color:var(--text-tertiary)">注意:个人微信接入存在风控风险,建议使用小号</div>', '<div style="margin-top:8px;font-size:var(--font-size-xs);color:var(--text-tertiary)">注意:个人微信接入存在风控风险,建议使用小号</div>', '<div style="margin-top:8px;font-size:var(--font-size-xs);color:var(--text-tertiary)">注意:個人微信接入存在風控風險,建議使用小號</div>'),
weixinInstall: _('一键安装插件', 'Install Plugin', '一鍵安裝外掛'),
weixinInstallHint: _('自动下载并安装 openclaw-weixin 插件', 'Auto-download and install the openclaw-weixin plugin', '自動下載並安裝 openclaw-weixin 外掛'),
weixinLogin: _('扫码登录', 'Scan to Login', '掃碼登入'),
weixinLoginHint: _('启动微信登录流程,扫码后自动接管消息', 'Start the WeChat login flow; messages are handled after scanning', '啟動微信登入流程,掃碼后自動接管訊息'),
weixinScanQr: _('用手机微信扫描此二维码', 'Scan this QR code with WeChat on your phone', '用手機微信掃描此二维碼'),
msteamsDesc: _('接入 Microsoft Teams Bot', 'Connect a Microsoft Teams Bot'),
msteamsGuide1: _('在 <a href="https://portal.azure.com" target="_blank" rel="noopener">Azure Portal</a> 注册 Bot Channel Registration', '在 <a href="https://portal.azure.com" target="_blank" rel="noopener">Azure Portal</a> 注册 Bot Channel Registration', '在 <a href="https://portal.azure.com" target="_blank" rel="noopener">Azure Portal</a> 註冊 Bot Channel Registration'),
msteamsGuide2: _('获取 <strong>App ID</strong> 和 <strong>App Password</strong>', 'Get the <strong>App ID</strong> and <strong>App Password</strong>', '取得 <strong>App ID</strong> 和 <strong>App Password</strong>'),
msteamsGuide3: _('在 Teams 中安装自定义 App', 'Install the custom App in Teams', '在 Teams 中安裝自定義 App'),
msteamsGuide4: _('配置消息端点 URL', 'Configure the messaging endpoint URL', '設定訊息端点 URL'),
msteamsGuideFooter: _('<div style="margin-top:8px;font-size:var(--font-size-xs);color:var(--text-tertiary)">需要 Azure AD 应用注册和 Teams 管理员权限</div>', '<div style="margin-top:8px;font-size:var(--font-size-xs);color:var(--text-tertiary)">需要 Azure AD 应用注册和 Teams 管理员权限</div>', '<div style="margin-top:8px;font-size:var(--font-size-xs);color:var(--text-tertiary)">需要 Azure AD 應用註冊和 Teams 管理員權限</div>'),
msteamsTenantIdPh: _('可选,单租户时填写', 'Optional, fill for single-tenant', '可選,單租戶時填写'),
msteamsAllowFromPh: _('可选,逗号分隔', 'Optional, comma-separated', '可選,逗號分隔'),
signalDesc: _('接入 Signal Messenger', 'Connect to Signal Messenger', '', 'Signal に接続'),
signalGuide1: _('安装 <a href="https://github.com/AsamK/signal-cli" target="_blank" rel="noopener">signal-cli</a> 并注册/链接账号', '安装 <a href="https://github.com/AsamK/signal-cli" target="_blank" rel="noopener">signal-cli</a> 并注册/链接账号', '安裝 <a href="https://github.com/AsamK/signal-cli" target="_blank" rel="noopener">signal-cli</a> 並註冊/連結账號'),
signalGuide2: _('确保 signal-cli 可正常收发消息', 'Ensure signal-cli can send and receive messages', '確保 signal-cli 可正常收發訊息'),
signalGuide3: _('填入账号信息和 signal-cli 路径', 'Fill in account info and signal-cli path', '填入账號資訊和 signal-cli 路徑'),
signalGuideFooter: _('<div style="margin-top:8px;font-size:var(--font-size-xs);color:var(--text-tertiary)">需要本地安装 signal-cli 并完成账号注册</div>', '<div style="margin-top:8px;font-size:var(--font-size-xs);color:var(--text-tertiary)">需要本地安装 signal-cli 并完成账号注册</div>', '<div style="margin-top:8px;font-size:var(--font-size-xs);color:var(--text-tertiary)">需要本地安裝 signal-cli 並完成账號註冊</div>'),
signalAccountLabel: _('Signal 账号', 'Signal Account', 'Signal 账號'),
signalAccountPh: _('+1234567890', '+1234567890'),
signalCliPathLabel: _('signal-cli 路径', 'signal-cli Path', 'signal-cli 路徑'),
signalCliPathPh: _('可选,默认从 PATH 查找', 'Optional, defaults to PATH lookup', '可選,預設從 PATH 尋找'),
signalAllowFromPh: _('可选,逗号分隔', 'Optional, comma-separated', '可選,逗號分隔'),
matrixDesc: _('接入 Matrix 协议Element 等客户端)', 'Connect via Matrix protocol (Element and other clients)', '接入 Matrix 协議Element 等用戶端)', 'Matrix プロトコルに接続'),
matrixGuide1: _('在 Matrix 服务器上注册 Bot 账号', 'Register a Bot account on a Matrix server', '在 Matrix 伺服器上註冊 Bot 账號'),
matrixGuide2: _('获取 <strong>Access Token</strong>(或使用用户名密码)', 'Get an <strong>Access Token</strong> (or use username & password)', '取得 <strong>Access Token</strong>(或使用使用者名密碼)'),
matrixGuide3: _('邀请 Bot 加入目标房间', 'Invite the Bot to the target room', '邀請 Bot 加入目標房間'),
matrixGuideFooter: _('<div style="margin-top:8px;font-size:var(--font-size-xs);color:var(--text-tertiary)">支持任何兼容 Matrix 协议的服务器</div>', '<div style="margin-top:8px;font-size:var(--font-size-xs);color:var(--text-tertiary)">支持任何兼容 Matrix 协议的服务器</div>', '<div style="margin-top:8px;font-size:var(--font-size-xs);color:var(--text-tertiary)">支援任何相容 Matrix 协議的伺服器</div>'),
matrixAccessTokenHint: _('使用 Access Token 或 User ID + Password 二选一', 'Use either Access Token or User ID + Password', '使用 Access Token 或 User ID + Password 二選一'),
matrixPasswordPh: _('使用 Access Token 时可留空', 'Leave empty when using Access Token', '使用 Access Token 時可留空'),
matrixAllowFromPh: _('可选,逗号分隔用户 ID', 'Optional, comma-separated user IDs', '可選,逗號分隔使用者 ID'),
matrixAuthRequired: _('Matrix 需要填写 Access Token或填写 User ID + Password', 'Matrix requires an Access Token, or User ID + Password'),
groupAllGroups: _('所有群组', 'All groups', '所有群組'),
groupAllRooms: _('所有房间', 'All rooms', '所有房間'),
groupAllTeams: _('所有团队', 'All teams', '所有團队'),
groupMentionBot: _('仅 @机器人时', 'Only when @bot', '僅 @機器人時'),
optionalEg: _('可选,如', 'Optional, e.g.', '可選,如'),
editAccountLabel: _('编辑 {id}', 'Edit {id}', '編輯 {id}'),
bound: _('已绑定', 'Bound', '已綁定'),
notBoundAgent: _('未绑定 Agent', 'No Agent bound', '未綁定 Agent'),
addAgentBindingForAccount: _('添加 Agent 绑定', 'Add Agent Binding', '新增 Agent 綁定'),
addAgentBindingSub: _('为该账号添加新的 Agent 路由', 'Add a new Agent route for this account', '為該账號新增新的 Agent 路由'),
editConfig: _('编辑配置', 'Edit Config', '編輯設定'),
addAgentBinding: _('添加 Agent 绑定', 'Add Agent Binding', '新增 Agent 綁定'),
routeToAgent: _('将收到的消息路由到指定 Agent', 'Route incoming messages to a specific Agent', '將收到的訊息路由到指定 Agent'),
addNewAccount: _('添加新账号', 'Add New Account', '新增新账號'),
addNewAccountSub: _('创建一个新的机器人账号配置', 'Create a new bot account configuration', '建立一個新的機器人账號設定'),
actions: _('操作', 'Actions', '', '操作'),
bindAgentTitle: _('绑定 Agent', 'Bind Agent', '綁定 Agent'),
targetAgent: _('目标 Agent', 'Target Agent', '目標 Agent'),
targetAgentHint: _('选择接收消息的 Agent', 'Select the Agent to receive messages', '選擇接收訊息的 Agent'),
peerScope: _('匹配范围', 'Match Scope', '匹配範圍'),
peerAll: _('全部(私聊+群聊)', 'All (DM + Group)'),
peerAllHint: _('接收该渠道所有消息', 'Receive all messages from this channel', '接收該頻道所有訊息'),
peerDirect: _('仅私聊', 'DM Only', '僅私聊'),
peerDirectHint: _('仅接收一对一私聊消息', 'Only receive one-on-one direct messages', '僅接收一对一私聊訊息'),
peerDirectLabel: _('私聊', 'DM'),
peerGroup: _('仅群聊', 'Group Only', '僅群聊'),
peerGroupHint: _('仅接收群组/频道消息', 'Only receive group/channel messages', '僅接收群組/頻道訊息'),
peerGroupLabel: _('群聊', 'Group'),
peerIdHint: _('目标 ID', 'Target ID', '目標 ID'),
peerIdHintDetailed: _('限定特定群/用户 ID留空则匹配所有', 'Restrict to a specific group/user ID; leave empty to match all', '限定特定群/使用者 ID留空則匹配所有'),
targetId: _('目标 ID', 'Target ID', '目標 ID'),
saveBinding: _('保存绑定', 'Save Binding', '儲存綁定'),
duplicateBinding: _('已存在相同的绑定配置', 'A binding with the same configuration already exists', '已存在相同的綁定設定'),
saving: _('保存中...', 'Saving...', '儲存中...', '保存中...', '저장 중...'),
bindingSaved: _('绑定已保存', 'Binding saved', '綁定已儲存'),
saveFailed: _('保存失败', 'Save failed', '儲存失敗', '保存失敗', '저장 실패', 'Lưu thất bại', 'Error al guardar', 'Falha ao salvar', 'Ошибка сохранения', 'Échec de la sauvegarde', 'Speichern fehlgeschlagen'),
accountLabel: _('账号', 'Account', '账號'),
defaultAccount: _('默认账号', 'Default Account', '預設账號'),
accountShort: _('账号', 'Acct', '账號'),
peerDm: _('私聊', 'DM'),
peerGroupShort: _('群聊', 'Group'),
peerChannelShort: _('频道', 'Channel', '頻道'),
noAgents: _('暂无 Agent', 'No Agents', '暫無 Agent'),
orphanAgent: _('配置中存在绑定,但当前 Agent 列表中无此 ID', 'Binding exists in config but Agent ID not found in current list', '設定中存在綁定,但目前 Agent 列表中無此 ID'),
diagnose: _('联通诊断', 'Diagnose', '聯通诊斷'),
remove: _('移除', 'Remove'),
noBindings: _('尚未绑定任何渠道', 'No channel bindings yet', '尚未綁定任何頻道'),
addChannelBinding: _('添加渠道绑定', 'Add Channel Binding', '新增頻道綁定'),
enableChannelFirst: _('请先在「渠道列表」中接入并启用至少一个渠道', 'Please connect and enable at least one channel in "Channel List" first', '請先在「頻道列表」中接入並啟用至少一個頻道'),
confirmRemoveBinding: _('确定移除该绑定?', 'Remove this binding?', '確定移除該綁定?'),
bindingRemoved: _('绑定已移除', 'Binding removed', '綁定已移除'),
addBindingForAgent: _('为 {agent} 添加渠道绑定', 'Add channel binding for {agent}', '為 {agent} 新增頻道綁定'),
channel: _('渠道', 'Channel', '頻道'),
bindingIndependentHint: _('每条绑定独立生效,可为同一渠道添加多条不同匹配规则', 'Each binding works independently; you can add multiple rules for the same channel', '每條綁定獨立生效,可為同一頻道新增多條不同匹配規則'),
subAccount: _('子账号', 'Sub-account', '子账號'),
noMultiAccount: _('该渠道不支持多账号', 'This channel does not support multiple accounts', '該頻道不支援多账號'),
noMultiAccountHint: _('请先在渠道列表中添加多个账号', 'Add multiple accounts in the channel list first', '請先在頻道列表中新增多個账號'),
confirmRemoveAccount: _('确定移除该账号及其所有配置?', 'Remove this account and all its config?', '確定移除該账號及其所有設定?'),
removed: _('已移除', 'Removed'),
removeFailed: _('移除失败', 'Remove failed', '移除失敗'),
disabled: _('已禁用', 'Disabled', '已停用'),
enabled: _('已启用', 'Enabled', '已啟用'),
operationFailed: _('操作失败', 'Operation failed', '操作失敗'),
confirmRemovePlatform: _('确定移除该平台及其所有配置?', 'Remove this platform and all its config?', '確定移除該平台及其所有設定?'),
supportsActions: _('支持操作', 'Supports actions', '支援操作'),
connectedClickEdit: _('已接入,点击编辑', 'Connected, click to edit', '已接入,点擊編輯'),
qqDiagAllPassed: _('全部检查通过 ✓', 'All checks passed ✓', '全部檢查通過 ✓'),
qqDiagHasFailed: _('存在未通过的检查项', 'Some checks failed', '存在未通過的檢查項'),
qqRepairHint: _('可尝试一键修复:重新安装插件并重启 Gateway', 'Try one-click repair: reinstall plugin and restart Gateway', '可尝試一鍵修复:重新安裝外掛並重啟 Gateway'),
qqRepairBtn: _('一键修复', 'One-Click Repair', '一鍵修复'),
qqFaqBtn: _('打开 QQ OpenClaw 常见问题', 'Open QQ OpenClaw FAQ', '開啟 QQ OpenClaw 常见問題'),
qqDiagTitle: _('QQ 联通诊断', 'QQ Connectivity Diagnosis', 'QQ 聯通诊斷'),
notes: _('说明', 'Notes', '說明'),
processing: _('处理中...', 'Processing...', '處理中...'),
repairDone: _('修复完成', 'Repair complete'),
repairFailed: _('修复失败', 'Repair failed', '修复失敗'),
unknownChannelType: _('无法识别渠道类型', 'Unrecognized channel type', '無法識別頻道類型'),
diagnosing: _('诊断中...', 'Diagnosing...', '诊斷中...'),
testing: _('测试中...', 'Testing...', '測試中...', 'テスト中...', '테스트 중...', 'Đang kiểm tra...', 'Probando...', 'Testando...', 'Проверка...', 'Test en cours...', 'Wird getestet...'),
noCredentialsFound: _('未找到该渠道在配置中的凭证', 'No credentials found for this channel in config', '未找到該頻道在設定中的憑證'),
testPassed: _('渠道测试通过', 'Channel test passed', '頻道測試通過'),
verifyFailed: _('校验失败', 'Verification failed', '校驗失敗'),
testFailed: _('渠道测试失败', 'Channel test failed', '頻道測試失敗', '接続失敗', '연결 실패', 'Kết nối thất bại', 'Conexión fallida', 'Conexão falhou', 'Ошибка подключения', 'Connexion échouée', 'Verbindung fehlgeschlagen'),
diagFailed: _('诊断失败', 'Diagnosis failed', '诊斷失敗'),
connectingGateway: _('连接 Gateway...', 'Connecting Gateway...', '連線 Gateway...'),
gatewayNotConnected: _('Gateway 未连接', 'Gateway not connected', 'Gateway 未連線'),
generatingQr: _('正在生成二维码...', 'Generating QR code...', '正在生成二维碼...'),
generatingQrShort: _('生成二维码...', 'Generating QR...', '生成二维碼...'),
whatsappScanQr: _('用手机 WhatsApp 扫描此二维码', 'Scan this QR code with WhatsApp on your phone', '用手機 WhatsApp 掃描此二维碼'),
whatsappScanPath: _('WhatsApp → 已连接的设备 → 连接设备', 'WhatsApp → Linked Devices → Link a Device', 'WhatsApp → 已連線的設備 → 連線設備'),
waitingScan: _('等待扫码...', 'Waiting for scan...', '等待掃碼...'),
whatsappLinked: _('WhatsApp 链接成功!', 'WhatsApp linked successfully!', 'WhatsApp 連結成功!'),
whatsappAlreadyLinked: _('WhatsApp 已链接,无需重新扫码', 'WhatsApp is already linked, no need to re-scan', 'WhatsApp 已連結,無需重新掃碼'),
linkedSuccess: _('链接成功!', 'Linked successfully!', '連結成功!'),
scanTimeout: _('扫码超时', 'Scan timed out', '掃碼逾時'),
scanTimeoutRetry: _('扫码超时或未完成,请重试', 'Scan timed out or not completed, please retry', '掃碼逾時或未完成,請重試'),
whatsappNotAvailableHint: _('WhatsApp 插件未加载', 'WhatsApp plugin not loaded', 'WhatsApp 外掛未載入'),
scanLoginFailed: _('扫码登录失败', 'Scan login failed', '掃碼登入失敗'),
unknownPlatform: _('未知平台', 'Unknown platform'),
setupSteps: _('接入步骤', 'Setup Steps', '接入步驟'),
clickToExpand: _('点击展开', 'click to expand', '点擊展開'),
docsOnlyTitle: _('当前面板暂未完成该渠道的可用配置向导', 'Configuration wizard for this channel is not yet available', '目前面板暂未完成該頻道的可用設定向导'),
docsOnlyDefault: _('请先按上游文档或 CLI 完成接入', 'Please complete setup via upstream docs or CLI first', '請先按上游文件或 CLI 完成接入'),
setupGuide: _('接入说明', 'Setup Guide', '接入說明'),
gotIt: _('知道了', 'Got It'),
detectingPlugin: _('检测插件状态...', 'Detecting plugin status...', '檢測外掛狀態...'),
operations: _('操作', 'Operations'),
setup: _('接入', 'Setup'),
close: _('关闭', 'Close', '關閉'),
manualCommands: _('手动命令', 'Manual Commands', '手動命令'),
manualCommandsHint: _('如果面板自动安装失败,可以复制下面的命令到终端手动执行。', 'If panel-based installation fails, copy the commands below and run them manually in your terminal.', '如果面板自動安裝失敗,可以複製下面的命令到終端手動執行。'),
manualInstallCommand: _('手动安装命令', 'Manual Install Command', '手動安裝命令'),
manualInstallHint: _('用于手动安装 {platform} 对应插件。', 'Use this command to manually install the plugin for {platform}.', '用於手動安裝 {platform} 對應外掛。'),
manualLoginCommand: _('手动登录命令', 'Manual Login Command', '手動登入命令'),
manualLoginHint: _('插件安装完成后,可在终端执行此命令继续登录流程。', 'After plugin installation completes, run this command in your terminal to continue the login flow.', '外掛安裝完成後,可在終端執行此命令繼續登入流程。'),
copyCommandFailed: _('复制命令失败', 'Failed to copy command', '複製命令失敗'),
pluginStatusFailed: _('无法获取插件状态', 'Failed to get plugin status', '無法取得外掛狀態'),
pluginInstalled: _('已安装', 'Installed', '已安裝', 'プラグインインストール済み'),
version: _('版本', 'Version'),
unknown: _('未知', 'Unknown'),
newVersionAvailable: _('新版 {version} 可用,点击「升级插件」更新', 'New version {version} available, click "Upgrade Plugin" to update', '新版 {version} 可用,点擊「升級外掛」更新'),
upgradePlugin: _('升级插件', 'Upgrade Plugin', '升級外掛'),
upToDate: _('已是最新', 'Up to date'),
pluginNotInstalled: _('未安装', 'Not installed', '未安裝', 'プラグイン未インストール'),
latestVersion: _('最新版', 'Latest version'),
clickInstallBelow: _('点击下方「一键安装插件」开始', 'Click "Install Plugin" below to get started', '点擊下方「一鍵安裝外掛」開始'),
pluginCompatErrorHint: _('请点击「一键安装插件」重新安装兼容版本', 'Click "Install Plugin" to reinstall a compatible version', '請點擊「一鍵安裝外掛」重新安裝相容版本'),
executing: _('正在执行', 'Executing', '正在執行'),
executingShort: _('执行中...', 'Executing...', '執行中...'),
executingAction: _('正在执行渠道动作', 'Executing channel action', '正在執行頻道動作'),
executionDone: _('执行完成', 'Execution complete', '執行完成'),
executionFailed: _('执行失败', 'Execution failed', '執行失敗'),
unknownError: _('未知错误', 'Unknown error', '未知錯誤'),
downloadingPlugin: _('正在下载,请稍候(首次安装可能需要几分钟)...', 'Downloading, please wait (the first install may take a few minutes)...', '正在下載,請稍候(首次安裝可能需要幾分鐘)...'),
weixinOpenInBrowser: _('或点击此链接在浏览器中打开', 'Or open this link in your browser', '或點擊此連結在瀏覽器中打開'),
execute: _('执行', 'Execute', '執行'),
channelConnected: _('🎉 渠道连接成功!正在刷新列表…', '🎉 Channel connected! Refreshing list...', '🎉 頻道連線成功!正在重新整理列表…'),
reDetecting: _('重新检测…', 'Re-detecting...', '重新檢測…'),
actionDone: _('渠道动作执行完成', 'Channel action completed', '頻道動作執行完成'),
actionFailed: _('渠道动作执行失败', 'Channel action failed', '頻道動作執行失敗'),
accountIdentifier: _('账号标识', 'Account Identifier', '账號標識'),
accountIdPlaceholder: _('留空为默认账号;修改会创建新账号', 'Leave empty for default account; changing creates a new account', '留空為預設账號;修改會建立新账號'),
accountIdHint: _('每个账号对应一个独立机器人。不同账号可绑定不同 Agent。', 'Each account corresponds to an independent bot. Different accounts can bind to different Agents.', '每個账號对應一個獨立機器人。不同账號可綁定不同 Agent。'),
bindAgent: _('绑定 Agent', 'Bind Agent', '綁定 Agent', 'Agent をバインド', 'Agent 바인딩', 'Liên kết Agent', 'Vincular Agent', 'Vincular Agent', 'Привязать агента', 'Lier un Agent', 'Agent verknüpfen'),
bindAgentHint: _('该账号收到的消息路由到哪个 Agent可在「Agent 对接」页添加更多绑定)。', 'Which Agent receives messages for this account (add more bindings in "Agent Binding" tab).', '該账號收到的訊息路由到哪個 Agent可在「Agent 对接」頁新增更多綁定)。'),
show: _('显示', 'Show', '顯示'),
hide: _('隐藏', 'Hide', '隱藏'),
pairingApproval: _('配对审批', 'Pairing Approval', '配对審批'),
pairingApprovalHint: _('当机器人提示 <code>access not configured</code>、<code>Pairing code</code> 或要求执行 <code>openclaw pairing approve</code> 时,可直接在这里完成批准。', 'When the bot shows <code>access not configured</code>, <code>Pairing code</code>, or asks to run <code>openclaw pairing approve</code>, you can approve directly here.', '當機器人提示 <code>access not configured</code>、<code>Pairing code</code> 或要求執行 <code>openclaw pairing approve</code> 時,可直接在這裡完成批準。'),
pairingCodePlaceholder: _('例如 R3ZFPWZP', 'e.g. R3ZFPWZP', '', 'ペアリングコードを入力'),
viewPending: _('查看待审批', 'View Pending', '查看待審批'),
approvePairingCode: _('批准配对码', 'Approve Pairing Code', '批準配对碼'),
preActions: _('运行前动作', 'Pre-run Actions', '執行前動作'),
preActionsHint: _('适用于需要先执行 CLI 登录、扫码或初始化命令的渠道。', 'For channels that require CLI login, scanning, or initialization commands first.', '適用於需要先執行 CLI 登入、掃碼或初始化命令的頻道。'),
gatewayAuthAutoFilled: _('已从当前 Gateway 鉴权配置中自动带出 {type},通常无需手填', 'Auto-filled {type} from current Gateway auth config; usually no need to fill manually', '已從目前 Gateway 鉴權設定中自動帶出 {type},通常無需手填'),
existingConfigHint: _('当前已有配置,修改后点击保存即可覆盖', 'Existing config found; edit and click Save to overwrite', '目前已有設定,修改后点擊儲存即可覆蓋'),
fullDiagnose: _('完整联通诊断', 'Full Connectivity Diagnosis', '完整聯通诊斷'),
qqDiagHint: _('检查<strong>已保存到配置文件</strong>的凭证、本机 Gateway 端口、<code>/__api/health</code>、QQ 插件与 chatCompletions。QQ 提示「灵魂不在线」时优先看此处,并参考 <a href="https://q.qq.com/qqbot/openclaw/faq.html" target="_blank" rel="noopener">OpenClaw × QQ 常见问题</a>。', '检查<strong>已保存到配置文件</strong>的凭证、本机 Gateway 端口、<code>/__api/health</code>、QQ 插件与 chatCompletions。QQ 提示「灵魂不在线」时优先看此处,并参考 <a href="https://q.qq.com/qqbot/openclaw/faq.html" target="_blank" rel="noopener">OpenClaw × QQ 常见问题</a>。', '檢查<strong>已儲存到設定檔案</strong>的憑證、本機 Gateway 連接埠、<code>/__api/health</code>、QQ 外掛與 chatCompletions。QQ 提示「靈魂不線上」時優先看此處,並參考 <a href="https://q.qq.com/qqbot/openclaw/faq.html" target="_blank" rel="noopener">OpenClaw × QQ 常见問題</a>。'),
edit: _('编辑', 'Edit', '編輯', '編集', '편집', 'Sửa', 'Editar', 'Editar', 'Редактировать', 'Modifier', 'Bearbeiten'),
connect: _('接入', 'Connect'),
verifyCredentials: _('校验凭证', 'Verify Credentials', '校驗憑證'),
save: _('保存', 'Save', '儲存', '保存', '저장', 'Lưu', 'Guardar', 'Salvar', 'Сохранить', 'Enregistrer', 'Speichern'),
connectAndSave: _('接入并保存', 'Connect & Save', '接入並儲存'),
reading: _('读取中...', 'Reading...', '讀取中...'),
pendingRequests: _('待审批请求', 'Pending Requests', '待審批請求'),
noPendingRequests: _('暂无待审批请求', 'No pending requests', '暫無待審批請求'),
readFailed: _('读取失败', 'Read failed', '讀取失敗'),
enterPairingCode: _('请输入配对码', 'Please enter pairing code', '請輸入配对碼'),
approving: _('批准中...', 'Approving...', '批準中...', '承認中...'),
pairingApproved: _('配对已批准', 'Pairing approved', '配对已批準'),
operationComplete: _('操作完成', 'Operation complete'),
approveFailed: _('批准失败', 'Approve failed', '批準失敗', '承認失敗', '승인 실패'),
pleaseFill: _('请填写「{field}」', 'Please fill in "{field}"', '請填写「{field}」'),
verifying: _('校验中...', 'Verifying...', '校驗中...'),
credentialsValid: _('凭证有效', 'Credentials valid', '憑證有效'),
qqVerifyNote: _('此项只验证 AppID/Secret 能否向腾讯换 token。<strong>不能</strong>代表 QQ 里机器人已在线;若提示「灵魂不在线」,请使用下方 <strong>完整联通诊断</strong> 并对照 <a href="https://q.qq.com/qqbot/openclaw/faq.html" target="_blank" rel="noopener">QQ OpenClaw 常见问题</a>。', '此项只验证 AppID/Secret 能否向腾讯换 token。<strong>不能</strong>代表 QQ 里机器人已在线;若提示「灵魂不在线」,请使用下方 <strong>完整联通诊断</strong> 并对照 <a href="https://q.qq.com/qqbot/openclaw/faq.html" target="_blank" rel="noopener">QQ OpenClaw 常见问题</a>。', '此項只驗證 AppID/Secret 能否向腾訊換 token。<strong>不能</strong>代表 QQ 里機器人已線上;若提示「靈魂不線上」,請使用下方 <strong>完整聯通诊斷</strong> 並对照 <a href="https://q.qq.com/qqbot/openclaw/faq.html" target="_blank" rel="noopener">QQ OpenClaw 常见問題</a>。'),
verifyRequestFailed: _('校验请求失败', 'Verification request failed', '校驗請求失敗'),
installingPlugin: _('安装插件中...', 'Installing plugin...', '安裝外掛中...'),
installPlugin: _('安装插件', 'Install Plugin', '安裝外掛', 'プラグインインストール', '플러그인 설치', 'Cài đặt plugin', 'Instalar plugin', 'Instalar plugin', 'Установить плагин', 'Installer le plugin', 'Plugin installieren'),
pluginInstallFailed: _('插件安装失败', 'Plugin installation failed', '外掛安裝失敗'),
pluginDetected: _('已检测到插件,无需重复安装,本次仅更新配置', 'Plugin detected, no need to reinstall; only updating config', '已檢測到外掛,無需重複安裝,本次僅更新設定'),
writingConfig: _('写入配置...', 'Writing config...', '写入設定...'),
configSaved: _('{platform} 配置已保存Gateway 正在重载', '{platform} config saved, Gateway is reloading', '{platform} 設定已儲存Gateway 正在重載'),
pluginIncompatible: _('插件版本不兼容', 'Plugin version incompatible', '外掛版本不相容', 'プラグインバージョン非互換', '플러그인 버전 호환되지 않음', 'Phiên bản plugin không tương thích', 'Versión de plugin incompatible', 'Versão do plugin incompatível', 'Несовместимая версия плагина', 'Version de plugin incompatible', 'Plugin-Version inkompatibel'),
reinstallCompatible: _('重新安装兼容版本', 'Reinstall compatible version', '重新安裝相容版本', '互換バージョンを再インストール', '호환 버전 재설치', 'Cài đặt lại phiên bản tương thích', 'Reinstalar versión compatible', 'Reinstalar versão compatível', 'Переустановить совместимую версию', 'Réinstaller la version compatible', 'Kompatible Version neu installieren'),
}