{ "ai_chat.builtin_tools.database.execute_sql.desc": "执行 SQL 查询并返回结果", "ai_chat.builtin_tools.database.execute_sql.detail": "传入 connectionId、dbName 和 sql,在目标数据库上执行 SQL 并返回结果(最多 50 行)。受安全级别控制,只读模式下仅允许 SELECT/SHOW/DESCRIBE。", "ai_chat.builtin_tools.database.execute_sql.parameters.connectionId.description": "连接ID", "ai_chat.builtin_tools.database.execute_sql.parameters.dbName.description": "数据库名", "ai_chat.builtin_tools.database.execute_sql.parameters.sql.description": "要执行的 SQL 语句", "ai_chat.builtin_tools.database.execute_sql.params": "connectionId, dbName, sql", "ai_chat.builtin_tools.database.execute_sql.tool_description": "在指定连接和数据库上执行 SQL 查询并返回结果。受安全级别控制,只读模式下只能执行 SELECT/SHOW/DESCRIBE 等查询操作。结果最多返回 50 行。", "ai_chat.builtin_tools.database.get_all_columns.desc": "获取指定数据库下所有表的字段摘要", "ai_chat.builtin_tools.database.get_all_columns.detail": "传入 connectionId 和 dbName,返回跨表字段列表(表名、字段名、类型、注释)。适合用户只知道业务字段、不知道具体在哪张表时快速定位目标表。", "ai_chat.builtin_tools.database.get_all_columns.parameters.connectionId.description": "连接ID", "ai_chat.builtin_tools.database.get_all_columns.parameters.dbName.description": "数据库名", "ai_chat.builtin_tools.database.get_all_columns.params": "connectionId, dbName", "ai_chat.builtin_tools.database.get_all_columns.tool_description": "获取指定数据库下全部表的字段摘要,返回表名、字段名、类型和注释。适用于按字段反查表、跨表梳理相同字段、做数据地图探索。", "ai_chat.builtin_tools.database.get_columns.desc": "获取指定表的字段结构", "ai_chat.builtin_tools.database.get_columns.detail": "传入 connectionId、dbName 和 tableName,返回每个字段的名称、类型、是否可空、默认值和注释。AI 在生成 SQL 前必须调用此工具确认真实字段名。", "ai_chat.builtin_tools.database.get_columns.parameters.connectionId.description": "连接ID", "ai_chat.builtin_tools.database.get_columns.parameters.dbName.description": "数据库名", "ai_chat.builtin_tools.database.get_columns.parameters.tableName.description": "表名", "ai_chat.builtin_tools.database.get_columns.params": "connectionId, dbName, tableName", "ai_chat.builtin_tools.database.get_columns.tool_description": "获取指定表的字段列表(字段名、类型、是否可空、默认值、注释等)。在生成 SQL 之前必须先调用此工具确认真实字段名,禁止猜测字段名。", "ai_chat.builtin_tools.database.get_connections.desc": "获取所有可用的数据库连接", "ai_chat.builtin_tools.database.get_connections.detail": "返回连接 ID、名称、类型 (MySQL/PostgreSQL 等) 和 Host 地址。AI 根据返回信息决定优先探索哪个连接。", "ai_chat.builtin_tools.database.get_connections.params": "无参数", "ai_chat.builtin_tools.database.get_connections.tool_description": "当需要查询、操作数据库但用户没有选择任何连接上下文时,获取当前软件中可用的所有数据库连接信息。返回的数据包含连接ID(id)和名称(name)。", "ai_chat.builtin_tools.database.get_databases.desc": "获取指定连接下的所有数据库", "ai_chat.builtin_tools.database.get_databases.detail": "传入 connectionId,返回该连接下的数据库/Schema 名称列表。", "ai_chat.builtin_tools.database.get_databases.parameters.connectionId.description": "连接ID (从 get_connections 获取)", "ai_chat.builtin_tools.database.get_databases.params": "connectionId: 连接 ID", "ai_chat.builtin_tools.database.get_databases.tool_description": "获取指定连接(connectionId)下的所有数据库(Database/Schema)名。", "ai_chat.builtin_tools.database.get_foreign_keys.desc": "获取指定表的外键关系", "ai_chat.builtin_tools.database.get_foreign_keys.detail": "传入 connectionId、dbName 和 tableName,返回当前表到其他表的外键映射。AI 在推断表关系、生成联表 SQL 和评审数据一致性时可直接使用。", "ai_chat.builtin_tools.database.get_foreign_keys.parameters.connectionId.description": "连接ID", "ai_chat.builtin_tools.database.get_foreign_keys.parameters.dbName.description": "数据库名", "ai_chat.builtin_tools.database.get_foreign_keys.parameters.tableName.description": "表名", "ai_chat.builtin_tools.database.get_foreign_keys.params": "connectionId, dbName, tableName", "ai_chat.builtin_tools.database.get_foreign_keys.tool_description": "获取指定表的外键关系,包括本表字段、引用表、引用字段和约束名。适用于联表路径分析、ER 关系梳理和约束检查。", "ai_chat.builtin_tools.database.get_indexes.desc": "获取指定表的索引定义", "ai_chat.builtin_tools.database.get_indexes.detail": "传入 connectionId、dbName 和 tableName,返回索引名、索引列、唯一性和索引类型。AI 在做慢 SQL 分析、索引优化和执行计划推断时应优先调用。", "ai_chat.builtin_tools.database.get_indexes.parameters.connectionId.description": "连接ID", "ai_chat.builtin_tools.database.get_indexes.parameters.dbName.description": "数据库名", "ai_chat.builtin_tools.database.get_indexes.parameters.tableName.description": "表名", "ai_chat.builtin_tools.database.get_indexes.params": "connectionId, dbName, tableName", "ai_chat.builtin_tools.database.get_indexes.tool_description": "获取指定表的索引定义,包括索引名、字段顺序、唯一性和索引类型。适用于慢 SQL 分析、索引优化建议和确认现有索引覆盖情况。", "ai_chat.builtin_tools.database.get_table_ddl.desc": "获取表的建表语句 (DDL)", "ai_chat.builtin_tools.database.get_table_ddl.detail": "传入 connectionId、dbName 和 tableName,返回完整的 CREATE TABLE 语句,包含字段定义、索引、约束等信息。", "ai_chat.builtin_tools.database.get_table_ddl.parameters.connectionId.description": "连接ID", "ai_chat.builtin_tools.database.get_table_ddl.parameters.dbName.description": "数据库名", "ai_chat.builtin_tools.database.get_table_ddl.parameters.tableName.description": "表名", "ai_chat.builtin_tools.database.get_table_ddl.params": "connectionId, dbName, tableName", "ai_chat.builtin_tools.database.get_table_ddl.tool_description": "获取指定表的完整建表语句(CREATE TABLE DDL),包含字段、索引、约束等完整结构信息。", "ai_chat.builtin_tools.database.get_tables.desc": "获取指定数据库下的所有表名", "ai_chat.builtin_tools.database.get_tables.detail": "传入 connectionId 和 dbName,返回表名列表。AI 用它来定位用户提到的目标表。", "ai_chat.builtin_tools.database.get_tables.parameters.connectionId.description": "连接ID", "ai_chat.builtin_tools.database.get_tables.parameters.dbName.description": "数据库名", "ai_chat.builtin_tools.database.get_tables.params": "connectionId, dbName", "ai_chat.builtin_tools.database.get_tables.tool_description": "当已经确定了目标连接和数据库名后,如果用户询问或隐式提到了表但你不知道确切表名,调用此工具获取该数据库下的所有表名列表(只含表名,帮助你推断目标表)。", "ai_chat.builtin_tools.database.get_triggers.desc": "获取指定表的触发器定义", "ai_chat.builtin_tools.database.get_triggers.detail": "传入 connectionId、dbName 和 tableName,返回触发器名、触发时机、事件类型和语句体。AI 在分析隐式写入、副作用和审计逻辑时可直接查看。", "ai_chat.builtin_tools.database.get_triggers.parameters.connectionId.description": "连接ID", "ai_chat.builtin_tools.database.get_triggers.parameters.dbName.description": "数据库名", "ai_chat.builtin_tools.database.get_triggers.parameters.tableName.description": "表名", "ai_chat.builtin_tools.database.get_triggers.params": "connectionId, dbName, tableName", "ai_chat.builtin_tools.database.get_triggers.tool_description": "获取指定表的触发器定义,包括触发时机、事件和触发语句。适用于排查隐式数据变更、审计逻辑和表级副作用。", "ai_chat.builtin_tools.database.inspect_database_bundle.desc": "一次抓取指定数据库的结构总览", "ai_chat.builtin_tools.database.inspect_database_bundle.detail": "传入 connectionId 和 dbName,返回库内表清单、表数量、总字段数,以及按表聚合的字段摘要预览。适合刚接手陌生库时先做全局摸底,再决定深入哪张表。", "ai_chat.builtin_tools.database.inspect_database_bundle.parameters.connectionId.description": "连接ID", "ai_chat.builtin_tools.database.inspect_database_bundle.parameters.dbName.description": "数据库名", "ai_chat.builtin_tools.database.inspect_database_bundle.parameters.includeColumns.description": "可选,是否附带按表聚合的字段摘要,默认 true", "ai_chat.builtin_tools.database.inspect_database_bundle.parameters.perTableColumnLimit.description": "可选,每张表最多返回多少个字段摘要,默认 8,最大 30", "ai_chat.builtin_tools.database.inspect_database_bundle.parameters.tableLimit.description": "可选,最多返回多少张表,默认 80,最大 200", "ai_chat.builtin_tools.database.inspect_database_bundle.params": "connectionId, dbName, includeColumns?, tableLimit?, perTableColumnLimit?", "ai_chat.builtin_tools.database.inspect_database_bundle.tool_description": "一次性获取指定数据库的结构总览,返回表名列表、总字段数,以及按表聚合的字段摘要预览。适用于陌生数据库摸底、做数据地图和快速选择下一步要深入分析的表。", "ai_chat.builtin_tools.database.inspect_table_bundle.desc": "一次抓取指定表的结构快照", "ai_chat.builtin_tools.database.inspect_table_bundle.detail": "传入 connectionId、dbName 和 tableName,返回字段、索引、外键、触发器和 DDL;还可以附带前几行样例数据。适合在写 SQL、评审表设计或排查副作用前先做完整摸底。", "ai_chat.builtin_tools.database.inspect_table_bundle.parameters.connectionId.description": "连接ID", "ai_chat.builtin_tools.database.inspect_table_bundle.parameters.dbName.description": "数据库名", "ai_chat.builtin_tools.database.inspect_table_bundle.parameters.includeSampleRows.description": "可选,是否附带前几行样例数据", "ai_chat.builtin_tools.database.inspect_table_bundle.parameters.sampleLimit.description": "可选,样例行数,默认 10,最大 100", "ai_chat.builtin_tools.database.inspect_table_bundle.parameters.tableName.description": "表名", "ai_chat.builtin_tools.database.inspect_table_bundle.params": "connectionId, dbName, tableName, includeSampleRows?, sampleLimit?", "ai_chat.builtin_tools.database.inspect_table_bundle.tool_description": "一次性获取指定表的结构快照,返回字段、索引、外键、触发器、DDL,以及可选样例数据。适用于做完整表设计摸底、快速理解表关系和降低模型多次往返调用。", "ai_chat.builtin_tools.database.preview_table_rows.desc": "抽样预览指定表的前几行数据", "ai_chat.builtin_tools.database.preview_table_rows.detail": "传入 connectionId、dbName、tableName 和可选 limit,返回该表的前几行真实样例数据。适合先看数据形态、空值分布和枚举值,再决定怎么写 SQL。", "ai_chat.builtin_tools.database.preview_table_rows.parameters.connectionId.description": "连接ID", "ai_chat.builtin_tools.database.preview_table_rows.parameters.dbName.description": "数据库名", "ai_chat.builtin_tools.database.preview_table_rows.parameters.limit.description": "可选,预览行数,默认 20,最大 100", "ai_chat.builtin_tools.database.preview_table_rows.parameters.tableName.description": "表名", "ai_chat.builtin_tools.database.preview_table_rows.params": "connectionId, dbName, tableName, limit?", "ai_chat.builtin_tools.database.preview_table_rows.tool_description": "预览指定表的前几行样例数据。适用于快速理解字段取值形态、空值情况、时间格式和状态枚举,减少模型盲写 SQL。", "ai_chat.builtin_tools.flows.active_tab.description": "适合先读取当前编辑器里的 SQL 草稿或当前表页签,再继续做字段核对、索引分析和只读验证。", "ai_chat.builtin_tools.flows.active_tab.title": "读取当前页签", "ai_chat.builtin_tools.flows.ai_context.description": "适合先确认这轮对话当前到底挂了哪些表结构,再继续做字段核对、表设计评审或 SQL 生成。", "ai_chat.builtin_tools.flows.ai_context.title": "查看当前 AI 上下文", "ai_chat.builtin_tools.flows.ai_runtime.description": "适合先确认当前模型、安全级别、上下文级别、Skills 和 MCP 工具,再决定让 AI 走哪条探针链路。", "ai_chat.builtin_tools.flows.ai_runtime.title": "查看 AI 当前能力", "ai_chat.builtin_tools.flows.ai_sessions.description": "适合先定位之前聊过的 AI 会话、首条问题和最近回复,再继续复用当前页签或历史 SQL 上下文。", "ai_chat.builtin_tools.flows.ai_sessions.title": "回看 AI 历史对话", "ai_chat.builtin_tools.flows.ai_setup_health.description": "适合先拿到一份 AI 配置健康快照,看清当前是供应商没配好、聊天发送前置没满足、MCP 没接入,还是提示词 / Skills / 上下文还不完整,再决定往哪条探针继续下钻。", "ai_chat.builtin_tools.flows.ai_setup_health.title": "一键体检 AI 配置", "ai_chat.builtin_tools.flows.app_health_overview.description": "适合用户反馈 AI 不稳定、连接和 MCP 问题交织、回复气泡显示异常,或需要先看整体健康状态时,一次汇总配置、日志、连接失败、渲染异常、消息流和工作区现场。", "ai_chat.builtin_tools.flows.app_health_overview.title": "AI 应用健康总览", "ai_chat.builtin_tools.flows.app_logs.description": "适合先回看 gonavi.log 尾部的 ERROR/WARN,再结合 MCP、连接和当前数据源状态继续定位启动异常、连接失败或外部工具拉起问题。", "ai_chat.builtin_tools.flows.app_logs.title": "排查应用日志", "ai_chat.builtin_tools.flows.chat_readiness.description": "适合先确认当前聊天输入区到底缺什么前置条件,例如没选活动供应商、缺密钥、缺接口地址、没选模型,避免只凭界面现象猜测。", "ai_chat.builtin_tools.flows.chat_readiness.title": "排查聊天发送状态", "ai_chat.builtin_tools.flows.choose_tool_route.description": "适合先按关键词确认该用哪些内置探针、每个工具 arguments 怎么填,以及当前有没有外部 MCP 工具可用。", "ai_chat.builtin_tools.flows.choose_tool_route.title": "选择 AI 工具路线", "ai_chat.builtin_tools.flows.codebase_hotspots.description": "适合用户要求继续拆分几千行组件、评估下一步重构切入点,或 AI 修改 UI/AI/MCP 前先判断大文件拆分热点、风险和验证范围。", "ai_chat.builtin_tools.flows.codebase_hotspots.title": "治理前端大文件", "ai_chat.builtin_tools.flows.connection_capabilities.description": "适合先确认当前连接到底支不支持建库、删库、结果编辑、SQL 导出或近似计数,再解释为什么某些按钮没出现或某类操作只能只读。", "ai_chat.builtin_tools.flows.connection_capabilities.title": "核对数据源能力边界", "ai_chat.builtin_tools.flows.connection_failures.description": "适合用户直接问“为什么连接不上”或已经看到冷却/验证失败提示时,先拿到结构化根因、最新地址和下一步建议,再决定回到连接配置还是看更长日志。", "ai_chat.builtin_tools.flows.connection_failures.title": "排查连接失败与冷却", "ai_chat.builtin_tools.flows.context_budget.description": "适合用户反馈 AI 变慢、乱答、上下文太大、工具结果过长或表结构挂太多时,先看消息、DDL、MCP schema、提示词和 Skills 的体量来源,再决定收窄上下文或拆任务。", "ai_chat.builtin_tools.flows.context_budget.title": "诊断 AI 上下文体量", "ai_chat.builtin_tools.flows.current_connection.description": "适合先确认当前活动数据源的类型、地址、当前库和 SSH/代理状态,再继续做库表探索或连接问题排查。", "ai_chat.builtin_tools.flows.current_connection.title": "查看当前连接", "ai_chat.builtin_tools.flows.database_overview.description": "适合先看整库有哪些表、每张表大概有哪些字段,再对目标表继续做深挖快照。", "ai_chat.builtin_tools.flows.database_overview.title": "全库快速摸底", "ai_chat.builtin_tools.flows.deep_structure.description": "适合做索引优化、关系梳理、隐式副作用排查和 DDL 审查。", "ai_chat.builtin_tools.flows.deep_structure.title": "结构深挖", "ai_chat.builtin_tools.flows.docker_mcp.description": "适合用户按 Docker README 新增 MCP 后发现 0 个工具、容器一启动就退出,或不确定 docker run 参数是否拆对时,先看运行期失败原因,再检查 run、-i、镜像名和超时设置。", "ai_chat.builtin_tools.flows.docker_mcp.title": "排查 Docker MCP 启动", "ai_chat.builtin_tools.flows.external_sql_dirs.description": "适合先确认本地配置了哪些外部 SQL 目录、目录绑定到哪个连接/库,以及当前打开的 SQL 文件来自哪里,再继续分析脚本内容。", "ai_chat.builtin_tools.flows.external_sql_dirs.title": "盘点外部 SQL 目录", "ai_chat.builtin_tools.flows.external_sql_file.description": "适合先定位具体脚本路径,再直接读取目录中的 SQL 文件内容;如果这个文件已经在编辑器里打开,再继续结合当前页签草稿一起分析。", "ai_chat.builtin_tools.flows.external_sql_file.title": "读取外部 SQL 文件", "ai_chat.builtin_tools.flows.field_lookup_table.description": "适合只知道字段名、业务含义或注释关键词,但还不确定具体落在哪张表。", "ai_chat.builtin_tools.flows.field_lookup_table.title": "字段反查表", "ai_chat.builtin_tools.flows.locate_table_fields.description": "适合先找连接、找库、找表,再确认真实字段名后生成 SQL。", "ai_chat.builtin_tools.flows.locate_table_fields.title": "定位表与字段", "ai_chat.builtin_tools.flows.mcp_authoring.description": "适合先读真实字段说明、模板样例和整行命令拆分规则,再把用户贴出的命令或草稿交给真实校验器试算,最后结合当前 MCP 配置现状判断应该新增哪种启动方式。", "ai_chat.builtin_tools.flows.mcp_authoring.title": "新增 MCP 填写指引", "ai_chat.builtin_tools.flows.mcp_setup.description": "适合先确认当前配置了哪些 MCP 服务、哪些已启用、外部客户端有没有写入当前 GoNavi 路径,再结合 MCP 运行期失败日志判断为什么某个工具没暴露出来。", "ai_chat.builtin_tools.flows.mcp_setup.title": "排查 MCP 接入状态", "ai_chat.builtin_tools.flows.mcp_tool_parameters.description": "适合先找到当前真实发现到的 MCP 工具 alias,再读取对应 inputSchema、必填字段、枚举和嵌套参数路径,避免调用外部 MCP 工具时乱填 arguments。", "ai_chat.builtin_tools.flows.mcp_tool_parameters.title": "查看 MCP 工具参数", "ai_chat.builtin_tools.flows.message_flow.description": "适合用户反馈回复被拆成多个气泡、工具调用后没继续回答、消息流状态不对时,先读取当前会话的真实消息结构和异常信号。", "ai_chat.builtin_tools.flows.message_flow.title": "诊断 AI 消息流", "ai_chat.builtin_tools.flows.prompts_skills.description": "适合先确认当前自定义提示词、启用的 Skills、依赖工具和生效范围,再解释为什么 AI 当前会这样回答或为什么某个规则没有触发。", "ai_chat.builtin_tools.flows.prompts_skills.title": "查看当前提示与 Skills", "ai_chat.builtin_tools.flows.providers_models.description": "适合先确认当前到底配置了哪些供应商、哪个在生效、有没有缺密钥或没选模型,再解释为什么 AI 不能发送、为什么模型列表为空。", "ai_chat.builtin_tools.flows.providers_models.title": "排查供应商与模型", "ai_chat.builtin_tools.flows.readonly_validation.description": "适合生成 SQL 后做小范围结果核对,仍会受 AI 安全级别控制。", "ai_chat.builtin_tools.flows.readonly_validation.title": "只读验证", "ai_chat.builtin_tools.flows.recent_sql_activity.description": "适合先看最近到底以读还是写为主、有没有 DDL 或删除、哪个库最近报错最多,再决定继续下钻哪条日志或哪个连接。", "ai_chat.builtin_tools.flows.recent_sql_activity.title": "总结最近 SQL 活动", "ai_chat.builtin_tools.flows.recent_sql_logs.description": "适合追查刚刚执行失败的 SQL、慢查询耗时,或基于真实执行历史继续让 AI 给解释和优化建议。", "ai_chat.builtin_tools.flows.recent_sql_logs.title": "回看最近执行记录", "ai_chat.builtin_tools.flows.redis_topology.description": "适合用户问 Redis 哨兵、Cluster、多节点、切库失败或 SSH 隧道不可用时,先拿到状态分级、脱敏 URI、后端适配器、DB 语义和下一步动作。", "ai_chat.builtin_tools.flows.redis_topology.title": "诊断 Redis 拓扑", "ai_chat.builtin_tools.flows.remote_agent_mcp.description": "适合 OpenClaw/Hermans 部署在云端 Linux,但数据库连接和密码只在 Windows GoNavi 本机时,先生成 HTTP MCP、Bearer Token、隧道和安全边界指引。", "ai_chat.builtin_tools.flows.remote_agent_mcp.title": "远程 Agent 接入 GoNavi MCP", "ai_chat.builtin_tools.flows.render_error.description": "适合用户反馈 AI 某条消息空白、气泡局部报错但整个面板没挂时,先拿到最近一次被隔离的渲染异常快照,再回到具体会话和运行时上下文继续缩小范围。", "ai_chat.builtin_tools.flows.render_error.title": "排查 AI 气泡渲染异常", "ai_chat.builtin_tools.flows.safety_boundary.description": "适合先确认当前是不是只读、DDL/DML 到底允不允许、MCP 写操作是否还需要 allowMutating,再决定后续该走查询、改数据还是改结构。", "ai_chat.builtin_tools.flows.safety_boundary.title": "核对写入安全边界", "ai_chat.builtin_tools.flows.sample_data.description": "适合先确认字段,再直接查看前几行真实样例数据和空值形态。", "ai_chat.builtin_tools.flows.sample_data.title": "理解样例数据", "ai_chat.builtin_tools.flows.saved_connections.description": "适合先按关键词或类型筛出本地保存的数据源,再挑目标连接继续看当前状态或库表结构。", "ai_chat.builtin_tools.flows.saved_connections.title": "盘点本地连接资产", "ai_chat.builtin_tools.flows.saved_queries.description": "适合先找本地保存过的查询脚本,再核对字段和只读验证,避免把之前写过的 SQL 重新手打一遍。", "ai_chat.builtin_tools.flows.saved_queries.title": "复用历史 SQL", "ai_chat.builtin_tools.flows.shortcuts.description": "适合先确认当前 Win / Mac 快捷键、是否改过默认值,以及结果区、AI 面板、查询执行等动作到底该怎么按,再结合当前页签解释具体使用场景。", "ai_chat.builtin_tools.flows.shortcuts.title": "查看当前快捷键配置", "ai_chat.builtin_tools.flows.sql_editor_transaction.description": "适合先确认 SQL 编辑器 DML 是否会进入托管事务、当前是手动还是自动提交、有没有待提交事务,再解释 update/insert/delete 执行后的提交语义。", "ai_chat.builtin_tools.flows.sql_editor_transaction.title": "核对 SQL 编辑器事务", "ai_chat.builtin_tools.flows.sql_risk.description": "适合用户要求执行、删除、更新、DDL 或批量 SQL 前,先检查语句数量、写入/DDL 风险、WHERE 条件和当前安全策略,再决定是否需要用户确认。", "ai_chat.builtin_tools.flows.sql_risk.title": "SQL 风险预检", "ai_chat.builtin_tools.flows.sql_snippets.description": "适合先找团队已有的 SQL 片段模板、补全前缀和常用骨架,再决定是否继续改写。", "ai_chat.builtin_tools.flows.sql_snippets.title": "查找模板片段", "ai_chat.builtin_tools.flows.support_bundle.description": "适合需要一次性带走排障证据,或用户反馈 AI 不成熟、不稳定、MCP/连接/日志/上下文都可能相关时,先生成不含密钥和数据库密码的支持包。", "ai_chat.builtin_tools.flows.support_bundle.title": "导出 AI 排障支持包", "ai_chat.builtin_tools.flows.table_snapshot.description": "适合一次带回字段、索引、外键、触发器和 DDL;必要时还能附带样例行,减少来回调用。", "ai_chat.builtin_tools.flows.table_snapshot.title": "一键结构快照", "ai_chat.builtin_tools.flows.upstream_request.description": "适合用户想看发给上游模型的真实入参、requestId、状态码、耗时或请求体预览时,先读脱敏后的 gonavi.log 请求记录,再结合供应商配置和当前消息流继续排查。", "ai_chat.builtin_tools.flows.upstream_request.title": "追踪 AI 上游请求", "ai_chat.builtin_tools.flows.workspace_tabs.description": "适合先看当前打开了哪些 SQL / 表 / 命令页签,再切到目标页签继续做字段核对、对比分析和只读验证。", "ai_chat.builtin_tools.flows.workspace_tabs.title": "盘点当前工作区", "ai_chat.composer_notice.missing_model.description": "打开下方模型下拉并选择模型;如果列表为空,请检查供应商入口和 API Key。", "ai_chat.composer_notice.missing_model.title": "先选择一个模型", "ai_chat.composer_notice.missing_provider.description": "先在 AI 设置里添加并启用一个模型供应商。", "ai_chat.composer_notice.missing_provider.title": "还没有可用供应商", "ai_chat.composer_notice.model_fetch_failed.default_description": "请检查供应商入口、API Key 或账号权限,然后重新打开模型下拉。", "ai_chat.composer_notice.model_fetch_failed.detail_description": "供应商返回:{{detail}}", "ai_chat.composer_notice.model_fetch_failed.title": "模型列表加载失败", "ai_chat.header.action.export": "导出", "ai_chat.header.default_session_title": "新对话", "ai_chat.header.export_time": "导出时间:", "ai_chat.header.export_user": "你", "ai_chat.header.mode_tabs.aria_label": "AI 工作模式", "ai_chat.header.mode.chat": "对话", "ai_chat.header.mode.history": "历史", "ai_chat.header.mode.insights": "自动洞察", "ai_chat.header.session.connected": "{{title}} · 已连接", "ai_chat.header.tooltip.close": "关闭面板", "ai_chat.header.tooltip.export_markdown": "导出为 Markdown", "ai_chat.header.tooltip.history": "历史会话", "ai_chat.header.tooltip.new_chat": "新对话", "ai_chat.header.tooltip.new_chat_clear": "新对话(清空当前)", "ai_chat.header.tooltip.settings": "AI 设置", "ai_chat.history.action.new_chat": "开启新对话", "ai_chat.history.default_session_title": "新对话", "ai_chat.history.empty.no_history": "还没有历史对话", "ai_chat.history.empty.no_matches": "暂无匹配的对话记录", "ai_chat.history.search.placeholder": "搜索历史记录...", "ai_chat.history.title": "对话历史", "ai_chat.history.tooltip.collapse": "收起", "ai_chat.history.tooltip.delete": "删除", "ai_chat.input.action.send": "发送", "ai_chat.input.action.stop": "停止生成", "ai_chat.input.attachment.excel.worksheet_header": "[工作表: {{sheetName}}]", "ai_chat.input.attachment.kind.document": "文件", "ai_chat.input.attachment.kind.excel": "Excel", "ai_chat.input.attachment.kind.file": "文件", "ai_chat.input.attachment.kind.image": "图片", "ai_chat.input.attachment.kind.markdown": "Markdown", "ai_chat.input.attachment.kind.pdf": "PDF", "ai_chat.input.attachment.kind.text": "文本", "ai_chat.input.attachment.kind.word": "Word", "ai_chat.input.attachment.message.read_failed": "读取附件 {{name}} 失败:{{detail}}", "ai_chat.input.attachment.message.warning": "{{name}}:{{message}}", "ai_chat.input.attachment.prompt.content_truncated": "[附件正文过长,已截断]", "ai_chat.input.attachment.prompt.default_user_content": "请根据以下附件内容继续处理。", "ai_chat.input.attachment.prompt.extract_warning": "- 提取说明: {{message}}", "ai_chat.input.attachment.prompt.heading": "### 附件 {{index}}: {{name}}", "ai_chat.input.attachment.prompt.kind": "- 类型: {{kind}}", "ai_chat.input.attachment.prompt.mime": "- MIME: {{mimeType}}", "ai_chat.input.attachment.prompt.no_text": "未提取到可发送的附件正文。", "ai_chat.input.attachment.prompt.size": "- 大小: {{size}}", "ai_chat.input.attachment.prompt.text_truncated": "- 提取说明: 附件正文较长,已截断后发送。", "ai_chat.input.attachment.prompt.wrapper_end": "", "ai_chat.input.attachment.prompt.wrapper_start": "<用户上传附件>", "ai_chat.input.attachment.remove_file": "移除附件", "ai_chat.input.attachment.remove_image": "移除图片", "ai_chat.input.attachment.warning.extract_failed": "附件正文提取失败:{{detail}}", "ai_chat.input.attachment.warning.legacy_office_partial_text": "旧版 Office 二进制格式仅做轻量文本片段提取;建议转为 docx/xlsx 后上传以获得更完整正文。", "ai_chat.input.attachment.warning.pdf_no_text": "未从 PDF 中提取到可读文本;如果是扫描件或复杂编码 PDF,请复制正文后再发送。", "ai_chat.input.attachment.warning.pdf_partial_text": "PDF 已使用轻量文本提取;扫描件或压缩字体内容可能无法完整读取。", "ai_chat.input.attachment.warning.too_large": "文件超过 {{size}},已附加文件信息但未读取正文。", "ai_chat.input.attachment.warning.unsupported_type": "当前文件类型已附加,但暂未提取正文;如需模型分析内容,请改用 markdown、txt、docx、xlsx 或 pdf。", "ai_chat.input.context.add": "添加", "ai_chat.input.context.connection_tooltip": "当前数据查询上下文", "ai_chat.input.context.current_count": "当前上下文 · {{count}}", "ai_chat.input.context.label": "关联上下文", "ai_chat.input.context.memory_tooltip": "当前会话记忆已用字符。达到 {{limit}} 限制时将触发自动压缩。", "ai_chat.input.context.selector.cancel": "取消", "ai_chat.input.context.selector.confirm": "同步所选表到上下文", "ai_chat.input.context.selector.database_placeholder": "切换数据库", "ai_chat.input.context.selector.empty_no_match": "没有找到匹配“{{searchText}}”的表", "ai_chat.input.context.selector.empty_no_tables": "当前数据库没有可关联的表", "ai_chat.input.context.selector.invert_selection": "反选匹配结果", "ai_chat.input.context.selector.search_placeholder": "在当前库搜索表名...", "ai_chat.input.context.selector.select_all": "全选匹配的表({{count}})", "ai_chat.input.context.selector.title": "关联表结构上下文", "ai_chat.input.context.tag_label": "关联上下文({{count}})", "ai_chat.input.message.context_added": "已添加 {{count}} 张表的结构到上下文", "ai_chat.input.message.context_load_failed": "加载表上下文失败:{{detail}}", "ai_chat.input.message.context_removed": "已从上下文移除 {{count}} 张表的结构", "ai_chat.input.message.context_sync_failed": "同步 AI 上下文失败:{{detail}}", "ai_chat.input.message.context_synced": "上下文已同步更新:新增 {{added}},移除 {{removed}}", "ai_chat.input.message.fetch_table_schema_failed": "获取表 {{table}} 结构失败:{{detail}}", "ai_chat.input.message.fetch_tables_failed": "获取表格失败:{{detail}}", "ai_chat.input.message.select_database_context_first": "请先在左侧选择一个数据库作为所聊上下文", "ai_chat.input.message.selection_unchanged": "选中的表未发生变化", "ai_chat.input.modal.empty_tables": "没有找到匹配“{{query}}”的表", "ai_chat.input.modal.invert_matching": "反选匹配结果", "ai_chat.input.modal.ok": "同步所选表至上下文", "ai_chat.input.modal.search_table.placeholder": "在当前库搜索表名...", "ai_chat.input.modal.select_all_matching": "全选匹配的表({{count}})", "ai_chat.input.modal.switch_database.placeholder": "切换数据库", "ai_chat.input.modal.title": "关联数据库表结构上下文", "ai_chat.input.model.placeholder": "选择模型", "ai_chat.input.placeholder": "输入消息...({{shortcut}},Shift+Enter 换行,/ 快捷命令)", "ai_chat.input.placeholder_compact": "输入消息... {{shortcut}} · / 命令", "ai_chat.input.shortcut.disabled": "快捷键发送已关闭", "ai_chat.input.shortcut.send_with_combo": "{{shortcut}} 发送", "ai_chat.input.slash.activity.desc": "总结最近执行、报错和热点", "ai_chat.input.slash.activity.keywords": "activity|sql日志|最近执行|报错", "ai_chat.input.slash.activity.label": "🕘 最近 SQL 活动", "ai_chat.input.slash.activity.prompt": "请先调用 inspect_recent_sql_activity,帮我总结最近 SQL 活动、错误热点和主要读写类型。", "ai_chat.input.slash.airender.desc": "读取最近一次 AI 消息渲染失败记录", "ai_chat.input.slash.airender.keywords": "渲染失败|气泡空白|ai消息|render|白块", "ai_chat.input.slash.airender.label": "🧯 AI 渲染异常", "ai_chat.input.slash.airender.prompt": "请先调用 inspect_ai_last_render_error,告诉我最近一次 AI 消息渲染失败记录里是哪条消息、报错摘要是什么,以及下一步该怎么排查。", "ai_chat.input.slash.applog.desc": "回看最近 GoNavi 应用日志", "ai_chat.input.slash.applog.keywords": "日志|gonavi.log|mcp报错|连接失败|启动异常", "ai_chat.input.slash.applog.label": "🪵 应用日志", "ai_chat.input.slash.applog.prompt": "请先调用 inspect_app_logs,帮我看最近 GoNavi 应用日志里的错误和警告;如果我提到连接失败、MCP 拉起失败、启动异常或 gonavi.log,就优先结合关键词继续筛。", "ai_chat.input.slash.budget.desc": "诊断消息、DDL、MCP schema 和 Skills 体量", "ai_chat.input.slash.budget.keywords": "上下文|context|体量|预算|变慢|乱答|schema太大|工具结果", "ai_chat.input.slash.budget.label": "🧠 上下文体量", "ai_chat.input.slash.budget.prompt": "请先调用 inspect_ai_context_budget,检查当前会话消息、工具结果、DDL、MCP schema、提示词和 Skills 的体量风险,并给出应该收窄哪些上下文。", "ai_chat.input.slash.category.diagnose.description": "优先调用内置探针看 AI、MCP 和最近 SQL 活动的真实状态。", "ai_chat.input.slash.category.diagnose.title": "诊断探针", "ai_chat.input.slash.category.generate.description": "直接产出 SQL、测试数据或迁移草稿。", "ai_chat.input.slash.category.generate.title": "SQL 生成", "ai_chat.input.slash.category.review.description": "解释 SQL、评审表设计和索引策略。", "ai_chat.input.slash.category.review.title": "结构评审", "ai_chat.input.slash.connfail.desc": "总结最近连接失败、冷却和验证异常", "ai_chat.input.slash.connfail.keywords": "连接失败|冷却|验证失败|ssh|mysql", "ai_chat.input.slash.connfail.label": "🧯 连接失败探针", "ai_chat.input.slash.connfail.prompt": "请先调用 inspect_recent_connection_failures,帮我总结最近数据库连接失败、连接冷却、验证失败和 SSH 隧道异常的真实日志结论;如果已经有明确地址或类型,再结合 inspect_current_connection 或 inspect_saved_connections 继续缩小范围。", "ai_chat.input.slash.diff.desc": "对比两表差异生成变更", "ai_chat.input.slash.diff.keywords": "diff|迁移|alter", "ai_chat.input.slash.diff.label": "🔄 表对比", "ai_chat.input.slash.diff.prompt": "请对比以下两张表的结构差异,并生成从旧版本迁移到新版本的 ALTER 语句:", "ai_chat.input.slash.empty.description": "可以先试这些更常用的入口,快速走到生成 SQL、AI 体检或 MCP 排查。", "ai_chat.input.slash.empty.summary": "当前共提供 {{count}} 个 slash 命令,支持按命令名、说明或关键词搜索。", "ai_chat.input.slash.empty.title": "没有匹配的快捷命令", "ai_chat.input.slash.explain.desc": "解释选中 SQL 的逻辑", "ai_chat.input.slash.explain.keywords": "解释|sql|逻辑", "ai_chat.input.slash.explain.label": "💡 解释 SQL", "ai_chat.input.slash.explain.prompt": "请解释以下 SQL 的执行逻辑和每一步的作用:\n```sql\n\n```", "ai_chat.input.slash.health.desc": "调用体检探针总览当前 AI 配置", "ai_chat.input.slash.health.keywords": "health|体检|ai配置|探针", "ai_chat.input.slash.health.label": "🩺 AI 配置体检", "ai_chat.input.slash.health.prompt": "请先调用 inspect_ai_setup_health,对当前 GoNavi AI 配置做一次完整体检,然后总结 blockers、warnings 和 nextActions。", "ai_chat.input.slash.hotspots.desc": "查看大文件拆分候选和测试范围", "ai_chat.input.slash.hotspots.keywords": "大文件|臃肿|拆分|重构|hotspots|代码热点|几千行", "ai_chat.input.slash.hotspots.label": "🧱 代码热点", "ai_chat.input.slash.hotspots.prompt": "请先调用 inspect_codebase_hotspots,读取当前 GoNavi 前端大文件热点、建议拆分切片和测试目标,再告诉我下一步最适合拆哪个文件、拆到什么边界,以及需要跑哪些验证。关键词:", "ai_chat.input.slash.index.desc": "推荐最优索引方案", "ai_chat.input.slash.index.keywords": "index|索引|慢查询", "ai_chat.input.slash.index.label": "📊 索引建议", "ai_chat.input.slash.index.prompt": "请基于当前表结构和常见查询场景,推荐最优的索引方案并给出建表语句:", "ai_chat.input.slash.mcp.desc": "检查 MCP 服务和外部客户端状态", "ai_chat.input.slash.mcp.keywords": "mcp|codex|claude|openclaw|hermans|外部客户端", "ai_chat.input.slash.mcp.label": "🪛 排查 MCP 接入", "ai_chat.input.slash.mcp.prompt": "请先调用 inspect_mcp_setup,帮我盘点当前 MCP 服务、工具发现结果,以及 Claude Code / Codex 本机客户端和 OpenClaw / Hermans 远程 Agent 的接入状态。", "ai_chat.input.slash.mcpadd.desc": "查看 command、args、env 和模板怎么填", "ai_chat.input.slash.mcpadd.keywords": "mcp新增|command|args|env|模板", "ai_chat.input.slash.mcpadd.label": "🧭 新增 MCP 指引", "ai_chat.input.slash.mcpadd.prompt": "请先调用 inspect_mcp_authoring_guide;如果我贴了完整启动命令或草稿,再调用 inspect_mcp_draft 试算字段和校验问题;最后结合 inspect_mcp_setup,告诉我新增 GoNavi MCP 服务时 command、args、env、timeout 应该怎么填,以及最接近的模板应该选哪个。", "ai_chat.input.slash.mcpdraft.desc": "校验一条 MCP 启动命令怎么拆", "ai_chat.input.slash.mcpdraft.keywords": "mcp草稿|mcp校验|fullcommand|启动命令|参数拆分|command|args|env", "ai_chat.input.slash.mcpdraft.label": "🧪 MCP 草稿校验", "ai_chat.input.slash.mcpdraft.prompt": "请先调用 inspect_mcp_draft 校验我提供的 MCP fullCommand 或 command/args/env/timeout 草稿,返回自动拆分结果、启动预览、suggestedServerSeed、错误/告警和 nextActions;如果还缺字段说明,再补充调用 inspect_mcp_authoring_guide。", "ai_chat.input.slash.mcpfail.desc": "读取 MCP 启动、发现和调用失败日志", "ai_chat.input.slash.mcpfail.keywords": "mcpfail|mcp失败|运行期失败|工具发现0个|stdio|docker mcp|http mcp|启动失败|调用失败", "ai_chat.input.slash.mcpfail.label": "🧯 MCP 运行失败", "ai_chat.input.slash.mcpfail.prompt": "请先调用 inspect_mcp_runtime_failures,读取最近 MCP 启动、工具发现、工具调用、stdio、Docker 或 HTTP MCP 失败日志,结合当前 MCP 服务配置判断原因和 nextActions。关键词或服务名:", "ai_chat.input.slash.mcptool.desc": "查看 MCP 工具 schema 和 arguments 写法", "ai_chat.input.slash.mcptool.keywords": "mcp工具|mcp工具参数|schema|arguments|参数|工具调用|inputschema", "ai_chat.input.slash.mcptool.label": "🧩 MCP 工具参数", "ai_chat.input.slash.mcptool.prompt": "请先调用 inspect_mcp_setup 找到当前已发现的 MCP 工具 alias;如果我已经给了工具名或关键词,再调用 inspect_mcp_tool_schema 读取对应 inputSchema,告诉我必填参数、字段类型、枚举值、嵌套路径,以及 arguments JSON 应该怎么写。", "ai_chat.input.slash.mock.desc": "生成 INSERT 测试数据", "ai_chat.input.slash.mock.keywords": "mock|测试数据|insert", "ai_chat.input.slash.mock.label": "🎲 造测试数据", "ai_chat.input.slash.mock.prompt": "请为当前关联的表生成 10 条符合业务语义的测试数据 INSERT 语句:", "ai_chat.input.slash.optimize.desc": "分析 SQL 性能瓶颈", "ai_chat.input.slash.optimize.keywords": "优化|索引|性能", "ai_chat.input.slash.optimize.label": "⚡ 优化分析", "ai_chat.input.slash.optimize.prompt": "请分析以下 SQL 的性能问题,并给出优化后的版本:\n```sql\n\n```", "ai_chat.input.slash.query.desc": "用自然语言描述你想查什么", "ai_chat.input.slash.query.keywords": "查询|自然语言|查数据", "ai_chat.input.slash.query.label": "🔍 自然语言查询", "ai_chat.input.slash.query.prompt": "帮我写一条 SQL 查询:", "ai_chat.input.slash.safety.desc": "确认只读/写入边界和 allowMutating", "ai_chat.input.slash.safety.keywords": "安全|只读|allowmutating|ddl|dml", "ai_chat.input.slash.safety.label": "🛡️ 查看写入安全", "ai_chat.input.slash.safety.prompt": "请先调用 inspect_ai_safety,告诉我当前 AI 和 GoNavi MCP 的写入边界、是否只读,以及 execute_sql 是否需要 allowMutating。", "ai_chat.input.slash.schema.desc": "评审表结构设计质量", "ai_chat.input.slash.schema.keywords": "schema|表结构|设计", "ai_chat.input.slash.schema.label": "🏗️ 表设计评审", "ai_chat.input.slash.schema.prompt": "请全面评审当前关联表的设计,包括字段类型、范式、索引策略等方面的改进建议:", "ai_chat.input.slash.shortcuts.desc": "读取当前 Win/Mac 快捷键配置", "ai_chat.input.slash.shortcuts.keywords": "快捷键|shortcuts|结果区|mac|windows", "ai_chat.input.slash.shortcuts.label": "⌨️ 快捷键探针", "ai_chat.input.slash.shortcuts.prompt": "请先调用 inspect_shortcuts,告诉我当前 GoNavi 的快捷键配置,尤其是执行 SQL、切换结果区、打开 AI 面板和 AI 发送消息这些动作在当前平台和另一平台分别怎么按,是否改过默认值。", "ai_chat.input.slash.sql.desc": "描述需求自动生成语句", "ai_chat.input.slash.sql.keywords": "sql|生成|查询语句", "ai_chat.input.slash.sql.label": "📝 生成 SQL", "ai_chat.input.slash.sql.prompt": "请根据以下需求生成 SQL:", "ai_chat.input.slash.tools.desc": "按关键词选择该用哪个内置探针", "ai_chat.input.slash.tools.keywords": "工具目录|内置工具|toolcatalog|参数提示|arguments|探针路线", "ai_chat.input.slash.tools.label": "🧰 工具目录", "ai_chat.input.slash.tools.prompt": "请先调用 inspect_ai_tool_catalog,按我的问题关键词筛选推荐流程、内置工具参数提示和当前 MCP 工具摘要,再告诉我下一步应该调用哪个工具。关键词:", "ai_chat.input.slash.tx.desc": "查看 SQL 编辑器提交模式和待提交事务", "ai_chat.input.slash.tx.keywords": "事务|transaction|提交|自动提交|手动提交|未提交|dml", "ai_chat.input.slash.tx.label": "🔁 SQL 事务状态", "ai_chat.input.slash.tx.prompt": "请先调用 inspect_sql_editor_transaction,告诉我 SQL 编辑器当前 DML 托管事务语义、手动/自动提交设置、活动 SQL 页签是否会进入事务、是否有待提交事务,以及下一步应该提交、回滚还是继续执行。", "ai_chat.input.status.action.fix_provider": "修复供应商配置", "ai_chat.input.status.action.open_settings": "打开 AI 设置", "ai_chat.input.status.action.reload_models": "重新加载模型", "ai_chat.input.status.dismiss_aria_label": "关闭 AI 状态提示", "ai_chat.input.status.issue.missing_base_url": "接口地址", "ai_chat.input.status.issue.missing_secret": "密钥", "ai_chat.input.status.issue.missing_selected_model": "模型", "ai_chat.input.status.issue.separator": "、", "ai_chat.input.status.label.loading": "加载中", "ai_chat.input.status.label.model_required": "未选模型", "ai_chat.input.status.label.needs_fix": "需修复", "ai_chat.input.status.label.not_ready": "未就绪", "ai_chat.input.status.label.ready": "已就绪", "ai_chat.input.status.missing_model.description.available": "当前已发现 {{count}} 个可选模型,选中后即可发送。", "ai_chat.input.status.missing_model.description.empty": "如果列表为空,请检查供应商入口、密钥和模型权限。", "ai_chat.input.status.missing_model.title.loading": "正在加载 {{provider}} 的模型列表", "ai_chat.input.status.missing_model.title.select": "先为 {{provider}} 选择一个模型", "ai_chat.input.status.missing_provider.description.none": "先在 AI 设置里添加并启用一个模型供应商。", "ai_chat.input.status.missing_provider.description.unselected": "先在 AI 设置里选中一个活动供应商,然后再发送。", "ai_chat.input.status.missing_provider.title.none": "还没有配置 AI 供应商", "ai_chat.input.status.missing_provider.title.unselected": "已配置供应商,但当前没有选中生效项", "ai_chat.input.status.provider_fallback_name": "当前供应商", "ai_chat.input.status.provider_incomplete.description": "先补全供应商配置再发送,避免请求直接失败。", "ai_chat.input.status.provider_incomplete.title": "{{provider}} 还缺少 {{issues}}", "ai_chat.input.status.ready.auto_model": "自动选择", "ai_chat.input.status.ready.description.no_context": "可直接发送;如需更准的数据库语义,建议先选中连接或关联表结构。", "ai_chat.input.status.ready.description.with_connection": "已选中当前连接;如需更准的数据库语义,建议再关联表结构上下文。", "ai_chat.input.status.ready.description.with_context": "当前已关联 {{count}} 张表结构上下文,可直接发送。", "ai_chat.input.status.ready.title": "AI 已就绪:{{provider}} / {{model}}", "ai_chat.input.tooltip.attach_table_context": "关联附带数据库表上下文", "ai_chat.input.tooltip.slash_command": "快捷命令", "ai_chat.input.tooltip.upload_attachment": "上传附件(图片、Markdown、Word、Excel、PDF、文本)", "ai_chat.input.tooltip.upload_image": "上传图片/截图", "ai_chat.inspection.ai_config.error.inspect_ai_chat_readiness": "读取 AI 聊天前置状态失败", "ai_chat.inspection.ai_config.error.inspect_ai_guidance": "读取当前 AI 提示词和 Skills 配置失败", "ai_chat.inspection.ai_config.error.inspect_ai_providers": "读取当前 AI 供应商配置失败", "ai_chat.inspection.ai_config.error.inspect_ai_runtime": "读取当前 AI 运行状态失败", "ai_chat.inspection.ai_config.error.inspect_ai_safety": "读取当前 AI 安全边界失败", "ai_chat.inspection.ai_config.error.inspect_ai_setup_health": "体检当前 AI 配置失败", "ai_chat.inspection.ai_config.error.inspect_ai_tool_catalog": "读取 AI 工具目录失败", "ai_chat.inspection.ai_config.error.inspect_mcp_authoring_guide": "读取 MCP 编写指引失败", "ai_chat.inspection.ai_config.error.inspect_mcp_docker_setup": "检查 Docker MCP 配置失败", "ai_chat.inspection.ai_config.error.inspect_mcp_draft": "校验 MCP 草稿失败", "ai_chat.inspection.ai_config.error.inspect_mcp_remote_access": "读取 MCP 远程接入指引失败", "ai_chat.inspection.ai_config.error.inspect_mcp_setup": "读取 MCP 配置状态失败", "ai_chat.inspection.ai_config.error.inspect_mcp_tool_schema": "读取 MCP 工具参数 schema 失败", "ai_chat.inspection.ai_context.linked_summary": "当前已关联 {{count}} 张表结构上下文", "ai_chat.inspection.ai_context.none_linked": "当前没有已关联的 AI 表结构上下文", "ai_chat.inspection.ai_sessions.untitled": "未命名会话", "ai_chat.inspection.app_health.app_log.unread": "GoNavi 应用日志暂不可读:{{detail}}", "ai_chat.inspection.app_health.connection_failures.unread": "连接失败日志暂不可读:{{detail}}", "ai_chat.inspection.app_health.error.app_health_failed": "读取 AI 应用健康总览失败", "ai_chat.inspection.app_health.error.support_bundle_failed": "生成 AI 支持包失败", "ai_chat.inspection.app_health.last_render_error.empty_summary": "当前还没有记录到 AI 消息渲染异常。", "ai_chat.inspection.app_health.log_reading_unavailable": "当前运行环境未提供日志读取能力", "ai_chat.inspection.app_health.message.blocked": "当前 AI 应用健康存在 {{count}} 个阻塞项,优先修复供应商和发送前置条件", "ai_chat.inspection.app_health.message.degraded": "当前 AI 应用健康存在运行期异常信号,建议先下钻日志或连接失败记录", "ai_chat.inspection.app_health.message.needs_attention": "当前 AI 应用健康整体可用,但还有 {{count}} 个建议项", "ai_chat.inspection.app_health.message.ready": "当前 AI 应用健康总览通过,AI 配置、日志、连接失败和工作区上下文都没有明显异常", "ai_chat.inspection.app_health.next_action.enable_app_log_reading": "确认当前运行环境支持读取 gonavi.log 后,再调用 inspect_app_logs 下钻日志细节", "ai_chat.inspection.app_health.next_action.inspect_app_log_errors": "调用 inspect_app_logs 查看最近 ERROR/WARN 原文,确认是否影响 AI、MCP 或数据库连接", "ai_chat.inspection.app_health.next_action.inspect_app_log_warnings": "如用户反馈不稳定,先调用 inspect_app_logs 查看 WARN 是否集中在 AI/MCP/连接链路", "ai_chat.inspection.app_health.next_action.inspect_last_render_error": "调用 inspect_ai_last_render_error 查看最近一次气泡渲染异常的 messageId、内容预览和组件栈", "ai_chat.inspection.app_health.next_action.inspect_recent_connection_failures": "调用 inspect_recent_connection_failures 查看最新连接失败根因,再决定是否检查当前连接或保存连接配置", "ai_chat.inspection.app_health.next_action.open_sql_tab": "如果要分析当前 SQL,先打开或选中目标 SQL 页签,再调用 inspect_active_tab", "ai_chat.inspection.app_health.warning.app_log_errors": "最近应用日志里有 {{count}} 条 ERROR,需要优先查看 inspect_app_logs", "ai_chat.inspection.app_health.warning.app_log_unread": "当前无法读取 GoNavi 应用日志,启动异常和 MCP/连接错误缺少日志证据", "ai_chat.inspection.app_health.warning.app_log_warnings": "最近应用日志里有 {{count}} 条 WARN,建议确认是否为已知可忽略警告", "ai_chat.inspection.app_health.warning.connection_failures_recent": "最近识别到 {{count}} 条连接失败/冷却记录", "ai_chat.inspection.app_health.warning.connection_failures_unread": "当前无法读取连接失败日志,数据库连接冷却和验证失败缺少结构化证据", "ai_chat.inspection.app_health.warning.last_render_error": "最近记录到 AI 消息渲染异常,可能影响回复气泡展示或 Markdown 渲染", "ai_chat.inspection.app_health.warning.no_workspace_tabs": "当前工作区没有打开任何页签,AI 缺少可直接读取的活动编辑器上下文", "ai_chat.inspection.app_log.message.no_keyword_match": "最近日志里没有匹配关键词“{{keyword}}”的记录", "ai_chat.inspection.app_log.message.no_readable_entries": "最近日志里暂无可读记录", "ai_chat.inspection.codebase_hotspots.connection_modal.preferred_next_slice": "TLS 配置区", "ai_chat.inspection.codebase_hotspots.connection_modal.safe_seam": "连接表单已有 presentation utils,可先抽出按数据源显示的配置分区组件。", "ai_chat.inspection.codebase_hotspots.connection_modal.suggested_slice.jvm_section": "JVM 配置区", "ai_chat.inspection.codebase_hotspots.connection_modal.suggested_slice.mongodb_section": "MongoDB 配置区", "ai_chat.inspection.codebase_hotspots.connection_modal.suggested_slice.ssh_proxy_section": "SSH/代理配置区", "ai_chat.inspection.codebase_hotspots.connection_modal.suggested_slice.tls_section": "TLS 配置区", "ai_chat.inspection.codebase_hotspots.connection_modal.verification.browser_smoke": "浏览器打开新增/编辑连接弹窗,切换 MySQL、Oracle、MongoDB、Redis 表单。", "ai_chat.inspection.codebase_hotspots.connection_modal.why": "多数据源连接表单仍集中在一个组件,新增数据源或密钥规则时容易互相影响。", "ai_chat.inspection.codebase_hotspots.data_grid.preferred_next_slice": "结果导出工具栏", "ai_chat.inspection.codebase_hotspots.data_grid.safe_seam": "优先抽出纯展示工具栏和菜单项生成,不先移动数据编辑事务状态。", "ai_chat.inspection.codebase_hotspots.data_grid.suggested_slice.cell_edit_transaction_hint": "单元格编辑事务提示", "ai_chat.inspection.codebase_hotspots.data_grid.suggested_slice.column_header_menu": "列头菜单", "ai_chat.inspection.codebase_hotspots.data_grid.suggested_slice.ddl_view": "DDL 视图", "ai_chat.inspection.codebase_hotspots.data_grid.suggested_slice.result_export_toolbar": "结果导出工具栏", "ai_chat.inspection.codebase_hotspots.data_grid.verification.browser_smoke": "浏览器执行查询并验证结果表、导出、列菜单和表格编辑入口。", "ai_chat.inspection.codebase_hotspots.data_grid.why": "结果展示、编辑、DDL、导出和列操作耦合,容易让单点修复影响查询结果区。", "ai_chat.inspection.codebase_hotspots.data_sync.preferred_next_slice": "同步预检查结果", "ai_chat.inspection.codebase_hotspots.data_sync.safe_seam": "先把预检查结果做成纯展示组件,保留连接选择和执行动作在父组件。", "ai_chat.inspection.codebase_hotspots.data_sync.suggested_slice.connection_selection": "连接选择区", "ai_chat.inspection.codebase_hotspots.data_sync.suggested_slice.execution_logs": "执行日志区", "ai_chat.inspection.codebase_hotspots.data_sync.suggested_slice.precheck_results": "同步预检查结果", "ai_chat.inspection.codebase_hotspots.data_sync.suggested_slice.table_mapping": "表映射区", "ai_chat.inspection.codebase_hotspots.data_sync.verification.browser_smoke": "浏览器打开数据同步,验证连接选择、表映射、预检查和执行日志。", "ai_chat.inspection.codebase_hotspots.data_sync.why": "数据同步连接、表映射、预检查和执行结果集中,数据库方言问题容易隐藏。", "ai_chat.inspection.codebase_hotspots.driver_manager.preferred_next_slice": "驱动状态列表", "ai_chat.inspection.codebase_hotspots.driver_manager.safe_seam": "状态列表是展示型组件,可先抽出再保留安装/下载动作在父组件。", "ai_chat.inspection.codebase_hotspots.driver_manager.suggested_slice.download_logs": "下载日志区", "ai_chat.inspection.codebase_hotspots.driver_manager.suggested_slice.driver_status_list": "驱动状态列表", "ai_chat.inspection.codebase_hotspots.driver_manager.suggested_slice.install_actions": "安装操作区", "ai_chat.inspection.codebase_hotspots.driver_manager.verification.browser_smoke": "浏览器打开驱动管理,验证状态展示、安装按钮和日志区域。", "ai_chat.inspection.codebase_hotspots.driver_manager.why": "驱动安装、状态展示、下载和可选代理逻辑较多,适合继续拆出状态卡片和操作区。", "ai_chat.inspection.codebase_hotspots.evidence.note": "基于当前仓库前端文件行数热点快照;拆分前应优先选择 readyToExtract 且已有测试覆盖的 slice。", "ai_chat.inspection.codebase_hotspots.jvm_diagnostic.preferred_next_slice": "诊断输出区", "ai_chat.inspection.codebase_hotspots.jvm_diagnostic.safe_seam": "输出区主要依赖命令结果数组,可先抽成展示组件。", "ai_chat.inspection.codebase_hotspots.jvm_diagnostic.suggested_slice.command_input": "命令输入区", "ai_chat.inspection.codebase_hotspots.jvm_diagnostic.suggested_slice.diagnostic_output": "诊断输出区", "ai_chat.inspection.codebase_hotspots.jvm_diagnostic.suggested_slice.permission_hint": "权限提示区", "ai_chat.inspection.codebase_hotspots.jvm_diagnostic.verification.browser_smoke": "浏览器打开 JVM 诊断面板,验证命令输入、输出和权限提示。", "ai_chat.inspection.codebase_hotspots.jvm_diagnostic.why": "诊断命令、输出块、权限提示和会话状态可继续拆分,降低 JVM 诊断回归面。", "ai_chat.inspection.codebase_hotspots.next_action.browser_smoke": "涉及可见 UI 的拆分需要用浏览器打开真实页面做一次冒烟验证。", "ai_chat.inspection.codebase_hotspots.next_action.confirm_safe_seam": "每次拆分都要先确认 safeSeam,不跨越 SQL 执行、事务、连接密钥或数据库方言边界。", "ai_chat.inspection.codebase_hotspots.next_action.pick_ready_slice": "优先选择 readiness=readyToExtract 且已有测试覆盖的 slice 做小步拆分,避免直接重写整个大组件。", "ai_chat.inspection.codebase_hotspots.next_action.run_targeted_tests": "拆分后至少运行对应组件测试、相关 utils 测试和 npm --prefix frontend run build。", "ai_chat.inspection.codebase_hotspots.query_editor.preferred_next_slice": "编辑器工具栏", "ai_chat.inspection.codebase_hotspots.query_editor.safe_seam": "工具栏 JSX 可通过 props 透传状态和回调,避免触碰 SQL 执行、事务和结果分页逻辑。", "ai_chat.inspection.codebase_hotspots.query_editor.suggested_slice.editor_shortcut_binding": "编辑器快捷键绑定", "ai_chat.inspection.codebase_hotspots.query_editor.suggested_slice.execution_log_hint": "执行日志提示", "ai_chat.inspection.codebase_hotspots.query_editor.suggested_slice.result_toolbar": "结果区工具栏", "ai_chat.inspection.codebase_hotspots.query_editor.suggested_slice.transaction_status_bar": "事务状态条", "ai_chat.inspection.codebase_hotspots.query_editor.verification.browser_smoke": "浏览器打开 SQL 编辑器,验证连接/库选择、运行、保存、美化、结果区显隐和 AI 菜单。", "ai_chat.inspection.codebase_hotspots.query_editor.why": "SQL 编辑、执行、事务、结果区布局和快捷键状态集中,事务和结果区回归风险高。", "ai_chat.inspection.codebase_hotspots.redis_viewer.preferred_next_slice": "Key 搜索栏", "ai_chat.inspection.codebase_hotspots.redis_viewer.safe_seam": "先抽出搜索栏和拓扑提示,避免提前改动各数据结构编辑器。", "ai_chat.inspection.codebase_hotspots.redis_viewer.suggested_slice.add_key_dialog": "新增 Key 弹窗", "ai_chat.inspection.codebase_hotspots.redis_viewer.suggested_slice.key_search_bar": "Key 搜索栏", "ai_chat.inspection.codebase_hotspots.redis_viewer.suggested_slice.structure_editors": "String/List/Set/ZSet/Hash/Stream 编辑器", "ai_chat.inspection.codebase_hotspots.redis_viewer.verification.browser_smoke": "浏览器打开 Redis 连接,验证 key 搜索、刷新、TTL 和新增入口。", "ai_chat.inspection.codebase_hotspots.redis_viewer.why": "Key 浏览、不同数据结构编辑、TTL、编码显示和新增弹窗集中,Redis Cluster/Sentinel 后续验证面较宽。", "ai_chat.inspection.codebase_hotspots.sidebar.preferred_next_slice": "外部 SQL 目录弹窗", "ai_chat.inspection.codebase_hotspots.sidebar.safe_seam": "优先抽出无状态弹窗/菜单配置,再处理依赖连接树状态的动作分发。", "ai_chat.inspection.codebase_hotspots.sidebar.suggested_slice.batch_operation_dialogs": "批量操作弹窗", "ai_chat.inspection.codebase_hotspots.sidebar.suggested_slice.connection_tree_actions": "连接树动作", "ai_chat.inspection.codebase_hotspots.sidebar.suggested_slice.external_sql_directory_dialog": "外部 SQL 目录弹窗", "ai_chat.inspection.codebase_hotspots.sidebar.suggested_slice.v2_command_palette": "V2 命令面板", "ai_chat.inspection.codebase_hotspots.sidebar.verification.browser_smoke": "浏览器打开侧边栏,验证连接树、右键菜单和外部 SQL 目录入口可用。", "ai_chat.inspection.codebase_hotspots.sidebar.why": "左侧树、命令面板、上下文菜单和连接动作集中在单文件,修改入口多且回归面大。", "ai_chat.inspection.codebase_hotspots.table_designer.preferred_next_slice": "字段编辑表格", "ai_chat.inspection.codebase_hotspots.table_designer.safe_seam": "先补字段类型/长度/NULL/默认值快照测试,再抽字段编辑表格。", "ai_chat.inspection.codebase_hotspots.table_designer.suggested_slice.dialect_ddl_preview": "方言 DDL 预览", "ai_chat.inspection.codebase_hotspots.table_designer.suggested_slice.field_editing_table": "字段编辑表格", "ai_chat.inspection.codebase_hotspots.table_designer.suggested_slice.foreign_key_panel": "外键配置面板", "ai_chat.inspection.codebase_hotspots.table_designer.suggested_slice.index_panel": "索引配置面板", "ai_chat.inspection.codebase_hotspots.table_designer.verification.browser_smoke": "浏览器打开对象设计,验证字段、索引、外键和 DDL 预览。", "ai_chat.inspection.codebase_hotspots.table_designer.why": "字段编辑、索引、外键、分区和 DDL 生成集中,数据库方言差异容易扩散。", "ai_chat.inspection.connection_capabilities.cache_missing": "目标连接在本地缓存中不存在", "ai_chat.inspection.connection_capabilities.hint.approximate_table_count": "表浏览场景允许显示近似行数,减少大表统计开销。", "ai_chat.inspection.connection_capabilities.hint.editable_result": "当前数据源的查询结果在满足定位条件时可进入编辑路径。", "ai_chat.inspection.connection_capabilities.hint.exact_table_count": "表浏览场景默认不使用近似行数。", "ai_chat.inspection.connection_capabilities.hint.manual_total_count": "结果总数优先走手动统计或延迟统计,避免直接依赖快速总数。", "ai_chat.inspection.connection_capabilities.hint.message_publish_supported": "当前数据源提供测试发送消息入口,适合做 Topic/Queue 的联调验证。", "ai_chat.inspection.connection_capabilities.hint.message_publish_unsupported": "当前数据源未暴露测试发送消息入口。", "ai_chat.inspection.connection_capabilities.hint.readonly_result": "当前数据源的查询结果默认按只读方式展示,不提供直接编辑结果集。", "ai_chat.inspection.connection_capabilities.hint.regular_total_count": "结果总数可以优先使用常规统计路径。", "ai_chat.inspection.connection_capabilities.no_connection": "当前没有可用于能力分析的连接", "ai_chat.inspection.connection_capabilities.summary": "当前连接 {{connectionName}} ({{type}}) 已解析出 {{count}} 项前端能力信号", "ai_chat.inspection.connection_failures.category.authentication": "认证失败", "ai_chat.inspection.connection_failures.category.cooldown": "连接冷却", "ai_chat.inspection.connection_failures.category.network": "网络不可达", "ai_chat.inspection.connection_failures.category.other": "其他连接异常", "ai_chat.inspection.connection_failures.category.parameter_compatibility": "连接参数/兼容性问题", "ai_chat.inspection.connection_failures.category.ssh": "SSH 隧道失败", "ai_chat.inspection.connection_failures.category.startup": "驱动/进程启动失败", "ai_chat.inspection.connection_failures.category.timeout": "连接超时", "ai_chat.inspection.connection_failures.category.validation": "连接验证失败", "ai_chat.inspection.connection_failures.message.detected": "最近日志里识别到 {{count}} 条连接相关异常,最新一条是 {{categoryLabel}}", "ai_chat.inspection.connection_failures.message.no_keyword_match": "最近日志里没有找到与“{{keyword}}”相关的连接失败记录", "ai_chat.inspection.connection_failures.message.none": "最近日志里没有识别到连接失败、验证失败或连接冷却记录", "ai_chat.inspection.connection_failures.next_action.authentication": "核对用户名、密码、认证库、租户或 Service Name 是否正确,确认服务端是否允许当前账号登录。", "ai_chat.inspection.connection_failures.next_action.check_current_connection": "如需核对当前界面里的连接是否还是同一目标,可再调用 inspect_current_connection 检查是否仍指向 {{address}}。", "ai_chat.inspection.connection_failures.next_action.cooldown": "先修复上一次真实连接错误,再重试;只反复刷新会持续命中连接冷却。", "ai_chat.inspection.connection_failures.next_action.inspect_config": "先结合 inspect_current_connection 和 inspect_saved_connections 核对当前连接配置,再扩大日志窗口继续排查。", "ai_chat.inspection.connection_failures.next_action.network": "检查目标地址、端口、防火墙、代理和隧道链路是否可达,确认服务端当前确实在监听。", "ai_chat.inspection.connection_failures.next_action.parameter_compatibility": "优先核对连接参数、DSN 和协议兼容性,尤其是 multiStatements、charset、额外 query 参数和 URL 编码。", "ai_chat.inspection.connection_failures.next_action.ssh": "核对 SSH 跳板机地址、端口、账号和隧道目标地址,必要时先验证跳板机到数据库的连通性。", "ai_chat.inspection.connection_failures.next_action.startup": "检查驱动进程或外部依赖是否能正常启动,必要时先在本机或目标主机单独验证启动命令。", "ai_chat.inspection.connection_failures.next_action.validation": "检查服务端返回的验证失败细节,确认当前数据库类型、驱动协议、库名或 Service Name 与目标服务匹配。", "ai_chat.inspection.context_budget.next_action.continue_narrow_probe": "当前上下文体量可控,可继续按具体问题调用更窄的结构、日志或 SQL 风险探针", "ai_chat.inspection.context_budget.next_action.inspect_message_flow": "先调用 inspect_ai_message_flow 确认工具调用是否缺少 tool 结果消息", "ai_chat.inspection.context_budget.next_action.narrow_tables": "只保留本轮相关表,必要时改用 inspect_table_bundle 按需读取目标表", "ai_chat.inspection.context_budget.next_action.narrow_tools": "临时禁用无关 MCP 服务,或先调用 inspect_ai_tool_catalog 按关键词收窄工具路线", "ai_chat.inspection.context_budget.next_action.open_session": "先打开或选中目标 AI 会话,再重新调用 inspect_ai_context_budget", "ai_chat.inspection.context_budget.next_action.reduce_skills": "仅保留本轮任务相关 Skills,完成后再恢复其它 Skills", "ai_chat.inspection.context_budget.next_action.reduce_tool_results": "降低 inspect_app_logs / inspect_recent_sql_logs / includeDDL / includeLogLines 的返回量", "ai_chat.inspection.context_budget.next_action.summarize_or_new_session": "新开会话或先让 AI 总结当前结论,再继续下一轮复杂任务", "ai_chat.inspection.context_budget.warning.critical_risk": "当前 AI 输入上下文体量达到 critical,可能导致回复慢、截断或模型忽略关键约束", "ai_chat.inspection.context_budget.warning.high_risk": "当前 AI 输入上下文体量偏高,复杂问题前建议先收窄上下文", "ai_chat.inspection.context_budget.warning.large_mcp_catalog": "当前暴露的 MCP 工具或 schema 较多,模型选择工具时可能更容易走偏", "ai_chat.inspection.context_budget.warning.large_messages": "当前会话最近消息内容较长,可能影响后续回复稳定性", "ai_chat.inspection.context_budget.warning.large_schema_context": "已挂载表结构较多或 DDL 较长,可能挤占用户问题和工具结果空间", "ai_chat.inspection.context_budget.warning.large_skills": "当前启用 Skills 较多或提示词较长,可能叠加冲突约束", "ai_chat.inspection.context_budget.warning.large_tool_results": "最近工具结果较长,可能导致后续回答被日志或大结果集稀释", "ai_chat.inspection.context_budget.warning.missing_session": "未找到目标 AI 会话,消息体量统计只覆盖空窗口", "ai_chat.inspection.context_budget.warning.unresolved_tool_calls": "最近消息窗口内有 {{count}} 个未闭环工具调用", "ai_chat.inspection.current_connection.cache_missing": "当前活动连接在本地缓存中不存在", "ai_chat.inspection.current_connection.no_active": "当前没有活动连接", "ai_chat.inspection.database_bundle.error.database_overview_failed": "获取数据库结构总览失败: {{detail}}", "ai_chat.inspection.database_bundle.error.db_name_required": "dbName 不能为空", "ai_chat.inspection.database_bundle.error.table_name_required": "tableName 不能为空", "ai_chat.inspection.database_bundle.error.table_snapshot_failed": "获取表结构快照失败: {{detail}}", "ai_chat.inspection.database_bundle.error.unknown": "未知错误", "ai_chat.inspection.database_bundle.warning.all_columns_failed": "字段摘要获取失败: {{detail}}", "ai_chat.inspection.database_bundle.warning.columns_failed": "字段列表获取失败: {{detail}}", "ai_chat.inspection.database_bundle.warning.ddl_failed": "DDL 获取失败: {{detail}}", "ai_chat.inspection.database_bundle.warning.foreign_keys_failed": "外键关系获取失败: {{detail}}", "ai_chat.inspection.database_bundle.warning.indexes_failed": "索引定义获取失败: {{detail}}", "ai_chat.inspection.database_bundle.warning.sample_rows_failed": "样例数据获取失败: {{detail}}", "ai_chat.inspection.database_bundle.warning.tables_failed": "表列表获取失败: {{detail}}", "ai_chat.inspection.database_bundle.warning.tables_failed_with_column_fallback": "表列表获取失败,已退回字段摘要推断: {{detail}}", "ai_chat.inspection.database_bundle.warning.triggers_failed": "触发器获取失败: {{detail}}", "ai_chat.inspection.diagnostics.error.read_ai_upstream_logs_failed": "读取 AI 上游请求日志失败: {{detail}}", "ai_chat.inspection.diagnostics.error.read_app_logs_failed": "读取 GoNavi 应用日志失败: {{detail}}", "ai_chat.inspection.diagnostics.error.read_app_logs_unsupported": "当前环境暂不支持读取 GoNavi 应用日志", "ai_chat.inspection.diagnostics.error.read_recent_connection_failures_failed": "读取最近连接失败记录失败: {{detail}}", "ai_chat.inspection.diagnostics.error.unknown": "未知错误", "ai_chat.inspection.external_sql_file.error.file_path_required": "filePath 不能为空", "ai_chat.inspection.external_sql_file.error.outside_configured_directory": "目标文件不在已配置的外部 SQL 目录中", "ai_chat.inspection.external_sql_file.error.read_failed": "读取外部 SQL 文件失败:{{detail}}", "ai_chat.inspection.external_sql_file.error.unknown": "未知错误", "ai_chat.inspection.external_sql_file.error.unsupported_runtime": "当前运行时暂不支持读取本地 SQL 文件", "ai_chat.inspection.guidance.message.configured": "{{promptCount}} 条自定义提示词和 {{skillCount}} 个 Skills 已启用", "ai_chat.inspection.guidance.message.empty": "当前未启用自定义提示词或 Skills", "ai_chat.inspection.guidance.scope.database": "数据库会话", "ai_chat.inspection.guidance.scope.global": "全局", "ai_chat.inspection.guidance.scope.jvm": "JVM 资源分析", "ai_chat.inspection.guidance.scope.jvmDiagnostic": "JVM 诊断", "ai_chat.inspection.last_render_error.empty_next_action.inspect_health": "如果是整块 AI 面板异常,再结合 inspect_ai_setup_health 和 inspect_app_logs 一起看。", "ai_chat.inspection.last_render_error.empty_next_action.reproduce": "如果用户反馈 AI 某条消息空白、白块或只出现局部报错,再重新触发问题后读取这里。", "ai_chat.inspection.last_render_error.empty_summary": "当前还没有记录到 AI 消息渲染异常。", "ai_chat.inspection.last_render_error.next_action.match_message": "先按 messageId 和 contentPreview 对照当前会话,确认是哪条气泡触发的渲染异常。", "ai_chat.inspection.last_render_error.next_action.narrow_scope": "如果需要继续缩小范围,再结合最近一次用户输入、工具结果和相关组件代码排查。", "ai_chat.inspection.last_render_error.recorded_summary": "已记录到最近一次 AI 消息渲染异常,可据此定位是哪条消息、哪段渲染逻辑和报错栈摘要。", "ai_chat.inspection.mcp_docker.message.empty": "当前没有 Docker MCP 服务", "ai_chat.inspection.mcp_docker.message.with_enabled": "当前有 {{total}} 个 Docker MCP,其中 {{enabled}} 个已启用", "ai_chat.inspection.mcp_docker.message.with_incomplete": "当前有 {{total}} 个 Docker MCP,其中 {{count}} 个关键参数不完整", "ai_chat.inspection.mcp_docker.next_action.add_image": "在 docker run 选项之后补充 README 提供的镜像名", "ai_chat.inspection.mcp_docker.next_action.add_interactive": "在 args 中补充 -i 或 --interactive,确保 MCP stdio 不会立即断开", "ai_chat.inspection.mcp_docker.next_action.add_run": "在 args 中补充 run,例如 docker run --rm -i ", "ai_chat.inspection.mcp_docker.next_action.create_from_readme": "如果 README 提供的是 docker run -i --rm ,可在 MCP 设置中选择“Docker 镜像”模板新建服务", "ai_chat.inspection.mcp_docker.next_action.disabled": "该 Docker MCP 当前未启用;确认配置后再启用并测试工具发现", "ai_chat.inspection.mcp_docker.next_action.fix_key_args": "先修复 Docker MCP 关键参数,再重新测试工具发现", "ai_chat.inspection.mcp_docker.next_action.no_tools": "配置结构看起来完整但未发现工具,建议点击“测试工具发现”确认 Docker、镜像和容器内依赖可用", "ai_chat.inspection.mcp_docker.next_action.open_services": "打开对应 Docker MCP 服务,按配置检查提示确认参数和超时时间", "ai_chat.inspection.mcp_docker.next_action.refresh_tools": "确认本机 Docker 可用、镜像已拉取,并点击“测试工具发现”刷新工具列表", "ai_chat.inspection.mcp_docker.next_action.timeout": "Docker 首次拉起可能较慢,建议 timeoutSeconds 使用 45 或 60", "ai_chat.inspection.mcp_docker.warning.config_warnings": "有 {{count}} 个 Docker MCP 仍存在配置告警", "ai_chat.inspection.mcp_docker.warning.incomplete": "有 {{count}} 个 Docker MCP 缺少 run、-i 或镜像名等关键参数", "ai_chat.inspection.mcp_docker.warning.no_tools": "有 {{count}} 个已启用 Docker MCP 暂未发现工具", "ai_chat.inspection.mcp_draft.default_name": "MCP 草稿", "ai_chat.inspection.mcp_draft.next_action.args_missing_for_launcher": "给启动器补齐参数:npx 通常需要 -y 和包名,node 需要 server.js,python 需要 -m 模块名,uvx 需要包名,docker 需要 run、-i 和镜像名。", "ai_chat.inspection.mcp_draft.next_action.can_test_with_warnings": "当前草稿可以测试,但建议先处理 warning,避免工具发现超时或发现 0 个工具。", "ai_chat.inspection.mcp_draft.next_action.command_missing": "先粘贴 README 里的完整启动命令,或至少填写 node、npx、uvx、python、exe 之一作为 command。", "ai_chat.inspection.mcp_draft.next_action.command_whole_line": "把整行命令放到完整命令框自动拆分;command 只保留可执行程序,脚本名、包名和 --stdio 放到 args。", "ai_chat.inspection.mcp_draft.next_action.docker_image": "Docker MCP 的 args 里补 README 提供的镜像名,例如 mcp/server-fetch:latest。", "ai_chat.inspection.mcp_draft.next_action.docker_interactive": "Docker MCP 的 args 里补 -i 或 --interactive,避免 stdio 连接立即断开。", "ai_chat.inspection.mcp_draft.next_action.docker_run": "Docker MCP 的 command 填 docker,args 里单独补 run。", "ai_chat.inspection.mcp_draft.next_action.env_lines": "环境变量改成每行 KEY=VALUE;不要把 export、set、env、&& 或 $env:KEY=VALUE; 放进 args。", "ai_chat.inspection.mcp_draft.next_action.ready_to_save": "当前草稿可以保存并测试工具发现;如果发现 0 个工具,再检查服务是否支持 stdio。", "ai_chat.inspection.mcp_draft.next_action.send_full_command": "如果仍不确定怎么拆,优先把原始完整命令传给 fullCommand 让 GoNavi 试算。", "ai_chat.inspection.mcp_draft.next_action.timeout": "把 timeout 调整到 20 秒;慢启动服务可改成 45 或 60 秒。", "ai_chat.inspection.mcp_draft.parse.no_full_command": "未提供 fullCommand,已按分字段草稿校验。", "ai_chat.inspection.mcp_draft.redacted_parse_failed": "[解析失败,原始命令已隐藏]", "ai_chat.inspection.mcp_remote.message.no_public_url": "远程 Agent 需要通过受控隧道或反向代理访问 Windows GoNavi MCP HTTP 入口", "ai_chat.inspection.mcp_remote.message.with_public_url": "远程 Agent 应通过 {{publicUrl}} 访问 GoNavi MCP,并使用 Bearer Token 鉴权", "ai_chat.inspection.mcp_remote.next_action.configure_agent": "在 OpenClaw/Hermans 中配置 Streamable HTTP MCP URL 和 Authorization Bearer Token。", "ai_chat.inspection.mcp_remote.next_action.expose_mcp_only": "通过隧道、反向代理或私有网络只向指定云端 Agent 暴露 /mcp。", "ai_chat.inspection.mcp_remote.next_action.inspect_connections": "先调用 get_connections 获取 connectionId,再读取库表结构;不要把数据库密码复制到云端 Agent。", "ai_chat.inspection.mcp_remote.next_action.start_local_http": "在 Windows 本机启动 GoNavi MCP HTTP 模式,并确认 /healthz 可访问。", "ai_chat.inspection.mcp_remote.security.recommended_bind_address": "127.0.0.1,除非前面有受控网关或私有网络", "ai_chat.inspection.mcp_remote.strategy.cloudflare_tunnel.detail": "适合没有固定公网入口的 Windows 机器,通过 Cloudflare Access 叠加身份校验。", "ai_chat.inspection.mcp_remote.strategy.cloudflare_tunnel.risk": "必须启用 Access / Zero Trust 规则,不能只依赖随机 URL。", "ai_chat.inspection.mcp_remote.strategy.cloudflare_tunnel.title": "Cloudflare Tunnel", "ai_chat.inspection.mcp_remote.strategy.custom.detail": "适合已有企业网关、堡垒机或专用 MCP 网关的环境。", "ai_chat.inspection.mcp_remote.strategy.custom.risk": "需要明确 TLS、鉴权、审计和来源限制,避免把本机数据库能力暴露给未知 Agent。", "ai_chat.inspection.mcp_remote.strategy.custom.title": "自定义桥接", "ai_chat.inspection.mcp_remote.strategy.reverse_proxy.detail": "适合 Windows GoNavi 和云端 Agent 之间已有可信内网或网关的团队环境。", "ai_chat.inspection.mcp_remote.strategy.reverse_proxy.risk": "需要在网关层继续限制来源 IP、TLS 和 Bearer Token,不要直接暴露到公网。", "ai_chat.inspection.mcp_remote.strategy.reverse_proxy.title": "内网反向代理", "ai_chat.inspection.mcp_remote.strategy.ssh_reverse_tunnel.detail": "适合临时把 Windows 本机的 127.0.0.1:8765 映射到云端 Linux。配置简单,但要保证 SSH 账号和端口受控。", "ai_chat.inspection.mcp_remote.strategy.ssh_reverse_tunnel.risk": "隧道断开后云端 Agent 会不可用,适合 PoC 或受控运维环境。", "ai_chat.inspection.mcp_remote.strategy.ssh_reverse_tunnel.title": "SSH 反向隧道", "ai_chat.inspection.mcp_remote.strategy.tailscale.detail": "适合把 Windows GoNavi 和云端 Agent 放进同一个私有网络,优先走内网地址。", "ai_chat.inspection.mcp_remote.strategy.tailscale.risk": "需要控制 ACL,只允许目标 Agent 访问 GoNavi MCP 端口。", "ai_chat.inspection.mcp_remote.strategy.tailscale.title": "Tailscale / WireGuard", "ai_chat.inspection.mcp_remote.warning.missing_public_url": "尚未提供云端 Agent 可访问的 MCP URL;远程 Agent 不能直接访问 Windows 本机 127.0.0.1。", "ai_chat.inspection.mcp_remote.warning.missing_token": "尚未确认 Bearer Token;HTTP MCP 必须配置随机 token,不能无鉴权暴露。", "ai_chat.inspection.mcp_remote.warning.non_https_public_url": "远程 MCP URL 不是 HTTPS;如果不是私有网络地址,建议加 TLS 或放到受控隧道后面。", "ai_chat.inspection.mcp_runtime.error.read_logs_failed": "读取 MCP 运行期失败日志失败: {{detail}}", "ai_chat.inspection.mcp_runtime.error.read_logs_unsupported": "当前环境暂不支持读取 GoNavi 应用日志", "ai_chat.inspection.mcp_runtime.message.failure_events": "最近日志中发现 {{count}} 条 MCP 运行期异常信号", "ai_chat.inspection.mcp_runtime.message.no_failure_events": "最近日志里没有发现 MCP 启动、工具发现或工具调用失败信号。", "ai_chat.inspection.mcp_runtime.next_action.argument_error": "先调用 inspect_mcp_tool_schema 读取真实 inputSchema,再修正工具 arguments JSON。", "ai_chat.inspection.mcp_runtime.next_action.auth": "检查环境变量里的 Token/API Key 是否已配置、未过期且权限范围足够。", "ai_chat.inspection.mcp_runtime.next_action.command_not_found": "检查 command 是否只填可执行程序本身,并确认该命令在 PATH 中或使用绝对路径。", "ai_chat.inspection.mcp_runtime.next_action.enabled_without_tools": "有已启用 MCP 服务暂未发现工具,优先点击“测试工具发现”刷新并确认启动命令可独立运行。", "ai_chat.inspection.mcp_runtime.next_action.expand_logs": "最近日志未发现 MCP 失败信号;如果刚刚复现过问题,请扩大 lineLimit 或改用 serverName 精确过滤。", "ai_chat.inspection.mcp_runtime.next_action.fix_discovery_first": "工具列表为空时先修复启动/发现失败,再排查单个工具 arguments。", "ai_chat.inspection.mcp_runtime.next_action.network": "检查 MCP 依赖的远端地址、代理、VPN 或本机端口是否可达。", "ai_chat.inspection.mcp_runtime.next_action.permission": "检查可执行文件权限、杀毒/系统拦截和工作目录访问权限。", "ai_chat.inspection.mcp_runtime.next_action.process_exit": "单独在终端运行启动命令,查看进程启动后为什么立即退出。", "ai_chat.inspection.mcp_runtime.next_action.stdio_closed": "确认 README 要求的 --stdio/stdin 参数已填写;Docker 场景确认 args 包含 -i。", "ai_chat.inspection.mcp_runtime.next_action.timeout": "提高 timeoutSeconds 到 45 或 60,并确认服务启动后会保持 stdio 连接。", "ai_chat.inspection.mcp_runtime.next_action.transport": "当前 GoNavi 新增 MCP 只支持 stdio,HTTP MCP 请使用 GoNavi HTTP 服务或对应远程接入说明。", "ai_chat.inspection.mcp_runtime.next_action.unknown": "结合 inspect_mcp_setup 查看配置,再调用 inspect_app_logs 扩大日志窗口确认原始错误。", "ai_chat.inspection.mcp_runtime.warning.enabled_without_tools": "有 {{count}} 个已启用 MCP 服务当前未发现工具。", "ai_chat.inspection.mcp_runtime.warning.failure_events": "最近日志中发现 {{count}} 条 MCP 运行期异常信号。", "ai_chat.inspection.mcp_tool_schema.message.empty": "当前还没有可用 MCP 工具 schema", "ai_chat.inspection.mcp_tool_schema.message.no_matches": "没有找到匹配的 MCP 工具", "ai_chat.inspection.mcp_tool_schema.message.with_matches": "已找到 {{matched}} 个 MCP 工具,返回 {{returned}} 个参数 schema 摘要", "ai_chat.inspection.mcp_tool_schema.next_action.inspect_setup": "先调用 inspect_mcp_setup 查看 MCP 服务是否启用并已发现工具。", "ai_chat.inspection.mcp_tool_schema.next_action.lookup_alias": "先调用 inspect_mcp_setup 查看当前实际发现到的 MCP 工具 alias,再用 alias 精确查询。", "ai_chat.inspection.mcp_tool_schema.next_action.read_readme": "没有 schema 的工具需要回到 MCP 服务 README 或工具返回错误继续确认参数。", "ai_chat.inspection.mcp_tool_schema.usage.enum_values": "{{path}} 只能从枚举值中选择:{{values}}", "ai_chat.inspection.mcp_tool_schema.usage.nested_json": "嵌套对象和数组参数必须按 JSON 结构传入,不要把对象整体写成字符串。", "ai_chat.inspection.mcp_tool_schema.usage.no_input_schema": "这个 MCP 工具没有声明 inputSchema;调用前优先查看服务 README 或先用空对象试探。", "ai_chat.inspection.mcp_tool_schema.usage.required_params": "调用 {{alias}} 前必须提供:{{parameters}}", "ai_chat.inspection.mcp_tool_schema.usage.schema_fields_only": "调用前只传 schema 中声明的字段;不确定字段含义时先向用户确认,而不是猜测。", "ai_chat.inspection.mcp_tool_schema.warning.missing_schema": "部分 MCP 工具没有声明 inputSchema,参数说明可能不完整。", "ai_chat.inspection.mcp_tool_schema.warning.no_matches": "没有找到匹配的 MCP 工具。", "ai_chat.inspection.mcp_tool_schema.warning.no_tools": "当前没有发现任何 MCP 工具,可能还没有配置 MCP 服务,或服务测试/发现失败。", "ai_chat.inspection.mcp.message.configured": "当前共配置 {{serverCount}} 个 MCP 服务,其中 {{enabledCount}} 个已启用", "ai_chat.inspection.mcp.message.empty": "当前还没有配置任何 MCP 服务", "ai_chat.inspection.mcp.message.with_issues": "当前共配置 {{serverCount}} 个 MCP 服务,其中 {{enabledCount}} 个已启用,{{issueCount}} 个配置检查项需要确认", "ai_chat.inspection.mcp.next_action.fix_config_errors": "先修复 MCP 服务配置错误,再重新测试服务", "ai_chat.inspection.mcp.next_action.fix_config_warnings": "打开受影响的 MCP 服务,并按配置检查提示拆分启动命令、参数和超时时间", "ai_chat.inspection.mcp.warning.config_errors": "{{count}} 个 MCP 服务存在启动配置错误,测试和工具发现可能失败", "ai_chat.inspection.mcp.warning.config_warnings": "{{count}} 个 MCP 服务存在启动配置告警,建议在排查工具发现失败前先确认", "ai_chat.inspection.message_flow.next_action.check_empty_assistant": "检查异常或取消路径是否留下了空 assistant 占位消息", "ai_chat.inspection.message_flow.next_action.check_stream_append": "检查流式追加逻辑是否复用了同一个 assistantMsgId,而不是为同一轮回复新建 assistant 消息", "ai_chat.inspection.message_flow.next_action.check_tool_results": "优先核对 useAIChatLocalTools 是否为每个 tool_call_id 写入 tool 消息", "ai_chat.inspection.message_flow.next_action.inspect_render_or_logs": "消息流未发现明显结构异常,可继续结合 inspect_ai_last_render_error 或 inspect_app_logs 排查渲染/运行时问题", "ai_chat.inspection.message_flow.warning.consecutive_assistant": "发现 {{count}} 组连续 assistant 消息,可能存在回复被拆成多个气泡", "ai_chat.inspection.message_flow.warning.empty_assistant": "发现 {{count}} 条空 assistant 消息", "ai_chat.inspection.message_flow.warning.loading_message": "会话中仍有 loading 消息,可能还在流式生成或上次中断未清理", "ai_chat.inspection.message_flow.warning.unresolved_tool_calls": "有 {{count}} 个工具调用没有匹配到 tool 结果消息", "ai_chat.inspection.provider.message.active_needs_attention": "正在使用 {{provider}},但仍有 {{issueCount}} 项需要检查", "ai_chat.inspection.provider.message.active_ready": "已配置 {{count}} 个供应商,当前使用 {{provider}}", "ai_chat.inspection.provider.message.empty": "当前未配置 AI 供应商", "ai_chat.inspection.provider.message.unselected": "已配置 {{count}} 个供应商,但尚未选择活动供应商", "ai_chat.inspection.redis_topology.db_note.cluster_logical_namespace": "Redis Cluster 物理只支持 db0;GoNavi 用 __gonavi_db_N__: 前缀模拟多库视图。", "ai_chat.inspection.redis_topology.db_note.sentinel_selected_db": "Sentinel 发现 master 后连接指定 DB,切库会保留 Sentinel 配置重连。", "ai_chat.inspection.redis_topology.db_note.single_selected_db": "单机模式直接使用 Redis SELECT DB。", "ai_chat.inspection.redis_topology.label.cluster": "Redis Cluster", "ai_chat.inspection.redis_topology.label.sentinel": "Redis Sentinel", "ai_chat.inspection.redis_topology.label.single": "Redis 单机", "ai_chat.inspection.redis_topology.next_action.align_single_topology": "显式切换为 Cluster 模式,或删除附加节点只保留一个单机地址,避免配置拓扑和后端实际拓扑不一致。", "ai_chat.inspection.redis_topology.next_action.check_sentinel_port": "把 Sentinel 主地址端口改为 26379,除非你的 Sentinel 明确监听其他端口。", "ai_chat.inspection.redis_topology.next_action.disable_ssh": "关闭 SSH 隧道,改用直连、代理/VPN,或使用 GoNavi MCP HTTP 让远端 Agent 通过本机 GoNavi 访问。", "ai_chat.inspection.redis_topology.next_action.fill_host": "先填写主机地址;Sentinel 模式填写 Sentinel 地址,Cluster 模式填写 Redis Cluster 种子节点。", "ai_chat.inspection.redis_topology.next_action.fill_sentinel_master": "补充 Sentinel master 名称,例如 mymaster。", "ai_chat.inspection.redis_topology.next_action.review_cluster_logical_db": "确认业务是否真的需要 Redis Cluster 多库视图;如果只是 key 分组,优先使用业务命名空间。", "ai_chat.inspection.redis_topology.next_action.test_connection": "配置看起来可用于 {{topologyLabel}},下一步可以测试连接并查看 Redis DB/key 树。", "ai_chat.inspection.redis_topology.recommendation.check_tls": "已启用 TLS,连接失败时优先核对 sslMode、CA/证书路径和服务端 SNI。", "ai_chat.inspection.redis_topology.recommendation.cluster_multiple_seeds": "优先配置 2 个以上种子节点,并确认这些节点属于同一个 Redis Cluster。", "ai_chat.inspection.redis_topology.recommendation.cluster_namespace": "如果需要多库视图,优先在业务 key 上显式使用命名空间,避免误解 Cluster 的物理 db0 限制。", "ai_chat.inspection.redis_topology.recommendation.network_for_cluster_sentinel": "跨网络访问 Redis Cluster/Sentinel 时,优先使用网络代理、VPN 或 GoNavi MCP HTTP,而不是单端口 SSH 隧道。", "ai_chat.inspection.redis_topology.recommendation.sentinel_addresses": "确认主机和附加节点填写的是 Sentinel 地址,不是 Redis master 地址。", "ai_chat.inspection.redis_topology.recommendation.separate_auth": "分别填写 Redis 数据节点账号密码和 Sentinel 自身账号密码,二者不要混用。", "ai_chat.inspection.redis_topology.recommendation.single_one_address": "单机模式只填写一个 Redis 地址;如果有多个节点,请改用 Cluster 或 Sentinel 模式。", "ai_chat.inspection.redis_topology.warning.cluster_logical_db": "Redis Cluster 物理上只支持 db0;GoNavi 会用 __gonavi_db_N__: 前缀模拟逻辑库隔离", "ai_chat.inspection.redis_topology.warning.cluster_sentinel_fields_ignored": "Cluster 模式下 Sentinel master / Sentinel 用户字段不会生效", "ai_chat.inspection.redis_topology.warning.cluster_single_seed": "Cluster 只配置了一个种子节点,建议填写多个 master/replica 节点提高发现成功率", "ai_chat.inspection.redis_topology.warning.missing_host": "主机地址为空,连接前需要填写 Redis 节点或 Sentinel 地址", "ai_chat.inspection.redis_topology.warning.missing_sentinel_master": "Sentinel master 名称为空,go-redis FailoverClient 无法发现主节点", "ai_chat.inspection.redis_topology.warning.sentinel_default_redis_port": "Sentinel 主地址端口是 6379,请确认这里填写的是 Sentinel 端口,常见默认值是 26379", "ai_chat.inspection.redis_topology.warning.single_multiple_nodes": "单机模式下存在多个节点地址,后端会按多节点 Cluster 路径处理,建议显式改为 Cluster 模式", "ai_chat.inspection.redis_topology.warning.single_sentinel_fields_ignored": "单机模式下 Sentinel 字段不会生效,如需哨兵发现请切换为 Sentinel 模式", "ai_chat.inspection.redis_topology.warning.single_sentinel_node": "Sentinel 只配置了一个节点,建议至少填写 2-3 个 Sentinel 地址以避免单点失败", "ai_chat.inspection.redis_topology.warning.ssh_unsupported": "{{topologyLabel}} 当前后端不支持 SSH 隧道,请改用直连、代理或远程 MCP HTTP 方案", "ai_chat.inspection.runtime.context.schema_only": "仅 schema", "ai_chat.inspection.runtime.context.with_results": "schema + 结果", "ai_chat.inspection.runtime.context.with_samples": "schema + 样例", "ai_chat.inspection.runtime.message.active": "AI 正在使用 {{provider}},可用工具 {{toolCount}} 个", "ai_chat.inspection.runtime.message.no_provider": "当前没有活动 AI 供应商", "ai_chat.inspection.runtime.safety.full": "完全访问", "ai_chat.inspection.runtime.safety.readonly": "只读", "ai_chat.inspection.runtime.safety.readwrite": "读写", "ai_chat.inspection.safety.message.active": "AI 安全级别为 {{safety}};活动连接为 {{connection}}", "ai_chat.inspection.safety.message.no_connection": "AI 安全级别为 {{safety}};当前未选择活动连接", "ai_chat.inspection.safety.recommendation.confirm_jvm_policy": "当前 JVM 连接应按只读处理;执行变更类诊断前请先确认策略是否需要调整。", "ai_chat.inspection.safety.recommendation.enable_full_for_ddl": "如需执行 CREATE/ALTER/DROP/TRUNCATE schema 变更,请先切到完全访问模式。", "ai_chat.inspection.safety.recommendation.enable_jvm_mutating": "JVM 诊断当前禁止 mutating 命令;执行高风险命令前请先调整诊断权限。", "ai_chat.inspection.safety.recommendation.enable_readwrite_for_dml": "如需执行 INSERT/UPDATE/DELETE,请先将 AI 安全级别切到读写模式。", "ai_chat.inspection.safety.recommendation.full_required_for_schema": "DML 已允许;schema 变更仍需要完全访问模式。", "ai_chat.inspection.safety.recommendation.open_editable_grid": "如果目标是编辑结果网格,请重新打开可编辑表或查询结果,而不是当前只读标签页。", "ai_chat.inspection.safety.restriction.active_result_readonly": "当前活动标签页结果集为只读,不能当作可直接写入的数据网格。", "ai_chat.inspection.safety.restriction.jvm_mutating_disabled": "当前 JVM 诊断明确禁止 mutating 命令,即使 AI 安全级别允许写入也不能执行。", "ai_chat.inspection.safety.restriction.jvm_readonly": "当前 JVM 连接为只读,诊断计划应默认以观察和排障为主。", "ai_chat.inspection.safety.restriction.mcp_allow_mutating": "通过 GoNavi MCP execute_sql 执行非查询语句时,还必须显式传入 allowMutating=true。", "ai_chat.inspection.safety.restriction.non_query_confirmation": "任何允许通过的非查询语句仍然需要人工确认。", "ai_chat.inspection.safety.restriction.readonly_blocks_mutating": "当前安全级别下,所有 DML/DDL 都会被直接阻止。", "ai_chat.inspection.safety.rule.full": "完全访问模式允许所有 SQL 操作;高风险或未识别语句仍会要求确认。", "ai_chat.inspection.safety.rule.readonly": "只读模式仅允许查询语句。", "ai_chat.inspection.safety.rule.readwrite": "读写模式允许查询和 DML;DDL 仍会被阻止。", "ai_chat.inspection.setup.blocker.missing_base_url": "当前活动供应商缺少 base URL", "ai_chat.inspection.setup.blocker.missing_model": "当前活动供应商还没有选中模型", "ai_chat.inspection.setup.blocker.missing_secret": "当前活动供应商缺少 API Key / Secret", "ai_chat.inspection.setup.blocker.no_active_provider": "当前没有活动 AI 供应商", "ai_chat.inspection.setup.message.blocked": "当前 AI 配置存在 {{count}} 个阻塞项,优先修复活动供应商和聊天前置条件", "ai_chat.inspection.setup.message.needs_attention": "当前 AI 配置整体可用,但还有 {{count}} 个建议项可以继续优化", "ai_chat.inspection.setup.message.ready": "当前 AI 配置体检通过,供应商、聊天前置和 MCP 运行链路都处于可用状态", "ai_chat.inspection.setup.next_action.add_guidance": "如需固定回答风格或工作流,可补充自定义提示词或启用 Skills", "ai_chat.inspection.setup.next_action.add_mcp_server": "如需扩展 AI 工具能力,可新增并测试至少 1 个 MCP 服务", "ai_chat.inspection.setup.next_action.attach_schema_context": "如需更准确的 SQL 或结构建议,可先把目标表结构关联到 AI 上下文", "ai_chat.inspection.setup.next_action.connect_external_client": "如需让外部 Agents 使用 GoNavi MCP,可接入 Claude Code/Codex 等本机客户端,或为云端 Agents 配置远程 MCP 桥接", "ai_chat.inspection.setup.next_action.fill_base_url": "补齐当前活动供应商的 baseUrl", "ai_chat.inspection.setup.next_action.fill_secret": "补齐当前活动供应商的密钥", "ai_chat.inspection.setup.next_action.select_model": "为当前活动供应商选择一个可用模型", "ai_chat.inspection.setup.next_action.select_provider": "先在 AI 设置里添加并选中一个活动供应商", "ai_chat.inspection.setup.next_action.test_mcp_servers": "逐条测试已启用的 MCP 服务,确认命令、参数和环境变量能正确发现工具", "ai_chat.inspection.setup.next_action.wait_models": "等待模型列表加载完成后重新确认活动模型", "ai_chat.inspection.setup.warning.external_client_not_connected": "Claude Code / Codex 还没有作为本机客户端接入当前 GoNavi MCP;OpenClaw/Hermans 需要远程桥接", "ai_chat.inspection.setup.warning.loading_models": "当前正在加载模型列表,模型选择尚未完成", "ai_chat.inspection.setup.warning.no_guidance": "当前没有配置自定义提示词或 Skills", "ai_chat.inspection.setup.warning.no_mcp_servers": "当前还没有配置任何 MCP 服务", "ai_chat.inspection.setup.warning.no_mcp_tools": "已启用 MCP 服务,但当前还没有发现可用 MCP 工具", "ai_chat.inspection.setup.warning.no_schema_context": "当前聊天已就绪,但还没有挂载任何表结构上下文", "ai_chat.inspection.snapshot.error.default": "读取本地探针快照失败: {{detail}}", "ai_chat.inspection.snapshot.error.inspect_active_tab": "读取当前活动页签失败: {{detail}}", "ai_chat.inspection.snapshot.error.inspect_ai_context": "读取当前 AI 上下文失败: {{detail}}", "ai_chat.inspection.snapshot.error.inspect_ai_context_budget": "读取 AI 上下文体量诊断失败: {{detail}}", "ai_chat.inspection.snapshot.error.inspect_ai_last_render_error": "读取最近一次 AI 渲染异常失败: {{detail}}", "ai_chat.inspection.snapshot.error.inspect_ai_message_flow": "读取 AI 消息流诊断失败: {{detail}}", "ai_chat.inspection.snapshot.error.inspect_ai_sessions": "读取本地 AI 会话清单失败: {{detail}}", "ai_chat.inspection.snapshot.error.inspect_app_health": "读取 AI 应用健康总览失败: {{detail}}", "ai_chat.inspection.snapshot.error.inspect_codebase_hotspots": "读取代码热点诊断失败: {{detail}}", "ai_chat.inspection.snapshot.error.inspect_connection_capabilities": "读取当前连接能力矩阵失败: {{detail}}", "ai_chat.inspection.snapshot.error.inspect_current_connection": "读取当前连接失败: {{detail}}", "ai_chat.inspection.snapshot.error.inspect_external_sql_directories": "读取外部 SQL 目录失败: {{detail}}", "ai_chat.inspection.snapshot.error.inspect_external_sql_file": "读取外部 SQL 文件失败: {{detail}}", "ai_chat.inspection.snapshot.error.inspect_mcp_runtime_failures": "读取 MCP 运行期失败诊断失败: {{detail}}", "ai_chat.inspection.snapshot.error.inspect_recent_sql_activity": "汇总最近 SQL 活动失败: {{detail}}", "ai_chat.inspection.snapshot.error.inspect_recent_sql_logs": "获取最近 SQL 日志失败: {{detail}}", "ai_chat.inspection.snapshot.error.inspect_redis_topology": "读取 Redis 拓扑配置失败: {{detail}}", "ai_chat.inspection.snapshot.error.inspect_saved_connections": "读取本地连接清单失败: {{detail}}", "ai_chat.inspection.snapshot.error.inspect_saved_queries": "读取已保存查询失败: {{detail}}", "ai_chat.inspection.snapshot.error.inspect_shortcuts": "读取快捷键配置失败: {{detail}}", "ai_chat.inspection.snapshot.error.inspect_sql_editor_transaction": "读取 SQL 编辑器事务状态失败: {{detail}}", "ai_chat.inspection.snapshot.error.inspect_sql_snippets": "读取 SQL 片段失败: {{detail}}", "ai_chat.inspection.snapshot.error.inspect_workspace_tabs": "读取当前工作区页签失败: {{detail}}", "ai_chat.inspection.sql_editor_transaction.commit_policy.semantics": "SQL 编辑器执行 INSERT/UPDATE/DELETE/MERGE/REPLACE 等 DML 时始终先进入托管事务;“手动/自动”只控制执行成功后的 COMMIT 时机,不控制是否开启事务。", "ai_chat.inspection.sql_editor_transaction.next_action.explain_auto_commit": "说明当前 DML 会先开启托管事务,执行成功后约 {{seconds}} 秒自动提交", "ai_chat.inspection.sql_editor_transaction.next_action.explain_manual_commit": "说明当前 DML 会先开启托管事务,执行成功后需要手动点击提交或回滚", "ai_chat.inspection.sql_editor_transaction.next_action.inspect_recent_activity": "结合 recentRelevantLogs 回看最近写入/事务执行结果,必要时再调用 inspect_recent_sql_activity 下钻", "ai_chat.inspection.sql_editor_transaction.next_action.resolve_active_pending": "先让用户在结果区事务条点击“提交”或“回滚”,或等待自动提交倒计时结束", "ai_chat.inspection.sql_editor_transaction.next_action.switch_to_pending_tab": "如要继续执行 DML,先切回对应 SQL 页签处理待提交事务", "ai_chat.inspection.sql_editor_transaction.next_action.switch_to_sql_tab": "先切换到包含 SQL 草稿的查询页签,或让用户贴出要执行的 SQL", "ai_chat.inspection.sql_editor_transaction.no_active_tab": "当前没有活动页签", "ai_chat.inspection.sql_editor_transaction.not_sql_tab": "当前活动页签不是 SQL 编辑器页签", "ai_chat.inspection.sql_editor_transaction.semantics.explicit_transaction": "检测到用户显式事务控制语句,GoNavi 不会再包一层 SQL 编辑器托管事务。", "ai_chat.inspection.sql_editor_transaction.semantics.managed_dml": "执行 INSERT/UPDATE/DELETE/MERGE/REPLACE 等 DML 时会先进入 SQL 编辑器托管事务;提交设置只决定事务执行成功后何时 COMMIT。", "ai_chat.inspection.sql_editor_transaction.semantics.no_managed_transaction": "当前 SQL 不会触发 SQL 编辑器托管事务;只读查询仍走普通查询路径。", "ai_chat.inspection.sql_editor_transaction.warning.active_pending_transaction": "当前活动 SQL 页签已有待处理事务,继续执行新的 DML 前应先提交或回滚", "ai_chat.inspection.sql_editor_transaction.warning.auto_commit_managed_dml": "当前设置为自动提交,但 DML 仍会先进入托管事务,只是在延迟到期后自动 COMMIT", "ai_chat.inspection.sql_editor_transaction.warning.explicit_transaction_control": "当前 SQL 已包含显式事务控制,SQL 编辑器不会再接管提交/回滚", "ai_chat.inspection.sql_editor_transaction.warning.pending_transactions": "当前有 {{count}} 个 SQL 编辑器托管事务待提交或回滚", "ai_chat.inspection.sql_log.unspecified_database": "(未指定数据库)", "ai_chat.inspection.sql_risk.error.inspect_failed": "检查 SQL 风险失败: {{detail}}", "ai_chat.inspection.sql_risk.message.no_active_query_sql": "当前活动页签不是 SQL 查询页签,或编辑区没有 SQL 内容。", "ai_chat.inspection.sql_risk.message.no_sql": "未传入 SQL,且当前没有可读取的活动 SQL 查询页签。", "ai_chat.inspection.sql_risk.next_action.confirm_write_scope": "写入或 DDL 语句应先确认 WHERE、备份、目标库和影响范围。", "ai_chat.inspection.sql_risk.next_action.explain_and_confirm": "先向用户说明风险点,再要求用户确认是否继续。", "ai_chat.inspection.sql_risk.next_action.provide_sql": "先传入 sql 参数,或切换到包含 SQL 草稿的查询页签。", "ai_chat.inspection.sql_risk.next_action.read_only_check_target": "只读查询风险较低,仍建议先核对目标连接和库名。", "ai_chat.inspection.sql_risk.warning.data_change": "该语句会修改数据,执行前应确认目标库、条件和影响范围。", "ai_chat.inspection.sql_risk.warning.ddl_change": "该语句会修改数据库结构或对象,建议先备份并确认回滚方案。", "ai_chat.inspection.sql_risk.warning.delete_missing_where": "DELETE 缺少 WHERE 条件,可能删除整表数据。", "ai_chat.inspection.sql_risk.warning.drop_object": "DROP 会删除数据库对象,执行前必须确认对象和备份。", "ai_chat.inspection.sql_risk.warning.multi_statement": "检测到 {{count}} 条 SQL 语句,批量执行前应逐条确认影响范围。", "ai_chat.inspection.sql_risk.warning.permission_change": "GRANT / REVOKE 会改变权限边界,应确认授权对象和范围。", "ai_chat.inspection.sql_risk.warning.routine_side_effect": "该语句会调用例程或过程,可能存在隐式写入或副作用。", "ai_chat.inspection.sql_risk.warning.safety_blocked": "当前 AI 安全策略不允许执行 {{operationType}} 类型 SQL。", "ai_chat.inspection.sql_risk.warning.safety_blocked_unknown": "当前 AI 安全策略不允许执行该类型 SQL。", "ai_chat.inspection.sql_risk.warning.truncate": "TRUNCATE 会快速清空表数据,通常不可按行回滚。", "ai_chat.inspection.sql_risk.warning.unrecognized_operation": "未识别到有效 SQL 操作关键字。", "ai_chat.inspection.sql_risk.warning.update_missing_where": "UPDATE 缺少 WHERE 条件,可能更新整表数据。", "ai_chat.inspection.support_bundle.message.ready": "已生成 GoNavi AI 支持包快照,可用于排查 AI、MCP、日志、连接和上下文体量问题", "ai_chat.inspection.support_bundle.privacy.note": "默认只返回摘要和结构化计数;只有显式开启 includeLogLines/includeMessageContent 时才附带日志或消息内容预览。", "ai_chat.inspection.table_schema.error.ddl_and_columns_failed": "获取建表语句失败: {{ddlDetail}}; 降级获取字段列表也失败: {{columnDetail}}", "ai_chat.inspection.table_schema.error.ddl_failed": "获取建表语句失败: {{detail}}", "ai_chat.inspection.table_schema.error.unknown": "未知错误", "ai_chat.inspection.table_schema.value.none": "无", "ai_chat.inspection.table_schema.warning.available_fields": "可用字段: {{fields}}", "ai_chat.inspection.table_schema.warning.columns_contract": "⚠️ 以下为 {{tableName}} 表的真实字段列表。生成 SQL 时只能使用这些 field 值作为列名,必须原样使用,禁止修改、缩写或自行拼凑字段名。", "ai_chat.inspection.table_schema.warning.ddl_error": "DDL 错误: {{detail}}", "ai_chat.inspection.table_schema.warning.ddl_fallback": "表 {{tableName}} 的 DDL 获取失败,已降级为字段元数据摘要。", "ai_chat.inspection.table_schema.warning.detail": "详细信息: {{detail}}", "ai_chat.inspection.table_schema.warning.fallback_limitation": "该结果不包含完整索引、约束、触发器等 DDL 信息;请基于字段列表继续分析,不要因为 DDL 权限失败而停止。", "ai_chat.inspection.tool_catalog.message.by_keyword": "已按关键词 {{keyword}} 返回工具目录建议", "ai_chat.inspection.tool_catalog.message.by_tool_name": "已按工具名 {{toolName}} 返回目录信息", "ai_chat.inspection.tool_catalog.message.summary": "已返回 GoNavi AI 工具目录摘要", "ai_chat.inspection.tool_catalog.next_action.broaden_keyword": "改用更宽泛关键词,或先调用 inspect_ai_runtime 查看当前完整工具清单", "ai_chat.inspection.tool_catalog.next_action.filter_by_keyword": "先按用户问题关键词过滤,例如 mcp、连接失败、事务、快捷键、schema 或日志", "ai_chat.inspection.tool_catalog.next_action.inspect_mcp_setup": "调用 inspect_mcp_setup 查看 MCP 服务和外部客户端接入状态", "ai_chat.inspection.tool_catalog.next_action.use_parameter_descriptions": "调用带参数工具前,优先按 parameters.description 组装 arguments;缺少上下文时先向用户确认", "ai_chat.inspection.tool_catalog.warning.no_matches": "没有找到匹配的工具或推荐流程", "ai_chat.inspection.tool_catalog.warning.no_mcp_tools": "当前没有发现外部 MCP 工具;如果用户需要外部能力,先检查 MCP 服务配置和工具发现状态", "ai_chat.inspection.tool_info.inspect_active_tab.desc": "查看当前活动页签上下文", "ai_chat.inspection.tool_info.inspect_active_tab.detail": "返回当前活动页签的类型、连接、数据库、表名,以及当前 SQL / 命令页签里的草稿内容(超长会截断)。适合用户说“看我当前这条 SQL”“优化这个编辑器里的语句”时,先让 AI 直接读取当前工作区上下文。", "ai_chat.inspection.tool_info.inspect_active_tab.param.includeContent": "可选,是否附带页签中的 SQL / 命令草稿内容,默认 true", "ai_chat.inspection.tool_info.inspect_active_tab.params": "includeContent?(默认 true)", "ai_chat.inspection.tool_info.inspect_active_tab.tool_description": "获取当前活动页签的上下文快照,包括页签类型、连接、数据库、表名,以及当前 SQL / 命令页签里的草稿内容。适用于用户提到当前页签、当前 SQL、当前编辑器、这条语句时,先读取真实界面上下文,避免让模型猜测。", "ai_chat.inspection.tool_info.inspect_ai_chat_readiness.desc": "查看当前 AI 聊天是否具备发送条件", "ai_chat.inspection.tool_info.inspect_ai_chat_readiness.detail": "返回当前聊天输入区是否已经具备发送条件,包括有没有活动供应商、当前供应商是否缺密钥或接口地址、是否已选模型、当前连接/表结构上下文是否已挂载,以及下一步建议动作。适合用户问“为什么现在不能发送”“输入框到底缺什么配置”“当前 AI 聊天准备好了没有”时先读真实状态。", "ai_chat.inspection.tool_info.inspect_ai_chat_readiness.params": "无参数", "ai_chat.inspection.tool_info.inspect_ai_chat_readiness.tool_description": "读取当前 AI 聊天输入区的发送前置状态,包括活动供应商、密钥和接口地址是否完整、是否已选模型、当前连接上下文和已挂载表结构数量,以及建议的下一步动作。适用于用户提到为什么现在不能发送、为什么输入区还没准备好、当前到底缺什么配置时,先读取真实状态再回答。", "ai_chat.inspection.tool_info.inspect_ai_context_budget.desc": "诊断 AI 上下文体量与稳定性风险", "ai_chat.inspection.tool_info.inspect_ai_context_budget.detail": "估算当前或指定 AI 会话中的最近消息、工具结果、已挂载表 DDL、MCP 工具 schema、用户提示词和 Skills 体量,并返回 low/medium/high/critical 风险、主要膨胀来源和收窄建议。适合 AI 变慢、乱答、上下文过大、工具结果过长或表结构过多时调用。", "ai_chat.inspection.tool_info.inspect_ai_context_budget.param.includeDetails": "可选。是否返回最大消息、最大 DDL 表和最大 MCP schema 明细。默认 true。", "ai_chat.inspection.tool_info.inspect_ai_context_budget.param.messageLimit": "可选。最多统计多少条最近消息。默认 40,最大 120。", "ai_chat.inspection.tool_info.inspect_ai_context_budget.param.sessionId": "可选。要诊断的 AI 会话 ID;省略时使用当前活动会话。", "ai_chat.inspection.tool_info.inspect_ai_context_budget.params": "sessionId?(默认当前会话), messageLimit?(默认 40), includeDetails?(默认 true)", "ai_chat.inspection.tool_info.inspect_ai_context_budget.tool_description": "读取 AI 上下文体量与稳定性风险快照,包括最近消息窗口、工具结果长度、已挂载表 DDL、MCP 工具 schema、用户提示词和启用的 Skills,并返回风险级别、告警和收窄建议。", "ai_chat.inspection.tool_info.inspect_ai_context.desc": "查看当前 AI 已关联的表结构上下文", "ai_chat.inspection.tool_info.inspect_ai_context.detail": "返回当前对话已经挂载到 AI 上下文里的表清单、所属连接与数据库,以及每张表的 DDL 预览。适合用户说“看看我现在带了哪些表结构”“当前 AI 上下文是什么”时,先读取真实挂载状态再继续分析。", "ai_chat.inspection.tool_info.inspect_ai_context.param.ddlLimit": "可选,DDL 截断长度,默认 4000,最大 12000", "ai_chat.inspection.tool_info.inspect_ai_context.param.includeDDL": "可选,是否附带每张表的 DDL 内容,默认 false", "ai_chat.inspection.tool_info.inspect_ai_context.params": "includeDDL?(默认 false), ddlLimit?(默认 4000)", "ai_chat.inspection.tool_info.inspect_ai_context.tool_description": "读取当前对话已经关联到 AI 上下文里的表结构快照,包括连接、数据库、表名,以及可选的 DDL 内容。适用于用户提到当前 AI 上下文、当前关联表、当前挂载的表结构时,先读取真实状态,避免模型凭记忆复述。", "ai_chat.inspection.tool_info.inspect_ai_guidance.desc": "查看当前 AI 提示词与 Skills 配置", "ai_chat.inspection.tool_info.inspect_ai_guidance.detail": "返回当前用户自定义的全局/数据库/JVM 提示词,以及当前启用的 Skills、作用域、依赖工具和 skill prompt 内容。适合用户问“你现在到底带了哪些提示词”“为什么你会这样回答”“当前有哪些 Skills 在生效”时先读真实配置。", "ai_chat.inspection.tool_info.inspect_ai_guidance.params": "无参数", "ai_chat.inspection.tool_info.inspect_ai_guidance.tool_description": "读取当前 AI 的提示与技能配置快照,包括用户自定义提示词、当前启用的 Skills、作用域、依赖工具和各自的 system prompt。适用于用户提到当前提示词、当前 Skill、为什么 AI 当前会这样回答、当前有哪些规则在生效时,先读取真实配置再解释。", "ai_chat.inspection.tool_info.inspect_ai_last_render_error.desc": "查看最近一次 AI 消息渲染异常", "ai_chat.inspection.tool_info.inspect_ai_last_render_error.detail": "返回最近一次被隔离的 AI 消息渲染异常,包括消息标识、内容预览、错误摘要和组件栈摘要。适合用户反馈某条 AI 回复空白、气泡渲染失败或消息块报错但面板未崩溃时调用。", "ai_chat.inspection.tool_info.inspect_ai_last_render_error.params": "无参数", "ai_chat.inspection.tool_info.inspect_ai_last_render_error.tool_description": "读取最近一次本地 AI 消息渲染异常快照,包括消息 ID、角色、内容预览、错误摘要、组件栈摘要和下一步诊断建议。", "ai_chat.inspection.tool_info.inspect_ai_message_flow.desc": "诊断当前 AI 会话消息流", "ai_chat.inspection.tool_info.inspect_ai_message_flow.detail": "读取当前或指定 AI 会话的最近消息,统计 user/assistant/tool 消息,检查工具调用是否有结果,并检测连续 assistant 气泡、空 assistant 占位或未清理 loading。适合用户反馈回复拆分、工具调用后未继续回答或消息流异常时调用。", "ai_chat.inspection.tool_info.inspect_ai_message_flow.param.includeContent": "可选。是否包含消息内容预览。默认 true。", "ai_chat.inspection.tool_info.inspect_ai_message_flow.param.limit": "可选。最多返回多少条最近消息。默认 24,最大 80。", "ai_chat.inspection.tool_info.inspect_ai_message_flow.param.previewLimit": "可选。每条消息预览字符数限制。默认 180,最大 1000。", "ai_chat.inspection.tool_info.inspect_ai_message_flow.param.sessionId": "可选。要诊断的 AI 会话 ID;省略时使用当前活动会话。", "ai_chat.inspection.tool_info.inspect_ai_message_flow.params": "sessionId?(默认当前会话), limit?(默认 24), includeContent?(默认 true), previewLimit?(默认 180)", "ai_chat.inspection.tool_info.inspect_ai_message_flow.tool_description": "读取当前或指定 AI 会话的最近消息流诊断,包括角色序列、assistant/tool 数量、工具调用与结果匹配、连续 assistant 消息、空 assistant 消息和 loading 残留。", "ai_chat.inspection.tool_info.inspect_ai_providers.desc": "查看当前 AI 供应商与模型配置", "ai_chat.inspection.tool_info.inspect_ai_providers.detail": "返回当前配置了哪些 AI 供应商、哪个正在生效、各自的 baseUrl、已选模型、声明模型列表、密钥是否存在、自定义请求头 key,以及缺少密钥/模型/地址等待检查项。适合用户问“为什么没有模型”“API Key 有没有配”“当前到底配了哪些供应商”时先读真实配置。", "ai_chat.inspection.tool_info.inspect_ai_providers.params": "无参数", "ai_chat.inspection.tool_info.inspect_ai_providers.tool_description": "读取当前 AI 供应商配置快照,包括供应商列表、活动供应商、接口地址、已选模型、声明模型列表、是否存在密钥、自定义请求头 key,以及缺少密钥/模型/地址等待检查项。适用于用户提到当前供应商、模型列表为空、API Key 是否配置、为什么 AI 不能正常发起请求时,先读取真实配置再解释。", "ai_chat.inspection.tool_info.inspect_ai_runtime.desc": "查看当前 AI 自身运行状态", "ai_chat.inspection.tool_info.inspect_ai_runtime.detail": "返回当前启用的模型供应商、模型名、安全级别、上下文级别、启用的 Skills,以及当前已暴露的内置工具和 MCP 工具。适合用户问“你现在能调用什么”“当前用的哪个模型”“为什么不能执行写操作”时,先读真实运行状态再回答。", "ai_chat.inspection.tool_info.inspect_ai_runtime.params": "无参数", "ai_chat.inspection.tool_info.inspect_ai_runtime.tool_description": "读取当前 AI 运行时快照,包括当前供应商、模型、安全级别、上下文级别、启用的 Skills、当前可用的内置工具与 MCP 工具。适用于用户询问当前 AI 能力边界、当前使用哪个模型、为什么不能执行某些操作时,先读取真实运行状态,避免模型猜测。", "ai_chat.inspection.tool_info.inspect_ai_safety.desc": "查看当前 AI 写入安全边界", "ai_chat.inspection.tool_info.inspect_ai_safety.detail": "返回当前 AI 安全级别对应的 SQL 允许范围、非只读语句是否仍需确认 / allowMutating,以及当前活动连接、页签或 JVM 诊断权限是否还叠加了只读限制。适合用户问“为什么现在不能写”“DDL 能不能执行”“allowMutating 要不要传”时先读真实边界。", "ai_chat.inspection.tool_info.inspect_ai_safety.params": "无参数", "ai_chat.inspection.tool_info.inspect_ai_safety.tool_description": "读取当前 AI 安全边界快照,包括当前安全级别允许的 SQL 范围、非查询语句的确认要求、MCP execute_sql 对 allowMutating 的要求,以及当前活动连接、结果页签或 JVM 诊断权限是否额外处于只读限制。适用于用户提到为什么现在不能写、当前是不是只读、DDL 能不能执行、allowMutating 是否必须传时,先读取真实边界再回答。", "ai_chat.inspection.tool_info.inspect_ai_sessions.desc": "查看本地 AI 会话历史", "ai_chat.inspection.tool_info.inspect_ai_sessions.detail": "可按关键词过滤本地 AI 会话,并返回会话标题、更新时间、消息数量、是否为当前会话、首条用户问题和最近消息预览。适合用户想找之前的 AI 对话或最近讨论过某主题的会话时调用。", "ai_chat.inspection.tool_info.inspect_ai_sessions.param.includePreview": "可选。是否包含首条用户问题和最近消息预览。默认 true。", "ai_chat.inspection.tool_info.inspect_ai_sessions.param.keyword": "可选。按会话标题、会话 ID、首条用户问题或最近消息内容过滤。", "ai_chat.inspection.tool_info.inspect_ai_sessions.param.limit": "可选。最多返回多少条会话。默认 10,最大 50。", "ai_chat.inspection.tool_info.inspect_ai_sessions.params": "keyword?, limit?, includePreview?(默认 true)", "ai_chat.inspection.tool_info.inspect_ai_sessions.tool_description": "读取本地 AI 会话历史,可按关键词过滤,并返回会话标题、更新时间、消息数量、当前会话标记、首条用户问题和最近消息预览。", "ai_chat.inspection.tool_info.inspect_ai_setup_health.desc": "一键体检当前 AI 配置健康度", "ai_chat.inspection.tool_info.inspect_ai_setup_health.detail": "汇总当前 AI 供应商、聊天发送前置、MCP 服务与外部客户端接入、提示词与 Skills、上下文挂载情况,并给出阻塞项、告警项和下一步建议。适合用户说“AI 为什么不好用”“帮我看下 AI 整体有没有问题”“现在这套 AI 配置还缺什么”时先做一次总览诊断。", "ai_chat.inspection.tool_info.inspect_ai_setup_health.params": "无参数", "ai_chat.inspection.tool_info.inspect_ai_setup_health.tool_description": "体检当前 AI 配置健康度,返回供应商、模型、聊天发送前置、MCP 接入、提示词与 Skills、表结构上下文挂载等整体快照,并给出阻塞项、建议项和下一步动作。适用于用户提到 AI 为什么不好用、当前 AI 配置哪里还缺、是否已经能稳定工作时,优先读取这份总览诊断,不要拆成多次猜测。", "ai_chat.inspection.tool_info.inspect_ai_support_bundle.desc": "导出 AI 排障支持包", "ai_chat.inspection.tool_info.inspect_ai_support_bundle.detail": "一次性汇总 AI 应用健康、供应商与 MCP 状态、应用日志摘要、连接失败摘要、消息流结构、上下文体量、远程 MCP 接入和工具目录索引。适合用户反馈“AI 不稳定”“MCP/连接/日志一起看”“要给开发排障材料”时先生成一份不含密钥和数据库密码的支持包。", "ai_chat.inspection.tool_info.inspect_ai_support_bundle.param.connectionKeyword": "可选,分析连接失败日志时使用的关键词;不传时复用 keyword", "ai_chat.inspection.tool_info.inspect_ai_support_bundle.param.exposeStrategy": "可选,远程暴露方式,用于生成对应安全提醒", "ai_chat.inspection.tool_info.inspect_ai_support_bundle.param.includeDetails": "可选,是否附带上下文体量明细,默认 false", "ai_chat.inspection.tool_info.inspect_ai_support_bundle.param.includeLogLines": "可选,是否附带日志原文行,默认 false;需要引用原文时再开启", "ai_chat.inspection.tool_info.inspect_ai_support_bundle.param.includeMessageContent": "可选,是否附带消息内容预览,默认 false;排查气泡内容时再开启", "ai_chat.inspection.tool_info.inspect_ai_support_bundle.param.keyword": "可选,按关键词过滤日志和工具目录,例如 ai、mcp、mysql、error、openclaw", "ai_chat.inspection.tool_info.inspect_ai_support_bundle.param.lineLimit": "可选,最多分析多少行应用日志,默认 120,最大 240", "ai_chat.inspection.tool_info.inspect_ai_support_bundle.param.localAddr": "可选,Windows 本机 HTTP MCP 监听地址,默认 127.0.0.1:8765", "ai_chat.inspection.tool_info.inspect_ai_support_bundle.param.path": "可选,Streamable HTTP MCP 路径,默认 /mcp", "ai_chat.inspection.tool_info.inspect_ai_support_bundle.param.publicUrl": "可选,云端 Agent 访问 GoNavi MCP 的公网/隧道 URL,用于远程 MCP 支持包", "ai_chat.inspection.tool_info.inspect_ai_support_bundle.param.sessionId": "可选,指定要诊断的 AI 会话 ID;不传时使用当前活动会话", "ai_chat.inspection.tool_info.inspect_ai_support_bundle.param.tokenConfigured": "可选,是否已经准备随机 Bearer Token;传 false 会返回鉴权告警", "ai_chat.inspection.tool_info.inspect_ai_support_bundle.params": "keyword?, sessionId?, lineLimit?(默认 120), includeLogLines?(默认 false), includeMessageContent?(默认 false), publicUrl?, tokenConfigured?", "ai_chat.inspection.tool_info.inspect_ai_support_bundle.tool_description": "生成 GoNavi AI 排障支持包,汇总 AI 应用健康、供应商和发送前置、MCP 配置和远程接入、应用日志摘要、数据库连接失败摘要、当前 AI 消息流、上下文体量风险和工具目录索引。默认不包含数据库密码、供应商密钥、MCP 环境变量值、日志原文或完整消息内容。适用于用户反馈 AI 不稳定、MCP/连接/日志问题交织、需要一次性导出排障证据或准备给开发定位时优先调用。", "ai_chat.inspection.tool_info.inspect_ai_tool_catalog.desc": "查看 AI 内置工具目录和参数提示", "ai_chat.inspection.tool_info.inspect_ai_tool_catalog.detail": "按关键词或工具名返回 GoNavi AI 内置工具、推荐探针流程、参数说明和当前 MCP 工具摘要。适合用户问“你该用哪个工具”“这个工具参数怎么填”“有哪些内置工具”或 AI 需要先选择探针路线时调用。", "ai_chat.inspection.tool_info.inspect_ai_tool_catalog.param.includeMCPTools": "可选,是否同时返回当前已发现的 MCP 工具摘要,默认 true", "ai_chat.inspection.tool_info.inspect_ai_tool_catalog.param.keyword": "可选,按问题关键词过滤工具和流程,例如 mcp、连接失败、事务、快捷键、schema、日志", "ai_chat.inspection.tool_info.inspect_ai_tool_catalog.param.limit": "可选,最多返回多少条流程、内置工具和 MCP 工具,默认 12,最大 40", "ai_chat.inspection.tool_info.inspect_ai_tool_catalog.param.toolName": "可选,按内置工具名精确查询,例如 inspect_mcp_draft 或 inspect_sql_risk", "ai_chat.inspection.tool_info.inspect_ai_tool_catalog.params": "keyword?, toolName?, includeMCPTools?(默认 true), limit?(默认 12)", "ai_chat.inspection.tool_info.inspect_ai_tool_catalog.tool_description": "读取 GoNavi AI 工具目录快照,可按关键词或工具名筛选,返回推荐工具调用流程、内置工具说明、参数提示和当前已发现 MCP 工具摘要。适用于用户询问当前有哪些内置工具、某类问题该先调用哪个探针、工具 arguments 怎么填、或 AI 在处理复杂问题前需要先选择工具路线时优先调用。", "ai_chat.inspection.tool_info.inspect_ai_upstream_logs.desc": "查看 AI 上游请求入参与状态", "ai_chat.inspection.tool_info.inspect_ai_upstream_logs.detail": "从 gonavi.log 读取最近的 AI 上游请求开始/完成/失败记录,按 provider、requestId 或关键词过滤,返回请求体 body 预览、payload 结构摘要、endpoint、状态码、耗时和错误摘要。适合用户想核对发给上游模型的真实入参、排查请求参数兼容、确认工具是否随请求下发或脱敏日志是否写入时先调用。", "ai_chat.inspection.tool_info.inspect_ai_upstream_logs.param.bodyPreviewLimit": "可选,单个 body 预览最大字符数,默认 6000,最大 12000", "ai_chat.inspection.tool_info.inspect_ai_upstream_logs.param.includeBody": "可选,是否返回已脱敏的请求 body 预览,默认 true;只看状态时可设为 false", "ai_chat.inspection.tool_info.inspect_ai_upstream_logs.param.includeLines": "可选,是否附带脱敏后的原始日志行,默认 false;需要引用原文时再开启", "ai_chat.inspection.tool_info.inspect_ai_upstream_logs.param.includePayloadSummary": "可选,是否解析请求 body 并返回模型、消息角色分布、工具数量/名称、stream/tool_choice 等结构摘要,默认 true;不返回消息正文或密钥", "ai_chat.inspection.tool_info.inspect_ai_upstream_logs.param.keyword": "可选,在 requestId、provider、endpoint、bodyPreview 或 error 中继续过滤,例如模型名、接口路径、参数名", "ai_chat.inspection.tool_info.inspect_ai_upstream_logs.param.lineLimit": "可选,最多读取多少行日志尾部,默认 160,最大 300", "ai_chat.inspection.tool_info.inspect_ai_upstream_logs.param.provider": "可选,只看某个供应商,例如 openai、anthropic、gemini;大小写不敏感", "ai_chat.inspection.tool_info.inspect_ai_upstream_logs.param.requestId": "可选,按日志里的 requestId 精确过滤,适合从错误日志继续追踪同一次请求", "ai_chat.inspection.tool_info.inspect_ai_upstream_logs.param.requestLimit": "可选,最多返回多少个请求摘要,默认 12,最大 40", "ai_chat.inspection.tool_info.inspect_ai_upstream_logs.params": "provider?, requestId?, keyword?, lineLimit?(默认 160), requestLimit?(默认 12), includeBody?(默认 true), includePayloadSummary?(默认 true), includeLines?(默认 false)", "ai_chat.inspection.tool_info.inspect_ai_upstream_logs.tool_description": "读取 GoNavi 应用日志中的 AI 上游请求记录,返回 requestId、provider、method、endpoint、请求 body 预览、脱敏 payload 结构摘要、状态码、耗时和错误摘要。适用于用户提到 AI 请求入参、上游请求体、requestId、provider 请求参数、工具调用没有触发、模型接口报错、或需要核对刚才发给上游模型的真实 payload 时,先读取该工具,不要只凭界面响应推断。", "ai_chat.inspection.tool_info.inspect_app_health.desc": "一键查看 AI 应用健康总览", "ai_chat.inspection.tool_info.inspect_app_health.detail": "汇总 AI 配置、供应商发送前置、MCP 接入、应用日志 ERROR/WARN、最近连接失败/冷却、AI 回复气泡渲染异常和当前工作区页签,给出阻塞项、运行期异常信号和下一步探针建议。适合用户说“AI 不稳定”“整体帮我看看”“连接和 MCP 一起排查”时先做一次全局摸底。", "ai_chat.inspection.tool_info.inspect_app_health.param.connectionKeyword": "可选,分析连接失败日志时按连接类型、地址或错误关键词过滤;不传时复用 keyword", "ai_chat.inspection.tool_info.inspect_app_health.param.includeLogLines": "可选,是否在结果里附带日志原文行,默认 false;需要引用原文时再开启", "ai_chat.inspection.tool_info.inspect_app_health.param.keyword": "可选,读取应用日志时按关键词过滤,例如 ai、mcp、mysql、error;不传则读取最近日志窗口", "ai_chat.inspection.tool_info.inspect_app_health.param.lineLimit": "可选,每次最多分析多少行日志,默认 120,最大 240", "ai_chat.inspection.tool_info.inspect_app_health.params": "keyword?, connectionKeyword?, lineLimit?(默认 120), includeLogLines?(默认 false)", "ai_chat.inspection.tool_info.inspect_app_health.tool_description": "读取 GoNavi AI 应用健康总览,汇总 AI 供应商与发送前置、MCP 接入、应用日志 ERROR/WARN、最近连接失败/冷却、AI 回复气泡渲染异常和当前工作区页签,并返回阻塞项、运行期异常信号与下一步探针建议。适用于用户提到 AI 不稳定、整体不成熟、连接/MCP/日志/回复气泡异常需要一起排查或要求先看全局状态时,优先调用该工具。", "ai_chat.inspection.tool_info.inspect_app_logs.desc": "查看 GoNavi 应用日志尾部", "ai_chat.inspection.tool_info.inspect_app_logs.detail": "可按关键词过滤最近的 GoNavi 应用日志 INFO/WARN/ERROR 行,并返回级别分布、日志文件路径和截断状态。适合用户提到 gonavi.log、启动报错、MCP 启动失败或数据库连接失败时优先调用。", "ai_chat.inspection.tool_info.inspect_app_logs.param.keyword": "可选。按日志内容关键词过滤,例如 mcp、mysql、timeout 或 error。", "ai_chat.inspection.tool_info.inspect_app_logs.param.lineLimit": "可选。最多返回多少行日志。默认 80,最大 200。", "ai_chat.inspection.tool_info.inspect_app_logs.params": "keyword?, lineLimit?(默认 80)", "ai_chat.inspection.tool_info.inspect_app_logs.tool_description": "读取 GoNavi 应用日志尾部,可按关键词过滤,并返回最近日志行、级别分布、日志路径和截断状态。适用于用户提到 gonavi.log、应用启动异常、MCP 启动失败、数据库连接报错或要求查看最近日志时调用。", "ai_chat.inspection.tool_info.inspect_codebase_hotspots.desc": "查看前端大文件与拆分热点", "ai_chat.inspection.tool_info.inspect_codebase_hotspots.detail": "返回 GoNavi 前端大文件热点,包括行数、风险等级、拆分成熟度、安全边界、建议拆分切片和应运行的回归测试。适合用户要求继续治理大文件、选择下一个拆分组件或修改 UI/AI/MCP 前评估风险时调用。", "ai_chat.inspection.tool_info.inspect_codebase_hotspots.param.includeRecommendations": "可选。是否包含 suggestedSlices、testTargets 和 nextActions。默认 true。", "ai_chat.inspection.tool_info.inspect_codebase_hotspots.param.keyword": "可选。按路径、模块、风险、拆分切片或测试目标过滤,例如 Sidebar、DataGrid、Redis、transaction 或 connection。", "ai_chat.inspection.tool_info.inspect_codebase_hotspots.param.limit": "可选。最多返回多少个热点。默认 8,最大 30。", "ai_chat.inspection.tool_info.inspect_codebase_hotspots.param.minLines": "可选。只返回不少于该行数的热点文件。默认 1000,最大 20000。", "ai_chat.inspection.tool_info.inspect_codebase_hotspots.params": "keyword?, minLines?(默认 1000), limit?(默认 8), includeRecommendations?(默认 true)", "ai_chat.inspection.tool_info.inspect_codebase_hotspots.tool_description": "读取 GoNavi 前端大文件和拆分热点快照,返回文件路径、行数、风险等级、拆分成熟度、首选切片、安全拆分边界、建议切片、测试目标和验证计划。", "ai_chat.inspection.tool_info.inspect_connection_capabilities.desc": "查看当前连接支持哪些前端能力", "ai_chat.inspection.tool_info.inspect_connection_capabilities.detail": "返回当前或指定连接的数据源能力矩阵,包括是否支持查询编辑器、SQL 导出、复制 INSERT、新建/重命名/删除数据库、结果是否强制只读,以及是否倾向手动总数或近似计数。适合用户问“为什么这里不能建库/删库”“这个数据源为什么结果不能编辑”“这个类型支持哪些操作”时,先读取真实能力边界。", "ai_chat.inspection.tool_info.inspect_connection_capabilities.param.connectionId": "可选,指定要查看的连接 ID;不传时默认读取当前活动连接", "ai_chat.inspection.tool_info.inspect_connection_capabilities.params": "connectionId?(默认取当前活动连接)", "ai_chat.inspection.tool_info.inspect_connection_capabilities.tool_description": "读取当前活动连接或指定 saved connection 的前端能力矩阵,包括是否支持查询编辑器、SQL 导出、复制 INSERT、新建/重命名/删除数据库、结果是否强制只读,以及是否适合手动总数或近似计数。适用于用户提到当前连接为什么不能建库、为什么结果集不能编辑、某种数据库类型到底支持哪些前端动作时,先读取真实能力配置,避免模型凭经验猜测。", "ai_chat.inspection.tool_info.inspect_current_connection.desc": "查看当前活动连接/数据源摘要", "ai_chat.inspection.tool_info.inspect_current_connection.detail": "返回当前活动连接的类型、地址、端口、当前数据库、是否启用 SSH/代理/HTTP 隧道,以及当前活动页签绑定的表信息。适合用户问“我现在连的是哪个库”“这个连接走没走 SSH”“当前数据源是什么类型”时先读取真实连接状态。", "ai_chat.inspection.tool_info.inspect_current_connection.params": "无参数", "ai_chat.inspection.tool_info.inspect_current_connection.tool_description": "读取当前活动连接或当前页签对应数据源的真实摘要,包括连接类型、地址、端口、当前数据库、SSH/代理/HTTP 隧道状态,以及当前页签绑定的表上下文。适用于用户提到当前连接、当前数据源、当前库地址、是否走 SSH、当前连的是哪种数据库时,先读取真实界面上下文,避免模型猜测。", "ai_chat.inspection.tool_info.inspect_external_sql_directories.desc": "查看本地外部 SQL 目录资产", "ai_chat.inspection.tool_info.inspect_external_sql_directories.detail": "可按关键词、连接或数据库过滤,返回本地配置的外部 SQL 目录、目录路径、绑定连接/数据库,以及当前是否已经打开这些目录里的 SQL 文件。适合用户提到“外部 SQL 目录”“某个脚本在哪个目录”“现在打开的 SQL 文件来自哪个外部目录”时,先读真实资产。", "ai_chat.inspection.tool_info.inspect_external_sql_directories.param.connectionId": "可选,只看绑定到某个连接的外部 SQL 目录", "ai_chat.inspection.tool_info.inspect_external_sql_directories.param.dbName": "可选,只看绑定到某个数据库的外部 SQL 目录", "ai_chat.inspection.tool_info.inspect_external_sql_directories.param.keyword": "可选,按目录名、路径、连接名或数据库名做关键词筛选", "ai_chat.inspection.tool_info.inspect_external_sql_directories.param.limit": "可选,最多返回多少条目录,默认 20,最大 100", "ai_chat.inspection.tool_info.inspect_external_sql_directories.params": "keyword?, connectionId?, dbName?, limit?", "ai_chat.inspection.tool_info.inspect_external_sql_directories.tool_description": "读取本地配置的外部 SQL 目录清单,可按关键词、连接和数据库过滤,并返回目录路径、绑定连接/数据库,以及当前打开的外部 SQL 文件页签摘要。适用于用户提到外部 SQL 目录、某个 SQL 文件放在哪、当前打开的脚本来自哪个目录时,先读取真实本地资产再回答。", "ai_chat.inspection.tool_info.inspect_external_sql_file.desc": "读取外部 SQL 文件内容", "ai_chat.inspection.tool_info.inspect_external_sql_file.detail": "传入具体 filePath,读取已配置外部 SQL 目录中的 SQL 文件内容,并返回所属目录、绑定连接/数据库、是否已有打开页签,以及截断后的正文预览。适合用户提到“看一下这个目录里的某个脚本”“帮我解释 report.sql 在写什么”时,先读取真实文件内容再分析。", "ai_chat.inspection.tool_info.inspect_external_sql_file.param.filePath": "必填,要读取的 SQL 文件绝对路径,通常先通过 inspect_external_sql_directories 找到", "ai_chat.inspection.tool_info.inspect_external_sql_file.param.previewCharLimit": "可选,正文预览最多返回多少字符,默认 12000,最大 40000", "ai_chat.inspection.tool_info.inspect_external_sql_file.params": "filePath, previewCharLimit?", "ai_chat.inspection.tool_info.inspect_external_sql_file.tool_description": "读取指定外部 SQL 文件的内容预览,仅用于已配置外部 SQL 目录中的 SQL 文件。返回文件路径、所属目录、绑定连接/数据库、是否已在工作区打开,以及截断后的正文内容。适用于用户提到某个目录中的具体 SQL 脚本、想让 AI 直接解释脚本逻辑、或想确认某个外部 SQL 文件内容时,先读真实文件再回答。", "ai_chat.inspection.tool_info.inspect_mcp_authoring_guide.desc": "查看新增 MCP 编写指南", "ai_chat.inspection.tool_info.inspect_mcp_authoring_guide.detail": "返回新增 MCP 表单字段用途、推荐填写顺序、完整命令自动拆分规则,以及 npx / Node / uvx / Python / Docker / EXE 模板。回答 command、args、env、模板或完整启动命令粘贴方式前使用。", "ai_chat.inspection.tool_info.inspect_mcp_authoring_guide.params": "无参数", "ai_chat.inspection.tool_info.inspect_mcp_authoring_guide.tool_description": "读取 GoNavi 当前内置 MCP 编写指南,包括推荐字段顺序、字段用途、常用命令示例、完整命令自动拆分规则和 npx / Node / uvx / Python / Docker / EXE 模板示例。", "ai_chat.inspection.tool_info.inspect_mcp_docker_setup.desc": "查看 Docker MCP 启动配置", "ai_chat.inspection.tool_info.inspect_mcp_docker_setup.detail": "读取已保存 Docker MCP 服务,检查 command 和 args 是否正确拆分为 docker、run、--rm、-i、镜像名与容器参数,并返回缺失参数、工具数量、timeout 建议和下一步修复动作。", "ai_chat.inspection.tool_info.inspect_mcp_docker_setup.param.includeDisabled": "可选。是否包含已禁用 Docker MCP 服务。默认 true。", "ai_chat.inspection.tool_info.inspect_mcp_docker_setup.param.serverId": "可选。只检查一个 MCP serverId。省略时检查所有 Docker MCP 服务。", "ai_chat.inspection.tool_info.inspect_mcp_docker_setup.params": "serverId?, includeDisabled?(默认 true)", "ai_chat.inspection.tool_info.inspect_mcp_docker_setup.tool_description": "检查已保存 Docker MCP 服务的启动参数,并返回 docker run/-i/image/--rm/env/timeout 状态、已发现工具数量、配置 warning 和 nextActions。", "ai_chat.inspection.tool_info.inspect_mcp_draft.desc": "校验新增 MCP 草稿", "ai_chat.inspection.tool_info.inspect_mcp_draft.detail": "根据完整启动命令或逐字段草稿模拟 GoNavi 新增 MCP 配置,返回自动拆分结果、启动预览、可应用草稿、参数和环境变量提示、校验问题、推荐模板与下一步修复建议。敏感参数会脱敏。", "ai_chat.inspection.tool_info.inspect_mcp_draft.param.args": "可选。逐字段草稿中的命令参数。数组更准确,但也接受逗号分隔或换行分隔字符串。", "ai_chat.inspection.tool_info.inspect_mcp_draft.param.command": "可选。逐字段草稿中的启动 command。它应仅为 npx、node、uvx、python 或 exe path。", "ai_chat.inspection.tool_info.inspect_mcp_draft.param.envText": "可选。环境变量草稿,每行一个 KEY=VALUE。不要传入 export、set 或 $env: 前缀。", "ai_chat.inspection.tool_info.inspect_mcp_draft.param.fullCommand": "可选。来自 README 或用户的完整 MCP 启动命令,例如 $env:GITHUB_TOKEN=...; uvx mcp-server-github --stdio。", "ai_chat.inspection.tool_info.inspect_mcp_draft.param.name": "可选。MCP 服务名称,例如 GitHub、Filesystem 或 Browser。", "ai_chat.inspection.tool_info.inspect_mcp_draft.param.templateKey": "可选。先应用内置模板,再用用户提供的字段覆盖。", "ai_chat.inspection.tool_info.inspect_mcp_draft.param.timeoutSeconds": "可选。一次工具发现或调用的 timeout 秒数。建议 20;启动较慢的服务可用 45 或 60。", "ai_chat.inspection.tool_info.inspect_mcp_draft.params": "fullCommand?, command?, args?, envText?, timeoutSeconds?, templateKey?, name?", "ai_chat.inspection.tool_info.inspect_mcp_draft.tool_description": "校验待新增 MCP 服务草稿。支持 fullCommand/rawCommand/commandLine 自动拆分,或 command、args、envText、timeoutSeconds、templateKey 逐字段校验。返回解析字段、脱敏启动预览、suggestedServerSeed、参数提示、环境变量风险提示、errors、warnings、推荐模板和 nextActions,不回显 api-key/token/password 值。", "ai_chat.inspection.tool_info.inspect_mcp_remote_access.desc": "查看 OpenClaw/Hermans 远程 MCP 接入", "ai_chat.inspection.tool_info.inspect_mcp_remote_access.detail": "返回 GoNavi Streamable HTTP MCP 启动命令、远程 URL、认证指引、OpenClaw/Hermans 云端 Agent 边界、桥接方案和安全提醒。用于云端 OpenClaw 连接 Windows GoNavi、保留数据库密码或暴露 HTTP MCP 的场景。", "ai_chat.inspection.tool_info.inspect_mcp_remote_access.param.exposeStrategy": "可选。计划使用的远程暴露策略,用于返回匹配的风险提醒。", "ai_chat.inspection.tool_info.inspect_mcp_remote_access.param.localAddr": "可选。Windows 本地 HTTP MCP 监听地址。默认 127.0.0.1:8765。不建议直接绑定 0.0.0.0。", "ai_chat.inspection.tool_info.inspect_mcp_remote_access.param.path": "可选。Streamable HTTP MCP path。默认 /mcp。", "ai_chat.inspection.tool_info.inspect_mcp_remote_access.param.publicUrl": "可选。远程 Agent 可访问的 HTTPS 或专用网络 URL。若缺少 /mcp,工具会追加已配置 path。", "ai_chat.inspection.tool_info.inspect_mcp_remote_access.param.tokenConfigured": "可选。是否已配置随机 Bearer Token。传入 false 会返回认证 warning。", "ai_chat.inspection.tool_info.inspect_mcp_remote_access.params": "publicUrl?, localAddr?, path?, exposeStrategy?, tokenConfigured?", "ai_chat.inspection.tool_info.inspect_mcp_remote_access.tool_description": "读取 GoNavi MCP 远程 Agent 接入快照,包括 Streamable HTTP 启动命令、/mcp URL、Bearer Token 要求、OpenClaw/Hermans 云端接入步骤、Windows 主机密码边界和 tunnel、reverse proxy、Tailscale 等暴露策略风险。", "ai_chat.inspection.tool_info.inspect_mcp_runtime_failures.desc": "诊断 MCP 启动和工具调用失败", "ai_chat.inspection.tool_info.inspect_mcp_runtime_failures.detail": "从 gonavi.log 读取近期 MCP 启动、工具发现、工具调用和 HTTP MCP 子进程失败,并结合已保存服务与已发现工具返回失败类型、可能原因、相关服务和下一步修复动作。", "ai_chat.inspection.tool_info.inspect_mcp_runtime_failures.param.includeLines": "可选。是否包含已脱敏的原始 MCP 日志行。默认 false;仅在需要引用原始行时启用。", "ai_chat.inspection.tool_info.inspect_mcp_runtime_failures.param.keyword": "可选。按 keyword 过滤 MCP 相关日志,例如 timeout、stdio、permission、401 或 docker。", "ai_chat.inspection.tool_info.inspect_mcp_runtime_failures.param.lineLimit": "可选。最多读取多少行尾部日志。默认 160,最大 200。", "ai_chat.inspection.tool_info.inspect_mcp_runtime_failures.param.serverName": "可选。只检查一个 MCP 服务名称或日志中的 server= 名称,例如 GitHub、Browser 或 DockerFetch。", "ai_chat.inspection.tool_info.inspect_mcp_runtime_failures.params": "serverName?, keyword?, lineLimit?(默认 160), includeLines?(默认 false)", "ai_chat.inspection.tool_info.inspect_mcp_runtime_failures.tool_description": "从 GoNavi 应用日志读取 MCP 运行期失败信号,分类服务启动、工具发现、工具调用和 HTTP MCP 子进程退出,再结合当前配置与工具数量返回可能原因和 nextActions。", "ai_chat.inspection.tool_info.inspect_mcp_setup.desc": "查看当前 MCP 配置与外部接入", "ai_chat.inspection.tool_info.inspect_mcp_setup.detail": "返回本地 MCP 服务、启用状态、启动命令、Claude Code / Codex 写入状态、OpenClaw / Hermans 远程 Agent 边界和命令检测结果。用于排查已配置的 MCP 服务、外部客户端不可用或客户端配置写入状态。", "ai_chat.inspection.tool_info.inspect_mcp_setup.params": "无参数", "ai_chat.inspection.tool_info.inspect_mcp_setup.tool_description": "读取本地 MCP 配置快照,包括服务列表、启用状态、启动命令、环境变量键、已发现工具、GoNavi MCP 客户端写入状态、本地 CLI 检测和远程 Agent 接入边界。", "ai_chat.inspection.tool_info.inspect_mcp_tool_schema.desc": "查看 MCP 工具参数 schema", "ai_chat.inspection.tool_info.inspect_mcp_tool_schema.detail": "按 alias、serverId 或 keyword 读取当前已发现 MCP 工具的 inputSchema,返回必填参数、字段类型、enum 值、嵌套对象 path 和调用前提示。用于 MCP 发现成功后确认工具接受哪些参数。", "ai_chat.inspection.tool_info.inspect_mcp_tool_schema.param.alias": "可选。按精确 MCP tool alias 查询,例如 github_create_issue。建议先从 inspect_mcp_setup 读取真实 alias。", "ai_chat.inspection.tool_info.inspect_mcp_tool_schema.param.includeSchema": "可选。是否包含完整 raw inputSchema。默认 false;仅在复杂嵌套 schema 检查时启用。", "ai_chat.inspection.tool_info.inspect_mcp_tool_schema.param.keyword": "可选。按工具 alias、原始名称、title、description 或服务名称过滤。", "ai_chat.inspection.tool_info.inspect_mcp_tool_schema.param.limit": "可选。最多返回多少个匹配工具。默认 8,最大 30。", "ai_chat.inspection.tool_info.inspect_mcp_tool_schema.param.serverId": "可选。只检查一个 MCP serverId 下发现的工具。", "ai_chat.inspection.tool_info.inspect_mcp_tool_schema.params": "alias?, serverId?, keyword?, includeSchema?(默认 false), limit?(默认 8)", "ai_chat.inspection.tool_info.inspect_mcp_tool_schema.tool_description": "读取当前已发现 MCP 工具的参数 schema 摘要,可按 alias、serverId 或 keyword 过滤,并返回必填字段、类型、enum 值、嵌套参数 path 和调用前提示。用于编写外部 MCP 工具调用 arguments JSON 前或参数错误后。", "ai_chat.inspection.tool_info.inspect_recent_connection_failures.desc": "汇总最近数据库连接失败与冷却", "ai_chat.inspection.tool_info.inspect_recent_connection_failures.detail": "从最近的 gonavi.log 中提取数据库连接失败、验证失败、SSH 隧道异常和连接冷却命中记录,并归类主要问题类型、最新地址、最新根因和下一步动作。适合用户询问为什么连接失败或是否涉及 SSH 隧道时先调用。", "ai_chat.inspection.tool_info.inspect_recent_connection_failures.param.keyword": "可选。按连接类型、地址或失败关键词过滤,例如 mysql、ssh、timeout 或 127.0.0.1。", "ai_chat.inspection.tool_info.inspect_recent_connection_failures.param.lineLimit": "可选。最多分析多少行日志。默认 120,最大 240。", "ai_chat.inspection.tool_info.inspect_recent_connection_failures.params": "keyword?, lineLimit?(默认 120)", "ai_chat.inspection.tool_info.inspect_recent_connection_failures.tool_description": "汇总 GoNavi 应用日志中的近期数据库连接失败、验证失败、SSH 隧道失败和冷却命中记录,返回主要失败类别、最新地址、最新根因与建议动作。", "ai_chat.inspection.tool_info.inspect_recent_sql_activity.desc": "总结最近 SQL 活动分布", "ai_chat.inspection.tool_info.inspect_recent_sql_activity.detail": "可按 status、activityKind、dbName 和 keyword 过滤,返回最近 SQL 活动的结构化摘要,包括读写/DDL 比例、语句类型分布、数据库分布、最近错误、最近写入和最慢语句。适合用户询问最近执行了什么、数据是否被删除、哪个数据库失败最多,或近期主要是读还是写时使用。", "ai_chat.inspection.tool_info.inspect_recent_sql_activity.param.activityKind": "可选。按活动类型过滤:all、read、write、ddl、transaction、session 或 other。默认 all。", "ai_chat.inspection.tool_info.inspect_recent_sql_activity.param.dbName": "可选。只包含数据库名含有该关键词的日志。", "ai_chat.inspection.tool_info.inspect_recent_sql_activity.param.keyword": "可选。按 SQL 文本、错误信息、语句类型或数据库名过滤。", "ai_chat.inspection.tool_info.inspect_recent_sql_activity.param.limit": "可选。返回的最近活动样本上限。默认 30,最大 100。", "ai_chat.inspection.tool_info.inspect_recent_sql_activity.param.status": "可选。按执行状态过滤:all、success 或 error。默认 all。", "ai_chat.inspection.tool_info.inspect_recent_sql_activity.tool_description": "汇总最近 SQL 活动画像,可按执行状态、活动类型、数据库名和关键词过滤。用于检查近期读写操作、数据库错误集中情况、DELETE 或 DDL 活动,并让 AI 先基于真实执行现场判断。", "ai_chat.inspection.tool_info.inspect_recent_sql_logs.desc": "查看最近 SQL 执行日志", "ai_chat.inspection.tool_info.inspect_recent_sql_logs.detail": "接受可选 limit 和 status 过滤,返回最近 SQL 执行记录,包括数据库、耗时、成功/失败、错误、影响行数和 SQL 文本。适合追踪失败语句、定位慢查询,并让 AI 基于真实执行历史解释或优化。", "ai_chat.inspection.tool_info.inspect_recent_sql_logs.param.limit": "可选。返回的日志条数。默认 20,最大 100。", "ai_chat.inspection.tool_info.inspect_recent_sql_logs.param.status": "可选。按执行状态过滤:all、success 或 error。默认 all。", "ai_chat.inspection.tool_info.inspect_recent_sql_logs.tool_description": "获取最近 SQL 执行日志摘要,可按成功或失败过滤。用于回看最近执行过的 SQL、诊断失败、定位慢查询,并让 AI 基于真实执行历史解释或优化。", "ai_chat.inspection.tool_info.inspect_redis_topology.desc": "诊断 Redis 单机/哨兵/集群配置", "ai_chat.inspection.tool_info.inspect_redis_topology.detail": "读取本地 Redis 连接拓扑摘要,返回单机、Sentinel、Cluster 的节点、master、认证状态、DB 范围、脱敏 URI 示例、状态分级和下一步动作。适合用户问 Redis 哨兵/集群怎么配、为什么切库后失败、Cluster 多 DB 怎么处理时先读真实配置。", "ai_chat.inspection.tool_info.inspect_redis_topology.param.connectionId": "可选,只诊断某个 Redis 连接 ID", "ai_chat.inspection.tool_info.inspect_redis_topology.param.includeRecommendations": "可选,是否返回修复建议,默认 true", "ai_chat.inspection.tool_info.inspect_redis_topology.param.keyword": "可选,按连接名、地址、拓扑、Sentinel master 或节点地址筛选", "ai_chat.inspection.tool_info.inspect_redis_topology.param.limit": "可选,最多返回多少条 Redis 连接,默认 20,最大 100", "ai_chat.inspection.tool_info.inspect_redis_topology.params": "connectionId?, keyword?, limit?, includeRecommendations?(默认 true)", "ai_chat.inspection.tool_info.inspect_redis_topology.tool_description": "读取本地 Redis 连接的单机、Sentinel、Cluster 拓扑配置摘要,返回节点列表、Sentinel master、认证状态、DB 选择、TLS/SSH/代理状态、后端适配器、脱敏 URI 示例、状态分级、阻断原因、潜在配置风险和建议。适用于用户提到 Redis 哨兵、Redis Cluster、切换数据库失败、多节点地址、Sentinel master、Cluster 逻辑库或跨网络访问 Redis 时,先读取真实连接配置再回答;结果不会回显 Redis 密码或 Sentinel 密码。", "ai_chat.inspection.tool_info.inspect_saved_connections.desc": "查看本地已保存连接清单", "ai_chat.inspection.tool_info.inspect_saved_connections.detail": "可按关键词或数据库类型过滤,返回本地保存的数据源列表、连接类型分布,以及每条连接的地址、当前库、SSH/代理/HTTP 隧道状态。适合用户问“我本地存了哪些连接”“帮我找 mysql / postgres 连接”“哪条连接配置了 SSH”时先读真实本地连接资产。", "ai_chat.inspection.tool_info.inspect_saved_connections.param.keyword": "可选,按连接名、ID、类型、主机、数据库名或 SSH/代理地址做关键词筛选", "ai_chat.inspection.tool_info.inspect_saved_connections.param.limit": "可选,最多返回多少条连接,默认 20,最大 100", "ai_chat.inspection.tool_info.inspect_saved_connections.param.type": "可选,只看某种数据库类型,例如 mysql、postgres、redis、mongodb", "ai_chat.inspection.tool_info.inspect_saved_connections.params": "keyword?, type?, limit?", "ai_chat.inspection.tool_info.inspect_saved_connections.tool_description": "读取本地已保存连接清单,可按关键词和数据库类型过滤,并返回每条连接的类型、地址、当前库、SSH/代理/HTTP 隧道等摘要。适用于用户提到本地保存了哪些连接、要找哪条 mysql/postgres 连接、哪条连接启用了 SSH 或代理时,先读取真实本地连接资产再回答。", "ai_chat.inspection.tool_info.inspect_saved_queries.desc": "查看本地已保存 SQL 查询", "ai_chat.inspection.tool_info.inspect_saved_queries.detail": "可按关键词、连接或数据库过滤本地保存的查询,并返回查询名称、连接、数据库和 SQL 预览。适合用户提到之前保存的查询、想找历史 SQL 或复用已保存语句时调用。", "ai_chat.inspection.tool_info.inspect_saved_queries.param.connectionId": "可选。只查看某个连接下保存的查询。", "ai_chat.inspection.tool_info.inspect_saved_queries.param.dbName": "可选。只查看某个数据库下保存的查询。", "ai_chat.inspection.tool_info.inspect_saved_queries.param.includeSql": "可选。是否包含 SQL 预览。默认 true。", "ai_chat.inspection.tool_info.inspect_saved_queries.param.keyword": "可选。按查询名称、SQL 文本、连接名或数据库名过滤。", "ai_chat.inspection.tool_info.inspect_saved_queries.param.limit": "可选。最多返回多少条查询。默认 12,最大 50。", "ai_chat.inspection.tool_info.inspect_saved_queries.params": "keyword?, connectionId?, dbName?, limit?, includeSql?(默认 true)", "ai_chat.inspection.tool_info.inspect_saved_queries.tool_description": "读取本地已保存 SQL 查询,可按关键词、连接和数据库过滤,并返回每条查询的名称、连接、数据库与 SQL 预览。", "ai_chat.inspection.tool_info.inspect_shortcuts.desc": "查看当前快捷键配置与平台差异", "ai_chat.inspection.tool_info.inspect_shortcuts.detail": "返回快捷键动作、当前平台绑定、Windows/macOS 组合键、用户是否修改过以及默认值对照。适合用户询问某个快捷键是什么、Win 或 Mac 怎么按、是否改过默认值时调用。", "ai_chat.inspection.tool_info.inspect_shortcuts.param.action": "可选。按精确 action key 过滤,例如 toggleQueryResultsPanel、sendAIChatMessage 或 toggleAIPanel。", "ai_chat.inspection.tool_info.inspect_shortcuts.param.includeAllPlatforms": "可选。是否同时包含 Windows 和 macOS 两个平台绑定。默认 true。", "ai_chat.inspection.tool_info.inspect_shortcuts.param.includeDisabled": "可选。是否包含当前禁用的快捷键。默认 true。", "ai_chat.inspection.tool_info.inspect_shortcuts.param.keyword": "可选。按动作名、说明、作用域、组合键或默认值过滤。", "ai_chat.inspection.tool_info.inspect_shortcuts.params": "action?, keyword?, includeDisabled?(默认 true), includeAllPlatforms?(默认 true)", "ai_chat.inspection.tool_info.inspect_shortcuts.tool_description": "读取当前 GoNavi 快捷键配置快照,可按动作名或关键词过滤,并返回当前平台绑定、Windows/macOS 绑定、默认值和是否被自定义。", "ai_chat.inspection.tool_info.inspect_sql_editor_transaction.desc": "查看 SQL 编辑器事务提交状态", "ai_chat.inspection.tool_info.inspect_sql_editor_transaction.detail": "返回 SQL 编辑器托管 DML 事务语义、当前手动或自动提交设置、活动 SQL 页签是否会进入托管事务、待处理事务以及最近写入或事务执行记录。适合用户询问手动或自动提交含义、是否有未提交事务,或 update/insert/delete 是否会自动提交时使用。", "ai_chat.inspection.tool_info.inspect_sql_editor_transaction.param.includeSqlPreview": "可选。是否返回活动 SQL 页签中的 SQL 预览。默认 true。", "ai_chat.inspection.tool_info.inspect_sql_editor_transaction.tool_description": "读取 SQL 编辑器事务状态快照,包括 DML 始终进入托管事务的真实语义、当前提交模式、自动提交延迟、活动 SQL 页签是否触发托管事务、待处理事务以及最近写入或事务日志。用于解答 SQL 编辑器手动提交、自动提交、未提交事务或 DML 执行后是否提交。", "ai_chat.inspection.tool_info.inspect_sql_risk.desc": "检查当前或指定 SQL 的执行风险", "ai_chat.inspection.tool_info.inspect_sql_risk.detail": "读取传入 SQL 或当前活动查询页签内容,识别多语句、写入、DDL、DELETE/UPDATE 缺少 WHERE、DROP/TRUNCATE 等风险,并结合当前 AI 安全策略判断是否允许执行。适合在 AI 执行 SQL、解释风险或确认某条 SQL 能否运行前使用。", "ai_chat.inspection.tool_info.inspect_sql_risk.param.previewCharLimit": "可选。SQL 预览最多返回的字符数。默认 12000,最大 40000。", "ai_chat.inspection.tool_info.inspect_sql_risk.param.sql": "可选。要检查的 SQL。不传时默认读取当前活动查询页签中的 SQL 草稿。", "ai_chat.inspection.tool_info.inspect_sql_risk.tool_description": "检查传入 SQL 或当前活动查询页签 SQL 的执行风险,返回语句数量、活动类型、风险级别、风险点、是否需要用户确认以及当前 AI 安全策略结果。用于用户要求执行、删除、更新、运行 DDL、运行批量 SQL,或询问某条 SQL 能否运行时先行检查。", "ai_chat.inspection.tool_info.inspect_sql_snippets.desc": "查看 SQL 片段模板", "ai_chat.inspection.tool_info.inspect_sql_snippets.detail": "返回本地 SQL 片段的 prefix、名称、说明和模板预览,可按关键词过滤。适合用户想找现有模板、补全片段或团队 SQL 约定时调用。", "ai_chat.inspection.tool_info.inspect_sql_snippets.param.includeBody": "可选。是否包含模板正文预览。默认 true。", "ai_chat.inspection.tool_info.inspect_sql_snippets.param.keyword": "可选。按 prefix、名称、说明或模板内容过滤。", "ai_chat.inspection.tool_info.inspect_sql_snippets.param.limit": "可选。最多返回多少条片段。默认 20,最大 80。", "ai_chat.inspection.tool_info.inspect_sql_snippets.params": "keyword?, limit?, includeBody?(默认 true)", "ai_chat.inspection.tool_info.inspect_sql_snippets.tool_description": "读取本地 SQL 片段模板,可按关键词过滤,并返回 prefix、名称、说明和模板预览。", "ai_chat.inspection.tool_info.inspect_workspace_tabs.desc": "查看当前工作区打开的页签总览", "ai_chat.inspection.tool_info.inspect_workspace_tabs.detail": "返回当前工作区里打开的页签列表、哪个是活动页签,以及每个页签对应的连接、数据库、表名等上下文。适合用户说“我现在开了哪些 SQL”“看看我工作区里有哪些页签”“帮我对比这几个查询页签”时,先读取真实工作区布局再继续分析。", "ai_chat.inspection.tool_info.inspect_workspace_tabs.param.includeContent": "可选,是否附带页签中的 SQL / 命令草稿内容,默认 false", "ai_chat.inspection.tool_info.inspect_workspace_tabs.param.limit": "可选,最多返回多少个页签,默认 12,最大 30", "ai_chat.inspection.tool_info.inspect_workspace_tabs.params": "limit?(默认 12), includeContent?(默认 false)", "ai_chat.inspection.tool_info.inspect_workspace_tabs.tool_description": "获取当前工作区已打开页签的总览,包括活动页签、页签类型、连接、数据库、表名,以及可选的 SQL / 命令草稿内容。适用于用户提到当前工作区、打开了哪些页签、哪几个查询页签、想对比多个编辑器内容时,先读取真实界面状态,避免模型猜测。", "ai_chat.inspection.upstream_logs.message.empty": "最近日志里没有找到 AI 上游请求记录;请先发送一次 AI 消息,或扩大 lineLimit 后重试。", "ai_chat.inspection.upstream_logs.next_action.confirm_logging": "确认当前构建已包含 AI 上游请求日志能力。", "ai_chat.inspection.upstream_logs.next_action.filter_request_body": "如需核对完整入参,先用 requestId 精确过滤,再查看 bodyPreview 是否已被截断。", "ai_chat.inspection.upstream_logs.next_action.inspect_timeout": "如果只有开始没有完成/失败,继续查看 inspect_app_logs 或扩大 lineLimit 排查请求是否超时。", "ai_chat.inspection.upstream_logs.next_action.read_warn_error": "如果仍没有记录,调用 inspect_app_logs 读取最近 WARN/ERROR 原文。", "ai_chat.inspection.upstream_logs.next_action.send_message": "发送一次 AI 聊天消息后再调用本工具。", "ai_chat.inspection.upstream_logs.warning.invalid_json": "请求 body 不是完整 JSON,可能已被日志截断,无法生成结构化摘要。", "ai_chat.inspection.upstream_logs.warning.large_input": "输入文本体量较大,必要时先收窄上下文或减少日志/DDL 内容。", "ai_chat.inspection.upstream_logs.warning.missing_messages": "未识别到 messages、contents、system 或 prompt 字段,请确认上游协议是否符合预期。", "ai_chat.inspection.upstream_logs.warning.missing_tools": "payload 未携带 tools/functions,模型无法发起工具调用。", "ai_chat.inspection.upstream_logs.warning.not_json_object": "请求 body 不是 JSON object,无法识别模型、消息和工具字段。", "ai_chat.inspection.workspace.no_active_tab": "当前没有活动页签", "ai_chat.mcp_client.install.action.connected": "{{label}} 已接入,无需重复安装", "ai_chat.mcp_client.install.action.copy_remote": "复制 {{label}} 远程接入说明", "ai_chat.mcp_client.install.action.install": "安装到 {{label}}(外部工具)", "ai_chat.mcp_client.install.action.update": "更新 {{label}} 接入配置", "ai_chat.mcp_client.install.detection.detected": "已检测到本机 {{command}} 命令,接入或更新后重启 {{label}} 即可验证。", "ai_chat.mcp_client.install.detection.not_detected": "未检测到本机 {{command}} 命令;如果 CLI 还没加入 PATH,也可以先写入 {{label}} 的接入配置,稍后再重启验证。", "ai_chat.mcp_client.install.detection.remote": "{{label}} 通常不在这台 Windows 上运行,本机无需检测 {{command}} 命令;请在云端配置远程 MCP 桥接地址。", "ai_chat.mcp_client.install.intro.description": "Claude Code 和 Codex 会写入本机用户级 MCP 配置;OpenClaw、Hermans 这类云端 Agent 会提供远程接入说明,避免把数据库密码复制到云端。", "ai_chat.mcp_client.install.intro.title": "这里是在把 GoNavi MCP 接入 Claude Code / Codex / OpenClaw / Hermans,给外部工具调用,不是给 GoNavi 自己安装插件。", "ai_chat.mcp_client.install.message.already_connected": "{{label}} 已接入当前 GoNavi MCP,无需重复写入", "ai_chat.mcp_client.install.message.claude_not_supported": "当前版本暂不支持自动安装 Claude Code MCP", "ai_chat.mcp_client.install.message.codex_not_supported": "当前版本暂不支持自动安装 Codex MCP", "ai_chat.mcp_client.install.message.config_path_copied": "配置文件路径已复制", "ai_chat.mcp_client.install.message.config_path_copy_failed": "复制配置文件路径失败", "ai_chat.mcp_client.install.message.config_path_missing": "当前没有可复制的配置文件路径", "ai_chat.mcp_client.install.message.install_failed": "安装 {{label}} MCP 失败", "ai_chat.mcp_client.install.message.install_success": "已写入 {{label}} 用户级 MCP 配置", "ai_chat.mcp_client.install.message.launch_command_copied": "启动命令已复制", "ai_chat.mcp_client.install.message.launch_command_copy_failed": "复制启动命令失败", "ai_chat.mcp_client.install.message.launch_command_missing": "当前没有可复制的启动命令", "ai_chat.mcp_client.install.message.refresh_failed": "刷新客户端安装状态失败", "ai_chat.mcp_client.install.message.remote_guide_copied": "{{label}} 远程接入说明已复制", "ai_chat.mcp_client.install.message.remote_guide_copy_failed": "复制 {{label}} 远程接入说明失败", "ai_chat.mcp_client.install.option.connected": "当前这份 GoNavi MCP 已接入到这个客户端。", "ai_chat.mcp_client.install.option.error": "接入状态读取异常,建议先刷新再处理。", "ai_chat.mcp_client.install.option.missing": "尚未把当前 GoNavi MCP 接入到这里。", "ai_chat.mcp_client.install.option.remote": "适合云端 Agent:默认 schema-only 读取 GoNavi 表结构,不复制数据库密码,不暴露 execute_sql。", "ai_chat.mcp_client.install.option.stale": "检测到旧的 GoNavi 接入记录,建议更新为当前安装路径。", "ai_chat.mcp_client.install.repeat_avoidance": "已经接入当前这份 GoNavi 时,下面的主按钮会自动禁用,避免重复写入。", "ai_chat.mcp_client.install.selected.connected": "已接入当前 GoNavi,无需重复操作", "ai_chat.mcp_client.install.selected.error": "状态读取异常,建议先刷新检测", "ai_chat.mcp_client.install.selected.missing": "当前还没有接入 GoNavi MCP", "ai_chat.mcp_client.install.selected.remote": "需要配置远程 MCP 桥接,数据库密码仍留在 GoNavi 本机", "ai_chat.mcp_client.install.selected.stale": "已存在旧接入记录,建议更新到当前 GoNavi 路径", "ai_chat.mcp_client.install.selector.aria_label": "选择要安装 GoNavi MCP 的外部客户端", "ai_chat.mcp_client.install.selector.choice_title": "选择外部客户端", "ai_chat.mcp_client.install.selector.description": "先选择 1 个目标客户端。本机 CLI 可自动写入或更新配置;远程 Agent 需要通过 MCP 桥接/隧道访问当前 GoNavi,不应保存数据库连接密码。", "ai_chat.mcp_client.install.selector.hint.active_local": "当前已选中,将只对这个客户端执行写入或更新。", "ai_chat.mcp_client.install.selector.hint.active_remote": "当前已选中,将复制远程接入说明。", "ai_chat.mcp_client.install.selector.hint.inactive_local": "点击后切换到这个客户端。", "ai_chat.mcp_client.install.selector.hint.inactive_remote": "点击后查看远程接入方式。", "ai_chat.mcp_client.install.selector.step.restart.detail": "本机 CLI 重启后验证;云端 Agent 配置远程 MCP 地址后验证。", "ai_chat.mcp_client.install.selector.step.restart.title": "重启或配置目标端", "ai_chat.mcp_client.install.selector.step.target.detail": "本机 Claude/Codex 可自动安装,OpenClaw/Hermans 走远程接入说明。", "ai_chat.mcp_client.install.selector.step.target.title": "选择目标客户端", "ai_chat.mcp_client.install.selector.step.write.detail": "自动安装只改用户级 MCP 配置;远程 Agent 复制桥接说明。", "ai_chat.mcp_client.install.selector.step.write.title": "写入或复制配置", "ai_chat.mcp_client.install.selector.title": "接入外部客户端", "ai_chat.mcp_client.install.state.connected": "外部工具接入状态:已接入当前 GoNavi", "ai_chat.mcp_client.install.state.error": "外部工具接入状态:读取失败", "ai_chat.mcp_client.install.state.missing": "外部工具接入状态:未接入", "ai_chat.mcp_client.install.state.remote": "外部工具接入状态:需配置远程 MCP 桥接", "ai_chat.mcp_client.install.state.stale": "外部工具接入状态:已存在旧配置,需更新", "ai_chat.mcp_client.install.status_tone.connected": "已接入", "ai_chat.mcp_client.install.status_tone.not_connected": "未接入", "ai_chat.mcp_client.install.status_tone.remote_bridge": "远程桥接", "ai_chat.mcp_client.install.status_tone.status_error": "状态异常", "ai_chat.mcp_client.install.status_tone.update_required": "需更新", "ai_chat.mcp_client.install.status.cli_prefix": "CLI 检测:{{status}}", "ai_chat.mcp_client.install.status.cli.detected": "已检测到 {{command}}", "ai_chat.mcp_client.install.status.cli.not_detected": "未检测到 {{command}},仍可先写配置", "ai_chat.mcp_client.install.status.cli.remote": "远程 Agent 不需要检测本机 {{command}} 命令", "ai_chat.mcp_client.install.status.command_path": "命令路径:{{path}}", "ai_chat.mcp_client.install.status.config_file": "配置文件:{{path}}", "ai_chat.mcp_client.install.status.copy_command": "复制启动命令", "ai_chat.mcp_client.install.status.copy_config": "复制配置路径", "ai_chat.mcp_client.install.status.current_state": "当前状态:{{status}}", "ai_chat.mcp_client.install.status.current_target": "当前目标客户端:{{label}}", "ai_chat.mcp_client.install.status.detection_missing": "未检测到接入状态", "ai_chat.mcp_client.install.status.detection_result": "检测结果:{{message}}", "ai_chat.mcp_client.install.status.launch_command": "启动命令:{{command}}", "ai_chat.mcp_client.install.status.no_client": "未选择客户端", "ai_chat.mcp_client.install.status.refresh": "刷新状态", "ai_chat.mcp_client.install.status.remote_boundary": "远程接入边界:数据库连接信息和密码仍保存在 Windows GoNavi;云端 Agent 默认通过 schema-only MCP 工具读取连接摘要、库表和 DDL,不注册 execute_sql。跨机器接入请使用 GoNavi Streamable HTTP 模式,并配合 token、隧道或反向代理。", "ai_chat.mcp_client.install.status.title": "已选客户端状态", "ai_chat.mcp_client.install.summary.connected": "{{label}} 已接入当前这份 GoNavi MCP,可直接在这个客户端里调用。", "ai_chat.mcp_client.install.summary.error": "{{label}} 的接入状态读取失败,建议先刷新检测。", "ai_chat.mcp_client.install.summary.missing": "当前还没有把这份 GoNavi MCP 接入 {{label}}。", "ai_chat.mcp_client.install.summary.remote": "{{label}} 通常运行在云端或远端机器,需要通过远程 MCP 桥接调用当前 GoNavi。", "ai_chat.mcp_client.install.summary.stale": "{{label}} 里已经有旧的 GoNavi 接入记录,更新后会切到当前这份 GoNavi。", "ai_chat.message.action.copied": "已复制", "ai_chat.message.action.copied_error_raw": "已复制报错原文", "ai_chat.message.action.copy_error_raw": "复制报错原文", "ai_chat.message.action.copy_full": "复制全文", "ai_chat.message.action.delete": "删除单条消息", "ai_chat.message.action.edit": "编辑此条消息(移除其后所有记录并重新发送)", "ai_chat.message.action.retry": "重新生成(移除此条并触发上次用户输入重发)", "ai_chat.message.code.collapse": "收起代码", "ai_chat.message.code.copied": "已复制", "ai_chat.message.code.copy": "复制代码", "ai_chat.message.code.execute": "执行", "ai_chat.message.code.execute_failed": "执行失败", "ai_chat.message.code.execute_tooltip": "立即执行(受 AI 安全策略管控)", "ai_chat.message.code.executing": "执行中...", "ai_chat.message.code.expand_all": "展开全部代码", "ai_chat.message.code.insert": "插入", "ai_chat.message.code.insert_tooltip": "将该段 SQL 注入查询工作区(可快捷修改或执行)", "ai_chat.message.code.preview": "预览", "ai_chat.message.code.preview_collapse": "收起", "ai_chat.message.code.preview_result": "预览结果({{rows}} 行 × {{columns}} 列)", "ai_chat.message.code.preview_tooltip": "在聊天内预览查询结果(最多 20 行)", "ai_chat.message.code.query_no_result": "查询无结果", "ai_chat.message.code.view_result": "查看结果({{rows}} 行)", "ai_chat.message.image_alt": "附件图片 {{index}}", "ai_chat.message.jvm.apply_diagnostic": "应用到诊断控制台", "ai_chat.message.jvm.apply_preview": "应用到 JVM 预览", "ai_chat.message.jvm.diagnostic_target_not_found": "未找到与该诊断计划匹配的诊断控制台页签,请先打开原目标控制台后再应用。", "ai_chat.message.jvm.missing_diagnostic_context": "这条诊断计划缺少来源页签上下文,请在目标诊断控制台重新生成。", "ai_chat.message.jvm.missing_plan_context": "这条 JVM 计划缺少来源页签上下文,请在目标 JVM 资源页重新生成。", "ai_chat.message.jvm.plan_target_not_found": "未找到与该 JVM 计划匹配的资源页签,请先打开原目标资源后再应用。", "ai_chat.message.mermaid.parse_failed": "Mermaid 解析失败:{{detail}}", "ai_chat.message.mermaid.render_failed": "Mermaid 渲染异常:{{detail}}", "ai_chat.message.render_error.body": "其余对话仍可继续使用。你可以先删除这条异常消息,再继续操作。", "ai_chat.message.render_error.delete": "删除这条消息", "ai_chat.message.render_error.retry": "重试渲染", "ai_chat.message.render_error.title": "这条 AI 消息渲染失败,已自动隔离", "ai_chat.message.render_error.unknown": "未知渲染错误", "ai_chat.message.role.user": "你", "ai_chat.message.security.blocked": "🔒 安全策略拦截:当前安全级别不允许执行 {{operationType}} 类型的 SQL。请在 AI 设置中调整安全级别。", "ai_chat.message.security.confirm_execute": "确认执行", "ai_chat.message.security.confirm_title": "⚠️ 安全确认", "ai_chat.message.security.default_warning": "此 SQL 为 {{operationType}} 操作,确定要执行吗?", "ai_chat.message.thinking.active": "思考中...", "ai_chat.message.thinking.count": "({{count}} 字)", "ai_chat.message.thinking.title": "思考过程", "ai_chat.message.tool_call.done": "数据探针执行完毕 ({{count}} 项)", "ai_chat.message.tool_call.execute_sql": "执行只读 SQL 验证", "ai_chat.message.tool_call.get_all_columns": "汇总跨表字段摘要", "ai_chat.message.tool_call.get_columns": "核对真实字段定义", "ai_chat.message.tool_call.get_connections": "获取可用连接信息", "ai_chat.message.tool_call.get_databases": "扫描数据库列表", "ai_chat.message.tool_call.get_foreign_keys": "梳理外键关系", "ai_chat.message.tool_call.get_indexes": "检查索引定义", "ai_chat.message.tool_call.get_table_ddl": "提取建表语句", "ai_chat.message.tool_call.get_tables": "分析表结构信息", "ai_chat.message.tool_call.get_triggers": "检查触发器逻辑", "ai_chat.message.tool_call.inspect_active_tab": "读取当前活动页签", "ai_chat.message.tool_call.inspect_ai_chat_readiness": "读取当前 AI 聊天发送前置状态", "ai_chat.message.tool_call.inspect_ai_context_budget": "诊断 AI 上下文体量风险", "ai_chat.message.tool_call.inspect_ai_guidance": "读取当前 AI 提示与技能配置", "ai_chat.message.tool_call.inspect_ai_last_render_error": "读取最近一次 AI 渲染异常", "ai_chat.message.tool_call.inspect_ai_message_flow": "诊断当前 AI 消息流", "ai_chat.message.tool_call.inspect_ai_providers": "读取当前 AI 供应商与模型配置", "ai_chat.message.tool_call.inspect_ai_runtime": "读取当前 AI 运行状态", "ai_chat.message.tool_call.inspect_ai_safety": "读取当前 AI 安全边界", "ai_chat.message.tool_call.inspect_ai_sessions": "盘点本地 AI 历史会话", "ai_chat.message.tool_call.inspect_ai_support_bundle": "生成 AI 排障支持包", "ai_chat.message.tool_call.inspect_ai_tool_catalog": "读取 AI 工具目录和参数提示", "ai_chat.message.tool_call.inspect_app_logs": "回看 GoNavi 应用日志", "ai_chat.message.tool_call.inspect_codebase_hotspots": "读取代码大文件热点", "ai_chat.message.tool_call.inspect_connection_capabilities": "读取当前连接能力矩阵", "ai_chat.message.tool_call.inspect_current_connection": "读取当前连接摘要", "ai_chat.message.tool_call.inspect_database_bundle": "抓取数据库结构总览", "ai_chat.message.tool_call.inspect_external_sql_directories": "盘点外部 SQL 目录", "ai_chat.message.tool_call.inspect_external_sql_file": "读取外部 SQL 文件", "ai_chat.message.tool_call.inspect_mcp_authoring_guide": "读取 MCP 新增填写指引", "ai_chat.message.tool_call.inspect_mcp_draft": "校验 MCP 新增草稿", "ai_chat.message.tool_call.inspect_mcp_runtime_failures": "诊断 MCP 运行期失败", "ai_chat.message.tool_call.inspect_mcp_setup": "读取当前 MCP 配置状态", "ai_chat.message.tool_call.inspect_mcp_tool_schema": "读取 MCP 工具参数 schema", "ai_chat.message.tool_call.inspect_recent_connection_failures": "总结最近连接失败记录", "ai_chat.message.tool_call.inspect_recent_sql_activity": "总结最近 SQL 活动", "ai_chat.message.tool_call.inspect_recent_sql_logs": "回看最近 SQL 执行日志", "ai_chat.message.tool_call.inspect_redis_topology": "诊断 Redis 拓扑配置", "ai_chat.message.tool_call.inspect_saved_connections": "盘点本地已保存连接", "ai_chat.message.tool_call.inspect_saved_queries": "检索本地已保存查询", "ai_chat.message.tool_call.inspect_shortcuts": "读取当前快捷键配置", "ai_chat.message.tool_call.inspect_sql_editor_transaction": "读取 SQL 编辑器事务状态", "ai_chat.message.tool_call.inspect_sql_snippets": "读取 SQL 片段模板", "ai_chat.message.tool_call.inspect_table_bundle": "抓取完整表结构快照", "ai_chat.message.tool_call.inspect_workspace_tabs": "盘点当前工作区页签", "ai_chat.message.tool_call.preview_table_rows": "预览真实样例数据", "ai_chat.message.tool_call.running": "正在执行数据探针...", "ai_chat.message.tool_result.char_count": "{{count}} 个字符", "ai_chat.message.tool_result.no_data": "无数据", "ai_chat.message.tool_result.title": "探针执行结果 ({{name}})", "ai_chat.message.wait.connecting": "正在建立连接", "ai_chat.panel.error.html_response": "服务端返回了异常 HTML 响应(可能是网关超时或服务不可用)", "ai_chat.panel.error.http_server": "HTTP {{code}} 服务端错误", "ai_chat.panel.error.truncated_suffix": "...(已截断)", "ai_chat.panel.error.unknown": "未知错误", "ai_chat.panel.history.empty": "暂无历史会话", "ai_chat.panel.insight.context.empty_body": "在表页打开 AI 后会自动关联当前表,也可以在输入框上方手动添加上下文。", "ai_chat.panel.insight.context.empty_title": "尚未关联表结构", "ai_chat.panel.insight.context.linked_body": "当前对话会带上 {{tables}} 的结构上下文。", "ai_chat.panel.insight.context.linked_title": "已关联 {{count}} 张表", "ai_chat.panel.insight.context.more_tables_suffix": " 等表", "ai_chat.panel.insight.context.table_separator": "、", "ai_chat.panel.insight.query.empty_body": "执行查询后这里会显示可用于优化分析的 SQL 线索。", "ai_chat.panel.insight.query.empty_title": "暂无查询耗时样本", "ai_chat.panel.insight.query.slowest_title": "最近最慢查询 {{duration}}ms", "ai_chat.panel.insight.status.empty_body": "暂无 SQL 日志。", "ai_chat.panel.insight.status.failed_title": "{{count}} 条最近查询失败", "ai_chat.panel.insight.status.ok_title": "最近查询状态正常", "ai_chat.panel.insight.status.recent_body": "已记录 {{count}} 条最近 SQL,可直接让 AI 解释或优化。", "ai_chat.panel.insight.write.detected_body": "涉及写入的 SQL 建议先生成预览与回滚语句,再执行提交。", "ai_chat.panel.insight.write.detected_title": "检测到 {{count}} 条写操作", "ai_chat.panel.insight.write.readonly_body": "AI 默认优先解释、生成 SELECT、分析 Schema 与优化索引。", "ai_chat.panel.insight.write.readonly_title": "当前以只读分析为主", "ai_chat.panel.jvm_diagnostic.permission.allowed": "允许", "ai_chat.panel.jvm_diagnostic.permission.forbidden": "禁止", "ai_chat.panel.jvm_diagnostic.policy.plan_first": "允许生成诊断命令,但仍然必须先给计划,再由用户决定是否执行。", "ai_chat.panel.jvm_diagnostic.policy.read_only": "默认按只读诊断思路回答,只生成 observe、trace、排障命令,不要假设已经执行。", "ai_chat.panel.jvm_runtime.policy.preview_required": "可写连接,但任何修改都必须先生成预览并等待人工确认。", "ai_chat.panel.jvm_runtime.policy.read_only": "只读连接,只能分析和生成变更计划,绝不能假设已执行写入。", "ai_chat.panel.jvm_runtime.resource_path.current": "当前 resourcePath:{{resourcePath}}", "ai_chat.panel.jvm_runtime.resource_path.missing": "当前未选中具体 resourcePath。", "ai_chat.panel.local_tool.execute_sql.description": "在指定连接和数据库上执行 SQL 查询并返回结果。受安全级别控制,只读模式下只能执行 SELECT/SHOW/DESCRIBE 等查询操作。结果最多返回 50 行。", "ai_chat.panel.local_tool.get_columns.description": "获取指定表的 field 列表(field 名、类型、是否可空、默认值、注释等)。在生成 SQL 之前必须先调用此工具确认真实 field 名,禁止猜测 field 名。", "ai_chat.panel.local_tool.get_connections.description": "当需要查询、操作数据库但用户没有选择任何连接上下文时,获取当前软件中可用的所有数据库连接信息。返回的数据包含连接 ID (id) 和名称 (name)。", "ai_chat.panel.local_tool.get_databases.description": "获取指定连接 (connectionId) 下的所有数据库 (Database/Schema) 名。", "ai_chat.panel.local_tool.get_table_ddl.description": "获取指定表的完整 CREATE TABLE DDL,包含 field、索引、约束等完整结构信息。", "ai_chat.panel.local_tool.get_tables.description": "当已经确定了目标连接和 dbName 后,如果用户询问或隐式提到了表但你不知道确切 tableName,调用此工具获取该数据库下的所有表名列表(只含表名,帮助你推断目标表)。", "ai_chat.panel.local_tool.param.connection_id": "connectionId(连接 ID)", "ai_chat.panel.local_tool.param.connection_id_from_get_connections": "connectionId(从 get_connections 获取)", "ai_chat.panel.local_tool.param.db_name": "dbName(数据库名)", "ai_chat.panel.local_tool.param.sql": "要执行的 SQL 语句", "ai_chat.panel.local_tool.param.table_name": "tableName(表名)", "ai_chat.panel.message.empty_response": "❌ 模型未能成功响应任何内容,可能遭遇频控、上下文超载或理解拒绝。", "ai_chat.panel.message.error": "❌ 错误: {{detail}}", "ai_chat.panel.message.request_interrupted": "❌ 请求中断:未收到任何具体回复。", "ai_chat.panel.message.send_failed": "❌ 发送失败: {{detail}}", "ai_chat.panel.message.service_not_ready": "❌ AI Service 未就绪", "ai_chat.panel.model_control.continue_after_summary": "请根据上述最新状态与探索结果,继续完成你先前未竟的分析或执行下一步。", "ai_chat.panel.model_control.force_tool_call": "请直接使用 function call 调用工具执行操作,不要只用文字描述计划。", "ai_chat.panel.notice.fetch_models_failed": "获取模型列表失败:{{detail}}", "ai_chat.panel.probe.consecutive_failed": "⚠️ 探针连续 3 轮执行失败,自动终止。请检查连接状态后重试。", "ai_chat.panel.probe.max_rounds": "⚠️ 工具调用已达 {{count}} 轮上限,自动终止循环。如需继续探索,请发送新的消息。", "ai_chat.panel.prompt.jvm_diagnostic": "你是 GoNavi 的 JVM 诊断助手。当前页签是 Arthas 兼容诊断工作台,目标是输出可回填到诊断控制台的结构化诊断计划。\n\n当前连接:{{connectionName}}\n目标主机:{{host}}\n诊断 transport:{{transport}}\n运行环境:{{environment}}\n连接策略:{{readOnlyPolicy}}\n命令权限:observe={{observePolicy}},trace={{tracePolicy}},mutating={{mutatingPolicy}}\n\n回答规则:\n1. 可以先给一小段分析,但必须包含且只包含一个 ```json 代码块。\n2. JSON 字段严格限定为 intent、transport、command、riskLevel、reason、expectedSignals。\n3. transport 必须填写上面的诊断 transport,不要编造其他 transport。\n4. command 必须是单条诊断命令,不要带 shell 提示符、换行拼接、多条命令或代码围栏。\n5. riskLevel 只能是 low、medium、high。\n6. expectedSignals 必须是字符串数组,描述执行后需要重点观察的信号。\n7. 如果命令权限不允许某类操作,就不要输出该类命令;无法满足时直接说明限制。", "ai_chat.panel.prompt.jvm_runtime": "你是 GoNavi 的 JVM 运行时分析助手。当前上下文不是 SQL,而是 JVM 资源工作台。\n\n当前连接:{{connectionName}}\n目标主机:{{host}}\nProvider 模式:{{providerMode}}\n运行环境:{{environment}}\n连接策略:{{connectionPolicy}}\n资源路径状态:{{resourcePathStatus}}\n\n回答规则:\n1. 你可以解释资源结构、风险、修改建议和回滚建议。\n2. 如果用户要求生成 JVM 修改方案,必须输出一个唯一的 ```json 代码块,并且 JSON 字段严格限定为 targetType、selector、action、payload、reason。\n3. action 优先使用当前资源快照或元数据里已经声明的 supportedActions;如果当前资源没有声明,再基于快照内容谨慎推断。\n4. selector.resourcePath 优先使用当前 resourcePath;如果当前路径未知,就明确说明无法精确定位,不要编造路径。\n5. payload 只能使用 {\"format\":\"json\",\"value\":{...}} 或 {\"format\":\"text\",\"value\":\"...\"} 这两种包装形式,不要输出脚本、命令或裸值。\n6. 不要输出脚本、命令或已经执行成功之类的表述。", "ai_chat.panel.prompt.memory_summary": "这是一段超长对话的历史记录。为了释放上下文空间同时保留你的记忆核心,请你仔细阅读并以“技术事实、已探索出的数据结构状态、用户的中心诉求、当前进展”为准则,进行高度浓缩的结构化总结。\n注意:\n1. 客观准确,不能遗漏关键业务逻辑或探索出的表名/字段。\n2. 剔除无效执行过程、客套话、JSON 返回值本身。\n3. 请控制在 1000-2000 字左右,输出纯干货 Markdown。\n4. 开头直接输出总结,不要带寒暄。", "ai_chat.panel.prompt.sql.context_tables": "你是一个专业的数据库助手。当前连接的数据库类型是 {{dbDisplayType}}。请使用该方言生成 SQL。以下是用户关联的表结构 DDL,请在回答时优先参考:\n\n{{ddlChunks}}", "ai_chat.panel.prompt.sql.current_database": "你是一个专业的数据库助手。当前连接的数据库类型是 {{dbDisplayType}},当前数据库名为 {{targetDbName}}。如果用户需要查询特定的表或者有关当前库的信息,你可以调用提供的 get_tables 工具来主动获取数据表信息。", "ai_chat.panel.prompt.sql.no_connections": "你是一个专业的数据库助手。当前应用中没有可用数据库连接。\n\n如果用户的问题需要数据库结构或 SQL,请先说明无法调用 get_connections、get_databases、get_tables、get_columns 获取真实数据库信息,并引导用户创建连接后重试。不要猜测 connectionId、dbName、表名或字段名。\n\n如果是常规问答(不涉及数据库查询)则正常作答即可。", "ai_chat.panel.prompt.sql.no_context": "你是一个专业的数据库助手。用户目前在界面上没有选中任何具体的数据库或数据表用于充当上下文。\n\n重要规则:\n1. 如果你需要帮用户寻找目标表,千万不要凭空猜测表名!必须调用工具去获取真实数据。\n2. 完整工作流程:get_connections → get_databases → get_tables → get_columns → 生成 SQL。每一步都不可跳过。\n3. 【连接优先级 - 极重要】获取连接列表后,必须按以下优先级依次检索:\n - 第一优先:host 为 localhost、127.0.0.1、或包含“本地”的连接\n - 第二优先:name 或 host 包含“开发”、“dev”、“local” 的连接,或 host 为 10.x、192.168.x、172.16-31.x 等内网 IP 的连接\n - 第三优先:其他连接(如“测试”、“生产”等)\n 如果在高优先级连接中已找到目标表,直接使用该连接,不再查找低优先级连接。\n4. 如果在当前数据库中未找到目标表,必须继续查询其他数据库,不要放弃。\n5. 只有当所有可能的数据库都已检查完毕,或者已经明确找到目标表时,才可以停止。\n6. 如果是常规问答(不涉及数据库查询)则正常作答即可。\n\nSQL 生成规则(极重要,必须严格遵守):\n7. 【字段精确性 - 绝对红线】生成 SQL 之前,必须先调用 get_columns 获取目标表的真实字段列表。SQL 中的每一个字段名必须与 get_columns 返回的 field 字段完全一致(区分大小写)。不得自行拼凑、缩写或联想字段名(例如字段是 channel 就必须写 channel,不得写成 pay_channel)。\n8. 生成 SQL 时禁止使用 \"database.table\" 格式的限定前缀,只写表名本身。\n9. 报告结果时,连接名/ID 和数据库名必须严格来自同一个 get_tables 调用的实际参数。禁止将 A 连接的 connectionId 与 B 连接的 dbName 混搭。\n10. 如果有多个名称相似的数据库,请明确告诉用户目标表具体位于哪个数据库。\n11. 【关键】每个 SQL 代码块的第一行必须添加上下文声明注释,格式严格为:-- @context connectionId=<连接ID> dbName=<数据库名>。connectionId 和 dbName 必须来自同一个成功的 get_tables 调用(即你在该调用中传入的实际参数值)。示例:\n```sql\n-- @context connectionId=1770778676549 dbName=mkefu_test\nSELECT * FROM users WHERE status = 1;\n```\n\n当前存在的连接:[{{connList}}]", "ai_chat.panel.render_error.delete": "删除这条消息", "ai_chat.panel.render_error.description": "其余对话仍可继续使用。你可以先删除这条异常消息,再继续操作。", "ai_chat.panel.render_error.retry": "重试渲染", "ai_chat.panel.render_error.title": "这条 AI 消息渲染失败,已自动隔离", "ai_chat.panel.render_error.unknown": "未知渲染错误", "ai_chat.panel.session.default_title": "新对话", "ai_chat.panel.status.analyzing_chain": "正在深度思考链路与逻辑", "ai_chat.panel.status.deep_reasoning": "模型大脑深度推理中", "ai_chat.panel.status.memory_compress_failed": "❌ 记忆压缩失败,将尝试原样接续...", "ai_chat.panel.status.memory_compressing": "⚙️ 对话已超载,正在启动记忆压缩...", "ai_chat.panel.status.memory_probe_summary": "【自动记忆重塑】已将超长历史探针数据和对话压缩为摘要:\n\n{{summary}}", "ai_chat.panel.status.memory_summary": "【自动记忆重塑】已将超长历史压缩为摘要:\n\n{{summary}}", "ai_chat.panel.status.model_connecting": "模型接入中", "ai_chat.panel.status.returning_runtime_data": "向模型回传运行时数据", "ai_chat.panel.status.summarizing_probe": "汇总探针执行结果中", "ai_chat.panel.status.waiting_instruction": "等待下发操作指令", "ai_chat.panel.status.waiting_response": "等待模型响应", "ai_chat.panel.status.waking_engine": "唤醒推理引擎中", "ai_chat.panel.tool_error.connection_not_found": "未找到连接", "ai_chat.panel.tool_error.fetch_all_columns_failed": "获取全库字段摘要失败:{{detail}}", "ai_chat.panel.tool_error.fetch_columns_failed": "获取字段列表失败:{{detail}}", "ai_chat.panel.tool_error.fetch_databases_failed": "获取数据库列表失败:{{detail}}", "ai_chat.panel.tool_error.fetch_foreign_keys_failed": "获取外键关系失败:{{detail}}", "ai_chat.panel.tool_error.fetch_indexes_failed": "获取索引定义失败:{{detail}}", "ai_chat.panel.tool_error.fetch_table_ddl_failed": "获取 CREATE TABLE 语句失败:{{detail}}", "ai_chat.panel.tool_error.fetch_tables_failed": "获取表列表失败:{{detail}}", "ai_chat.panel.tool_error.fetch_triggers_failed": "获取触发器定义失败:{{detail}}", "ai_chat.panel.tool_error.mcp_failed": "MCP 工具调用失败", "ai_chat.panel.tool_error.mcp_failed_with_detail": "MCP 工具调用失败:{{detail}}", "ai_chat.panel.tool_error.preview_table_rows_failed": "预览表样例数据失败:{{detail}}", "ai_chat.panel.tool_error.sql_blocked": "安全策略已拦截此请求:当前安全级别不允许执行 {{operationType}} SQL。请向用户展示该 SQL,并请用户手动执行。", "ai_chat.panel.tool_error.sql_execute_exception": "SQL 执行异常:{{detail}}", "ai_chat.panel.tool_error.sql_execute_failed": "SQL 执行失败", "ai_chat.panel.tool_error.table_name_required": "tableName 不能为空", "ai_chat.panel.tool_error.unknown_function": "未知函数:{{functionName}}", "ai_chat.panel.tool_result.columns_exact_fields": "⚠️ 以下为 {{tableName}} 表的真实字段列表。生成 SQL 时只能使用这些 field 值作为列名,必须原样使用,禁止修改、缩写或自行拼凑字段名。\n可用字段:{{fieldNames}}\n详细信息:{{detailJson}}", "ai_chat.quick_action.explain_schema": "🔍 解释表结构", "ai_chat.quick_action.explain_schema.hint.with_context": "逐字段说明含义与约束", "ai_chat.quick_action.explain_schema.prompt.with_context": "请详细解释以下表的设计意图和字段含义:{{tables}}", "ai_chat.quick_action.explain_schema.title": "解释表结构", "ai_chat.quick_action.explain_sql": "🔍 解释 SQL", "ai_chat.quick_action.explain_sql.hint.default": "说明执行逻辑", "ai_chat.quick_action.explain_sql.prompt.default": "请解释以下 SQL 语句的执行逻辑:\n```sql\n\n```", "ai_chat.quick_action.explain_sql.title": "解释 SQL", "ai_chat.quick_action.generate_sql": "📝 生成 SQL", "ai_chat.quick_action.generate_sql.hint.default": "自然语言生成查询", "ai_chat.quick_action.generate_sql.hint.with_context": "自然语言生成查询", "ai_chat.quick_action.generate_sql.prompt.default": "请根据当前数据库表结构生成一条查询语句:", "ai_chat.quick_action.generate_sql.prompt.with_context": "请根据以下表结构生成一条常用查询语句:{{tables}}", "ai_chat.quick_action.generate_sql.title": "生成 SQL", "ai_chat.quick_action.optimize": "⚡ 优化建议", "ai_chat.quick_action.optimize.hint.default": "性能和索引建议", "ai_chat.quick_action.optimize.hint.with_context": "索引、范式、潜在风险", "ai_chat.quick_action.optimize.prompt.default": "请分析以下 SQL 语句的性能并给出优化建议:\n```sql\n\n```", "ai_chat.quick_action.optimize.prompt.with_context": "请分析以下表的结构设计,给出索引优化和查询性能优化建议:{{tables}}", "ai_chat.quick_action.optimize.title": "优化建议", "ai_chat.quick_action.schema_analysis": "🏗️ 结构分析", "ai_chat.quick_action.schema_analysis.hint.default": "结构质量分析", "ai_chat.quick_action.schema_analysis.hint.with_context": "表关系与依赖图", "ai_chat.quick_action.schema_analysis.prompt.default": "请分析当前数据库的表结构并给出优化建议。", "ai_chat.quick_action.schema_analysis.prompt.with_context": "请对以下表进行全面的 Schema 分析,包括数据类型选择、范式评估和改进建议:{{tables}}", "ai_chat.quick_action.schema_analysis.title": "Schema 分析", "ai_chat.quick_action.table_separator": "、", "ai_chat.system.context.custom_prompt.database": "以下是当前用户的自定义补充提示词(数据库会话)。在不违反安全规则和事实约束的前提下,请优先遵循:\n{{content}}", "ai_chat.system.context.custom_prompt.global": "以下是当前用户的自定义补充提示词(全局)。在不违反安全规则和事实约束的前提下,请优先遵循:\n{{content}}", "ai_chat.system.context.custom_prompt.jvm": "以下是当前用户的自定义补充提示词(JVM 资源分析)。在不违反安全规则和事实约束的前提下,请优先遵循:\n{{content}}", "ai_chat.system.context.custom_prompt.jvm_diagnostic": "以下是当前用户的自定义补充提示词(JVM 诊断)。在不违反安全规则和事实约束的前提下,请优先遵循:\n{{content}}", "ai_chat.system.context.database_with_schema": "你是一个专业的数据库助手。当前连接的数据库类型是 {{dbType}}。请使用 {{dbType}} 方言生成 SQL。以下是用户关联的表结构信息,请在回答时优先参考:\n\n{{ddlChunks}}", "ai_chat.system.context.database_with_target": "你是一个专业的数据库助手。当前连接的数据库类型是 {{dbType}},当前数据库名为 {{dbName}}。如果用户需要查询特定的表或者有关当前库的信息,你可以调用提供的 get_tables 工具来主动获取数据表信息。", "ai_chat.system.context.database_without_context": "你是一个专业的数据库助手。用户目前在界面上没有选中任何具体的数据库或数据表用于充当上下文。\n\n重要规则:\n1. 如果你需要帮用户寻找目标表,千万不要凭空猜测表名!必须调用工具去获取真实数据。\n2. 完整工作流程:get_connections → get_databases → get_tables → get_columns → 生成 SQL。每一步都不可跳过。\n3. 【连接优先级 - 极重要】获取连接列表后,必须按以下优先级依次检索:\n - 第一优先:host 为 localhost、127.0.0.1、或包含“本地”的连接\n - 第二优先:name 或 host 包含“开发”、“dev”、“local” 的连接,或 host 为 10.x、192.168.x、172.16-31.x 等内网 IP 的连接\n - 第三优先:其他连接(如“测试”、“生产”等)\n 如果在高优先级连接中已找到目标表,直接使用该连接,不再查找低优先级连接。\n4. 如果在当前数据库中未找到目标表,必须继续查询其他数据库,不要放弃。\n5. 只有当所有可能的数据库都已检查完毕,或者已经明确找到目标表时,才可以停止。\n6. 如果是常规问答(不涉及数据库查询)则正常作答即可。\n\nSQL 生成规则(极重要,必须严格遵守):\n7. 如果用户提到“当前页签”“当前 SQL”“当前编辑器”“这条语句”,但消息里没有贴出具体内容,优先调用 inspect_active_tab 读取当前活动页签上下文,不要猜测当前工作区里打开的内容。\n8. 如果用户提到“当前开了哪些页签”“工作区里有哪些 tab”“我现在打开了哪些查询”,优先调用 inspect_workspace_tabs 盘点当前工作区,再决定深入哪个页签。\n9. 【字段精确性 - 绝对红线】生成 SQL 之前,必须先调用 get_columns 获取目标表的真实字段列表。SQL 中的每一个字段名必须与 get_columns 返回的 field 字段完全一致(区分大小写)。不得自行拼凑、缩写或联想字段名。\n10. 如果用户在问索引优化、联表关系、触发器副作用、约束或 DDL 细节,在 get_columns 之后继续按需调用 get_indexes、get_foreign_keys、get_triggers、get_table_ddl,再给结论。\n11. 生成 SQL 时禁止使用 \"database.table\" 格式的限定前缀,只写表名本身。\n12. 报告结果时,连接名/ID 和数据库名必须严格来自同一个 get_tables 调用的实际参数。禁止将 A 连接的 connectionId 与 B 连接的 dbName 混搭。\n13. 如果有多个名称相似的数据库,请明确告诉用户目标表具体位于哪个数据库。\n14. 【关键】每个 SQL 代码块的第一行必须添加上下文声明注释,格式严格为:-- @context connectionId=<连接ID> dbName=<数据库名>。connectionId 和 dbName 必须来自同一个成功的 get_tables 调用(即你在该调用中传入的实际参数值)。示例:\n```sql\n-- @context connectionId=1770778676549 dbName=mkefu_test\nSELECT * FROM users WHERE status = 1;\n```\n\n当前存在的连接:[{{connList}}]", "ai_chat.system.context.jvm_diagnostic_policy.read_only": "默认按只读诊断思路回答,只生成观察、trace、排障命令,不要假设已经执行。", "ai_chat.system.context.jvm_diagnostic_policy.writable": "允许生成诊断命令,但仍然必须先给计划,再由用户决定是否执行。", "ai_chat.system.context.jvm_diagnostic_prompt": "你是 GoNavi 的 JVM 诊断助手。当前页签是 Arthas 兼容诊断工作台,目标是输出可回填到诊断控制台的结构化诊断计划。\n\n当前连接:{{connectionName}}\n目标主机:{{host}}\n诊断 transport:{{transport}}\n运行环境:{{environment}}\n连接策略:{{connectionPolicy}}\n命令权限:observe={{observeAllowed}},trace={{traceAllowed}},mutating={{mutatingAllowed}}\n\n回答规则:\n1. 可以先给一小段分析,但必须包含且只包含一个 ```json 代码块。\n2. JSON 字段严格限定为 intent、transport、command、riskLevel、reason、expectedSignals。\n3. transport 必须填写当前值 {{transport}},不要编造其他 transport。\n4. command 必须是单条诊断命令,不要带 shell 提示符、换行拼接、多条命令或代码围栏。\n5. riskLevel 只能是 low、medium、high。\n6. expectedSignals 必须是字符串数组,描述执行后需要重点观察的信号。\n7. 如果命令权限不允许某类操作,就不要输出该类命令;无法满足时直接说明限制。", "ai_chat.system.context.jvm_runtime_policy.read_only": "只读连接,只能分析和生成变更计划,绝不能假设已执行写入。", "ai_chat.system.context.jvm_runtime_policy.writable": "可写连接,但任何修改都必须先生成预览并等待人工确认。", "ai_chat.system.context.jvm_runtime_prompt": "你是 GoNavi 的 JVM 运行时分析助手。当前上下文不是 SQL,而是 JVM 资源工作台。\n\n当前连接:{{connectionName}}\n目标主机:{{host}}\nProvider 模式:{{providerMode}}\n运行环境:{{environment}}\n连接策略:{{connectionPolicy}}\n{{resourcePathLine}}\n\n回答规则:\n1. 你可以解释资源结构、风险、修改建议和回滚建议。\n2. 如果用户要求生成 JVM 修改方案,必须输出一个唯一的 ```json 代码块,并且 JSON 字段严格限定为 targetType、selector、action、payload、reason。\n3. action 优先使用当前资源快照或元数据里已经声明的 supportedActions;如果当前资源没有声明,再基于快照内容谨慎推断。\n4. selector.resourcePath 优先使用当前资源路径;如果当前路径未知,就明确说明无法精确定位,不要编造路径。\n5. payload 只能使用 {\"format\":\"json\",\"value\":{...}} 或 {\"format\":\"text\",\"value\":\"...\"} 这两种包装形式,不要输出脚本、命令或裸值。\n6. 不要输出脚本、命令或“已经执行成功”之类的表述。", "ai_chat.system.context.jvm_runtime_resource_path": "当前资源路径:{{resourcePath}}", "ai_chat.system.context.jvm_runtime_resource_path_unselected": "当前未选中具体资源路径。", "ai_chat.system.context.no_connections": "无连接", "ai_chat.system.context.permission.allowed": "允许", "ai_chat.system.context.permission.denied": "禁止", "ai_chat.system.context.skill_prompt": "以下是当前启用的 Skill「{{skillName}}」({{skillDescription}})。请在本次回答中遵循它的约束和工作方式:{{requiredTools}}\n{{content}}", "ai_chat.system.context.skill_prompt_without_description": "以下是当前启用的 Skill「{{skillName}}」。请在本次回答中遵循它的约束和工作方式:{{requiredTools}}\n{{content}}", "ai_chat.system.context.skill_prompt.required_tools": "\n依赖工具:{{requiredTools}}", "ai_chat.system.inspection_guidance.inspect_ai_chat_readiness": "当用户询问为什么不能发送、当前 AI chat 缺什么配置或输入区是否就绪时,先调用 inspect_ai_chat_readiness 读取真实发送前置状态。", "ai_chat.system.inspection_guidance.inspect_ai_context": "当用户询问当前 AI 上下文、关联表或会话附带的表结构时,先调用 inspect_ai_context 读取已挂载的表结构上下文。", "ai_chat.system.inspection_guidance.inspect_ai_context_budget": "当用户提到 AI 慢、上下文过大、表结构过多、工具结果太长、回答不稳定,或复杂任务前需要估算上下文时,先调用 inspect_ai_context_budget 读取体量风险。", "ai_chat.system.inspection_guidance.inspect_ai_guidance": "当用户询问当前附加了哪些 prompts、哪些 Skills 生效、为什么这样回答,或当前 database/JVM prompt 是什么时,先调用 inspect_ai_guidance 读取真实 prompt 和 Skill 配置。", "ai_chat.system.inspection_guidance.inspect_ai_last_render_error": "当用户反馈 AI 消息为空、气泡渲染失败,或局部 message block 错误但面板未整体崩溃时,先调用 inspect_ai_last_render_error 读取最近一次隔离的前端渲染异常。", "ai_chat.system.inspection_guidance.inspect_ai_message_flow": "当用户反馈回复被拆成多个气泡、工具调用后没有继续、stream 状态错误或一轮没有追加到同一气泡时,先调用 inspect_ai_message_flow 读取真实消息结构和未解决 tool calls。", "ai_chat.system.inspection_guidance.inspect_ai_providers": "当用户询问配置了哪些 providers、模型列表为什么为空、是否配置 API Key,或为什么不能发送/未选择模型时,先调用 inspect_ai_providers 读取真实 provider 配置。", "ai_chat.system.inspection_guidance.inspect_ai_runtime": "当用户询问当前模型、安全级别、可用工具或已启用的 Skills / MCP tools 时,先调用 inspect_ai_runtime 读取真实运行状态,不要凭记忆或假设回答。", "ai_chat.system.inspection_guidance.inspect_ai_safety": "当用户询问为什么不能写入、当前是否只读、DDL 能否执行或是否要传 allowMutating 时,先调用 inspect_ai_safety 读取真实安全边界。", "ai_chat.system.inspection_guidance.inspect_ai_sessions": "当用户提到之前的 AI 对话、早前讨论,或询问哪个近期 session 说过这个问题时,先调用 inspect_ai_sessions 读取本地 AI session 列表和预览。", "ai_chat.system.inspection_guidance.inspect_ai_setup_health": "当用户询问 AI 为什么不好用、要求检查当前 AI 配置健康度或询问明显问题时,先调用 inspect_ai_setup_health 获取整体现状,再按需下钻 providers、readiness、MCP 或 guidance。", "ai_chat.system.inspection_guidance.inspect_ai_support_bundle": "当用户要求导出排障材料,或准备把 AI、MCP、连接、日志和上下文问题交给开发排查时,先调用 inspect_ai_support_bundle 生成不含密钥和数据库密码的支持包,再根据 warnings 和 nextActions 下钻。", "ai_chat.system.inspection_guidance.inspect_ai_tool_catalog": "当问题跨多个功能、你不确定先调用哪个内置工具,或用户询问工具列表、参数填写和探针选择时,先调用 inspect_ai_tool_catalog 读取真实工具目录、流程和参数提示。", "ai_chat.system.inspection_guidance.inspect_ai_upstream_logs": "当用户提到上游 AI 请求、request body、requestId、model payload、工具未触发或上游错误详情时,先调用 inspect_ai_upstream_logs 读取脱敏请求日志和 payload 结构摘要。", "ai_chat.system.inspection_guidance.inspect_app_health": "当用户反馈 AI 不稳定、要求整体检查、询问 GoNavi AI 明显问题,或需要一起排查连接、MCP、日志和回复气泡时,先调用 inspect_app_health 获取全局健康概览。", "ai_chat.system.inspection_guidance.inspect_app_logs": "当用户提到 gonavi.log、近期日志、启动错误、MCP 启动失败或数据库连接失败时,先调用 inspect_app_logs 读取真实应用日志尾部,并按需用关键词过滤。", "ai_chat.system.inspection_guidance.inspect_codebase_hotspots": "当用户提到多千行大文件、继续拆分大组件、下一步拆哪个文件,或 AI/MCP/UI 改动风险时,先调用 inspect_codebase_hotspots 读取热点、建议切片和测试目标。", "ai_chat.system.inspection_guidance.inspect_connection_capabilities": "当用户询问为什么不能创建/删除/重命名数据库、为什么结果不可编辑,或该数据源支持哪些前端操作时,先调用 inspect_connection_capabilities 读取真实能力矩阵。", "ai_chat.system.inspection_guidance.inspect_current_connection": "当用户询问当前连接、当前数据源、连接到哪个数据库/地址或是否使用 SSH/proxy 时,先调用 inspect_current_connection 读取活动连接摘要。", "ai_chat.system.inspection_guidance.inspect_external_sql_directories": "当用户提到外部 SQL 目录、目录里的脚本、某个 SQL 文件位置或当前 SQL 文件来源时,先调用 inspect_external_sql_directories 读取真实外部 SQL 目录资产。", "ai_chat.system.inspection_guidance.inspect_external_sql_file": "当用户提供外部 SQL 文件路径,或明确要求检查目录中的 report.sql/job.sql 时,先调用 inspect_external_sql_file 读取真实文件内容;若文件已在编辑器打开,再结合 inspect_active_tab。", "ai_chat.system.inspection_guidance.inspect_mcp_authoring_guide": "当用户不知道如何填写新 MCP server 的 command/args/env/timeout,需要 node/uvx/python 模板,或询问启动命令为什么不能整行输入时,先调用 inspect_mcp_authoring_guide;如果已有草稿,调用 inspect_mcp_draft。", "ai_chat.system.inspection_guidance.inspect_mcp_draft": "当用户粘贴 MCP README 启动命令、command/args/env/timeout 草稿,或询问如何在 GoNavi 填写 MCP 命令时,先调用 inspect_mcp_draft 返回拆分结果、启动预览、suggestedServerSeed、配置错误/警告和 nextActions。", "ai_chat.system.inspection_guidance.inspect_mcp_runtime_failures": "当用户提到新增 MCP 测试失败、发现 0 个工具、MCP 工具调用失败、stdio 断开、Docker MCP 退出或 HTTP MCP 启动失败时,先调用 inspect_mcp_runtime_failures 读取真实运行期失败日志和服务发现状态。", "ai_chat.system.inspection_guidance.inspect_mcp_setup": "当用户询问 MCP 配置、Claude/Codex 是否连到 GoNavi MCP、外部客户端为什么不能使用或启用了哪些 MCP 服务时,先调用 inspect_mcp_setup 读取真实配置和外部客户端接入状态。", "ai_chat.system.inspection_guidance.inspect_mcp_tool_schema": "当用户询问 MCP tool 参数怎么填、报告参数错误或需要编写 arguments JSON 时,先调用 inspect_mcp_tool_schema 读取真实 inputSchema;若 alias 未知,先调用 inspect_mcp_setup。", "ai_chat.system.inspection_guidance.inspect_recent_connection_failures": "当用户询问连接为什么失败,提到冷却、校验失败、SSH tunnel 问题或 multiStatements / 参数兼容异常时,先调用 inspect_recent_connection_failures 读取真实连接失败摘要。", "ai_chat.system.inspection_guidance.inspect_recent_sql_activity": "当用户询问最近执行了什么、数据是否刚被删除、近期主要是读还是写,或哪个数据库错误最多时,先调用 inspect_recent_sql_activity 读取近期 SQL 活动摘要。", "ai_chat.system.inspection_guidance.inspect_redis_topology": "当用户提到 Redis Sentinel/Cluster、Sentinel master、Redis Cluster 多数据库行为、Redis DB 切换失败或如何填写多个 Redis nodes 时,先调用 inspect_redis_topology 读取真实拓扑、节点、认证状态和风险提示。", "ai_chat.system.inspection_guidance.inspect_saved_connections": "当用户询问本地保存了哪些连接、要查找 MySQL/PostgreSQL/Redis 连接,或哪个连接使用 SSH/proxy 时,先调用 inspect_saved_connections 读取真实本地连接列表。", "ai_chat.system.inspection_guidance.inspect_saved_queries": "当用户提到 saved queries、SQL history、以前写过的语句或要找早前脚本时,先调用 inspect_saved_queries 读取本地保存的查询,再决定是否校验字段或复用 SQL。", "ai_chat.system.inspection_guidance.inspect_shortcuts": "当用户询问快捷键、Win/Mac 差异、result-area / AI panel / SQL execution 组合键,或默认快捷键是否被修改时,先调用 inspect_shortcuts 读取真实快捷键配置和平台差异。", "ai_chat.system.inspection_guidance.inspect_sql_editor_transaction": "当用户询问 SQL editor 手动提交/autocommit、是否有未提交事务、DML 是否自动提交或事务语义时,先调用 inspect_sql_editor_transaction 读取真实提交设置和 pending transactions。", "ai_chat.system.inspection_guidance.inspect_sql_risk": "当用户要求执行、删除、更新、运行 DDL、运行批量 SQL,或询问 SQL 是否能运行/有危险时,先调用 inspect_sql_risk 检查语句数量、写入/DDL 风险、WHERE 条件和安全策略;高风险时先解释并确认。", "ai_chat.system.inspection_guidance.inspect_sql_snippets": "当用户提到 SQL snippets、snippet templates、template prefixes 或常用模板时,先调用 inspect_sql_snippets 读取本地 SQL snippet 库,不要凭空编造已有模板。", "ai_chat.tools.mcp_fallback_description": "{{serverName}} 提供的 MCP 工具 {{toolName}}", "ai_chat.welcome.description.default": "我是你的智能数据库助手。我可以帮你生成 SQL 查询、分析表结构、解释执行逻辑以及优化数据库性能。", "ai_chat.welcome.description.with_context": "已自动关联 {{count}} 张表结构,点击下方按钮快速开始分析。", "ai_chat.welcome.suggestion.channel_distribution.default": "过去 7 天订单渠道分布", "ai_chat.welcome.suggestion.channel_distribution.with_context": "过去 7 天关键渠道的分布情况", "ai_chat.welcome.suggestion.cleanup.default": "帮我写一条清理异常数据的 SQL", "ai_chat.welcome.suggestion.cleanup.with_context": "帮我写一条禁用异常渠道的 SQL", "ai_chat.welcome.suggestion.divider": "或直接提问", "ai_chat.welcome.suggestion.low_rows.default": "为什么当前结果只有少量记录?", "ai_chat.welcome.suggestion.low_rows.with_context": "为什么 {{table}} 只有少量记录?", "ai_chat.welcome.title": "你好,我是 GoNavi AI", "ai_service.backend.builtin_prompt.body.data_analyze": "你是 GoNavi AI 助手,一位具备敏锐商业嗅觉的高级数据分析专家。你将审视用户通过查询得到的数据样本,从中提炼出真正有价值的信息。\n\n洞察目标:\n1. 硬统计:总览数据行数、核心数值指标,例如极值、平均值、聚合中位数等。\n2. 趋势与异动:如果数据带有时间戳,捕捉其上升或下降趋势;如果存在离群值,将其清晰标注。\n3. 商业价值挖掘:不能只复述数据,要结合数据表象和 AI 判断,给出一条能帮助业务决策层或开发者的建设性行动建议。\n4. 展现格式:分析应采用“标题 + 浓缩要点”的极简研报形式,避免平铺直叙的流水账。", "ai_service.backend.builtin_prompt.body.general_chat": "你是 GoNavi AI 助手,一款深度集成在 GoNavi 数据库/缓存客户端内部的专属智能专家系统。\n你的目标是成为开发者、DBA 和数据科学家最得力的超级外脑,提供专业、精准、具有前瞻性的数据端解决方案。\n\n核心人设与交互基调:\n- 绝对专业:对 MySQL、PostgreSQL、DuckDB、Redis 等数据库产品的底层机制、执行计划、索引与存储行为保持扎实判断。\n- 直击痛点:避免空泛寒暄。用户意图明确时,优先给出可直接使用的优雅代码或操作步骤。\n- 结构化与可读性:恰到好处地使用 Markdown 标题、加粗和代码块,并为代码块标注正确语言,如 sql、json 或 bash。\n- 生产安全优先:当 SQL 存在明显风险,例如没有 WHERE 条件的 DELETE/UPDATE,或可能锁住大型生产表的查询,必须先给出清晰预警。\n\n综合能力版图:\n1. 自然语言到数据操作:将人类意图翻译为精准查询或命令。\n2. 执行逻辑解析:说明查询背后的执行逻辑与性能影响。\n3. 专家级调优:识别瓶颈,并提出索引、改写或执行策略建议。\n4. 数据洞察:从结果集中提炼有价值的模式,而不是简单复述数据行。\n5. 架构审查:评估表结构设计局限,并提出可承受数据增长的演进路径。\n\n互动守则:\n- 使用专业、协作的语言,并适配用户选择的界面语言。\n- 当被要求提供数据库代码时,结合对应数据库引擎的最佳实践;如果不清楚具体版本,请以标准实现为主,并提示关键版本差异,例如 MySQL 8 窗口函数。\n- 不要轻易拒绝:如果用户要求写 SQL 但未附带详细 DDL,请根据对话上下文和纯表名列表推测目标表;如果无法推断,请说明已知信息并询问用户想查询哪张表。", "ai_service.backend.builtin_prompt.body.schema_insight": "你是 GoNavi AI 助手,一位统筹数据库完整生命周期的首席数据库架构师。在这个模式下,请对用户提供的数据库表结构执行严格的范式与前瞻性审查。\n\n审查视角:\n1. 规范化取舍:识别明显的反范式设计,并判断这些冗余是合理服务性能,还是单纯的结构设计缺陷。\n2. 索引健壮性:评估主键选择,例如自增主键与 UUID 的取舍、是否存在拖慢写入的冗余索引,以及是否遗漏高频联合索引。\n3. 物理容量前瞻:审视字段类型分配,例如过大的 VARCHAR 或不必要的 BIGINT 是否造成存储浪费。\n4. 代码级指引:如果存在结构性缺陷,不要只指出问题;在适当时直接给出可执行的 ALTER TABLE 优化脚本。", "ai_service.backend.builtin_prompt.body.sql_explain": "你是 GoNavi AI 助手,一位深耕数据库领域多年的资深开发工程师。请用专业、条理分明且深入浅出的开发者语言向用户全盘解析 SQL 语句的底层意图与执行逻辑。\n\n解析规范:\n1. 宏观逻辑解构:用简短的一句话概括这条 SQL 在业务上想要解决什么问题。\n2. 步进逻辑拆解:按执行器真实的执行顺序(FROM -> JOIN -> WHERE -> GROUP BY -> SELECT -> ORDER BY)拆解每个关键子句的作用。\n3. 性能排雷点:敏锐指出可能存在的性能陷阱(如隐式类型转换、没有走索引的函数调用、潜在的笛卡尔积/全表扫描等)。\n4. 严谨的排版:使用列表呈现关键点,重点词汇加粗,确保长文不累赘。", "ai_service.backend.builtin_prompt.body.sql_generate": "你是 GoNavi AI 助手,一位顶级的数据库开发专家和 SQL 查询构建师。根据用户的自然语言需求,生成精准、优雅、高性能的 SQL 查询或 Redis 命令。\n\n严苛输出规则:\n1. 首要目标是输出纯粹的代码:始终将代码放在正确语言标识(如 sql 或 bash)的 markdown 代码块中。\n2. 保持精简:不要添加过多的前置闲聊,直奔主题。\n3. 保护生产安全:优先使用参数化查询或安全防范写法避免 SQL 注入。对于未指定条件的 DELETE/UPDATE 语句,必须提出强烈的红线警告。\n4. 性能至上:对大型查询默认添加合理的 LIMIT 限制(如 LIMIT 100),在 JOIN 和聚合时优先选择最高效的范式写法。\n5. 适度注释:对于存在复杂逻辑嵌套的代码,请在代码块内使用单行注释简要说明思路。", "ai_service.backend.builtin_prompt.body.sql_optimize": "你是 GoNavi AI 助手,一名曾主导过千万级高并发系统的全栈性能工程专家与高级 DBA。请对用户提供的原始 SQL 进行冷静、精确的诊断,并开出性能重构处方。\n\n诊断与处方要求:\n1. 性能瓶颈透视:精准点出当前语句的薄弱点,例如不合理的驱动表、无法利用覆盖索引、多余子查询等。\n2. 重构版本的 SQL:如果存在性能提升空间,直接向用户展示彻底优化过的高性能写法,并确保逻辑等价。\n3. 剖析原因:不仅要告诉用户怎么改,还要说清楚执行器为什么会因此更快。\n4. 索引构建建议:若现有结构无法支撑需求,提出明确的 DDL 级 CREATE INDEX 语句建议,并说明依据,例如最左前缀匹配。\n5. 优先级评估:在回答最后标注本次优化建议的紧迫性,高表示阻断级或锁表风险,中表示吞吐量瓶颈,低表示长期微调。", "ai_service.backend.builtin_prompt.title.data_analyze": "数据洞察分析", "ai_service.backend.builtin_prompt.title.general_chat": "通用聊天助手", "ai_service.backend.builtin_prompt.title.schema_insight": "表结构审查", "ai_service.backend.builtin_prompt.title.sql_explain": "SQL 解析器", "ai_service.backend.builtin_prompt.title.sql_generate": "SQL 生成器", "ai_service.backend.builtin_prompt.title.sql_optimize": "SQL 优化器", "ai_service.backend.database_context.column_comment": "备注", "ai_service.backend.database_context.column_name": "列名", "ai_service.backend.database_context.column_nullable": "可空", "ai_service.backend.database_context.column_primary_key": "主键", "ai_service.backend.database_context.column_type": "类型", "ai_service.backend.database_context.database_name": "数据库名: {{name}}", "ai_service.backend.database_context.database_type": "数据库类型: {{type}}", "ai_service.backend.database_context.indexes": "**索引:**", "ai_service.backend.database_context.row_count": "[约 {{count}} 行]", "ai_service.backend.database_context.sample_data": "**采样数据 ({{count}} 行):**", "ai_service.backend.database_context.table_heading": "#### 表: {{table}}", "ai_service.backend.database_context.table_schema": "### 表结构", "ai_service.backend.database_context.title": "## 当前数据库上下文", "ai_service.backend.database_context.unique_index": " (唯一)", "ai_service.backend.database_context.value_no": "否", "ai_service.backend.database_context.value_yes": "是", "ai_service.backend.error.active_provider_not_found": "未找到活跃 AI Provider", "ai_service.backend.error.config_dir_create_failed": "创建配置目录失败: {{detail}}", "ai_service.backend.error.config_load_failed": "加载 AI 配置失败: {{detail}}", "ai_service.backend.error.config_read_failed": "读取 AI 配置失败: {{detail}}", "ai_service.backend.error.config_rewrite_failed": "重写 AI 配置失败: {{detail}}", "ai_service.backend.error.config_serialize_failed": "序列化 AI 配置失败: {{detail}}", "ai_service.backend.error.config_write_failed": "写入 AI 配置失败: {{detail}}", "ai_service.backend.error.daily_secret_store_unavailable": "日常密文存储不可用: {{detail}}", "ai_service.backend.error.editable_provider_not_found": "未找到要编辑的 AI Provider: {{detail}}", "ai_service.backend.error.mcp_command_required": "MCP 命令不能为空", "ai_service.backend.error.mcp_http_executable_resolve_failed": "定位当前 GoNavi 可执行文件失败: {{detail}}", "ai_service.backend.error.mcp_http_health_status_failed": "healthz 返回 HTTP {{statusCode}}", "ai_service.backend.error.mcp_http_process_exited": "GoNavi MCP HTTP 服务异常退出: {{detail}}", "ai_service.backend.error.mcp_http_start_failed": "启动 GoNavi MCP HTTP 服务失败: {{detail}}", "ai_service.backend.error.mcp_http_stop_failed": "停止 GoNavi MCP HTTP 服务失败: {{detail}}", "ai_service.backend.error.mcp_http_subprocess_exited": "MCP HTTP 子进程已退出", "ai_service.backend.error.mcp_http_token_generate_failed": "生成 MCP HTTP Token 失败: {{detail}}", "ai_service.backend.error.mcp_server_disabled": "MCP 服务未启用: {{name}}", "ai_service.backend.error.mcp_server_not_found": "未找到 MCP 服务: {{serverID}}", "ai_service.backend.error.mcp_tool_alias_invalid": "无效的 MCP 工具别名:{{alias}}", "ai_service.backend.error.mcp_tool_arguments_parse_failed": "解析 MCP 工具参数失败: {{detail}}", "ai_service.backend.error.mcp_transport_unsupported": "暂不支持的 MCP 传输方式:{{transport}}", "ai_service.backend.error.models_http_status_failed": "模型列表接口返回异常状态 (HTTP {{status}}){{body}}", "ai_service.backend.error.models_parse_failed": "解析模型列表失败: {{detail}}", "ai_service.backend.error.models_remote_unsupported": "当前供应商不支持远端模型列表", "ai_service.backend.error.models_request_create_failed": "创建模型列表请求失败: {{detail}}", "ai_service.backend.error.models_request_failed": "请求模型列表失败: {{detail}}", "ai_service.backend.error.provider_auth_failed": "API Key 无效或请求被拒绝 (HTTP {{status}}){{body}}", "ai_service.backend.error.provider_http_server_error": "上游服务器返回内部错误 (HTTP {{status}}){{body}}", "ai_service.backend.error.provider_http_status_failed": "接口返回异常状态 (HTTP {{status}}){{body}}", "ai_service.backend.error.provider_not_configured": "未配置 AI Provider,请先在设置中配置。", "ai_service.backend.error.provider_request_create_failed": "创建请求失败: {{detail}}", "ai_service.backend.error.provider_request_serialize_failed": "序列化请求失败: {{detail}}", "ai_service.backend.error.provider_secret_bundle_parse_failed": "解析 provider secret bundle 失败: {{detail}}", "ai_service.backend.error.provider_secret_delete_failed": "删除 Provider secret 失败: {{detail}}", "ai_service.backend.error.provider_secret_load_failed": "加载 AI Provider secret 失败(provider={{provider}}): {{detail}}", "ai_service.backend.error.provider_secret_read_failed": "读取 Provider secret 失败: {{detail}}", "ai_service.backend.error.provider_secret_save_failed": "保存 Provider secret 失败: {{detail}}", "ai_service.backend.error.provider_secret_saved_read_failed": "读取已保存 Provider secret 失败: {{detail}}", "ai_service.backend.error.provider_test_failed": "连接测试失败: {{detail}}", "ai_service.backend.error.secret_store_unavailable": "密文存储不可用: {{detail}}", "ai_service.backend.error.session_corrupt": "会话数据损坏", "ai_service.backend.error.session_delete_failed": "删除会话失败: {{detail}}", "ai_service.backend.error.session_missing": "会话不存在", "ai_service.backend.error.session_provider_messages_serialize_failed": "序列化会话 Provider 消息失败: {{detail}}", "ai_service.backend.error.session_serialize_failed": "序列化会话数据失败: {{detail}}", "ai_service.backend.error.session_write_failed": "保存会话失败: {{detail}}", "ai_service.backend.error.sessions_dir_create_failed": "创建 sessions 目录失败: {{detail}}", "ai_service.backend.error.volcengine_coding_models_empty": "当前接口未返回可用的火山 Coding Plan 模型,请检查账号权限或切换到“火山方舟”供应商", "ai_service.backend.message.mcp_test_success": "MCP 服务连接成功,发现 {{count}} 个工具", "ai_service.backend.message.provider_test_success": "端点连通性测试成功", "ai_service.backend.message.skill_unnamed": "未命名 Skill", "ai_service.backend.provider.image_fallback_prompt": "请描述和分析这张图片。", "ai_service.backend.provider.image_omitted_notice": "[图片已省略:当前模型或上游接口不支持图片输入。请切换到支持视觉的模型后重新发送图片。]", "ai_service.backend.warning.sql_delete_without_where": "高危 SQL:DELETE 语句缺少 WHERE 条件,将删除所有数据", "ai_service.backend.warning.sql_drop": "高危 SQL:DROP 语句将永久删除数据库对象", "ai_service.backend.warning.sql_truncate": "高危 SQL:TRUNCATE 将清空表中所有数据", "ai_service.backend.warning.sql_update_without_where": "高危 SQL:UPDATE 语句缺少 WHERE 条件,将更新所有记录", "ai_settings.action.back": "返回", "ai_settings.action.connection_ok": "连接正常", "ai_settings.action.retest": "重新测试", "ai_settings.action.save": "保存", "ai_settings.action.test": "测试连接", "ai_settings.clipboard.error.unsupported": "当前环境不支持复制到剪贴板", "ai_settings.context.description": "控制发送给 AI 的数据库上下文信息量", "ai_settings.context.schema_only.desc": "只传递表和列结构信息给 AI", "ai_settings.context.schema_only.label": "仅结构", "ai_settings.context.with_results.desc": "传递最近的查询结果作为上下文", "ai_settings.context.with_results.label": "含查询结果", "ai_settings.context.with_samples.desc": "包含少量采样数据,帮助 AI 理解数据特征", "ai_settings.context.with_samples.label": "含采样数据", "ai_settings.form.api_endpoint": "API Endpoint (URL)", "ai_settings.form.api_endpoint_placeholder.codebuddy": "留空则使用 CodeBuddy CLI 默认网关", "ai_settings.form.api_endpoint_required": "请输入有效的接口地址", "ai_settings.form.api_format": "API 格式", "ai_settings.form.api_key": "API Key", "ai_settings.form.api_key_keep_placeholder": "留空表示继续沿用已保存密钥", "ai_settings.form.api_key_placeholder": "sk-... / 你的 API Key", "ai_settings.form.api_key_placeholder.codebuddy": "留空走本机登录态,或填写 API Key / Token 覆盖", "ai_settings.form.api_key_required": "请输入 API Key", "ai_settings.form.api_key_saved_hint": "当前已保存 API Key。留空表示继续沿用,输入新值表示替换。", "ai_settings.form.api_key.codebuddy_hint": "留空则使用本机 CodeBuddy CLI 已登录账号;填写后优先使用当前凭证。", "ai_settings.form.api_key.codebuddy_optional": "API Key / Auth Token(可选)", "ai_settings.form.clear_saved_api_key": "清除已保存 API Key", "ai_settings.form.model_list": "可用模型列表(可选配置)", "ai_settings.form.model_list_placeholder": "配置指定的模型 ID,留空则默认从服务端拉取", "ai_settings.form.model_list_placeholder.codebuddy": "可选:预填常用模型;留空则由 CodeBuddy CLI 或服务端自动选择", "ai_settings.form.model_list_placeholder.cursor": "可选:预填常用 Cursor 模型 ID;留空则由 Cursor 默认模型自动选择", "ai_settings.form.provider_name": "供应商名称", "ai_settings.form.provider_name_placeholder": "例如:我的自建 OpenAI / 专属大模型", "ai_settings.form.provider_name_required": "请输入名称", "ai_settings.form.section.auth_connection": "认证与连接", "ai_settings.form.section.basic": "基本信息", "ai_settings.form.section.service_type": "服务类型", "ai_settings.mcp_http.error.control_unsupported_runtime": "当前运行时暂不支持 MCP HTTP 服务控制", "ai_settings.mcp_http.error.start_unsupported_version": "当前版本暂不支持启动 MCP HTTP 服务", "ai_settings.mcp_http.error.stop_unsupported_version": "当前版本暂不支持停止 MCP HTTP 服务", "ai_settings.mcp_http.message.authorization_header_copied": "Authorization Header 已复制", "ai_settings.mcp_http.message.authorization_header_required": "请先启动 MCP HTTP 服务生成 Authorization Header", "ai_settings.mcp_http.message.started": "GoNavi MCP HTTP 服务已启动", "ai_settings.mcp_http.message.stopped": "GoNavi MCP HTTP 服务已停止", "ai_settings.mcp_http.message.toggle_failed": "切换 GoNavi MCP HTTP 服务失败", "ai_settings.mcp_http.message.url_copied": "MCP HTTP URL 已复制", "ai_settings.mcp_http.message.url_unavailable": "当前没有可复制的 MCP HTTP URL", "ai_settings.mcp_http.panel.addr_label": "监听地址 / 端口", "ai_settings.mcp_http.panel.authorization_placeholder": "Bearer gnv_xxx(留空自动生成)", "ai_settings.mcp_http.panel.copy_authorization": "复制 Authorization", "ai_settings.mcp_http.panel.copy_url": "复制 URL", "ai_settings.mcp_http.panel.description": "给 OpenClaw、Hermans 等远程 Agent 使用。打开后监听本机地址,只开放连接、库表、字段和 DDL 等结构读取工具。", "ai_settings.mcp_http.panel.running_hint": "服务运行中,可把 URL 和 Authorization Header 配置到远程 MCP 客户端。", "ai_settings.mcp_http.panel.status.running": "已启动", "ai_settings.mcp_http.panel.status.stopped": "未启动", "ai_settings.mcp_http.panel.stopped_hint": "可自定义本机监听端口和 Bearer Token;留空 Authorization 时启动会自动生成随机 Token。", "ai_settings.mcp_http.panel.switch.off": "关", "ai_settings.mcp_http.panel.switch.on": "开", "ai_settings.mcp_http.panel.title": "GoNavi MCP HTTP 服务", "ai_settings.mcp_http.status.not_running": "GoNavi MCP HTTP 服务未启动", "ai_settings.mcp_server.argument_hints.action_separator": ";", "ai_settings.mcp_server.argument_hints.argument_details": "参数逐项说明", "ai_settings.mcp_server.argument_hints.business_arguments": "已识别业务参数", "ai_settings.mcp_server.argument_hints.business.access_token.detail": "仅在 README 要求命令参数时传认证数据;优先使用环境变量。", "ai_settings.mcp_server.argument_hints.business.access_token.label": "访问 Token", "ai_settings.mcp_server.argument_hints.business.access_token.value_hint": "在本机填写真实值;不要粘贴到聊天或截图。", "ai_settings.mcp_server.argument_hints.business.api_key.detail": "仅在 README 要求命令参数时传认证数据;优先使用环境变量。", "ai_settings.mcp_server.argument_hints.business.api_key.label": "API Key", "ai_settings.mcp_server.argument_hints.business.api_key.value_hint": "在本机填写真实值;不要粘贴到聊天或截图。", "ai_settings.mcp_server.argument_hints.business.base_url.detail": "指定 MCP 服务需要访问的服务地址或 API 入口。", "ai_settings.mcp_server.argument_hints.business.base_url.label": "基础 URL", "ai_settings.mcp_server.argument_hints.business.base_url.value_hint": "填写完整地址,不要把密钥拼进 URL。", "ai_settings.mcp_server.argument_hints.business.config_file.detail": "指向 MCP 服务使用的本地文件、目录、仓库或可执行文件。", "ai_settings.mcp_server.argument_hints.business.config_file.label": "配置文件", "ai_settings.mcp_server.argument_hints.business.config_file.value_hint": "使用本地绝对路径,并授予最小必要范围。", "ai_settings.mcp_server.argument_hints.business.config.detail": "指向 MCP 服务使用的本地文件、目录、仓库或可执行文件。", "ai_settings.mcp_server.argument_hints.business.config.label": "配置文件", "ai_settings.mcp_server.argument_hints.business.config.value_hint": "使用本地绝对路径,并授予最小必要范围。", "ai_settings.mcp_server.argument_hints.business.dir.detail": "指向 MCP 服务使用的本地文件、目录、仓库或可执行文件。", "ai_settings.mcp_server.argument_hints.business.dir.label": "目录", "ai_settings.mcp_server.argument_hints.business.dir.value_hint": "使用本地绝对路径,并授予最小必要范围。", "ai_settings.mcp_server.argument_hints.business.directory.detail": "指向 MCP 服务使用的本地文件、目录、仓库或可执行文件。", "ai_settings.mcp_server.argument_hints.business.directory.label": "授权目录", "ai_settings.mcp_server.argument_hints.business.directory.value_hint": "使用本地绝对路径,并授予最小必要范围。", "ai_settings.mcp_server.argument_hints.business.endpoint.detail": "指定 MCP 服务需要访问的服务地址或 API 入口。", "ai_settings.mcp_server.argument_hints.business.endpoint.label": "端点", "ai_settings.mcp_server.argument_hints.business.endpoint.value_hint": "填写完整地址,不要把密钥拼进 URL。", "ai_settings.mcp_server.argument_hints.business.executable_path.detail": "指向 MCP 服务使用的本地文件、目录、仓库或可执行文件。", "ai_settings.mcp_server.argument_hints.business.executable_path.label": "浏览器或可执行文件路径", "ai_settings.mcp_server.argument_hints.business.executable_path.value_hint": "使用本地绝对路径,并授予最小必要范围。", "ai_settings.mcp_server.argument_hints.business.headless.detail": "控制已启动 MCP 进程的运行时行为。", "ai_settings.mcp_server.argument_hints.business.headless.label": "无界面模式", "ai_settings.mcp_server.argument_hints.business.headless.value_hint": "通常是开关参数;请确认是否还需要额外值。", "ai_settings.mcp_server.argument_hints.business.host.detail": "配置 MCP 服务使用的主机、端口或网络选项。", "ai_settings.mcp_server.argument_hints.business.host.label": "主机地址", "ai_settings.mcp_server.argument_hints.business.host.value_hint": "使用 README 中说明的主机或端口。", "ai_settings.mcp_server.argument_hints.business.inferred_endpoint.detail": "指定 MCP 服务需要访问的服务地址或 API 入口。", "ai_settings.mcp_server.argument_hints.business.inferred_endpoint.label": "地址 / 端点", "ai_settings.mcp_server.argument_hints.business.inferred_endpoint.value_hint": "填写完整地址,不要把密钥拼进 URL。", "ai_settings.mcp_server.argument_hints.business.inferred_mode.detail": "控制 MCP 服务的传输、配置档、权限或运行模式。", "ai_settings.mcp_server.argument_hints.business.inferred_mode.label": "模式参数", "ai_settings.mcp_server.argument_hints.business.inferred_mode.value_hint": "使用 README 中说明的枚举值或开关语义。", "ai_settings.mcp_server.argument_hints.business.inferred_path.detail": "指向 MCP 服务使用的本地文件、目录、仓库或可执行文件。", "ai_settings.mcp_server.argument_hints.business.inferred_path.label": "路径 / 配置", "ai_settings.mcp_server.argument_hints.business.inferred_path.value_hint": "使用本地绝对路径,并授予最小必要范围。", "ai_settings.mcp_server.argument_hints.business.mode.detail": "控制 MCP 服务的传输、配置档、权限或运行模式。", "ai_settings.mcp_server.argument_hints.business.mode.label": "运行模式", "ai_settings.mcp_server.argument_hints.business.mode.value_hint": "使用 README 中说明的枚举值或开关语义。", "ai_settings.mcp_server.argument_hints.business.password.detail": "仅在 README 要求命令参数时传认证数据;优先使用环境变量。", "ai_settings.mcp_server.argument_hints.business.password.label": "密码", "ai_settings.mcp_server.argument_hints.business.password.value_hint": "在本机填写真实值;不要粘贴到聊天或截图。", "ai_settings.mcp_server.argument_hints.business.path.detail": "指向 MCP 服务使用的本地文件、目录、仓库或可执行文件。", "ai_settings.mcp_server.argument_hints.business.path.label": "路径", "ai_settings.mcp_server.argument_hints.business.path.value_hint": "使用本地绝对路径,并授予最小必要范围。", "ai_settings.mcp_server.argument_hints.business.port.detail": "配置 MCP 服务使用的主机、端口或网络选项。", "ai_settings.mcp_server.argument_hints.business.port.label": "端口", "ai_settings.mcp_server.argument_hints.business.port.value_hint": "使用 README 中说明的主机或端口。", "ai_settings.mcp_server.argument_hints.business.profile.detail": "控制 MCP 服务的传输、配置档、权限或运行模式。", "ai_settings.mcp_server.argument_hints.business.profile.label": "配置档", "ai_settings.mcp_server.argument_hints.business.profile.value_hint": "使用 README 中说明的枚举值或开关语义。", "ai_settings.mcp_server.argument_hints.business.read_only.detail": "控制 MCP 服务的传输、配置档、权限或运行模式。", "ai_settings.mcp_server.argument_hints.business.read_only.label": "只读模式", "ai_settings.mcp_server.argument_hints.business.read_only.value_hint": "使用 README 中说明的枚举值或开关语义。", "ai_settings.mcp_server.argument_hints.business.readonly.detail": "控制 MCP 服务的传输、配置档、权限或运行模式。", "ai_settings.mcp_server.argument_hints.business.readonly.label": "只读模式", "ai_settings.mcp_server.argument_hints.business.readonly.value_hint": "使用 README 中说明的枚举值或开关语义。", "ai_settings.mcp_server.argument_hints.business.repo.detail": "指向 MCP 服务使用的本地文件、目录、仓库或可执行文件。", "ai_settings.mcp_server.argument_hints.business.repo.label": "仓库路径", "ai_settings.mcp_server.argument_hints.business.repo.value_hint": "使用本地绝对路径,并授予最小必要范围。", "ai_settings.mcp_server.argument_hints.business.root.detail": "指向 MCP 服务使用的本地文件、目录、仓库或可执行文件。", "ai_settings.mcp_server.argument_hints.business.root.label": "根目录", "ai_settings.mcp_server.argument_hints.business.root.value_hint": "使用本地绝对路径,并授予最小必要范围。", "ai_settings.mcp_server.argument_hints.business.secret.detail": "仅在 README 要求命令参数时传认证数据;优先使用环境变量。", "ai_settings.mcp_server.argument_hints.business.secret.label": "密钥", "ai_settings.mcp_server.argument_hints.business.secret.value_hint": "在本机填写真实值;不要粘贴到聊天或截图。", "ai_settings.mcp_server.argument_hints.business.short_config.detail": "指向 MCP 服务使用的本地文件、目录、仓库或可执行文件。", "ai_settings.mcp_server.argument_hints.business.short_config.label": "配置文件", "ai_settings.mcp_server.argument_hints.business.short_config.value_hint": "使用本地绝对路径,并授予最小必要范围。", "ai_settings.mcp_server.argument_hints.business.token.detail": "仅在 README 要求命令参数时传认证数据;优先使用环境变量。", "ai_settings.mcp_server.argument_hints.business.token.label": "Token", "ai_settings.mcp_server.argument_hints.business.token.value_hint": "在本机填写真实值;不要粘贴到聊天或截图。", "ai_settings.mcp_server.argument_hints.business.transport.detail": "控制 MCP 服务的传输、配置档、权限或运行模式。", "ai_settings.mcp_server.argument_hints.business.transport.label": "传输模式", "ai_settings.mcp_server.argument_hints.business.transport.value_hint": "使用 README 中说明的枚举值或开关语义。", "ai_settings.mcp_server.argument_hints.business.url.detail": "指定 MCP 服务需要访问的服务地址或 API 入口。", "ai_settings.mcp_server.argument_hints.business.url.label": "服务 URL", "ai_settings.mcp_server.argument_hints.business.url.value_hint": "填写完整地址,不要把密钥拼进 URL。", "ai_settings.mcp_server.argument_hints.business.workspace.detail": "指向 MCP 服务使用的本地文件、目录、仓库或可执行文件。", "ai_settings.mcp_server.argument_hints.business.workspace.label": "工作区目录", "ai_settings.mcp_server.argument_hints.business.workspace.value_hint": "使用本地绝对路径,并授予最小必要范围。", "ai_settings.mcp_server.argument_hints.category.endpoint": "地址", "ai_settings.mcp_server.argument_hints.category.generic": "业务", "ai_settings.mcp_server.argument_hints.category.mode": "模式", "ai_settings.mcp_server.argument_hints.category.network": "网络", "ai_settings.mcp_server.argument_hints.category.path": "路径", "ai_settings.mcp_server.argument_hints.category.runtime": "运行时", "ai_settings.mcp_server.argument_hints.category.secret": "敏感", "ai_settings.mcp_server.argument_hints.command_field_warning": "启动命令字段里还包含 {{count}} 个参数:{{args}}。命令只保留 {{command}},其余移到命令参数。", "ai_settings.mcp_server.argument_hints.current_command": "当前命令 {{command}} 的参数提示", "ai_settings.mcp_server.argument_hints.detail.docker_cleanup.detail": "测试和日常使用后自动移除临时容器,避免残留。", "ai_settings.mcp_server.argument_hints.detail.docker_cleanup.label": "退出后清理容器", "ai_settings.mcp_server.argument_hints.detail.docker_cleanup.value_hint": "这是开关参数,不需要额外值。", "ai_settings.mcp_server.argument_hints.detail.docker_image_or_arg.detail": "这是 docker run 中的镜像名,或传给容器内 MCP 服务的位置参数。", "ai_settings.mcp_server.argument_hints.detail.docker_image_or_arg.label": "Docker 镜像或容器参数", "ai_settings.mcp_server.argument_hints.detail.docker_image_or_arg.value_hint": "镜像名应来自 MCP README;镜像后的参数会传给容器入口。", "ai_settings.mcp_server.argument_hints.detail.docker_interactive.detail": "MCP stdio 需要容器 stdin 保持打开,否则工具发现可能刚启动就断开。", "ai_settings.mcp_server.argument_hints.detail.docker_interactive.label": "保持标准输入", "ai_settings.mcp_server.argument_hints.detail.docker_interactive.value_hint": "这是 Docker MCP 的关键参数。", "ai_settings.mcp_server.argument_hints.detail.docker_run.detail": "启动容器来运行 MCP Server。", "ai_settings.mcp_server.argument_hints.detail.docker_run.label": "Docker run 子命令", "ai_settings.mcp_server.argument_hints.detail.docker_run.value_hint": "通常是 docker 后面的第一个参数。", "ai_settings.mcp_server.argument_hints.detail.npm_package_or_arg.detail": "通常是 README 中的 npm 包名,也可能是包专属业务参数。", "ai_settings.mcp_server.argument_hints.detail.npm_package_or_arg.label": "MCP 包或位置参数", "ai_settings.mcp_server.argument_hints.detail.npm_package_or_arg.value_hint": "包名通常位于 -y 之后、--stdio 之前;业务参数按 README 填写。", "ai_settings.mcp_server.argument_hints.detail.positional.detail": "该参数没有 flag 名称;GoNavi 会按当前顺序原样传给 MCP 进程。", "ai_settings.mcp_server.argument_hints.detail.positional.label": "位置参数", "ai_settings.mcp_server.argument_hints.detail.positional.value_hint": "查看 README 判断它是包名、路径、镜像名还是业务参数。", "ai_settings.mcp_server.argument_hints.detail.python_module_flag.detail": "表示下一个参数是 Python 模块名,不是脚本路径。", "ai_settings.mcp_server.argument_hints.detail.python_module_flag.label": "Python 模块启动", "ai_settings.mcp_server.argument_hints.detail.python_module_flag.value_hint": "下一项填写模块名,例如 your_mcp_server。", "ai_settings.mcp_server.argument_hints.detail.python_module_name.detail": "这是 -m 后面的模块名,不要包含 .py 后缀。", "ai_settings.mcp_server.argument_hints.detail.python_module_name.label": "Python 模块名", "ai_settings.mcp_server.argument_hints.detail.python_module_name.value_hint": "按 README 的启动示例填写。", "ai_settings.mcp_server.argument_hints.detail.python_script_or_arg.detail": "通常是本地 Python MCP 脚本路径,或传给脚本的位置参数。", "ai_settings.mcp_server.argument_hints.detail.python_script_or_arg.label": "Python 脚本或位置参数", "ai_settings.mcp_server.argument_hints.detail.python_script_or_arg.value_hint": "按 README 的启动示例填写。", "ai_settings.mcp_server.argument_hints.detail.script_or_arg.detail": "通常是本地 MCP Server 的入口脚本;脚本后的值作为业务参数传入。", "ai_settings.mcp_server.argument_hints.detail.script_or_arg.label": "脚本或位置参数", "ai_settings.mcp_server.argument_hints.detail.script_or_arg.value_hint": "入口脚本请使用本机可访问的相对或绝对路径。", "ai_settings.mcp_server.argument_hints.detail.sensitive_value_detail": "这是前一个 {{argument}} 参数的敏感值,提示中已做遮蔽。", "ai_settings.mcp_server.argument_hints.detail.skip_install_confirm.detail": "避免 npx 首次启动包时等待交互确认,适合后台工具发现。", "ai_settings.mcp_server.argument_hints.detail.skip_install_confirm.label": "跳过安装确认", "ai_settings.mcp_server.argument_hints.detail.skip_install_confirm.value_hint": "这是开关参数,不需要额外值。", "ai_settings.mcp_server.argument_hints.detail.stdio.detail": "让 MCP Server 通过标准输入输出与 GoNavi 通信。", "ai_settings.mcp_server.argument_hints.detail.stdio.label": "stdio 通信模式", "ai_settings.mcp_server.argument_hints.detail.stdio.value_hint": "这是开关参数,通常不需要额外值。", "ai_settings.mcp_server.argument_hints.detail.uvx_package_or_arg.detail": "uvx 后通常跟 MCP 包名;后续位置参数会传给该 MCP 服务。", "ai_settings.mcp_server.argument_hints.detail.uvx_package_or_arg.label": "Python MCP 包或位置参数", "ai_settings.mcp_server.argument_hints.detail.uvx_package_or_arg.value_hint": "第一个位置参数应为 README 中的包名。", "ai_settings.mcp_server.argument_hints.detail.value_detail": "这是前一个 {{argument}} 参数的值。", "ai_settings.mcp_server.argument_hints.detail.value_label": "{{label}}的值", "ai_settings.mcp_server.argument_hints.dont_screenshot": "不要截图真实值", "ai_settings.mcp_server.argument_hints.fill_missing_required": "一键补齐缺失必填参数:{{args}}", "ai_settings.mcp_server.argument_hints.generic.detail": "GoNavi 不能从参数名 --{{flag}} 准确判断业务含义,但会按当前顺序传给 MCP 进程。", "ai_settings.mcp_server.argument_hints.generic.label": "未识别参数", "ai_settings.mcp_server.argument_hints.generic.value_hint": "查看 MCP README 确认该参数是否需要值;如需要,把值放到下一个参数标签,或使用 --name=value。", "ai_settings.mcp_server.argument_hints.hidden_value": "<已隐藏>", "ai_settings.mcp_server.argument_hints.masked_value": "值已脱敏", "ai_settings.mcp_server.argument_hints.next_action.add_step": "补充 {{label}},示例:{{example}}", "ai_settings.mcp_server.argument_hints.next_actions": "下一步:{{actions}}", "ai_settings.mcp_server.argument_hints.possible_secret_hidden": "<疑似密钥已隐藏>", "ai_settings.mcp_server.argument_hints.profile.docker.order": "推荐顺序:run -> --rm -> -i -> -e KEY=VALUE -> 镜像名 -> 服务业务参数", "ai_settings.mcp_server.argument_hints.profile.docker.summary": "Docker 场景 command 只保留 docker;run、-i、--rm、镜像名和容器参数放入 args。", "ai_settings.mcp_server.argument_hints.profile.docker.title": "Docker MCP 参数顺序建议", "ai_settings.mcp_server.argument_hints.profile.executable.order": "常见顺序:stdio/--stdio -> 配置文件或业务参数", "ai_settings.mcp_server.argument_hints.profile.executable.summary": "自定义或已编译 MCP 服务请以 README 为准;GoNavi 会原样按标签顺序传入参数。", "ai_settings.mcp_server.argument_hints.profile.executable.title": "本机可执行文件参数建议", "ai_settings.mcp_server.argument_hints.profile.node.order": "推荐顺序:脚本路径 -> --stdio -> 服务业务参数", "ai_settings.mcp_server.argument_hints.profile.node.summary": "Node 类启动器的 command 只保留 node/bun/deno;脚本路径和 --stdio 放入 args。", "ai_settings.mcp_server.argument_hints.profile.node.title": "Node 脚本参数顺序建议", "ai_settings.mcp_server.argument_hints.profile.npm.order": "推荐顺序:-y -> 包名 -> --stdio -> 服务业务参数", "ai_settings.mcp_server.argument_hints.profile.npm.summary": "npm MCP 服务通常需要把安装确认、包名和 --stdio 拆成独立参数标签。", "ai_settings.mcp_server.argument_hints.profile.npm.title": "npx / npm 参数顺序建议", "ai_settings.mcp_server.argument_hints.profile.python.order": "推荐顺序:-m -> 模块名 -> --stdio", "ai_settings.mcp_server.argument_hints.profile.python.summary": "Python MCP 服务常用 python -m module_name;-m 和模块名必须拆成独立参数。", "ai_settings.mcp_server.argument_hints.profile.python.title": "Python 参数顺序建议", "ai_settings.mcp_server.argument_hints.profile.uvx.order": "推荐顺序:包名 -> --stdio -> 服务业务参数", "ai_settings.mcp_server.argument_hints.profile.uvx.summary": "uvx MCP 服务通常先放包名,再按 README 补 stdio 或配置参数。", "ai_settings.mcp_server.argument_hints.profile.uvx.title": "uvx 参数顺序建议", "ai_settings.mcp_server.argument_hints.required_complete": "必填参数看起来已经齐了,测试失败时再对照 README 检查业务参数和环境变量。", "ai_settings.mcp_server.argument_hints.split_inline_args": "一键拆分启动命令字段:保留 {{command}},移动 {{count}} 个参数", "ai_settings.mcp_server.argument_hints.step.business.detail": "仅在 README 明确要求时添加,例如工作区路径、端口或模式。", "ai_settings.mcp_server.argument_hints.step.business.label": "业务参数", "ai_settings.mcp_server.argument_hints.step.cleanup.detail": "测试和日常使用结束后自动移除临时容器,避免残留。", "ai_settings.mcp_server.argument_hints.step.cleanup.label": "退出后清理容器", "ai_settings.mcp_server.argument_hints.step.container-env.detail": "容器内需要的 token 通常要通过 -e/--env 传入容器。", "ai_settings.mcp_server.argument_hints.step.container-env.label": "容器环境变量", "ai_settings.mcp_server.argument_hints.step.image.detail": "README 中的 Docker 镜像名,放在 docker run 选项之后。", "ai_settings.mcp_server.argument_hints.step.image.label": "镜像名", "ai_settings.mcp_server.argument_hints.step.interactive.detail": "MCP 需要持续的 stdio 连接,因此 Docker 容器必须保持 stdin 打开。", "ai_settings.mcp_server.argument_hints.step.interactive.label": "保持标准输入", "ai_settings.mcp_server.argument_hints.step.module-flag.detail": "模块启动使用 -m;脚本启动则直接填写 server.py,二选一。", "ai_settings.mcp_server.argument_hints.step.module-flag.label": "模块标记或脚本", "ai_settings.mcp_server.argument_hints.step.module-name.detail": "使用 -m 时在这里填写模块名,不要带 .py 后缀。", "ai_settings.mcp_server.argument_hints.step.module-name.label": "模块名", "ai_settings.mcp_server.argument_hints.step.package.detail": "README 中的 npm 包名或本地包入口。", "ai_settings.mcp_server.argument_hints.step.package.label": "MCP 包名", "ai_settings.mcp_server.argument_hints.step.run.detail": "Docker MCP 通常通过 docker run 启动容器。", "ai_settings.mcp_server.argument_hints.step.run.label": "run 子命令", "ai_settings.mcp_server.argument_hints.step.scope.detail": "文件系统、浏览器、数据库代理等服务可能还需要目录、端口或模式参数。", "ai_settings.mcp_server.argument_hints.step.scope.label": "授权目录或业务参数", "ai_settings.mcp_server.argument_hints.step.script.detail": "本地 MCP 服务的 js/mjs/ts 入口文件或包启动脚本。", "ai_settings.mcp_server.argument_hints.step.script.label": "脚本路径", "ai_settings.mcp_server.argument_hints.step.stdio.detail": "让服务通过标准输入输出与 GoNavi 通信。", "ai_settings.mcp_server.argument_hints.step.stdio.label": "stdio 参数", "ai_settings.mcp_server.argument_hints.step.yes.detail": "避免 npx 首次启动包时等待交互确认;pnpm/yarn 按 README 调整。", "ai_settings.mcp_server.argument_hints.step.yes.label": "跳过安装确认", "ai_settings.mcp_server.argument_hints.value_hint_prefix": "应填:", "ai_settings.mcp_server.command_parse.error.empty": "请先粘贴完整命令。", "ai_settings.mcp_server.command_parse.error.failed": "完整命令解析失败,请检查命令格式。", "ai_settings.mcp_server.command_parse.error.missing_command": "没有解析出启动命令,请至少提供可执行程序名。", "ai_settings.mcp_server.command_parse.error.unclosed_quote": "命令中存在未闭合的引号,请检查后重试。", "ai_settings.mcp_server.command_preview.args_count": "会拆成 {{count}} 个独立参数标签。", "ai_settings.mcp_server.command_preview.args_empty": "这条命令里没有检测到额外参数。", "ai_settings.mcp_server.command_preview.args_title": "命令参数", "ai_settings.mcp_server.command_preview.command_hint": "这里只会保留真正的可执行程序本身。", "ai_settings.mcp_server.command_preview.command_title": "启动命令", "ai_settings.mcp_server.command_preview.description": "点击“自动拆分到下方字段”后,会把这份解析结果写进服务名称下面的启动配置区域。", "ai_settings.mcp_server.command_preview.empty_value": "无", "ai_settings.mcp_server.command_preview.env_count": "会写入 {{count}} 条环境变量。", "ai_settings.mcp_server.command_preview.env_empty": "这条命令里没有检测到前缀环境变量。", "ai_settings.mcp_server.command_preview.env_title": "环境变量", "ai_settings.mcp_server.command_preview.title": "自动拆分预览", "ai_settings.mcp_server.draft.default_name": "MCP 服务", "ai_settings.mcp_server.env_hints.action_separator": ";", "ai_settings.mcp_server.env_hints.category.endpoint": "地址", "ai_settings.mcp_server.env_hints.category.generic": "自定义", "ai_settings.mcp_server.env_hints.category.path": "路径", "ai_settings.mcp_server.env_hints.category.proxy": "代理", "ai_settings.mcp_server.env_hints.category.runtime": "运行时", "ai_settings.mcp_server.env_hints.category.secret": "密钥", "ai_settings.mcp_server.env_hints.empty_value": " 当前值为空。", "ai_settings.mcp_server.env_hints.inferred.endpoint.detail": "变量名看起来像服务地址、接口地址或主机配置。", "ai_settings.mcp_server.env_hints.inferred.endpoint.label": "服务地址", "ai_settings.mcp_server.env_hints.inferred.endpoint.value_hint": "填写 MCP Server 要访问的 URL、host 或 endpoint。", "ai_settings.mcp_server.env_hints.inferred.generic.detail": "未命中内置变量库,按 MCP README 对应字段说明填写。", "ai_settings.mcp_server.env_hints.inferred.generic.label": "自定义配置", "ai_settings.mcp_server.env_hints.inferred.generic.value_hint": "确认变量名大小写和 README 完全一致。", "ai_settings.mcp_server.env_hints.inferred.path.detail": "变量名看起来像本地路径、目录或配置文件位置。", "ai_settings.mcp_server.env_hints.inferred.path.label": "路径 / 配置文件", "ai_settings.mcp_server.env_hints.inferred.path.value_hint": "填写本机 MCP 进程能访问的绝对路径;Windows 路径建议保留盘符。", "ai_settings.mcp_server.env_hints.inferred.proxy.detail": "变量名看起来像网络代理设置。", "ai_settings.mcp_server.env_hints.inferred.proxy.label": "代理配置", "ai_settings.mcp_server.env_hints.inferred.proxy.value_hint": "按 README 或企业代理格式填写,例如 http://127.0.0.1:7890。", "ai_settings.mcp_server.env_hints.inferred.runtime.detail": "变量名看起来像运行环境、日志或调试开关。", "ai_settings.mcp_server.env_hints.inferred.runtime.label": "运行时开关", "ai_settings.mcp_server.env_hints.inferred.runtime.value_hint": "按 README 指定的枚举值填写。", "ai_settings.mcp_server.env_hints.inferred.secret.detail": "变量名看起来像密钥、Token、密码或连接串。", "ai_settings.mcp_server.env_hints.inferred.secret.label": "密钥 / Token", "ai_settings.mcp_server.env_hints.inferred.secret.value_hint": "填真实值,但只保存在本机 MCP 配置里;不要放到 command、args 或聊天内容。", "ai_settings.mcp_server.env_hints.known.anthropic_api_key.detail": "给依赖 Anthropic Claude API 的 MCP 服务使用。", "ai_settings.mcp_server.env_hints.known.anthropic_api_key.label": "Anthropic API Key", "ai_settings.mcp_server.env_hints.known.anthropic_api_key.value_hint": "填真实 API Key;确认服务确实需要该变量后再配置。", "ai_settings.mcp_server.env_hints.known.database_url.detail": "给 MCP 服务自己连接数据库使用;这会把数据库连接信息交给该 MCP 进程。", "ai_settings.mcp_server.env_hints.known.database_url.label": "数据库连接串", "ai_settings.mcp_server.env_hints.known.database_url.value_hint": "只在确实要让该 MCP 直连数据库时填写,优先考虑使用 GoNavi MCP 避免密码外泄。", "ai_settings.mcp_server.env_hints.known.docker_host.detail": "给 docker CLI 指定连接哪个 Docker Engine。", "ai_settings.mcp_server.env_hints.known.docker_host.label": "Docker Daemon 地址", "ai_settings.mcp_server.env_hints.known.docker_host.value_hint": "Windows 常见为 npipe:////./pipe/docker_engine;远端 Docker 请确认安全边界。", "ai_settings.mcp_server.env_hints.known.gemini_api_key.detail": "给依赖 Google Gemini API 的 MCP 服务使用。", "ai_settings.mcp_server.env_hints.known.gemini_api_key.label": "Gemini API Key", "ai_settings.mcp_server.env_hints.known.gemini_api_key.value_hint": "填真实 API Key;也有服务会要求 GOOGLE_API_KEY。", "ai_settings.mcp_server.env_hints.known.github_token.detail": "通常给 GitHub MCP 读取仓库、Issue、PR 或 Actions 使用。", "ai_settings.mcp_server.env_hints.known.github_token.label": "GitHub Token", "ai_settings.mcp_server.env_hints.known.github_token.value_hint": "填 GitHub Personal Access Token,按 MCP README 要求授予最小权限。", "ai_settings.mcp_server.env_hints.known.gitlab_token.detail": "通常给 GitLab MCP 访问项目、Merge Request 或 CI 使用。", "ai_settings.mcp_server.env_hints.known.gitlab_token.label": "GitLab Token", "ai_settings.mcp_server.env_hints.known.gitlab_token.value_hint": "填 GitLab Access Token,并限制到需要访问的项目范围。", "ai_settings.mcp_server.env_hints.known.gonavi_mcp_http_token.detail": "给远程 MCP HTTP 服务开启 Bearer Token 鉴权时使用。", "ai_settings.mcp_server.env_hints.known.gonavi_mcp_http_token.label": "GoNavi MCP HTTP Token", "ai_settings.mcp_server.env_hints.known.gonavi_mcp_http_token.value_hint": "填高熵随机 token;不要复用数据库密码或模型 API Key。", "ai_settings.mcp_server.env_hints.known.google_api_key.detail": "给 Google/Gemini/Maps/Search 类 MCP 服务使用。", "ai_settings.mcp_server.env_hints.known.google_api_key.label": "Google API Key", "ai_settings.mcp_server.env_hints.known.google_api_key.value_hint": "填真实 API Key,并确认 README 要求的是 GOOGLE_API_KEY 还是 GEMINI_API_KEY。", "ai_settings.mcp_server.env_hints.known.http_proxy.detail": "让 MCP 进程访问 HTTP 资源时走指定代理。", "ai_settings.mcp_server.env_hints.known.http_proxy.label": "HTTP 代理", "ai_settings.mcp_server.env_hints.known.http_proxy.value_hint": "填 http://host:port;如果代理带账号密码,按敏感变量处理。", "ai_settings.mcp_server.env_hints.known.https_proxy.detail": "让 MCP 进程访问 HTTPS 资源时走指定代理。", "ai_settings.mcp_server.env_hints.known.https_proxy.label": "HTTPS 代理", "ai_settings.mcp_server.env_hints.known.https_proxy.value_hint": "填 http://host:port 或 https://host:port。", "ai_settings.mcp_server.env_hints.known.log_level.detail": "控制 MCP 服务输出多少日志。", "ai_settings.mcp_server.env_hints.known.log_level.label": "日志级别", "ai_settings.mcp_server.env_hints.known.log_level.value_hint": "常见值为 debug、info、warn、error;排障时可临时调高。", "ai_settings.mcp_server.env_hints.known.no_proxy.detail": "指定哪些域名或地址不走代理。", "ai_settings.mcp_server.env_hints.known.no_proxy.label": "代理绕过列表", "ai_settings.mcp_server.env_hints.known.no_proxy.value_hint": "逗号分隔,例如 localhost,127.0.0.1,.corp.local。", "ai_settings.mcp_server.env_hints.known.node_env.detail": "影响部分 Node MCP 服务的日志、调试或生产模式。", "ai_settings.mcp_server.env_hints.known.node_env.label": "Node 运行环境", "ai_settings.mcp_server.env_hints.known.node_env.value_hint": "通常填 production、development 或 README 指定值。", "ai_settings.mcp_server.env_hints.known.notion_api_key.detail": "给 Notion MCP 访问页面、数据库或 workspace 内容使用。", "ai_settings.mcp_server.env_hints.known.notion_api_key.label": "Notion API Key", "ai_settings.mcp_server.env_hints.known.notion_api_key.value_hint": "填 Notion integration secret,并只授权需要的页面。", "ai_settings.mcp_server.env_hints.known.openai_api_key.detail": "给依赖 OpenAI API 的 MCP 服务调用模型或 embedding 接口。", "ai_settings.mcp_server.env_hints.known.openai_api_key.label": "OpenAI API Key", "ai_settings.mcp_server.env_hints.known.openai_api_key.value_hint": "填真实 API Key;不要写到 command、args 或聊天消息里。", "ai_settings.mcp_server.env_hints.known.slack_bot_token.detail": "给 Slack MCP 读取频道、消息或发送通知使用。", "ai_settings.mcp_server.env_hints.known.slack_bot_token.label": "Slack Bot Token", "ai_settings.mcp_server.env_hints.known.slack_bot_token.value_hint": "填 xoxb- 开头的 Bot Token,并控制 workspace 权限。", "ai_settings.mcp_server.env_hints.next_action.docker_env": "如果容器内 MCP 需要这些变量,请在 args 里按 README 增加 -e KEY=VALUE 或 --env KEY=VALUE。", "ai_settings.mcp_server.env_hints.next_action.empty": "补齐 {{keys}} 的值,或删除不需要的变量。", "ai_settings.mcp_server.env_hints.next_action.keys_recognized": "环境变量 key 已可识别;测试失败时优先核对 README 要求的变量名大小写。", "ai_settings.mcp_server.env_hints.next_action.placeholder": "把 {{keys}} 替换成真实值后再测试工具发现。", "ai_settings.mcp_server.env_hints.next_action.secrets_local": "密钥类变量只保存在本机配置;不要把真实值发到聊天、Issue 或截图里。", "ai_settings.mcp_server.env_hints.next_actions": "下一步:{{actions}}", "ai_settings.mcp_server.env_hints.placeholder_value": " 当前像示例占位值。", "ai_settings.mcp_server.env_hints.recognized": "已识别", "ai_settings.mcp_server.env_hints.summary": "已识别 {{envVarCount}} 个变量,其中 {{secretLikeCount}} 个像密钥;这里只解释 key 的用途和风险,不会显示 value。", "ai_settings.mcp_server.env_hints.title": "环境变量用途提示", "ai_settings.mcp_server.env_hints.value_hint_prefix": "应填:", "ai_settings.mcp_server.env_hints.warning_prefix": "注意:{{warnings}}", "ai_settings.mcp_server.env_hints.warning.docker_env_not_forwarded": "command=docker 时,这里的环境变量只传给 docker CLI,不会自动进入容器。", "ai_settings.mcp_server.env_hints.warning.empty": "{{count}} 个环境变量值为空,测试前需要补齐或删除。", "ai_settings.mcp_server.env_hints.warning.placeholder": "{{count}} 个环境变量看起来仍是示例占位值。", "ai_settings.mcp_server.form.action.delete": "删除", "ai_settings.mcp_server.form.action.delete_cancel": "取消", "ai_settings.mcp_server.form.action.delete_confirm": "删除这个 MCP 服务?", "ai_settings.mcp_server.form.action.delete_ok": "删除", "ai_settings.mcp_server.form.action.save": "保存", "ai_settings.mcp_server.form.action.test": "测试工具发现", "ai_settings.mcp_server.form.args.description": "每个参数单独录入一个标签;命令本体不要填在这里。比如 npx -y package --stdio,要把 -y、package 和 --stdio 分开填;node server.js --stdio 要把 server.js 和 --stdio 分开填;docker run --rm -i image 要把 run、--rm、-i 和镜像名分开填。不确定怎么拆时,优先回到上面的“完整命令”框自动拆分。", "ai_settings.mcp_server.form.args.placeholder": "命令参数,回车录入,例如:-y / 包名 / --stdio", "ai_settings.mcp_server.form.args.title": "命令参数", "ai_settings.mcp_server.form.command.description": "这里只填命令本身;如果是 npx/node/uvx/python/docker 这类启动器,把包名、脚本名、模块名或 docker run 参数放到下面的参数里。不要把 npx -y package --stdio、node server.js --stdio 或 docker run -i image 整串都塞进这里。", "ai_settings.mcp_server.form.command.placeholder": "启动命令,例如:npx / node / uvx / python / docker", "ai_settings.mcp_server.form.command.title": "启动命令", "ai_settings.mcp_server.form.enabled.description": "临时不用可以先禁用,保留配置但不参与 AI 工具发现。", "ai_settings.mcp_server.form.enabled.option.disabled": "已禁用", "ai_settings.mcp_server.form.enabled.option.enabled": "已启用", "ai_settings.mcp_server.form.enabled.title": "启用状态", "ai_settings.mcp_server.form.env_status.empty": "每行都要写成 KEY=VALUE;没有等号或 key 含空格的行不会保存。", "ai_settings.mcp_server.form.env_status.invalid": "已识别 {{validCount}} 条环境变量,另有 {{invalidCount}} 行格式无效,本次不会保存:{{invalidLines}}", "ai_settings.mcp_server.form.env_status.valid": "已识别 {{count}} 条环境变量。", "ai_settings.mcp_server.form.env.description": "每行一个 KEY=VALUE,通常用于 API Key、工作目录、服务地址等配置;不需要时可以留空。这里会保存到本机配置,并在启动 MCP 进程时作为环境变量传入;不要写 export,也不要把密钥写进聊天内容。", "ai_settings.mcp_server.form.env.placeholder": "环境变量,每行一个 KEY=VALUE,例如:\nOPENAI_API_KEY=...\nGITHUB_TOKEN=...", "ai_settings.mcp_server.form.env.title": "环境变量", "ai_settings.mcp_server.form.instructions.save_description": "才会把这条 MCP 长期写入本地配置。", "ai_settings.mcp_server.form.instructions.save_title": "保存", "ai_settings.mcp_server.form.instructions.test_description": "只会按当前字段试启动一次,检查能发现哪些工具,不会保存配置。", "ai_settings.mcp_server.form.instructions.test_first": "建议先测试成功,再保存;测试通过后,上方会显示这条服务实际发现到的工具。", "ai_settings.mcp_server.form.instructions.test_title": "测试工具发现", "ai_settings.mcp_server.form.instructions.title": "操作说明", "ai_settings.mcp_server.form.instructions.tools_found": "当前上方列出的工具,就是最近一次测试成功后发现到的别名。", "ai_settings.mcp_server.form.launch_preview.description": "GoNavi 会按下面的形式启动进程,方便你确认命令和参数是不是拆对了。", "ai_settings.mcp_server.form.launch_preview.title": "实际启动命令预览", "ai_settings.mcp_server.form.name.description": "给这个 MCP 起一个你自己能识别的名字,后面 AI 工具列表里会直接显示;不要只写 server、test 这类看不出用途的名字。", "ai_settings.mcp_server.form.name.placeholder": "服务名称,例如:Filesystem / Browser / GitHub", "ai_settings.mcp_server.form.name.title": "服务名称", "ai_settings.mcp_server.form.timeout.description": "工具发现和工具调用单次最多等多久。大多数本机工具保持默认 20 秒即可;远端服务或启动慢的脚本再调大。", "ai_settings.mcp_server.form.timeout.placeholder": "超时(秒)", "ai_settings.mcp_server.form.timeout.preset.default": "默认 20 秒", "ai_settings.mcp_server.form.timeout.preset.relaxed": "稍宽松 45 秒", "ai_settings.mcp_server.form.timeout.preset.slow": "慢启动 60 秒", "ai_settings.mcp_server.form.timeout.title": "超时(秒)", "ai_settings.mcp_server.form.transport.description": "当前阶段只支持 stdio,表示 GoNavi 会在本机启动这个进程,并通过标准输入输出与它通信。", "ai_settings.mcp_server.form.transport.title": "传输方式", "ai_settings.mcp_server.guide.examples.description": "启动命令只填可执行程序本身,不要把参数混在一起。常见形式:", "ai_settings.mcp_server.guide.examples.title": "填写示例", "ai_settings.mcp_server.guide.field_lookup.description": "如果看到某个参数名不知道该填什么,先看这一块;下面每个字段也都有更具体的示例和注意事项。", "ai_settings.mcp_server.guide.field_lookup.title": "字段速查", "ai_settings.mcp_server.guide.field.args.avoid": "不要再填 npx/node/uvx/python/docker,也不要把多个参数粘成一个长字符串。", "ai_settings.mcp_server.guide.field.args.detail": "例如 npx -y pkg --stdio,要拆成 -y、pkg 和 --stdio;docker run --rm -i image 要拆成 run、--rm、-i 和 image。", "ai_settings.mcp_server.guide.field.args.fill": "逐项填 -y、包名、脚本名、-m、--stdio、run、--rm、-i、镜像名等参数。", "ai_settings.mcp_server.guide.field.args.summary": "把脚本名、模块名、开关参数拆开逐项填写。", "ai_settings.mcp_server.guide.field.args.title": "命令参数", "ai_settings.mcp_server.guide.field.avoid_label": "不要填:", "ai_settings.mcp_server.guide.field.command.avoid": "不要填整行命令,例如不要填 npx -y pkg --stdio。", "ai_settings.mcp_server.guide.field.command.detail": "常见是 npx、node、uvx、python、docker;包名、脚本名、run、-i 和 --stdio 这类内容放到参数里。", "ai_settings.mcp_server.guide.field.command.fill": "填 npx、node、uvx、python、docker,或某个 exe 的绝对路径。", "ai_settings.mcp_server.guide.field.command.summary": "只填程序名或启动器本身。", "ai_settings.mcp_server.guide.field.command.title": "启动命令", "ai_settings.mcp_server.guide.field.enabled.avoid": "不要用删除代替临时停用,避免重新配置 command、args、env。", "ai_settings.mcp_server.guide.field.enabled.detail": "禁用只是不使用,不会删除下面填好的配置。", "ai_settings.mcp_server.guide.field.enabled.example": "已启用 / 已禁用", "ai_settings.mcp_server.guide.field.enabled.fill": "临时不用选已禁用;确认要给 AI 用时选已启用。", "ai_settings.mcp_server.guide.field.enabled.summary": "控制这条配置现在要不要参与工具发现和调用。", "ai_settings.mcp_server.guide.field.enabled.title": "启用状态", "ai_settings.mcp_server.guide.field.env.avoid": "不要写 export、set 或 $env: 前缀;也不要把环境变量混进 command 或 args。", "ai_settings.mcp_server.guide.field.env.detail": "通常用来放 API Key、服务地址、工作目录等;每行一条,不要写 export。", "ai_settings.mcp_server.guide.field.env.fill": "每行一条 KEY=VALUE,例如 GITHUB_TOKEN=...。", "ai_settings.mcp_server.guide.field.env.summary": "给 MCP Server 传入 KEY=VALUE 形式的配置。", "ai_settings.mcp_server.guide.field.env.title": "环境变量", "ai_settings.mcp_server.guide.field.example_label": "示例值:", "ai_settings.mcp_server.guide.field.fill_label": "应填:", "ai_settings.mcp_server.guide.field.name.avoid": "不要写 server、test、mcp1 这类看不出用途的名字。", "ai_settings.mcp_server.guide.field.name.detail": "按用途命名,建议写成 Browser、GitHub、Filesystem 这类一眼能认出的名字。", "ai_settings.mcp_server.guide.field.name.fill": "这个 MCP 的用途名,例如 GitHub 或 Filesystem。", "ai_settings.mcp_server.guide.field.name.summary": "保存后显示给你和 AI 看的名字。", "ai_settings.mcp_server.guide.field.name.title": "服务名称", "ai_settings.mcp_server.guide.field.timeout.avoid": "不要随意填过小,3 秒以下很容易让工具发现误判失败。", "ai_settings.mcp_server.guide.field.timeout.detail": "本机常规工具一般 20 秒就够,启动慢或远端链路再适当调大。", "ai_settings.mcp_server.guide.field.timeout.fill": "常规填 20;启动慢时填 45 或 60。", "ai_settings.mcp_server.guide.field.timeout.summary": "单次工具发现或调用最多等待多久。", "ai_settings.mcp_server.guide.field.timeout.title": "超时(秒)", "ai_settings.mcp_server.guide.field.transport.avoid": "不要填写 HTTP、SSE、URL 或端口;当前新增入口不是远程 MCP URL 配置。", "ai_settings.mcp_server.guide.field.transport.detail": "当前固定为 stdio,表示本机直接启动进程并通过标准输入输出交互。", "ai_settings.mcp_server.guide.field.transport.fill": "保持 stdio。", "ai_settings.mcp_server.guide.field.transport.summary": "GoNavi 用什么方式和这个 MCP Server 通信。", "ai_settings.mcp_server.guide.field.transport.title": "传输方式", "ai_settings.mcp_server.guide.full_command.apply": "自动拆分到下方字段", "ai_settings.mcp_server.guide.full_command.description": "直接粘贴完整命令,GoNavi 会自动拆成“启动命令 / 命令参数 / 环境变量”三块;支持 Unix 的 KEY=VALUE,也支持 Windows PowerShell 的 $env:KEY=VALUE; 和 cmd 的 set KEY=VALUE && 写法。", "ai_settings.mcp_server.guide.full_command.parsed_summary": "将解析为:命令 {{command}},参数 {{argsCount}} 个,环境变量 {{envCount}} 个。", "ai_settings.mcp_server.guide.full_command.placeholder": "直接粘贴完整命令,例如:\n{{example}}", "ai_settings.mcp_server.guide.full_command.support_hint": "支持带引号路径、带空格参数,以及 KEY=VALUE / $env:KEY=VALUE; / set KEY=VALUE && 环境变量前缀。", "ai_settings.mcp_server.guide.full_command.title": "只有一条完整命令?", "ai_settings.mcp_server.guide.note.command_only": "启动命令只填程序本身,不要把脚本名、模块名和 --stdio 混进去。", "ai_settings.mcp_server.guide.note.docker": "README 给 Docker 示例时,command 填 docker,args 逐项填 run、--rm、-i、镜像名和容器参数;容器内 token 通常用 -e KEY=VALUE 传给容器。", "ai_settings.mcp_server.guide.note.env_lines": "环境变量每行一条 KEY=VALUE,不要写 export,也不要和启动命令混成一行保存。", "ai_settings.mcp_server.guide.note.full_command": "如果 README 里只给了一整行命令,优先粘到完整命令框自动拆分;支持 KEY=VALUE、env KEY=VALUE、PowerShell $env:KEY=VALUE; 和 Windows set KEY=VALUE && 这几类前缀环境变量写法。", "ai_settings.mcp_server.guide.note.npx": "README 给 npx 示例时,command 填 npx,args 逐项填 -y、包名和 --stdio;不要把整行 npx 命令放进 command。", "ai_settings.mcp_server.guide.note.secrets": "密钥类环境变量会保存到本机配置,并只在启动 MCP 进程时作为进程环境传入;不要把密钥写进聊天内容。", "ai_settings.mcp_server.guide.note.test_discovery": "测试工具发现只会临时启动一次做探测,不会自动保存配置。", "ai_settings.mcp_server.guide.order.description": "小白用户可以按这个顺序填:先选上面的模板或粘整行命令,再确认下面的必填项,最后只在需要时补参数、环境变量和超时。", "ai_settings.mcp_server.guide.order.title": "推荐填写顺序", "ai_settings.mcp_server.guide.step.args.detail": "把脚本名、模块名、Docker run 参数和 --stdio 这类参数拆开逐项填写。", "ai_settings.mcp_server.guide.step.args.title": "命令参数", "ai_settings.mcp_server.guide.step.command.detail": "这里只填程序名或启动器本身,不要把整行命令塞进去。", "ai_settings.mcp_server.guide.step.command.title": "启动命令", "ai_settings.mcp_server.guide.step.env_timeout.detail": "只有在服务确实需要额外配置时再补,不需要可以留空。", "ai_settings.mcp_server.guide.step.env_timeout.title": "环境变量 / 超时", "ai_settings.mcp_server.guide.step.name.detail": "命名成 Browser、GitHub、Filesystem 这类一眼能认出的用途名。", "ai_settings.mcp_server.guide.step.name.title": "服务名称", "ai_settings.mcp_server.guide.step.template.detail": "优先选最接近的模板,或先粘一整行命令让 GoNavi 自动拆分。", "ai_settings.mcp_server.guide.step.template.title": "模板 / 完整命令", "ai_settings.mcp_server.guide.troubleshooting.auth_failed.cause": "API Key、Token、服务地址等环境变量没有填,或 KEY=VALUE 格式无效。", "ai_settings.mcp_server.guide.troubleshooting.auth_failed.fix": "在环境变量里每行写一条 KEY=VALUE,不要写 export,也不要把环境变量和启动命令混到同一行保存。", "ai_settings.mcp_server.guide.troubleshooting.auth_failed.symptom": "认证失败、401 或 403", "ai_settings.mcp_server.guide.troubleshooting.cause_label": "常见原因:", "ai_settings.mcp_server.guide.troubleshooting.command_not_found.cause": "启动命令填了整串命令、命令没加入 PATH,或 Windows 路径里有空格但没有用真实 exe 路径。", "ai_settings.mcp_server.guide.troubleshooting.command_not_found.fix": "启动命令只填可执行程序本身;脚本名和 --stdio 放到命令参数里。命令不在 PATH 时,直接填绝对路径。", "ai_settings.mcp_server.guide.troubleshooting.command_not_found.symptom": "测试提示找不到命令", "ai_settings.mcp_server.guide.troubleshooting.description": "如果测试失败,先按这里反查要改哪个字段;大多数问题都不是 MCP 坏了,而是命令、参数或环境变量拆错了。", "ai_settings.mcp_server.guide.troubleshooting.example_label": "示例:", "ai_settings.mcp_server.guide.troubleshooting.fix_label": "处理方式:", "ai_settings.mcp_server.guide.troubleshooting.stdio_only.cause": "这类配置通常不是本机 stdio 进程,当前 GoNavi 新增 MCP 服务暂不直接支持。", "ai_settings.mcp_server.guide.troubleshooting.stdio_only.fix": "优先找该服务的 stdio 启动方式;如果只有 HTTP/SSE,请先用官方网关或本机包装器转成 stdio。", "ai_settings.mcp_server.guide.troubleshooting.stdio_only.symptom": "README 只给了 URL 或 SSE 配置", "ai_settings.mcp_server.guide.troubleshooting.timeout_or_no_tools.cause": "服务启动慢、缺少 stdio 参数、Docker 容器缺少 -i,或填成了只支持 HTTP/SSE 的 MCP 服务。", "ai_settings.mcp_server.guide.troubleshooting.timeout_or_no_tools.fix": "先确认这个服务支持 stdio,再补齐 --stdio 或 Docker -i 等参数;启动慢时把超时调到 45 或 60 秒。", "ai_settings.mcp_server.guide.troubleshooting.timeout_or_no_tools.symptom": "测试超时或发现 0 个工具", "ai_settings.mcp_server.guide.troubleshooting.title": "常见填错现象", "ai_settings.mcp_server.help.example_prefix": "例如:", "ai_settings.mcp_server.help.field_state.fixed": "固定", "ai_settings.mcp_server.help.field_state.optional": "可选", "ai_settings.mcp_server.help.field_state.required": "必填", "ai_settings.mcp_server.message.delete_failed": "删除 MCP 服务失败", "ai_settings.mcp_server.message.deleted": "MCP 服务已删除", "ai_settings.mcp_server.message.save_failed": "保存 MCP 服务失败", "ai_settings.mcp_server.message.saved": "MCP 服务已保存", "ai_settings.mcp_server.message.test_failed": "MCP 服务测试失败", "ai_settings.mcp_server.message.test_request_failed": "测试 MCP 服务失败", "ai_settings.mcp_server.message.test_success": "MCP 服务连接成功", "ai_settings.mcp_server.quick_add.action.parse_and_add": "解析并新增草稿", "ai_settings.mcp_server.quick_add.description": "先选最接近的模板,或直接粘贴 README 里的一整行启动命令。GoNavi 会先拆成 command、args 和 env,再生成一个可继续编辑的 MCP 草稿。", "ai_settings.mcp_server.quick_add.templates_description": "不确定 command 和 args 怎么拆时,直接点一个模板新增草稿;每张卡片下面展示的就是 GoNavi 实际会启动的命令预览。", "ai_settings.mcp_server.quick_add.templates_title": "常见启动方式模板", "ai_settings.mcp_server.quick_add.title": "一行命令快速新增", "ai_settings.mcp_server.remote_quick_start.avoid_prefix": "避免:", "ai_settings.mcp_server.remote_quick_start.badge.optional": "可选", "ai_settings.mcp_server.remote_quick_start.badge.required": "必填", "ai_settings.mcp_server.remote_quick_start.card.cli_config": "无 GUI / CLI 生成配置", "ai_settings.mcp_server.remote_quick_start.card.cli_config_note": "用于生成可粘贴到 {{displayName}} 的远程 MCP 配置,不会读取或输出数据库密码。", "ai_settings.mcp_server.remote_quick_start.card.cloud_agent": "配置到云端 Agent", "ai_settings.mcp_server.remote_quick_start.card.standalone_binary": "独立二进制:{{command}}", "ai_settings.mcp_server.remote_quick_start.card.windows_launch": "Windows 启动 GoNavi MCP HTTP", "ai_settings.mcp_server.remote_quick_start.default_agent_name": "远程 Agent", "ai_settings.mcp_server.remote_quick_start.description": "下面分别给云端 Agent、无 GUI/CLI 场景和 Windows GoNavi 使用。云端只保存 MCP URL 和 Bearer Token,不保存数据库账号密码;默认 schema-only 只暴露结构工具。", "ai_settings.mcp_server.remote_quick_start.example_prefix": "示例:", "ai_settings.mcp_server.remote_quick_start.fill_prefix": "应填:", "ai_settings.mcp_server.remote_quick_start.guide.access_heading": "建议接入方式:", "ai_settings.mcp_server.remote_quick_start.guide.boundary_heading": "当前边界:", "ai_settings.mcp_server.remote_quick_start.guide.boundary.local_stdio": "GoNavi 内置 MCP 本机入口是 stdio,适合 Claude Code / Codex 这类和 GoNavi 在同一台机器上的客户端。", "ai_settings.mcp_server.remote_quick_start.guide.boundary.remote_cloud": "如果 OpenClaw/Hermans 部署在云端 Linux,不能直接使用 Windows 本地 stdio 命令;可在 Windows 上启动 GoNavi Streamable HTTP 模式,再通过隧道或反向代理给云端 Agent 调用。", "ai_settings.mcp_server.remote_quick_start.guide.config_command_heading": "无 GUI / CLI 生成配置命令:", "ai_settings.mcp_server.remote_quick_start.guide.config_heading": "可复制配置片段(适用于支持 mcpServers JSON 的 Agent):", "ai_settings.mcp_server.remote_quick_start.guide.current_hint": "当前提示:{{message}}", "ai_settings.mcp_server.remote_quick_start.guide.env_fallback": "或设置环境变量 GONAVI_MCP_HTTP_TOKEN= 后运行 {{standaloneCommand}}", "ai_settings.mcp_server.remote_quick_start.guide.execute_sql_note": "如果明确需要远程执行 SQL,可去掉 --schema-only;此时 execute_sql 仍受 GoNavi AI 安全控制约束,写操作必须显式传 allowMutating=true。", "ai_settings.mcp_server.remote_quick_start.guide.goal_heading": "目标:", "ai_settings.mcp_server.remote_quick_start.guide.goal.credentials_stay_local": "数据库连接、账号和密码继续保存在 Windows 上的 GoNavi。云端 Agent 不需要保存数据库密码。", "ai_settings.mcp_server.remote_quick_start.guide.goal.schema_only": "远程接入默认使用 schema-only 模式,不注册 execute_sql,适合只给 OpenClaw/Hermans 读取库表结构。", "ai_settings.mcp_server.remote_quick_start.guide.goal.tools_only": "云端 Agent 只通过 MCP tools 读取 get_connections/get_databases/get_tables/get_columns/get_table_ddl 等结果。", "ai_settings.mcp_server.remote_quick_start.guide.launch_command_heading": "CLI / 服务启动命令:", "ai_settings.mcp_server.remote_quick_start.guide.step.configure_remote_server": "3. 在 {{displayName}} 中添加远程 MCP Server,transport 选择 Streamable HTTP,URL 填隧道/反向代理后的 /mcp 地址,并设置 Authorization: Bearer 。", "ai_settings.mcp_server.remote_quick_start.guide.step.inspect_schema": "4. 先调用 get_connections 获取 connectionId,再调用表结构工具;不要把数据库 host/user/password 写进云端 Agent 配置。", "ai_settings.mcp_server.remote_quick_start.guide.step.keep_windows_accessible": "1. Windows 本机保持 GoNavi 可访问,由 GoNavi 读取保存连接和系统凭据。", "ai_settings.mcp_server.remote_quick_start.guide.step.run_command": "2. 在 Windows 或可信内网侧运行:{{launchCommand}}。", "ai_settings.mcp_server.remote_quick_start.guide.title": "GoNavi MCP 远程接入说明 - {{displayName}}", "ai_settings.mcp_server.remote_quick_start.parameter.bearer_token.avoid": "不要使用空 token、短 token,也不要把数据库密码当 token 填进去。", "ai_settings.mcp_server.remote_quick_start.parameter.bearer_token.fill": "填一段随机长 token,Windows 启动命令和云端 Agent 配置必须一致。", "ai_settings.mcp_server.remote_quick_start.parameter.bearer_token.title": "Bearer Token", "ai_settings.mcp_server.remote_quick_start.parameter.local_addr.avoid": "没有网关隔离时不要直接绑定 0.0.0.0 暴露到公网。", "ai_settings.mcp_server.remote_quick_start.parameter.local_addr.fill": "Windows GoNavi HTTP MCP 默认监听 127.0.0.1:8765,再交给隧道或反向代理转发。", "ai_settings.mcp_server.remote_quick_start.parameter.local_addr.title": "本机监听地址", "ai_settings.mcp_server.remote_quick_start.parameter.path.avoid": "不要一边用 /mcp,另一边配置 /api/mcp,路径不一致会 404。", "ai_settings.mcp_server.remote_quick_start.parameter.path.fill": "本机启动命令、隧道 URL 和云端 Agent 配置里的路径要保持一致。", "ai_settings.mcp_server.remote_quick_start.parameter.path.title": "MCP 路径", "ai_settings.mcp_server.remote_quick_start.parameter.public_url.avoid": "不要填 Windows 本机的 127.0.0.1;云端 Linux 访问不到这个地址。", "ai_settings.mcp_server.remote_quick_start.parameter.public_url.fill": "填云端 Agent 能访问到的 Streamable HTTP MCP 地址,通常以 /mcp 结尾。", "ai_settings.mcp_server.remote_quick_start.parameter.public_url.title": "公网/隧道 URL", "ai_settings.mcp_server.remote_quick_start.parameter.server_id.avoid": "不要频繁改名,否则 Agent 里已有的工具引用可能失效。", "ai_settings.mcp_server.remote_quick_start.parameter.server_id.fill": "给云端 Agent 识别这条 MCP 服务的名称,默认 gonavi 即可。", "ai_settings.mcp_server.remote_quick_start.parameter.server_id.title": "服务 ID", "ai_settings.mcp_server.remote_quick_start.section.security": "安全边界", "ai_settings.mcp_server.remote_quick_start.section.verification": "验证顺序", "ai_settings.mcp_server.remote_quick_start.security.credentials_stay_local": "数据库账号和密码仍保存在 Windows GoNavi,本段配置不要写数据库密码。", "ai_settings.mcp_server.remote_quick_start.security.execute_sql": "如去掉 --schema-only 开放 execute_sql,仍受 GoNavi AI 安全控制约束,写操作仍必须显式传 allowMutating=true。", "ai_settings.mcp_server.remote_quick_start.security.schema_only": "默认 --schema-only 不注册 execute_sql,远程 Agent 只能走库表结构类工具。", "ai_settings.mcp_server.remote_quick_start.security.token_required": "HTTP MCP 必须使用随机 Bearer Token,并放在 HTTPS、私有网络或受控隧道后面。", "ai_settings.mcp_server.remote_quick_start.title": "{{displayName}} 远程 MCP 快速配置", "ai_settings.mcp_server.remote_quick_start.verification.configure_agent": "{{displayName}} 里配置 Streamable HTTP MCP,URL 指向隧道或反向代理后的 /mcp 地址。", "ai_settings.mcp_server.remote_quick_start.verification.healthz": "Windows 本机先访问 http://127.0.0.1:8765/healthz,确认 GoNavi MCP HTTP 服务已启动。", "ai_settings.mcp_server.remote_quick_start.verification.inspect_schema": "先调用 get_connections 获取 connectionId,再读取 get_databases / get_tables / get_columns。", "ai_settings.mcp_server.section.action.add_server": "新增 MCP 服务", "ai_settings.mcp_server.section.empty": "还没有 MCP 服务。常见形式是 `npx -y package --stdio`、`node server.js`、`uvx some-mcp-server`、`python -m server`、`docker run --rm -i image`。", "ai_settings.mcp_server.section.quick_reference.description": "先确认这几个字段再新增服务:`command` 只填可执行程序,`args` 才放脚本名和 --stdio,`env` 每行一个 KEY=VALUE,`timeout` 控制单次工具发现或调用等待时间。", "ai_settings.mcp_server.section.quick_reference.footer": "支持命令、参数、环境变量和超时;不确定怎么填时先看卡片里的“字段速查”,保存后会自动进入 AI 工具列表。", "ai_settings.mcp_server.section.quick_reference.title": "新增 MCP 参数速查", "ai_settings.mcp_server.template.docker.description": "适合 README 里写着 `docker run -i --rm image` 的容器化 MCP。本机需要已安装 Docker。", "ai_settings.mcp_server.template.docker.detail": "示例会填成 `docker run --rm -i mcp/server-fetch:latest`;容器内 token 通常用 -e KEY=VALUE 放到参数里。", "ai_settings.mcp_server.template.docker.seed_name": "Docker MCP", "ai_settings.mcp_server.template.docker.title": "Docker 镜像", "ai_settings.mcp_server.template.exe.description": "适合已经编译好的本机二进制或公司内部工具。", "ai_settings.mcp_server.template.exe.detail": "示例会填成 `your-mcp-server.exe stdio`,把 exe 路径换成真实值。", "ai_settings.mcp_server.template.exe.seed_name": "本机 EXE", "ai_settings.mcp_server.template.exe.title": "本机 EXE", "ai_settings.mcp_server.template.node.description": "适合本地 js/ts 脚本或 npm 安装后的 node 启动器。", "ai_settings.mcp_server.template.node.detail": "示例会填成 `node server.js --stdio`,脚本名和参数可以继续改。", "ai_settings.mcp_server.template.node.seed_name": "Node 脚本", "ai_settings.mcp_server.template.node.title": "Node 脚本", "ai_settings.mcp_server.template.npx.description": "适合 README 里写着 `npx -y xxx --stdio` 的 npm MCP 包。", "ai_settings.mcp_server.template.npx.detail": "示例会填成 `npx -y @modelcontextprotocol/server-filesystem --stdio`,把包名和路径参数改成实际值。", "ai_settings.mcp_server.template.npx.seed_name": "npx 包", "ai_settings.mcp_server.template.npx.title": "npx 包", "ai_settings.mcp_server.template.python.description": "适合 `python -m xxx` 这种按模块启动的服务。", "ai_settings.mcp_server.template.python.detail": "示例会填成 `python -m your_mcp_server`,模块名改成实际值即可。", "ai_settings.mcp_server.template.python.seed_name": "Python 模块", "ai_settings.mcp_server.template.python.title": "Python 模块", "ai_settings.mcp_server.template.uvx.description": "适合 Python/uv 生态里已经发布好的 MCP 包。", "ai_settings.mcp_server.template.uvx.detail": "示例会填成 `uvx some-mcp-server`,保存前把包名改成你自己的。", "ai_settings.mcp_server.template.uvx.seed_name": "uvx 工具", "ai_settings.mcp_server.template.uvx.title": "uvx 工具", "ai_settings.mcp_server.tool_schema_summary.minimal_arguments_example": "最小 arguments 示例:", "ai_settings.mcp_server.tool_schema_summary.more_parameters": "还有 {{count}} 个参数,使用 /mcptool 查看完整 schema", "ai_settings.mcp_server.tool_schema_summary.no_input_schema": "未声明 inputSchema,调用参数需参考服务文档或用 /mcptool 继续查看。", "ai_settings.mcp_server.tool_schema_summary.parameter_counts": "{{count}} 个参数,必填 {{requiredCount}} 个;星号表示必填。", "ai_settings.mcp_server.tool_schema_summary.title": "已发现工具和参数提示", "ai_settings.mcp_server.validation.issue.args_contain_env_or_shell_glue.detail": "KEY=VALUE、$env:KEY=VALUE、set、env、&& 这类内容应放到完整命令自动拆分或环境变量输入框里。", "ai_settings.mcp_server.validation.issue.args_contain_env_or_shell_glue.title": "命令参数里疑似混入环境变量或 Shell 连接符", "ai_settings.mcp_server.validation.issue.args_missing_for_launcher.detail": "node、python、uvx、npx 这类启动器通常还需要 server.js、-m your_server 或包名作为参数。", "ai_settings.mcp_server.validation.issue.args_missing_for_launcher.title": "命令参数可能缺少脚本或模块名", "ai_settings.mcp_server.validation.issue.command_missing.detail": "至少填写 node、uvx、python 或本机 exe 路径;脚本名和 --stdio 放到命令参数里。", "ai_settings.mcp_server.validation.issue.command_missing.title": "启动命令未填写", "ai_settings.mcp_server.validation.issue.command_whole_line.detail": "启动命令只填可执行程序本身;把脚本名、模块名、--stdio 和环境变量拆到命令参数或环境变量里。", "ai_settings.mcp_server.validation.issue.command_whole_line.title": "启动命令可能填成了整行命令", "ai_settings.mcp_server.validation.issue.docker_image_missing.detail": "请在 docker run 选项之后填写 README 提供的镜像名,例如 mcp/server-fetch:latest。", "ai_settings.mcp_server.validation.issue.docker_image_missing.title": "Docker 参数可能缺少镜像名", "ai_settings.mcp_server.validation.issue.docker_interactive_missing.detail": "MCP 需要持续读取标准输入;docker run 场景请加 -i 或 --interactive,否则工具发现可能立即断开。", "ai_settings.mcp_server.validation.issue.docker_interactive_missing.title": "Docker 参数缺少 -i", "ai_settings.mcp_server.validation.issue.docker_run_missing.detail": "Docker MCP 通常需要 command=docker,args 里单独填写 run、--rm、-i、镜像名和服务参数。", "ai_settings.mcp_server.validation.issue.docker_run_missing.title": "Docker 参数缺少 run", "ai_settings.mcp_server.validation.issue.env_invalid_lines.detail": "每行必须是 KEY=VALUE,当前有 {{count}} 行不会保存:{{lines}}", "ai_settings.mcp_server.validation.issue.env_invalid_lines.title": "环境变量存在无效行", "ai_settings.mcp_server.validation.issue.name_missing.detail": "建议写成 Browser、GitHub、Filesystem 这类用途名;否则保存后只能靠命令名识别。", "ai_settings.mcp_server.validation.issue.name_missing.title": "服务名称为空", "ai_settings.mcp_server.validation.issue.timeout_out_of_range.detail": "GoNavi 最终会限制在 3 到 120 秒之间;本机常规服务建议 20 秒,慢启动服务建议 45 或 60 秒。", "ai_settings.mcp_server.validation.issue.timeout_out_of_range.title": "超时时间不在推荐范围内", "ai_settings.mcp_server.validation.issue.transport_unsupported.detail": "当前 GoNavi 新增 MCP 服务只支持 stdio,请保持传输方式为 stdio。", "ai_settings.mcp_server.validation.issue.transport_unsupported.title": "传输方式不支持", "ai_settings.mcp_server.validation.severity.error": "需修复", "ai_settings.mcp_server.validation.severity.info": "提示", "ai_settings.mcp_server.validation.severity.warning": "建议检查", "ai_settings.mcp_server.validation.summary.errors": "发现 {{count}} 个必须修复的问题,修复后才能测试或保存。", "ai_settings.mcp_server.validation.summary.ready": "当前配置可以测试和保存。", "ai_settings.mcp_server.validation.summary.warnings": "发现 {{count}} 个建议检查项,仍可测试和保存。", "ai_settings.mcp_server.validation.title": "配置检查", "ai_settings.message.delete_failed": "删除失败", "ai_settings.message.delete_failed_detail": "删除失败:{{detail}}", "ai_settings.message.deleted": "已删除", "ai_settings.message.deleted_and_switched": "已删除,自动切换到「{{name}}」", "ai_settings.message.load_provider_failed": "读取供应商配置失败", "ai_settings.message.save_failed": "保存失败", "ai_settings.message.save_failed_detail": "保存失败:{{detail}}", "ai_settings.message.saved": "已保存", "ai_settings.message.switch_failed": "切换失败", "ai_settings.message.switch_failed_detail": "切换失败:{{detail}}", "ai_settings.message.switched": "已切换", "ai_settings.message.test_failed": "测试失败", "ai_settings.message.test_failed_detail": "测试失败:{{detail}}", "ai_settings.message.test_requires_new_api_key": "测试连接前请填写新的 API Key,或取消清除已保存密钥", "ai_settings.message.test_success": "连接成功", "ai_settings.message.unknown_error": "未知错误", "ai_settings.nav.context.description": "配置携带的数据库架构信息", "ai_settings.nav.context.title": "上下文", "ai_settings.nav.mcp.description": "把 GoNavi 接入外部客户端并管理工具源", "ai_settings.nav.mcp.title": "MCP 服务", "ai_settings.nav.prompts.description": "查看系统预设的底层要求", "ai_settings.nav.prompts.title": "内置提示词", "ai_settings.nav.providers.description": "配置大模型接口与密钥", "ai_settings.nav.providers.title": "模型供应商", "ai_settings.nav.safety.description": "限制 AI 操作风险级别", "ai_settings.nav.safety.title": "安全控制", "ai_settings.nav.skills.description": "配置可复用提示模块", "ai_settings.nav.skills.title": "Skills", "ai_settings.nav.title": "设置导航", "ai_settings.nav.tools.description": "查看 AI 可调用的数据探针", "ai_settings.nav.tools.title": "内置工具", "ai_settings.prompts.action.save": "保存自定义提示词", "ai_settings.prompts.builtin.description": "以下为当前版本 GoNavi 预设的底层 AI 提示词(只读)。它们会先于上面的用户级提示词注入到对应场景的请求上下文中。", "ai_settings.prompts.description": "以下为当前版本 GoNavi 预设的底层 AI 提示词(只读)。它们会被动态注入到对应场景的请求上下文中。", "ai_settings.prompts.field.database.description": "仅数据库/SQL 场景生效,例如“生成 SQL 前必须先确认字段名”。", "ai_settings.prompts.field.database.title": "数据库会话补充提示词", "ai_settings.prompts.field.global.description": "对所有 AI 会话生效,例如“先给结论”“回答保持简洁”。", "ai_settings.prompts.field.global.title": "全局补充提示词", "ai_settings.prompts.field.jvm_diagnostic.description": "仅 JVM 诊断工作台生效,例如“先给计划,再给命令”。", "ai_settings.prompts.field.jvm_diagnostic.title": "JVM 诊断补充提示词", "ai_settings.prompts.field.jvm.description": "仅 JVM 资源浏览/分析场景生效。", "ai_settings.prompts.field.jvm.title": "JVM 资源分析补充提示词", "ai_settings.prompts.message.save_failed": "保存自定义提示词失败", "ai_settings.prompts.message.saved": "自定义提示词已保存", "ai_settings.prompts.placeholder.empty": "留空表示不额外追加", "ai_settings.prompts.user.description": "这里的内容会在系统内置提示词之后,以 system message 的形式追加注入。适合放你的个人风格偏好、输出约束、团队规范。涉及安全红线时,系统规则仍然优先。", "ai_settings.prompts.user.title": "用户级自定义提示词", "ai_settings.provider_preset.anthropic.desc": "Claude Opus/Sonnet 模型", "ai_settings.provider_preset.anthropic.label": "Claude", "ai_settings.provider_preset.custom.desc": "自定义 API 端点", "ai_settings.provider_preset.custom.label": "自定义", "ai_settings.provider_preset.deepseek.desc": "DeepSeek-V4 / R1 模型", "ai_settings.provider_preset.deepseek.label": "DeepSeek", "ai_settings.provider_preset.gemini.desc": "Gemini 3.1 / 2.5 系列", "ai_settings.provider_preset.gemini.label": "Gemini", "ai_settings.provider_preset.minimax.desc": "M3 / M2.7 系列(Anthropic 兼容)", "ai_settings.provider_preset.minimax.label": "MiniMax", "ai_settings.provider_preset.moonshot.desc": "Kimi K2.5(Anthropic 兼容)", "ai_settings.provider_preset.moonshot.label": "Kimi", "ai_settings.provider_preset.ollama.desc": "本地部署开源模型", "ai_settings.provider_preset.ollama.label": "Ollama", "ai_settings.provider_preset.openai.desc": "GPT-5.4 / 5.3 系列", "ai_settings.provider_preset.openai.label": "OpenAI", "ai_settings.provider_preset.qwen_bailian.desc": "百炼 Anthropic 兼容端点 / 模型从远端拉取", "ai_settings.provider_preset.qwen_bailian.label": "通义千问(百炼通用)", "ai_settings.provider_preset.qwen_coding_plan.desc": "Claude Code CLI 代理链路 / 使用官方支持模型清单", "ai_settings.provider_preset.qwen_coding_plan.label": "通义千问(Coding Plan)", "ai_settings.provider_preset.volcengine_ark.desc": "Ark 通用推理 / 豆包模型", "ai_settings.provider_preset.volcengine_ark.label": "火山方舟", "ai_settings.provider_preset.volcengine_coding.desc": "Ark Code / Coding Plan 链路", "ai_settings.provider_preset.volcengine_coding.label": "火山 Coding Plan", "ai_settings.provider_preset.zhipu.desc": "GLM-5 / GLM-5-Turbo 模型", "ai_settings.provider_preset.zhipu.label": "智谱 GLM", "ai_settings.provider.action.add": "添加模型供应商", "ai_settings.provider.action.delete": "删除", "ai_settings.provider.action.edit": "编辑", "ai_settings.provider.auto_model": "自动选择", "ai_settings.provider.confirm_delete": "确认删除?", "ai_settings.provider.editor.add_title": "添加模型供应商", "ai_settings.provider.editor.edit_title": "编辑模型供应商", "ai_settings.provider.empty.description": "添加一个以开始使用 AI 助手", "ai_settings.provider.empty.title": "暂未配置模型供应商", "ai_settings.provider.next_provider": "下一个供应商", "ai_settings.provider.no_model": "未选择模型", "ai_settings.safety.description": "控制 AI 可执行的 SQL 操作类型,保护数据安全", "ai_settings.safety.full.desc": "AI 可执行所有操作(含 DDL),高危操作自动告警。", "ai_settings.safety.full.label": "完全模式", "ai_settings.safety.readonly.desc": "AI 仅可执行 SELECT 等查询操作,最安全。", "ai_settings.safety.readonly.label": "只读模式", "ai_settings.safety.readwrite.desc": "AI 可执行 INSERT/UPDATE/DELETE,危险操作需二次确认。", "ai_settings.safety.readwrite.label": "读写模式", "ai_settings.skill.action.add": "新增 Skill", "ai_settings.skill.confirm_delete": "删除这个 Skill?", "ai_settings.skill.description": "Skill 不是另一条大提示词,而是“命名的提示模块 + 作用域 + 工具依赖”。当前阶段仍建议保留在主仓库内,不需要单独新建 GitHub 仓库;只有未来要做共享 skill pack 分发时,再考虑拆仓。", "ai_settings.skill.description_placeholder": "给自己看的说明,例如:输出 SQL 前必须先确认字段名和风险", "ai_settings.skill.empty": "还没有 Skill。你可以给数据库、JVM、诊断场景分别定义专用的 system prompt。", "ai_settings.skill.hint": "启用后会按 scope 注入对应会话;如果依赖的工具不存在,该 Skill 会被自动跳过。", "ai_settings.skill.message.delete_failed": "删除 Skill 失败", "ai_settings.skill.message.deleted": "Skill 已删除", "ai_settings.skill.message.save_failed": "保存 Skill 失败", "ai_settings.skill.message.saved": "Skill 已保存", "ai_settings.skill.name_placeholder": "Skill 名称,例如:SQL 审查 / JVM 诊断计划", "ai_settings.skill.required_tools_placeholder": "可选:声明这个 Skill 依赖哪些工具", "ai_settings.skill.scope.database.desc": "仅 SQL / 数据库场景启用", "ai_settings.skill.scope.database.label": "数据库", "ai_settings.skill.scope.global.desc": "所有 AI 会话都启用", "ai_settings.skill.scope.global.label": "全局", "ai_settings.skill.scope.jvm_diagnostic.desc": "仅 JVM 诊断工作台启用", "ai_settings.skill.scope.jvm_diagnostic.label": "JVM 诊断", "ai_settings.skill.scope.jvm.desc": "仅 JVM 资源分析场景启用", "ai_settings.skill.scope.jvm.label": "JVM 资源", "ai_settings.skill.scopes_placeholder": "选择这个 Skill 要作用到哪些场景", "ai_settings.skill.status.disabled": "已禁用", "ai_settings.skill.status.enabled": "已启用", "ai_settings.skill.system_prompt_placeholder": "输入这条 Skill 要追加的 system prompt。建议聚焦一个明确能力,不要和全局提示词重复。", "ai_settings.subtitle": "配置 AI 模型、安全级别和上下文选项", "ai_settings.title": "AI 设置", "ai_settings.tools.builtin_tool_label": "内置工具", "ai_settings.tools.description": "AI 助手在处理数据库相关问题时,可以自动调用以下内置工具获取真实数据,全程无需人工干预。", "ai_settings.tools.empty.no_matches": "没有匹配的内置工具。可以改搜更宽泛的关键词,例如 mcp、日志、连接、事务、快捷键、schema。", "ai_settings.tools.execute_sql.desc": "执行 SQL 查询并返回结果", "ai_settings.tools.execute_sql.detail": "传入 connectionId、dbName 和 sql,在目标数据库上执行 SQL 并返回结果(最多 50 行)。受安全级别控制,只读模式下仅允许 SELECT/SHOW/DESCRIBE。", "ai_settings.tools.get_columns.desc": "获取指定表的字段结构", "ai_settings.tools.get_columns.detail": "传入 connectionId、dbName 和 tableName,返回每个字段的名称、类型、是否可空、默认值和注释。AI 在生成 SQL 前必须调用此工具确认真实字段名。", "ai_settings.tools.get_connections.desc": "获取所有可用的数据库连接", "ai_settings.tools.get_connections.detail": "返回连接 ID、名称、类型(MySQL/PostgreSQL 等)和 Host 地址。AI 根据返回信息决定优先探索哪个连接。", "ai_settings.tools.get_databases.desc": "获取指定连接下的所有数据库", "ai_settings.tools.get_databases.detail": "传入 connectionId,返回该连接下的数据库或结构名称列表。", "ai_settings.tools.get_table_ddl.desc": "获取表的建表语句", "ai_settings.tools.get_table_ddl.detail": "传入 connectionId、dbName 和 tableName,返回完整的 CREATE TABLE 语句,包含字段定义、索引、约束等信息。", "ai_settings.tools.get_tables.desc": "获取指定数据库下的所有表名", "ai_settings.tools.get_tables.detail": "传入 connectionId 和 dbName,返回表名列表。AI 用它来定位用户提到的目标表。", "ai_settings.tools.parameters.default_value": "默认:{{value}}", "ai_settings.tools.parameters.enum_values": "可选值:{{values}}", "ai_settings.tools.parameters.example": "示例:", "ai_settings.tools.parameters.hint_title": "参数提示", "ai_settings.tools.parameters.optional": "可选", "ai_settings.tools.parameters.required": "必填", "ai_settings.tools.parameters.type_label": "类型:{{type}}", "ai_settings.tools.params_label": "参数:", "ai_settings.tools.params.none": "无参数", "ai_settings.tools.search.aria_label": "搜索内置工具", "ai_settings.tools.search.clear": "清除", "ai_settings.tools.search.placeholder": "搜索工具、流程或参数,例如 mcp / lineLimit / allowMutating / 事务", "ai_settings.tools.summary": "当前显示 {{flowVisible}}/{{flowTotal}} 条推荐流程,{{toolVisible}}/{{toolTotal}} 个内置工具。", "ai_settings.tools.workflow": "💡 工作流程:get_connections → get_databases → get_tables → get_columns → 生成 SQL", "ai.service.mcp_client.claude_code.config_dir_create_failed": "创建 Claude Code 配置目录失败:{{detail}}", "ai.service.mcp_client.claude_code.config_format_invalid": "Claude Code 配置格式异常:{{path}} 应为 {{expected}}", "ai.service.mcp_client.claude_code.config_parse_failed": "解析 Claude Code 配置失败:{{detail}}", "ai.service.mcp_client.claude_code.config_path_failed": "定位 Claude Code 配置失败:{{detail}}", "ai.service.mcp_client.claude_code.config_read_failed": "读取 Claude Code 配置失败:{{detail}}", "ai.service.mcp_client.claude_code.config_serialize_failed": "序列化 Claude Code 配置失败:{{detail}}", "ai.service.mcp_client.claude_code.config_write_failed": "写入 Claude Code 配置失败:{{detail}}", "ai.service.mcp_client.claude_code.install_success": "已写入 Claude Code 用户级 MCP 配置,重启 Claude CLI 后可在 /mcp 的 User MCPs 中看到 GoNavi。", "ai.service.mcp_client.claude_code.status.connected": "已检测到 Claude Code 用户级 GoNavi MCP 配置,且与当前 GoNavi 安装路径一致", "ai.service.mcp_client.claude_code.status.missing": "未检测到 Claude Code 用户级 GoNavi MCP 配置", "ai.service.mcp_client.claude_code.status.path_check_failed": "已检测到 Claude Code 中的 GoNavi MCP 记录,但当前 GoNavi 安装路径校验失败:{{detail}}", "ai.service.mcp_client.claude_code.status.path_mismatch": "已检测到 Claude Code 中的 GoNavi MCP 记录,但与当前 GoNavi 安装路径不一致,建议更新", "ai.service.mcp_client.codex.config_dir_create_failed": "创建 Codex 配置目录失败:{{detail}}", "ai.service.mcp_client.codex.config_format_invalid": "Codex 配置格式异常:{{path}} 无法按 {{expected}} 解析", "ai.service.mcp_client.codex.config_path_failed": "定位 Codex 配置失败:{{detail}}", "ai.service.mcp_client.codex.config_read_failed": "读取 Codex 配置失败:{{detail}}", "ai.service.mcp_client.codex.config_write_failed": "写入 Codex 配置失败:{{detail}}", "ai.service.mcp_client.codex.install_success": "已写入 Codex 用户级 MCP 配置,重启 Codex CLI 或桌面端后可看到 GoNavi。", "ai.service.mcp_client.codex.status.connected": "已检测到 Codex 用户级 GoNavi MCP 配置,且与当前 GoNavi 安装路径一致", "ai.service.mcp_client.codex.status.missing": "未检测到 Codex 用户级 GoNavi MCP 配置", "ai.service.mcp_client.codex.status.path_check_failed": "已检测到 Codex 中的 GoNavi MCP 记录,但当前 GoNavi 安装路径校验失败:{{detail}}", "ai.service.mcp_client.codex.status.path_mismatch": "已检测到 Codex 中的 GoNavi MCP 记录,但与当前 GoNavi 安装路径不一致,建议更新", "ai.service.mcp_client.executable_path_empty": "当前 GoNavi 可执行文件路径为空", "ai.service.mcp_client.executable_path_failed": "定位当前 GoNavi 可执行文件失败:{{detail}}", "ai.service.mcp_client.remote.status.message": "{{label}} 通常部署在云端或远端环境;请通过远程 MCP 桥接接入 Windows GoNavi,数据库密码仍保存在 GoNavi 本机。", "ai.service.mcp_client.user_home_dir_unavailable": "无法确定当前用户目录", "app.about.action.check_updates": "检查更新", "app.about.action.download_progress": "下载进度", "app.about.action.download_update": "下载更新", "app.about.action.hide_to_background": "隐藏到后台", "app.about.action.install_update": "安装更新", "app.about.action.mute_this_version": "本次不再提示", "app.about.action.open_install_directory": "打开安装目录", "app.about.community.ai_book": "AI全书", "app.about.description": "查看版本信息、仓库地址、更新状态与下载入口。", "app.about.download_progress.title": "下载更新", "app.about.download_progress.title_with_version": "下载更新 {{version}}", "app.about.field.author": "作者", "app.about.field.community": "技术圈", "app.about.field.update_status": "更新状态", "app.about.field.version": "版本", "app.about.message.check_failed_with_error": "检查更新失败: {{error}}", "app.about.message.download_completed": "更新下载完成", "app.about.message.download_completed_with_path": "更新下载完成,更新包路径:{{path}}", "app.about.message.download_failed_with_error": "更新下载失败: {{error}}", "app.about.message.install_directory_opened_manual_replace": "已打开安装目录,请手动完成替换", "app.about.message.install_failed_with_error": "更新安装失败: {{error}}", "app.about.message.load_failed": "获取应用信息失败: {{error}}", "app.about.message.new_version_found": "发现新版本 {{version}}", "app.about.message.open_install_directory_failed_with_error": "打开安装目录失败: {{error}}", "app.about.message.update_package_ready": "更新包已就绪({{version}})", "app.about.message.update_package_ready_with_path": "更新包已就绪({{version}}),路径:{{path}}", "app.about.project_links": "项目入口", "app.about.title": "关于 GoNavi", "app.about.update_status.check_failed": "检查更新失败: {{error}}", "app.about.update_status.checking": "正在检查更新...", "app.about.update_status.latest": "当前已是最新版本({{version}})", "app.about.update_status.new_version_downloaded": "发现新版本 {{version}}(已下载,请点击“下载进度”后安装)", "app.about.update_status.new_version_not_downloaded": "发现新版本 {{version}}(未下载)", "app.about.update_status.not_checked": "未检查", "app.ai_panel.action.close": "关闭面板", "app.ai_panel.action.reload": "重新加载", "app.ai_panel.aria.close": "关闭 AI 面板", "app.ai_panel.error.description": "这通常是开发环境热更新后懒加载资源失效导致的。已阻止整页白屏,你可以直接重试。", "app.ai_panel.error.title": "AI 面板加载失败", "app.backend.error.reset_webview_zoom_failed": "重置 WebView2 zoom 失败:{{detail}}", "app.browser_mock.export_connection_package_unsupported": "浏览器 mock 不支持恢复包导出", "app.browser_mock.export_sql_unsupported": "浏览器 mock 不支持 SQL 文件导出", "app.browser_mock.import_connection_package_unsupported": "浏览器 mock 不支持恢复包导入,仅支持历史 JSON 连接数组", "app.browser_mock.mcp_client.claude_code.installed": "已写入 Claude Code 用户级 MCP 配置,重启 Claude CLI 后可在 /mcp 的 User MCPs 中看到 GoNavi。", "app.browser_mock.mcp_client.claude_code.not_detected": "未检测到 Claude Code 用户级 GoNavi MCP 配置", "app.browser_mock.mcp_client.codex.installed": "已写入 Codex 用户级 MCP 配置,重启 Codex CLI 或桌面端后可看到 GoNavi。", "app.browser_mock.mcp_client.codex.path_mismatch": "已检测到 Codex 中的 GoNavi MCP 记录,但与当前 GoNavi 安装路径不一致,建议更新", "app.browser_mock.mcp_http.not_running": "GoNavi MCP HTTP 服务未启动", "app.browser_mock.mcp_http.started": "GoNavi MCP HTTP 服务已启动", "app.browser_mock.mcp_http.stopped": "GoNavi MCP HTTP 服务已停止", "app.browser_mock.mcp_server.command_required": "MCP 命令不能为空", "app.browser_mock.mcp_server.test_success": "MCP mock 测试成功", "app.browser_mock.mcp_tool.unavailable": "浏览器 mock 未接入真实 MCP 服务", "app.browser_mock.provider.test_failed_detail": "连接测试失败:{{detail}}", "app.browser_mock.provider.test_success": "端点连通性测试成功", "app.connection_package.action.start_export": "开始导出", "app.connection_package.action.start_import": "开始导入", "app.connection_package.dialog.export_title": "导出连接", "app.connection_package.dialog.file_password_placeholder": "请输入文件保护密码(可选)", "app.connection_package.dialog.help.encrypted_passwords_recommend_file_password": "密码已加密保护。如需通过公网传输,建议设置文件保护密码。", "app.connection_package.dialog.help.exclude_passwords": "将仅导出连接配置,不包含密码。", "app.connection_package.dialog.help.share_file_password_separately": "请通过单独渠道将密码告知接收方,不要和文件一起发送。", "app.connection_package.dialog.import_password_title": "输入导入密码", "app.connection_package.dialog.option.include_passwords": "导出连接密码", "app.connection_package.dialog.option.use_file_password": "设置文件保护密码", "app.connection_package.dialog.restore_password_placeholder": "请输入恢复包密码", "app.connection_package.error.export_capability_unavailable": "导出失败:当前后端未提供新版导出能力", "app.connection_package.error.file_password_required": "文件保护密码不能为空", "app.connection_package.error.import_capability_unavailable": "导入失败:当前后端未提供新版导入能力", "app.connection_package.error.import_no_connections": "导入失败:后端未返回连接列表", "app.connection_package.error.missing_import_payload": "导入失败:未找到待导入的恢复包内容", "app.connection_package.error.refresh_failed_no_connections": "导入成功,但刷新连接列表失败:后端未返回连接列表", "app.connection_package.error.restore_password_required": "恢复包密码不能为空", "app.connection_package.message.export_failed": "导出失败", "app.connection_package.message.export_succeeded": "导出成功", "app.connection_package.message.import_failed": "导入失败", "app.connection_package.message.import_failed_with_error": "导入失败: {{error}}", "app.connection_package.message.imported_connections": "成功导入 {{count}} 个连接", "app.connection_package.message.imported_with_missing_passwords": "成功导入 {{count}} 个连接,部分连接未包含密码,请编辑对应连接并输入密码后保存", "app.connection_package.message.no_connections_to_export": "没有连接可导出", "app.connection_package.message.unsupported_file_format": "文件格式错误:仅支持 GoNavi 恢复包、历史 JSON 连接数组或 MySQL Workbench XML", "app.connection.message.editable_load_failed": "读取已保存连接详情失败,当前将打开脱敏配置", "app.connection.message.editable_load_failed_with_detail": "读取已保存连接详情失败:{{detail}},当前将打开脱敏配置", "app.data_root.action.migrate_and_switch": "迁移现有数据并切换", "app.data_root.action.open_current": "打开当前目录", "app.data_root.action.restore_default_directory": "恢复默认目录", "app.data_root.action.select": "选择目录", "app.data_root.action.switch_only": "仅切换到所选目录", "app.data_root.apply_method": "应用方式", "app.data_root.backend.dialog.select_directory": "选择 GoNavi 数据目录", "app.data_root.backend.error.create_bootstrap_directory_failed": "创建默认引导目录失败:{{detail}}", "app.data_root.backend.error.create_data_directory_failed": "创建数据目录失败:{{detail}}", "app.data_root.backend.error.create_target_failed": "创建目标数据目录失败:{{detail}}", "app.data_root.backend.error.directory_empty": "数据目录不能为空", "app.data_root.backend.error.directory_unavailable": "数据目录不存在或不可访问", "app.data_root.backend.error.migrate_directory_failed": "迁移目录失败({{entry}}):{{detail}}", "app.data_root.backend.error.migrate_file_failed": "迁移文件失败({{entry}}):{{detail}}", "app.data_root.backend.error.open_directory_failed": "打开数据目录失败:{{detail}}", "app.data_root.backend.error.open_directory_unsupported": "当前平台暂不支持打开目录:{{platform}}", "app.data_root.backend.error.parse_migrated_security_update_manifest_failed": "解析迁移后的安全更新备份清单失败:{{detail}}", "app.data_root.backend.error.parse_migrated_security_update_result_failed": "解析迁移后的安全更新结果失败:{{detail}}", "app.data_root.backend.error.read_migrated_security_update_manifest_failed": "读取迁移后的安全更新备份清单失败:{{detail}}", "app.data_root.backend.error.read_migrated_security_update_result_failed": "读取迁移后的安全更新结果失败:{{detail}}", "app.data_root.backend.error.read_migrated_security_update_state_failed": "读取迁移后的安全更新状态失败:{{detail}}", "app.data_root.backend.error.read_source_failed": "读取源数据失败({{entry}}):{{detail}}", "app.data_root.backend.error.read_source_root_failed": "读取源数据目录失败:{{detail}}", "app.data_root.backend.error.resolve_source_failed": "解析源数据目录失败:{{detail}}", "app.data_root.backend.error.resolve_target_failed": "解析目标数据目录失败:{{detail}}", "app.data_root.backend.error.target_inside_source": "目标数据目录不能位于源目录内部", "app.data_root.backend.error.write_migrated_security_update_manifest_failed": "写入迁移后的安全更新备份清单失败:{{detail}}", "app.data_root.backend.error.write_migrated_security_update_result_failed": "写入迁移后的安全更新结果失败:{{detail}}", "app.data_root.backend.error.write_migrated_security_update_state_failed": "写入迁移后的安全更新状态失败:{{detail}}", "app.data_root.backend.message.migrated_restart": "数据已迁移并切换到新目录,建议重启应用以完成全部模块切换", "app.data_root.backend.message.opened": "已打开数据目录", "app.data_root.backend.message.unchanged": "数据目录未发生变化", "app.data_root.backend.message.updated_restart": "数据目录已更新,建议重启应用以让 AI 与其他运行态模块完全切换到新目录", "app.data_root.current_directory": "当前目录", "app.data_root.default_directory": "默认目录", "app.data_root.description": "统一管理连接、代理、AI 配置与驱动等文件型数据的根目录。", "app.data_root.driver_directory": "驱动目录", "app.data_root.message.apply_failed": "应用数据目录失败", "app.data_root.message.apply_failed_with_error": "应用数据目录失败: {{error}}", "app.data_root.message.load_failed": "加载数据目录信息失败", "app.data_root.message.load_failed_with_error": "加载数据目录信息失败: {{error}}", "app.data_root.message.open_failed": "打开数据目录失败", "app.data_root.message.open_failed_with_error": "打开数据目录失败: {{error}}", "app.data_root.message.select_failed": "选择数据目录失败", "app.data_root.message.select_failed_with_error": "选择数据目录失败: {{error}}", "app.data_root.message.select_valid_first": "请先选择有效的数据目录", "app.data_root.message.updated": "数据目录已更新", "app.data_root.placeholder.select_new_directory": "选择新的数据目录", "app.data_root.restart_hint": "切换后建议重启应用,以确保 AI 与其他长生命周期模块完全切换到新目录。敏感密码仍保存在系统 secret store,不会随文件目录迁移。", "app.data_root.switch_target": "切换目标", "app.data_root.title": "数据存储位置", "app.linux_cjk_font_banner.action.open_font_settings": "字体设置", "app.linux_cjk_font_banner.description": "中文可能显示为方框。请安装字体后重启 GoNavi:", "app.linux_cjk_font_banner.title": "Linux CJK 字体缺失", "app.proxy.description": "统一配置更新检查、驱动管理与未单独指定代理的连接网络出口。", "app.proxy.enable": "启用全局代理", "app.proxy.host": "代理地址", "app.proxy.host_placeholder": "例如:127.0.0.1", "app.proxy.message.config_applied": "全局代理配置已生效", "app.proxy.message.invalid_enabled": "全局代理已开启,但地址或端口无效,当前按未启用处理", "app.proxy.message.save_failed": "全局代理配置失败: {{error}}", "app.proxy.password_optional": "密码(可选)", "app.proxy.port": "端口", "app.proxy.scope_hint": "* 作用于更新检查、驱动管理网络请求,以及未单独配置代理的数据库连接", "app.proxy.section_title": "全局代理", "app.proxy.title": "全局代理设置", "app.proxy.type": "代理类型", "app.proxy.username_optional": "用户名(可选)", "app.security_update.error.capability_unavailable": "安全更新能力不可用", "app.security_update.message.completed": "已保存配置已完成安全更新", "app.security_update.message.needs_attention": "更新尚未完成,有少量配置需要你处理", "app.security_update.message.not_finished_retry_later": "安全更新未完成,请稍后重试", "app.security_update.message.postpone_failed": "暂时无法延后本次安全更新", "app.security_update.message.rolled_back": "本次更新未完成,系统已保留当前可用配置", "app.security_update.stage.checking_saved_config": "正在检查已保存配置", "app.security_update.stage.updating_secure_storage": "正在更新安全存储", "app.security_update.stage.verifying_result": "正在校验更新结果", "app.settings.description": "集中处理语言、代理、主题、AI 与关于等通用配置入口。", "app.settings.entry.about.description": "查看版本信息、仓库地址和更新状态。", "app.settings.entry.about.title": "关于 GoNavi", "app.settings.entry.ai.description": "管理模型供应商、密钥和默认行为。", "app.settings.entry.ai.title": "AI 设置", "app.settings.entry.proxy.description": "统一配置更新检查、驱动管理和公共网络出口。", "app.settings.entry.proxy.title": "全局代理", "app.settings.entry.theme.description": "切换亮暗主题并调整界面观感。", "app.settings.entry.theme.title": "主题与外观", "app.settings.title": "设置中心", "app.shortcuts.action.diagnoseQuery.description": "对当前 SQL 执行 EXPLAIN 并展示执行计划图与索引建议", "app.shortcuts.action.diagnoseQuery.label": "SQL 诊断", "app.shortcuts.action.focusSidebarSearch.description": "定位到左侧连接树搜索框", "app.shortcuts.action.focusSidebarSearch.label": "聚焦侧边栏搜索", "app.shortcuts.action.newConnection.description": "创建新的数据库、运行时或其他数据源连接", "app.shortcuts.action.newConnection.label": "新建数据源", "app.shortcuts.action.newQueryTab.description": "创建一个新的 SQL 查询标签页", "app.shortcuts.action.newQueryTab.label": "新建查询页", "app.shortcuts.action.openShortcutManager.description": "打开快捷键设置面板", "app.shortcuts.action.openShortcutManager.label": "打开快捷键管理", "app.shortcuts.action.record": "录制", "app.shortcuts.action.resetWindowZoom.description": "Windows 任务栏恢复后字体异常变大时主动触发;会切一次最大化让 WebView2 重算字体度量", "app.shortcuts.action.resetWindowZoom.label": "重置窗口缩放", "app.shortcuts.action.restore_defaults": "恢复默认", "app.shortcuts.action.runQuery.description": "在当前查询页执行 SQL", "app.shortcuts.action.runQuery.label": "执行 SQL", "app.shortcuts.action.saveQuery.description": "保存当前查询页;未命名查询会打开保存弹窗", "app.shortcuts.action.saveQuery.label": "保存查询", "app.shortcuts.action.selectCurrentStatement.description": "在查询编辑器中选中光标所在 SQL 语句", "app.shortcuts.action.selectCurrentStatement.label": "选择当前语句", "app.shortcuts.action.sendAIChatMessage.description": "在 AI 输入框中发送当前消息,Shift+Enter 始终换行", "app.shortcuts.action.sendAIChatMessage.label": "AI 聊天发送", "app.shortcuts.action.showSlowQueries.description": "查看当前连接的慢 SQL 历史记录(默认阈值 500ms)", "app.shortcuts.action.showSlowQueries.label": "慢 SQL 历史", "app.shortcuts.action.switchToNextTab.description": "在打开的标签页中向右切换", "app.shortcuts.action.switchToNextTab.label": "切换到下一个标签页", "app.shortcuts.action.switchToPreviousTab.description": "在打开的标签页中向左切换", "app.shortcuts.action.switchToPreviousTab.label": "切换到上一个标签页", "app.shortcuts.action.toggleAIPanel.description": "打开右侧 AI 数据洞察面板", "app.shortcuts.action.toggleAIPanel.label": "打开 AI 数据洞察", "app.shortcuts.action.toggleLogPanel.description": "打开或关闭 SQL 执行日志面板", "app.shortcuts.action.toggleLogPanel.label": "切换日志面板", "app.shortcuts.action.toggleMacFullscreen.description": "macOS 原生窗口控制模式下的全屏切换", "app.shortcuts.action.toggleMacFullscreen.label": "切换原生全屏", "app.shortcuts.action.toggleQueryResultsPanel.description": "在查询编辑器中显示或隐藏下方结果区域", "app.shortcuts.action.toggleQueryResultsPanel.label": "切换结果区", "app.shortcuts.action.toggleTheme.description": "在亮色和暗色主题之间切换", "app.shortcuts.action.toggleTheme.label": "切换主题", "app.shortcuts.capture_hint": "点击“录制”后按下快捷键。按 Esc 可取消录制。全局快捷键建议包含修饰键;AI 聊天发送仅支持 Enter 相关组合,Shift+Enter 保留换行。", "app.shortcuts.capture_waiting": "请按下快捷键...", "app.shortcuts.context.datagrid": "数据表格", "app.shortcuts.context.global": "浏览器", "app.shortcuts.context.monaco": "编辑器", "app.shortcuts.description": "统一查看、录制与启停常用快捷键,保持操作习惯一致。", "app.shortcuts.message.ai_send_limit": "AI 聊天发送快捷键仅支持 Enter / Ctrl+Enter / Cmd+Enter / Alt+Enter,Shift+Enter 保留换行", "app.shortcuts.message.conflict": "与「{{action}}」冲突,请换一个快捷键", "app.shortcuts.message.modifier_required": "快捷键至少包含 Ctrl / Alt / Shift / Meta 之一", "app.shortcuts.message.reserved_conflict_info": "已覆盖编辑器「{{labels}}」默认快捷键", "app.shortcuts.message.reserved_conflict_warning": "与{{contexts}}「{{labels}}」冲突,可能失效", "app.shortcuts.message.restored_defaults": "已恢复默认快捷键", "app.shortcuts.reserved.browser_close_tab": "浏览器关闭标签页", "app.shortcuts.reserved.browser_new_incognito_window": "浏览器新建隐身窗口", "app.shortcuts.reserved.browser_new_tab": "浏览器新建标签页", "app.shortcuts.reserved.browser_new_window": "浏览器新建窗口", "app.shortcuts.reserved.browser_print": "浏览器打印", "app.shortcuts.reserved.browser_save": "浏览器保存", "app.shortcuts.reserved.datagrid_copy": "数据表格复制", "app.shortcuts.reserved.editor_add_selection": "编辑器添加选区", "app.shortcuts.reserved.editor_delete_line": "编辑器删除行", "app.shortcuts.reserved.editor_find": "编辑器查找", "app.shortcuts.reserved.editor_find_global": "编辑器全局查找", "app.shortcuts.reserved.editor_goto_line": "编辑器跳转行", "app.shortcuts.reserved.editor_insert_line_after": "编辑器在下方插入行", "app.shortcuts.reserved.editor_insert_line_before": "编辑器在上方插入行", "app.shortcuts.reserved.editor_quick_open": "编辑器快速打开", "app.shortcuts.reserved.editor_rename_symbol": "编辑器重命名符号", "app.shortcuts.reserved.editor_replace": "编辑器替换", "app.shortcuts.title": "快捷键管理", "app.sidebar.ai_assistant": "AI 助手", "app.sidebar.resize_width": "拖动调整宽度", "app.sidebar.settings": "设置", "app.sidebar.sql_execution_log": "SQL 执行日志", "app.sidebar.tools": "工具", "app.startup_readiness.loading_local_config": "正在加载本地配置...", "app.startup_readiness.loading_security_config": "正在加载安全配置...", "app.theme.action.restore_defaults": "恢复默认", "app.theme.appearance_settings_description": "统一调整缩放、字体、透明度与模糊效果。", "app.theme.appearance_settings_title": "外观设置", "app.theme.appearance.blur_hint": "* 仅控制应用内覆盖层的模糊效果", "app.theme.appearance.blur_title": "高斯模糊 (Blur)", "app.theme.appearance.enable_transparency_blur": "启用透明与模糊", "app.theme.appearance.enable_transparency_blur_hint": "关闭后保留当前阈值,重新开启时直接恢复之前的设置。", "app.theme.appearance.font_size_title": "基础字体大小 (Font Size)", "app.theme.appearance.opacity_title": "背景不透明度 (Opacity)", "app.theme.appearance.transparency_blur_title": "透明与模糊效果", "app.theme.appearance.ui_scale_hint": "* 建议小屏设备设置为 85%-95%", "app.theme.appearance.ui_scale_title": "界面缩放 (UI Scale)", "app.theme.appearance.windows_acrylic_hint": "Windows 使用系统 Acrylic 效果,模糊程度由系统控制", "app.theme.data_table.column_width_hint": "标准模式默认列宽 200px;紧凑模式默认列宽 140px。已手动拖拽调整的列宽优先保留。", "app.theme.data_table.column_width_mode": "数据表列宽模式", "app.theme.data_table.column_width_mode.compact": "紧凑 140px", "app.theme.data_table.column_width_mode.standard": "标准 200px", "app.theme.data_table.density": "表格密度", "app.theme.data_table.density_hint": "控制行高、列宽和内边距。舒适适合大屏细看;紧凑适合最大化信息密度。已手动拖拽的列宽优先保留。", "app.theme.data_table.density.comfortable": "舒适", "app.theme.data_table.density.compact": "紧凑", "app.theme.data_table.density.standard": "标准", "app.theme.data_table.follow_global": "跟随全局", "app.theme.data_table.font_size": "数据表字体大小", "app.theme.data_table.sidebar_tree_font_size": "左侧库表字体大小", "app.theme.data_table.table_double_click_action": "双击表名行为", "app.theme.data_table.table_double_click_action.open_data": "打开表数据", "app.theme.data_table.table_double_click_action.open_design": "打开对象设计", "app.theme.data_table.table_double_click_action_hint": "控制左侧库表树中双击表节点的默认动作。默认打开表数据,可切换为直接打开表对象设计。", "app.theme.data_table.title": "数据表显示", "app.theme.data_table.vertical_borders": "显示数据表竖向分隔线", "app.theme.data_table.vertical_borders_hint": "仅作用于数据表页面 DataGrid,不影响其他表格组件。", "app.theme.font_family.default_mono_option": "默认代码字体", "app.theme.font_family.default_ui_option": "默认 UI 字体", "app.theme.font_family.linux_cjk_install_prefix": "Ubuntu/Linux 未检测到中文 CJK 字体,界面可能显示方框。请安装:", "app.theme.font_family.linux_cjk_install_suffix": ",然后重启 GoNavi。", "app.theme.font_family.load_failed": "加载系统字体失败", "app.theme.font_family.load_failed_fallback": "系统字体加载失败,当前回退常见字体预置:{{error}}", "app.theme.font_family.loaded_ui_hint": "已读取当前系统 {{count}} 个字体族,支持输入搜索匹配。清空后回退默认 UI 字体。", "app.theme.font_family.loading_ui_hint": "按当前系统实时加载已安装字体,支持输入搜索匹配。清空后回退默认 UI 字体。", "app.theme.font_family.mono_fallback_hint": "当前已回退常见代码字体预置。作用于 SQL 编辑器、AI 代码块、日志、DDL 与数据表等宽内容。", "app.theme.font_family.mono_hint": "优先展示当前系统已安装字体,名称接近 Mono/Code/Console 的字体会靠前。作用于 SQL 编辑器、AI 代码块、日志、DDL 与数据表等宽内容。", "app.theme.font_family.mono_title": "代码字体 (Mono Font Family)", "app.theme.font_family.title": "字体族", "app.theme.font_family.ui_title": "界面字体 (UI Font Family)", "app.theme.mac_window.restart_hint": "* 已同步隐藏右上角自定义按钮;如系统窗口样式未立即刷新,可重启应用后再确认", "app.theme.mac_window.title": "macOS 窗口控制", "app.theme.mac_window.use_native_controls": "使用 macOS 原生窗口控制", "app.theme.mac_window.use_native_controls_hint": "启用后显示左上角红黄绿按钮,并优先使用 macOS 原生全屏行为。", "app.theme.mode_title": "主题模式", "app.theme.mode.dark.description": "适合低光环境,视觉更沉稳。", "app.theme.mode.dark.label": "暗色主题", "app.theme.mode.light.description": "适合明亮环境,层次更轻。", "app.theme.mode.light.label": "亮色主题", "app.theme.nav.appearance.description": "缩放、字体与透明度", "app.theme.nav.appearance.title": "外观参数", "app.theme.nav.theme.description": "亮色与暗色切换", "app.theme.nav.theme.title": "主题模式", "app.theme.navigation_title": "设置导航", "app.theme.startup_window.fullscreen": "启动时全屏", "app.theme.startup_window.fullscreen_windows": "启动时全屏(Windows 按最大化处理)", "app.theme.startup_window.hint": "* 修改后下次启动生效", "app.theme.startup_window.title": "启动窗口", "app.theme.startup_window.windows_hint": "* Windows 下该选项按“启动时最大化”处理,修改后下次启动生效", "app.theme.tab_display.action.move_down": "下移", "app.theme.tab_display.action.move_up": "上移", "app.theme.tab_display.badge.current": "当前", "app.theme.tab_display.description": "自定义连接名、对象类型、对象名、数据库、Schema 和 Host/IP 的展示顺序;双行模式可把上下文放到副行。", "app.theme.tab_display.element.connection.description": "连接简称或环境名,例如 DEV", "app.theme.tab_display.element.connection.label": "连接名", "app.theme.tab_display.element.database.description": "当前 DB / catalog 名称", "app.theme.tab_display.element.database.label": "数据库", "app.theme.tab_display.element.host.description": "连接目标地址摘要", "app.theme.tab_display.element.host.label": "Host/IP", "app.theme.tab_display.element.kind.description": "SQL / TABLE / VIEW 等类型标签", "app.theme.tab_display.element.kind.label": "对象类型", "app.theme.tab_display.element.object.description": "表名、查询名、资源名等核心名称", "app.theme.tab_display.element.object.label": "对象名", "app.theme.tab_display.element.schema.description": "schema / owner 前缀", "app.theme.tab_display.element.schema.label": "Schema", "app.theme.tab_display.layout.double": "双行", "app.theme.tab_display.layout.single": "单行", "app.theme.tab_display.preview.default_label": "默认标签", "app.theme.tab_display.preview.focused": ";当前选中 {{label}}", "app.theme.tab_display.preview.prefix": "当前预览:", "app.theme.tab_display.preview.secondary": ",副行 {{labels}}", "app.theme.tab_display.row.primary": "主行", "app.theme.tab_display.row.secondary": "副行", "app.theme.tab_display.title": "Tab 标签展示", "app.theme.theme_settings_description": "切换亮暗主题,保持整体视觉风格统一。", "app.theme.theme_settings_title": "主题设置", "app.theme.ui_version.badge.new": "NEW", "app.theme.ui_version.beta_warning": "新版 UI 仍在 Beta,部分屏幕样式可能与旧版有差异,遇到问题可随时切回。", "app.theme.ui_version.description": "在保留全部功能的前提下切换整体外观,新版采用更紧凑的信息层级与更现代的视觉语言。", "app.theme.ui_version.legacy.badge": "默认", "app.theme.ui_version.legacy.description": "当前稳定界面,所有功能完整可用。", "app.theme.ui_version.legacy.label": "旧版 UI", "app.theme.ui_version.platform_hint": "Windows、macOS 与 Linux 均可切换;切换后立即生效,部分弹窗会在下次打开时使用新样式。", "app.theme.ui_version.sidebar_search.command": "新版命令搜索", "app.theme.ui_version.sidebar_search.filter": "旧版侧栏筛选", "app.theme.ui_version.sidebar_search.hint": "新版命令搜索适合跳转连接、表和动作,可在面板中开启同步开关持续过滤左侧树;旧版侧栏筛选会直接显示输入框并持久保留筛选内容。", "app.theme.ui_version.sidebar_search.title": "新版左侧搜索模式", "app.theme.ui_version.title": "界面版本", "app.theme.ui_version.v2.badge": "Beta", "app.theme.ui_version.v2.description": "重新设计的紧凑界面,强化 AI 入口与表概览。", "app.theme.ui_version.v2.label": "新版 UI", "app.tools.description": "集中处理连接配置、同步、驱动和快捷键相关操作。", "app.tools.entry.data_compare.description": "按主键分析新增、更新、删除和相同行。", "app.tools.entry.data_compare.title": "数据比对", "app.tools.entry.data_root.description": "查看、切换或迁移本地数据存储位置。", "app.tools.entry.data_root.title": "数据目录", "app.tools.entry.drivers.description": "安装、更新或移除数据库驱动。", "app.tools.entry.drivers.title": "驱动管理", "app.tools.entry.export.description": "导出当前连接与可见配置字段。", "app.tools.entry.export.title": "导出连接配置", "app.tools.entry.import.description": "从本地文件恢复连接列表。", "app.tools.entry.import.title": "导入连接配置", "app.tools.entry.schema_compare.description": "对比源表与目标表结构差异,只预览不执行。", "app.tools.entry.schema_compare.title": "表结构比对", "app.tools.entry.security_update.description": "查看已保存配置的安全更新状态。", "app.tools.entry.security_update.status_description": "当前状态:{{status}}", "app.tools.entry.security_update.title": "安全更新", "app.tools.entry.shortcuts.description": "查看并调整全局快捷键绑定。", "app.tools.entry.shortcuts.title": "快捷键管理", "app.tools.entry.snippets.description": "管理 SQL 代码片段和前缀补全。", "app.tools.entry.snippets.title": "代码片段管理", "app.tools.entry.sync.description": "进入跨源同步工作流。", "app.tools.entry.sync.title": "数据同步", "app.tools.group.config.description": "导入导出、数据目录和已保存配置维护。", "app.tools.group.config.title": "连接与配置", "app.tools.group.workflow.description": "比对结构、分析差异并发起同步。", "app.tools.group.workflow.title": "数据工作流", "app.tools.group.workspace.description": "驱动、代码片段和全局快捷键。", "app.tools.group.workspace.title": "编辑器与驱动", "app.tools.title": "工具中心", "app.update.action.hide_to_background": "隐藏到后台", "app.update.action.install_update": "安装更新", "app.update.action.open_install_directory": "打开安装目录", "app.update.backend.error.check_failed": "检查更新失败:{{detail}}", "app.update.backend.error.check_http_status": "检查更新失败:HTTP {{status}}", "app.update.backend.error.download_failed": "更新下载失败:{{detail}}", "app.update.backend.error.install_unsupported": "当前平台暂不支持更新安装:{{platform}}", "app.update.backend.error.latest_version_unparseable": "无法解析最新版本号", "app.update.backend.error.online_update_unsupported": "当前平台暂不支持在线更新:{{platform}}", "app.update.backend.error.package_download_http_failed": "下载更新包失败:HTTP {{status}}", "app.update.backend.error.package_file_busy": "更新下载失败,文件被占用:{{detail}}", "app.update.backend.error.release_version_unparseable": "无法解析发布版本号", "app.update.backend.error.sha256_missing_current_package": "SHA256SUMS 未包含当前平台更新包", "app.update.backend.error.sha256sums_download_failed": "下载 SHA256SUMS 失败:HTTP {{status}}", "app.update.backend.error.sha256sums_missing": "Release 未提供 SHA256SUMS", "app.update.backend.error.update_package_not_found": "未找到更新包:{{name}}", "app.update.backend.message.app_directory_unavailable": "无法访问应用目录:{{path}}", "app.update.backend.message.app_directory_unresolved_download": "无法确定当前应用目录,无法下载更新", "app.update.backend.message.check_first": "请先检查更新", "app.update.backend.message.checksum_failed": "更新包校验失败,请重试", "app.update.backend.message.checksum_missing": "缺少更新包校验值(SHA256SUMS)", "app.update.backend.message.create_workspace_failed": "无法在应用目录创建更新工作目录:{{path}}", "app.update.backend.message.download_in_progress": "更新包正在下载中,请稍后重试", "app.update.backend.message.install_launch_failed": "启动更新安装程序失败:{{detail}}", "app.update.backend.message.install_launch_failed_with_log": "启动更新安装程序失败:{{detail}}(更新日志:{{path}})", "app.update.backend.message.install_started": "更新已开始安装", "app.update.backend.message.install_started_with_log": "更新已开始安装,日志路径:{{path}}", "app.update.backend.message.latest": "已是最新版本", "app.update.backend.message.no_downloaded_package": "未找到已下载的更新包", "app.update.backend.message.no_update_package": "未找到可用的更新包", "app.update.backend.message.open_directory_failed": "打开更新目录失败:{{detail}}", "app.update.backend.message.open_directory_unsupported": "当前平台暂不支持打开目录:{{platform}}", "app.update.backend.message.opened_install_directory": "已打开安装目录:{{path}}", "app.update.backend.message.package_already_downloaded": "更新包已下载完成", "app.update.backend.message.package_directory_unavailable": "更新目录不存在或不可访问", "app.update.backend.message.package_directory_unresolved": "无法解析更新目录", "app.update.backend.message.package_downloaded": "更新包下载完成", "app.update.backend.message.package_path_empty": "更新包路径为空", "app.update.backend.message.update_found": "发现新版本:{{version}}", "app.update.download_title": "下载更新", "app.update.download_title_with_version": "下载更新 {{version}}", "app.update.message.check_failed": "检查更新失败: {{error}}", "app.update.message.download_completed": "更新下载完成", "app.update.message.download_completed_with_path": "更新下载完成,更新包路径:{{path}}", "app.update.message.download_failed": "更新下载失败: {{error}}", "app.update.message.install_failed": "更新安装失败: {{error}}", "app.update.message.open_install_directory_failed": "打开安装目录失败: {{error}}", "app.update.message.opened_install_directory": "已打开安装目录,请手动完成替换", "app.update.message.package_ready": "更新包已就绪({{version}})", "app.update.message.package_ready_with_path": "更新包已就绪({{version}}),路径:{{path}}", "app.update.message.update_found": "发现新版本 {{version}}", "app.update.status.available_downloaded": "发现新版本 {{version}}(已下载,请点击“下载进度”后安装)", "app.update.status.available_not_downloaded": "发现新版本 {{version}}(未下载)", "app.update.status.check_failed": "检查更新失败: {{error}}", "app.update.status.checking": "正在检查更新...", "app.update.status.latest": "当前已是最新版本({{version}})", "app.update.status.not_checked": "未检查", "app.window_zoom.message.fullscreen_exit_first": "全屏状态下无法重置缩放,请先退出全屏", "app.window_zoom.message.reset_failed": "重置窗口缩放失败", "app.window_zoom.message.reset_success": "已重置窗口缩放", "app.window_zoom.message.reset_success_fallback": "已重置窗口缩放(回退方案)", "app.window_zoom.message.windows_only": "该功能仅在 Windows 平台生效", "common.back_to_previous": "返回上一步", "common.cancel": "取消", "common.close": "关闭", "common.confirm": "确认", "common.continue": "继续", "common.delete": "删除", "common.edit": "编辑", "common.error": "错误", "common.loading": "加载中", "common.named_item": "{{name}}", "common.ok": "确定", "common.refresh": "刷新", "common.save": "保存", "common.search": "搜索", "common.success": "成功", "common.unknown": "未知", "common.warning": "警告", "connection_modal.action.browse": "浏览...", "connection_modal.action.cancel": "取消", "connection_modal.action.close": "关闭", "connection_modal.action.copy_uri": "复制 URI", "connection_modal.action.disable": "禁用", "connection_modal.action.discover_members": "自动发现成员", "connection_modal.action.enable_and_prefer": "启用并设为首选", "connection_modal.action.generate_uri": "生成 URI", "connection_modal.action.open_driver_manager": "去驱动管理安装", "connection_modal.action.parse_uri": "解析 URI", "connection_modal.action.previous_step": "上一步", "connection_modal.action.reset_default": "恢复默认", "connection_modal.action.save": "保存", "connection_modal.action.test": "测试连接", "connection_modal.action.view_reason": "查看原因", "connection_modal.appearance.color": "颜色", "connection_modal.appearance.current_icon": "当前图标:{{icon}}", "connection_modal.appearance.custom_color": "自定义颜色", "connection_modal.appearance.icon": "图标", "connection_modal.appearance.preview": "预览", "connection_modal.badge.current": "当前", "connection_modal.badge.current_editing": "当前编辑", "connection_modal.badge.preferred": "首选", "connection_modal.config_section.connectionMode.description": "配置单机、主从、集群或 Replica Set 模式。", "connection_modal.config_section.connectionMode.title": "连接模式", "connection_modal.config_section.credentials.description": "配置用户名、密码和已保存凭据。", "connection_modal.config_section.credentials.title": "凭据", "connection_modal.config_section.customDriver.description": "配置自定义驱动名称。", "connection_modal.config_section.customDriver.title": "自定义驱动", "connection_modal.config_section.customDsn.description": "配置驱动专用 DSN。", "connection_modal.config_section.customDsn.title": "自定义 DSN", "connection_modal.config_section.databaseScope.description": "选择连接后显示的数据库。", "connection_modal.config_section.databaseScope.title": "数据库范围", "connection_modal.config_section.fileTarget.description": "选择本地数据库文件。", "connection_modal.config_section.fileTarget.title": "文件数据库", "connection_modal.config_section.identity.description": "配置连接名称、图标和基本标识。", "connection_modal.config_section.identity.title": "身份信息", "connection_modal.config_section.jvmRuntime.description": "配置 JVM 访问模式和诊断能力。", "connection_modal.config_section.jvmRuntime.title": "JVM 运行时", "connection_modal.config_section.mongoDiscovery.description": "发现并管理 MongoDB 成员。", "connection_modal.config_section.mongoDiscovery.title": "MongoDB 发现", "connection_modal.config_section.mongoPolicy.description": "配置 MongoDB 认证、readPreference 和保存策略。", "connection_modal.config_section.mongoPolicy.title": "MongoDB 策略", "connection_modal.config_section.replica.description": "配置从库或附加节点。", "connection_modal.config_section.replica.title": "副本/从库", "connection_modal.config_section.service.description": "配置服务名、默认数据库和可见数据库范围。", "connection_modal.config_section.service.title": "服务与数据库", "connection_modal.config_section.target.description": "配置主机、端口和连接目标。", "connection_modal.config_section.target.title": "目标地址", "connection_modal.config_section.uri.description": "输入、生成或解析连接 URI。", "connection_modal.config_section.uri.title": "连接 URI", "connection_modal.db_icon_label.custom": "自定义", "connection_modal.db_type_hint.custom": "使用自定义驱动和 DSN 连接数据库。", "connection_modal.db_type_hint.file": "选择本地 SQLite 或 DuckDB 数据库文件。", "connection_modal.db_type_hint.mongodb": "连接 MongoDB 单节点、Replica Set 或 SRV 地址。", "connection_modal.db_type_hint.redis": "连接 Redis 单机或 Redis Cluster。", "connection_modal.db_type_hint.standard": "填写主机、端口、认证信息和可选数据库。", "connection_modal.db_type.custom": "自定义", "connection_modal.driver.current": "当前", "connection_modal.error.unknown": "未知错误", "connection_modal.error.unknown_exception": "未知错误", "connection_modal.field.additional_hosts": "附加主机", "connection_modal.field.additional_srv_hosts_optional": "附加 SRV 主机(可选)", "connection_modal.field.auth_source": "认证库 (authSource)", "connection_modal.field.clickHouseProtocol.auto": "自动", "connection_modal.field.cluster_additional_hosts": "集群附加节点", "connection_modal.field.connection_name": "连接名称", "connection_modal.field.connection_timeout_seconds": "连接超时(秒)", "connection_modal.field.connection_timeout_seconds_ascii": "连接超时(秒)", "connection_modal.field.default_database_optional": "默认连接数据库(可选)", "connection_modal.field.defaultDatabase.placeholder": "例如:appdb", "connection_modal.field.display_databases_optional": "显示数据库(可选)", "connection_modal.field.driver_name": "驱动名称", "connection_modal.field.driver.placeholder": "例如: mysql, postgres", "connection_modal.field.dsn": "DSN", "connection_modal.field.dsn.placeholder": "例如: user:pass@tcp(localhost:3306)/dbname?charset=utf8", "connection_modal.field.file_path_absolute": "文件路径(绝对路径)", "connection_modal.field.host": "主机", "connection_modal.field.host_address": "主机地址", "connection_modal.field.oceanBaseProtocol.help.connectionAttributes": "如果 Oracle 租户连接报「Error 1235」或 OBClient 握手失败,可在「连接参数」字段通过 {{attributes}} 覆盖 GoNavi 默认注入的 OBClient capability。", "connection_modal.field.oceanBaseProtocol.help.primary": "MySQL 租户请选择 MySQL;Oracle 租户请选择 Oracle。GoNavi 会根据端口自动选择:OB MySQL wire 端口走 OBClient capability 注入(与 Navicat 相同路径),OBProxy Oracle listener 端口走标准 TNS。", "connection_modal.field.oceanBaseProtocol.label": "OceanBase 协议", "connection_modal.field.password": "密码", "connection_modal.field.password_optional": "密码(可选)", "connection_modal.field.port": "端口", "connection_modal.field.port_plain": "端口", "connection_modal.field.primary_port": "主端口", "connection_modal.field.private_key_path_optional": "私钥路径(可选)", "connection_modal.field.proxy_host": "代理主机", "connection_modal.field.proxy_password_optional": "代理密码(可选)", "connection_modal.field.proxy_type": "代理类型", "connection_modal.field.proxy_username_optional": "代理用户名(可选)", "connection_modal.field.readOnly.checkbox": "标记为生产连接,只允许查询", "connection_modal.field.readOnly.compatibility": "全部勾选时,行为等价于旧版“只允许查询”的生产保护。", "connection_modal.field.readOnly.help": "按需勾选限制项,分别限制结果编辑、结构变更、脚本执行与导入/同步。", "connection_modal.field.readOnly.label": "生产连接保护", "connection_modal.field.readOnly.option.dataEdit.help": "禁止结果集直接修改、批量清空以及消息发布等写入操作。", "connection_modal.field.readOnly.option.dataEdit.label": "限制数据编辑", "connection_modal.field.readOnly.option.dataImport.help": "禁止导入文件、批量装载以及将当前连接作为同步目标。", "connection_modal.field.readOnly.option.dataImport.label": "限制数据导入", "connection_modal.field.readOnly.option.scriptExecution.help": "禁止在 SQL 编辑器执行会产生写入的 SQL 或 MongoDB 命令。", "connection_modal.field.readOnly.option.scriptExecution.label": "限制脚本执行", "connection_modal.field.readOnly.option.structureEdit.help": "禁止新建、重命名、删除数据库对象,并以只读方式打开表设计器。", "connection_modal.field.readOnly.option.structureEdit.label": "限制结构编辑", "connection_modal.field.readOnly.status.disabled": "未限制", "connection_modal.field.readOnly.status.enabledCount": "已限制 {{count}} 项", "connection_modal.field.readOnly.summary.empty": "未选择任何限制项时,此连接按普通连接处理。", "connection_modal.field.readOnly.summary.selected": "已启用 {{count}} 项限制,未勾选的能力仍按普通连接处理。", "connection_modal.field.readOnly.summary.title": "当前策略", "connection_modal.field.readOnly.tip": "推荐用于生产库、备库和受监管环境。限制只影响当前连接在 GoNavi 内的行为,不会修改数据库服务端权限。", "connection_modal.field.replica_hosts": "从库地址列表", "connection_modal.field.replica_password_optional": "从库密码(可选)", "connection_modal.field.replica_set_optional": "Replica Set(可选)", "connection_modal.field.replica_set_password_optional": "Replica Set 密码(可选)", "connection_modal.field.replica_set_username_optional": "Replica Set 用户名(可选)", "connection_modal.field.replica_username_optional": "从库用户名(可选)", "connection_modal.field.save_password": "保存密码", "connection_modal.field.service_name": "服务名", "connection_modal.field.serviceName.placeholder": "例如:ORCLPDB1", "connection_modal.field.ssh_host": "SSH 主机", "connection_modal.field.ssh_password": "SSH 密码", "connection_modal.field.ssh_user": "SSH 用户", "connection_modal.field.ssl_cert_path": "SSL 证书路径", "connection_modal.field.ssl_key_path": "SSL 私钥路径", "connection_modal.field.tunnel_host": "HTTP Tunnel 主机", "connection_modal.field.tunnel_password_optional": "HTTP Tunnel 密码(可选)", "connection_modal.field.tunnel_username_optional": "HTTP Tunnel 用户名(可选)", "connection_modal.field.uri": "URI", "connection_modal.field.username": "用户名", "connection_modal.field.username.optional_placeholder": "未开启认证可留空", "connection_modal.group.chinese_databases": "国产数据库", "connection_modal.group.other": "其他", "connection_modal.group.relational": "关系型数据库", "connection_modal.group.time_series": "时序数据库", "connection_modal.help.additional_hosts": "可选 MongoDB 成员,使用逗号、分号或空格分隔。", "connection_modal.help.additional_srv_hosts": "可选的附加 SRV 主机,用于 MongoDB 发现。", "connection_modal.help.connection_timeout": "用于连接测试和元数据加载,范围 1-300 秒。", "connection_modal.help.custom_driver": "已支持: mysql, postgres, sqlite, oracle, dm, kingbase;别名支持 postgresql/pgx、dm8、kingbase8/kingbasees/kingbasev8。当前不支持通过 JDBC Jar 扩展驱动。", "connection_modal.help.default_database": "留空则使用服务器默认数据库。", "connection_modal.help.oracle_service_name": "Oracle 服务名,例如 ORCLPDB1。", "connection_modal.help.private_key_path": "使用私钥进行 SSH 认证;如果私钥未加密,可留空密码。", "connection_modal.help.redis_cluster_hosts": "附加 Redis Cluster 节点,使用逗号、分号或空格分隔。", "connection_modal.help.replica_hosts": "从库地址使用 host:port 格式,使用逗号、分号或空格分隔。", "connection_modal.help.select_after_test": "请先测试连接以加载可选数据库。", "connection_modal.help.uri": "可粘贴完整连接 URI,也可从当前表单生成 URI。", "connection_modal.jvm.access_mode_description": "选择此 JVM 连接可使用的接入模式,并指定首选模式。", "connection_modal.jvm.access_mode_title": "接入模式", "connection_modal.jvm.agent_api_key_optional": "Agent API 密钥(可选)", "connection_modal.jvm.agent_description": "通过 GoNavi Agent 连接,适用于无法直连的网络环境。", "connection_modal.jvm.agent_help": "GoNavi Agent 服务的基础 URL。", "connection_modal.jvm.agent_url": "Agent 地址", "connection_modal.jvm.diagnostic_api_key_optional": "诊断 API 密钥(可选)", "connection_modal.jvm.diagnostic_description": "启用可选诊断命令,用于 JVM 故障排查。", "connection_modal.jvm.diagnostic_disabled_hint": "诊断增强未启用,仅在需要运行时排查时开启。", "connection_modal.jvm.diagnostic_timeout_seconds": "诊断超时(秒)", "connection_modal.jvm.diagnostic_title": "诊断增强", "connection_modal.jvm.diagnostic_transport": "诊断传输", "connection_modal.jvm.diagnostic.agent_bridge_description": "使用 GoNavi Agent Bridge 诊断 Endpoint。", "connection_modal.jvm.diagnostic.arthas_tunnel_description": "通过 Arthas Tunnel 访问目标 JVM。", "connection_modal.jvm.diagnostic.arthas_tunnel_help": "Arthas Tunnel 服务器的基础 URL。", "connection_modal.jvm.diagnostic.arthas_tunnel_url": "Arthas Tunnel 地址", "connection_modal.jvm.diagnostic.bridge_help": "GoNavi 诊断桥接服务的基础 URL。", "connection_modal.jvm.diagnostic.bridge_url": "诊断桥接地址", "connection_modal.jvm.diagnostic.mutating_commands": "变更类命令", "connection_modal.jvm.diagnostic.mutating_commands_description": "允许可能改变运行时状态的命令,仅在受控环境使用。", "connection_modal.jvm.diagnostic.observe_commands": "观察类命令", "connection_modal.jvm.diagnostic.observe_commands_description": "允许 dashboard、thread、JVM 信息等只读命令。", "connection_modal.jvm.diagnostic.target_agent_id": "目标 Agent ID", "connection_modal.jvm.diagnostic.target_agent_id_help": "Arthas Tunnel 中注册的 Agent ID。", "connection_modal.jvm.diagnostic.target_id": "目标 ID", "connection_modal.jvm.diagnostic.target_id_help": "诊断桥接服务识别的目标 ID;留空则由桥接服务选择默认目标。", "connection_modal.jvm.diagnostic.trace_commands": "追踪类命令", "connection_modal.jvm.diagnostic.trace_commands_description": "允许 trace 与 watch 等会增加运行时开销的命令。", "connection_modal.jvm.diagnostic.transport.agent_bridge": "Agent Bridge", "connection_modal.jvm.diagnostic.transport.arthas_tunnel": "Arthas Tunnel", "connection_modal.jvm.endpoint_api_key_optional": "Endpoint API 密钥(可选)", "connection_modal.jvm.endpoint_description": "使用服务暴露的 Endpoint 连接,而不是直连 JMX。", "connection_modal.jvm.endpoint_help": "JVM 管理 Endpoint 的基础 URL。", "connection_modal.jvm.endpoint_url": "Endpoint 地址", "connection_modal.jvm.environment": "环境", "connection_modal.jvm.environment.dev": "开发", "connection_modal.jvm.environment.dev_description": "风险较低的测试环境。", "connection_modal.jvm.environment.prod": "生产", "connection_modal.jvm.environment.prod_description": "生产环境,建议优先使用只读操作。", "connection_modal.jvm.environment.uat": "UAT", "connection_modal.jvm.environment.uat_description": "上线前验证环境。", "connection_modal.jvm.jmx_description": "通过 JMX 使用主机、端口和可选凭据连接。", "connection_modal.jvm.jmx_host_override_optional": "JMX 主机覆盖(可选)", "connection_modal.jvm.jmx_password_optional": "JMX 密码(可选)", "connection_modal.jvm.jmx_port": "JMX 端口", "connection_modal.jvm.jmx_username_optional": "JMX 用户名(可选)", "connection_modal.jvm.mode.agent_description": "通过 GoNavi Agent 访问防火墙或 NAT 后的环境。", "connection_modal.jvm.mode.endpoint_description": "使用目标服务暴露的 HTTP Endpoint。", "connection_modal.jvm.mode.jmx_description": "使用标准 JMX 远程访问。", "connection_modal.jvm.preferred_mode_hint": "当前首选模式:{{mode}}", "connection_modal.jvm.read_only_first": "优先只读操作", "connection_modal.jvm.security_policy": "安全策略", "connection_modal.jvm.target_description": "配置 JVM 管理端点的主机、端口和访问方式。", "connection_modal.jvm.target_title": "JVM 目标", "connection_modal.layout.custom": "自定义驱动连接", "connection_modal.layout.file": "文件数据库连接", "connection_modal.layout.generic_sql": "通用 SQL 连接", "connection_modal.layout.jvm": "JVM 运行时连接", "connection_modal.layout.mongodb": "MongoDB 连接", "connection_modal.layout.mysql_compatible": "MySQL 兼容连接", "connection_modal.layout.oracle": "Oracle 连接", "connection_modal.layout.postgres_compatible": "PostgreSQL 兼容连接", "connection_modal.layout.redis": "Redis 连接", "connection_modal.layoutKind.custom": "自定义驱动", "connection_modal.layoutKind.file": "文件型数据库", "connection_modal.layoutKind.genericSql": "标准 SQL", "connection_modal.layoutKind.jvm": "JVM 运行时", "connection_modal.layoutKind.mongodb": "MongoDB", "connection_modal.layoutKind.mysqlCompatible": "MySQL 兼容", "connection_modal.layoutKind.oracle": "Oracle", "connection_modal.layoutKind.postgresCompatible": "PostgreSQL 兼容", "connection_modal.layoutKind.redis": "Redis", "connection_modal.layoutKind.search": "搜索引擎", "connection_modal.layoutKind.timeseries": "时序数据库", "connection_modal.layoutKind.vector": "向量数据库", "connection_modal.message.connection_failed": "连接失败", "connection_modal.message.connection_params_incomplete": "连接参数不完整", "connection_modal.message.connection_rejected": "连接被拒绝", "connection_modal.message.connection_success": "连接成功", "connection_modal.message.copy_failed": "复制失败", "connection_modal.message.current_driver_not_enabled": "当前驱动未安装或未启用", "connection_modal.message.dameng_ssl_cert_required": "启用达梦 SSL 时必须填写证书和私钥路径", "connection_modal.message.database_list_failed": "加载数据库列表失败:{{error}}", "connection_modal.message.database_list_timeout": "操作超时({{seconds}} 秒)", "connection_modal.message.driver_not_enabled": "驱动未安装或未启用", "connection_modal.message.driver_not_enabled_with_name": "{{name}} 驱动未安装或未启用。请先在驱动管理中安装并启用。", "connection_modal.message.driver_not_enabled_with_name_short": "{{name}} 驱动未安装或未启用,请先在驱动管理中处理。", "connection_modal.message.driver_unavailable_title": "{{name}} 驱动不可用", "connection_modal.message.http_tunnel_host_required": "请输入 HTTP Tunnel 主机", "connection_modal.message.http_tunnel_port_invalid": "HTTP Tunnel 端口无效", "connection_modal.message.member_discovery_failed": "发现 MongoDB 成员失败", "connection_modal.message.member_discovery_success": "已发现 {{count}} 个成员", "connection_modal.message.no_visible_databases": "未获取到可见数据库", "connection_modal.message.no_visible_schema": "未获取到可见结构", "connection_modal.message.required_fields_before_test": "请先填写必填字段,再测试连接", "connection_modal.message.save_backend_unavailable": "保存功能不可用:后端接口未就绪", "connection_modal.message.save_created_disconnected": "配置已保存(未连接)", "connection_modal.message.save_failed": "保存连接失败", "connection_modal.message.save_security_refresh_failed": "配置已保存,但刷新安全信息失败", "connection_modal.message.save_updated_disconnected": "配置已保存(未连接)", "connection_modal.message.select_database_file_failed": "选择数据库文件失败:{{error}}", "connection_modal.message.select_ssh_key_failed": "选择 SSH 私钥失败:{{error}}", "connection_modal.message.srv_with_ssh_dns_warning": "SRV 与 SSH Tunnel 同时启用时可能依赖本地 DNS 解析;如解析失败,请改用标准主机列表。", "connection_modal.message.test_failed_detail": "测试失败:{{detail}}", "connection_modal.message.test_requires_new_mongo_replica_password": "请先输入新的 MongoDB Replica Set 密码,再测试连接。", "connection_modal.message.test_requires_new_mongodb_password": "请先输入新的 MongoDB 密码,再测试连接。", "connection_modal.message.test_requires_new_password": "请先输入新的连接密码,再测试连接。", "connection_modal.message.test_requires_new_proxy_password": "请先输入新的代理密码,再测试连接。", "connection_modal.message.test_requires_new_replica_password": "请先输入新的从库密码,再测试连接。", "connection_modal.message.test_requires_new_ssh_password": "请先输入新的 SSH 密码,再测试连接。", "connection_modal.message.test_requires_new_tunnel_password": "请先输入新的 HTTP Tunnel 密码,再测试连接。", "connection_modal.message.test_timeout": "操作超时({{seconds}} 秒)", "connection_modal.message.unsupported_jvm_diagnostic_transport": "当前选择的 JVM 诊断传输不受支持", "connection_modal.message.unsupported_jvm_modes": "当前选择的 JVM 接入模式不受支持", "connection_modal.message.unsupported_jvm_modes_current": "当前连接包含不受支持的 JVM 接入模式", "connection_modal.message.unsupported_jvm_modes_detected": "检测到不受支持的 JVM 接入模式", "connection_modal.message.uri_copied": "URI 已复制", "connection_modal.message.uri_empty_copy": "没有可复制的 URI", "connection_modal.message.uri_generate_failed": "生成 URI 失败", "connection_modal.message.uri_generated": "URI 已生成", "connection_modal.message.uri_parse_failed": "解析 URI 失败", "connection_modal.message.uri_parsed": "URI 已解析到表单", "connection_modal.message.uri_required": "请先输入 URI", "connection_modal.message.uri_type_mismatch": "URI 类型与当前数据源不匹配", "connection_modal.messageQueue.kafka.defaultTopic.help": "留空时必须在 SQL 中显式指定 Topic;填写后可直接执行 SHOW、CONSUME 或 SELECT 预览。", "connection_modal.messageQueue.kafka.defaultTopic.label": "默认 Topic(可选)", "connection_modal.messageQueue.kafka.defaultTopic.placeholder": "例如:orders.events", "connection_modal.messageQueue.kafka.extraBrokers.help": "可输入多个 broker 地址,格式:host:port(回车确认)", "connection_modal.messageQueue.kafka.extraBrokers.label": "额外 Broker 地址", "connection_modal.messageQueue.kafka.extraBrokers.placeholder": "例如:10.10.0.12:9092、10.10.0.13:9092", "connection_modal.messageQueue.kafka.topology.cluster.description": "配置多个 bootstrap broker,提高发现与故障切换成功率。", "connection_modal.messageQueue.kafka.topology.single.description": "只配置一个 bootstrap broker,适合本地或简单环境。", "connection_modal.messageQueue.kafka.topology.single.label": "单 Broker", "connection_modal.messageQueue.mqtt.defaultTopicFilter.help": "留空时必须在 SQL 中显式指定 Topic;填写后可直接执行 SHOW、CONSUME 或 SELECT 预览。支持使用 /、+、#。", "connection_modal.messageQueue.mqtt.defaultTopicFilter.label": "默认 Topic / Filter(可选)", "connection_modal.messageQueue.mqtt.defaultTopicFilter.placeholder": "例如:devices/+/telemetry", "connection_modal.messageQueue.mqtt.extraBrokers.help": "可输入多个 broker 地址,格式:host:port(回车确认)", "connection_modal.messageQueue.mqtt.extraBrokers.label": "额外 Broker 地址", "connection_modal.messageQueue.mqtt.extraBrokers.placeholder": "例如:10.10.0.12:1883、10.10.0.13:1883", "connection_modal.messageQueue.mqtt.topology.cluster.description": "配置多个 broker,提高连接发现与故障切换成功率。", "connection_modal.messageQueue.mqtt.topology.single.description": "只配置一个 broker,适合本地或简单环境。", "connection_modal.messageQueue.mqtt.topology.single.label": "单 Broker", "connection_modal.messageQueue.rabbitmq.defaultVirtualHost.help": "留空默认使用 /;填写后查询编辑器会以当前 vhost 作为 Queue 浏览与测试发送上下文。", "connection_modal.messageQueue.rabbitmq.defaultVirtualHost.label": "默认 Virtual Host(可选)", "connection_modal.messageQueue.rabbitmq.defaultVirtualHost.placeholder": "例如:/ 或 orders-vhost", "connection_modal.messageQueue.rocketmq.defaultTopic.help": "留空时必须在 SQL 中显式指定 Topic;连接参数可继续补充 groupId、namespace、tag、pullBatchSize 与 startOffset。", "connection_modal.messageQueue.rocketmq.defaultTopic.label": "默认 Topic(可选)", "connection_modal.messageQueue.rocketmq.defaultTopic.placeholder": "例如:orders.events", "connection_modal.messageQueue.rocketmq.extraNameServers.help": "可输入多个 NameServer 地址,格式:host:port(回车确认)", "connection_modal.messageQueue.rocketmq.extraNameServers.label": "额外 NameServer 地址", "connection_modal.messageQueue.rocketmq.extraNameServers.placeholder": "例如:10.10.0.12:9876、10.10.0.13:9876", "connection_modal.messageQueue.rocketmq.topology.cluster.description": "配置多个 NameServer,提高路由发现与故障切换成功率。", "connection_modal.messageQueue.rocketmq.topology.single.description": "只配置一个 NameServer,适合本地或简单环境。", "connection_modal.messageQueue.rocketmq.topology.single.label": "单 NameServer", "connection_modal.messageQueue.topology.cluster.label": "集群模式", "connection_modal.mongodb.auth_mechanism": "认证机制", "connection_modal.mongodb.auth.auto": "自动", "connection_modal.mongodb.auth.auto_description": "由驱动自动选择认证机制。", "connection_modal.mongodb.auth.aws_iam_description": "使用 AWS IAM 认证,请在运行环境中提供 AWS IAM 凭据。", "connection_modal.mongodb.auth.none": "无认证", "connection_modal.mongodb.auth.none_description": "不使用 MongoDB 认证连接。", "connection_modal.mongodb.auth.scram_sha1_description": "使用 SCRAM-SHA-1 认证。", "connection_modal.mongodb.auth.scram_sha256_description": "使用 SCRAM-SHA-256 认证。", "connection_modal.mongodb.discovery.current": "当前", "connection_modal.mongodb.discovery.srv_ssh_warning": "SRV 与 SSH 隧道同时启用时,可能依赖本地 DNS 解析能力", "connection_modal.mongodb.discovery.srv.description": "使用 mongodb+srv,由 DNS 发现目标节点。", "connection_modal.mongodb.discovery.srv.label": "SRV 地址", "connection_modal.mongodb.discovery.standard.description": "使用 host:port 直连或副本集节点列表。", "connection_modal.mongodb.discovery.standard.label": "标准地址", "connection_modal.mongodb.members.health": "健康", "connection_modal.mongodb.members.health.error": "异常", "connection_modal.mongodb.members.health.ok": "正常", "connection_modal.mongodb.members.role": "角色", "connection_modal.mongodb.policy.auth_source.label": "认证库 (authSource)", "connection_modal.mongodb.policy.auth_source.placeholder": "默认使用 database 或 admin", "connection_modal.mongodb.read_preference": "readPreference", "connection_modal.mongodb.read_preference.nearest": "读取最近的成员。", "connection_modal.mongodb.read_preference.primary": "仅从 primary 读取。", "connection_modal.mongodb.read_preference.primary_preferred": "优先从 primary 读取,必要时回退到 secondary。", "connection_modal.mongodb.read_preference.secondary": "仅从 secondary 读取。", "connection_modal.mongodb.read_preference.secondary_preferred": "优先从 secondary 读取,必要时回退到 primary。", "connection_modal.mongodb.replica.hosts.srv.help": "可输入多个候选主机名,格式:host;若留空则仅使用上方主机。", "connection_modal.mongodb.replica.hosts.srv.label": "附加 SRV 主机(可选)", "connection_modal.mongodb.replica.hosts.srv.placeholder": "例如:cluster-a.example.com、cluster-b.example.com", "connection_modal.mongodb.replica.hosts.standard.help": "可输入多个节点地址,格式:host:port(回车确认)", "connection_modal.mongodb.replica.hosts.standard.label": "附加节点地址", "connection_modal.mongodb.replica.hosts.standard.placeholder": "例如:10.10.0.12:27017、10.10.0.13:27017", "connection_modal.mongodb.replica.password.clear": "清除已保存副本集密码", "connection_modal.mongodb.replica.password.description": "当前已保存副本集密码。留空表示继续沿用,输入新值表示替换。", "connection_modal.mongodb.replica.password.label": "副本集密码(可选)", "connection_modal.mongodb.replica.password.placeholder.empty": "留空沿用主密码", "connection_modal.mongodb.replica.password.placeholder.retained": "已保存副本集密码", "connection_modal.mongodb.replica.set.label": "副本集名称(可选)", "connection_modal.mongodb.replica.set.placeholder": "例如:rs0", "connection_modal.mongodb.replica.user.label": "副本集用户名(可选)", "connection_modal.mongodb.replica.user.placeholder": "留空沿用主用户名", "connection_modal.mongodb.srv_address": "SRV 地址", "connection_modal.mongodb.srv_address_description": "使用 MongoDB SRV 记录发现主机。", "connection_modal.mongodb.standard_address": "标准地址", "connection_modal.mongodb.standard_address_description": "使用主机、端口和可选成员列表。", "connection_modal.mongodb.topology.replica.label": "副本集 / 多节点", "connection_modal.mongodb.topology.single.label": "单机模式", "connection_modal.network.http_tunnel": "HTTP Tunnel", "connection_modal.network.http_tunnel_description": "通过 HTTP Tunnel 转发数据库流量。", "connection_modal.network.http_tunnel_disabled_hint": "启用 HTTP Tunnel 后可配置 Tunnel 主机、端口和凭据。", "connection_modal.network.http_tunnel_mutex_hint": "HTTP Tunnel 不能与 SSH Tunnel 或代理同时使用。", "connection_modal.network.http_tunnel_panel_description": "为此连接配置 HTTP Tunnel 网关。", "connection_modal.network.proxy": "代理", "connection_modal.network.proxy_disabled_hint": "启用代理后,此连接会通过 SOCKS5 或 HTTP CONNECT 转发。", "connection_modal.network.proxy_panel_description": "配置此连接的专用代理设置。", "connection_modal.network.proxy_type.http_description": "使用 HTTP CONNECT 代理。", "connection_modal.network.proxy_type.socks5_description": "使用 SOCKS5 代理。", "connection_modal.network.ssh_disabled_hint": "启用 SSH Tunnel 后可通过跳板机连接。", "connection_modal.network.ssh_panel_description": "配置 SSH Tunnel 主机、凭据和可选私钥。", "connection_modal.network.ssh_tunnel": "SSH Tunnel", "connection_modal.network.ssh_tunnel_description": "先通过 SSH Tunnel 再访问数据库。", "connection_modal.network.ssl_description": "使用 SSL/TLS 加密数据库连接。", "connection_modal.network.ssl_disabled_hint": "启用 SSL/TLS 后可配置证书策略。", "connection_modal.network.ssl_mode": "SSL 模式", "connection_modal.network.ssl_mode.preferred": "首选", "connection_modal.network.ssl_mode.preferred_description": "优先尝试 SSL,服务器不要求加密时允许回退。", "connection_modal.network.ssl_mode.required": "必需", "connection_modal.network.ssl_mode.required_description": "必须使用 SSL,无法建立加密连接时失败。", "connection_modal.network.ssl_mode.skip_verify": "跳过验证", "connection_modal.network.ssl_mode.skip_verify_description": "使用 SSL 但跳过证书校验,仅用于测试或自签证书。", "connection_modal.network.ssl_panel_description": "配置此连接的 SSL/TLS 策略。", "connection_modal.network.ssl_tls": "SSL/TLS", "connection_modal.placeholder.absolute_path": "/绝对/路径/文件", "connection_modal.placeholder.agent_api_key": "可选 Agent API 密钥", "connection_modal.placeholder.agent_url": "http://127.0.0.1:19090", "connection_modal.placeholder.connection_name": "连接名称", "connection_modal.placeholder.connection_name_fallback": "连接名称", "connection_modal.placeholder.custom_dsn_example": "示例:驱动专用 DSN", "connection_modal.placeholder.default_database_or_admin": "默认数据库或 admin", "connection_modal.placeholder.diagnostic_api_key": "可选诊断 API 密钥", "connection_modal.placeholder.diagnostic_target_agent_id": "Arthas Agent ID", "connection_modal.placeholder.diagnostic_target_id": "目标 ID", "connection_modal.placeholder.driver_name": "驱动名称", "connection_modal.placeholder.empty_without_auth": "无认证时留空", "connection_modal.placeholder.endpoint_api_key": "可选 Endpoint API 密钥", "connection_modal.placeholder.endpoint_url": "http://127.0.0.1:8080", "connection_modal.placeholder.example_appdb": "appdb", "connection_modal.placeholder.example_mongo_hosts": "mongo2:27017, mongo3:27017", "connection_modal.placeholder.example_mysql_replica_hosts": "replica1:3306, replica2:3306", "connection_modal.placeholder.example_orclpdb1": "ORCLPDB1", "connection_modal.placeholder.example_redis_hosts": "redis2:6379, redis3:6379", "connection_modal.placeholder.example_rs0": "rs0", "connection_modal.placeholder.example_srv_hosts": "cluster0.example.mongodb.net", "connection_modal.placeholder.jvm_name": "JVM 连接名称", "connection_modal.placeholder.no_auth": "无认证", "connection_modal.placeholder.proxy_host": "127.0.0.1", "connection_modal.placeholder.redis_password": "Redis 密码", "connection_modal.placeholder.select_databases": "选择要显示的数据库", "connection_modal.placeholder.select_redis_databases": "选择要显示的 Redis 数据库", "connection_modal.placeholder.ssh_host": "bastion.example.com", "connection_modal.placeholder.ssl_cert_path": "/绝对/路径/client.crt", "connection_modal.placeholder.ssl_key_path": "/绝对/路径/client.key", "connection_modal.placeholder.tunnel_host": "tunnel.example.com", "connection_modal.placeholder.uri_example_postgres": "postgresql://user:pass@localhost:5432/appdb?sslmode=require", "connection_modal.placeholder.use_primary_host": "使用主连接主机", "connection_modal.placeholder.use_primary_password": "使用主连接密码", "connection_modal.placeholder.use_primary_password_short": "使用主密码", "connection_modal.placeholder.use_primary_port": "使用主连接端口", "connection_modal.placeholder.use_primary_username": "使用主连接用户名", "connection_modal.placeholder.use_primary_username_short": "使用主用户名", "connection_modal.redis.credentials.primary.label": "密码 (可选)", "connection_modal.redis.credentials.primary.placeholder.empty": "Redis 密码(如果设置了 requirepass)", "connection_modal.redis.credentials.primary.placeholder.retained": "已保存 Redis 密码", "connection_modal.redis.credentials.sentinelPassword.clear": "清除已保存 Sentinel 密码", "connection_modal.redis.credentials.sentinelPassword.description": "当前已保存 Sentinel 密码。留空表示继续沿用,输入新值表示替换。", "connection_modal.redis.credentials.sentinelPassword.label": "Sentinel 密码(可选)", "connection_modal.redis.credentials.sentinelPassword.placeholder.empty": "Sentinel 自身认证密码,留空则不发送", "connection_modal.redis.credentials.sentinelPassword.placeholder.retained": "已保存 Sentinel 密码", "connection_modal.redis.credentials.sentinelUser.label": "Sentinel 用户名(可选)", "connection_modal.redis.credentials.sentinelUser.placeholder": "留空表示 Sentinel 不使用 ACL 用户名", "connection_modal.redis.databaseScope.help": "连接测试成功后可选择", "connection_modal.redis.databaseScope.label": "显示数据库 (留空显示全部)", "connection_modal.redis.databaseScope.placeholder": "选择显示的数据库", "connection_modal.redis.hosts.cluster.help": "主节点使用上方主机地址;这里填写其他种子节点,格式:host:port", "connection_modal.redis.hosts.cluster.label": "集群附加节点地址", "connection_modal.redis.hosts.cluster.placeholder": "例如:10.10.0.12:6379、10.10.0.13:6379", "connection_modal.redis.hosts.sentinel.help": "上方主机地址作为第一个 Sentinel;这里填写其他 Sentinel 节点,格式:host:port", "connection_modal.redis.hosts.sentinel.label": "Sentinel 附加节点地址", "connection_modal.redis.hosts.sentinel.placeholder": "例如:10.10.0.12:26379、10.10.0.13:26379", "connection_modal.redis.sentinel.master.help": "填写 Sentinel 配置中的 monitor 名称,例如 mymaster。", "connection_modal.redis.sentinel.master.label": "Sentinel master 名称", "connection_modal.redis.sentinel.master.placeholder": "例如:mymaster", "connection_modal.redis.sentinel.master.required": "请输入 Sentinel master 名称", "connection_modal.redis.topology.cluster.description": "Redis Cluster,配置多个种子节点。", "connection_modal.redis.topology.cluster.label": "集群模式", "connection_modal.redis.topology.sentinel.description": "通过 Sentinel 发现主节点,适合主从高可用。", "connection_modal.redis.topology.sentinel.label": "哨兵模式", "connection_modal.redis.topology.single.description": "只连接一个 Redis 节点。", "connection_modal.redis.topology.single.label": "单机模式", "connection_modal.secret.blocking.redis_sentinel": "测试连接前请填写新的 Sentinel 密码,或取消清除已保存 Sentinel 密码", "connection_modal.secret.clear_saved_dsn": "清除已保存的 DSN", "connection_modal.secret.clear_saved_mongo_replica_password": "清除已保存的 MongoDB 副本密码", "connection_modal.secret.clear_saved_password": "清除已保存密码", "connection_modal.secret.clear_saved_proxy_password": "清除已保存的代理密码", "connection_modal.secret.clear_saved_replica_password": "清除已保存的从库密码", "connection_modal.secret.clear_saved_ssh_password": "清除已保存的 SSH 密码", "connection_modal.secret.clear_saved_tunnel_password": "清除已保存的 HTTP Tunnel 密码", "connection_modal.secret.clear_saved_uri": "清除已保存的 URI", "connection_modal.secret.error.saved_connection_deleted": "未找到已保存连接,可能已被删除,请刷新后重试", "connection_modal.secret.error.saved_connection_missing": "未找到当前连接对应的已保存密文,请重新填写密码并保存后再试", "connection_modal.secret.error.store_unavailable": "系统密文存储当前不可用,请检查系统钥匙串或凭据管理器后再试", "connection_modal.secret.new_value_replaces_saved": "已输入新值,保存时会替换当前已保存内容。", "connection_modal.secret.saved_dsn_description": "安全存储中已有 DSN。留空将继续使用该 DSN。", "connection_modal.secret.saved_mongo_replica_password": "已保存 MongoDB 副本密码", "connection_modal.secret.saved_mongo_replica_password_description": "安全存储中已有 MongoDB 副本密码。留空将继续使用该密码。", "connection_modal.secret.saved_password": "已保存密码", "connection_modal.secret.saved_placeholder": "••••••(留空表示继续沿用{{label}})", "connection_modal.secret.saved_primary_password_description": "安全存储中已有主连接密码。留空将继续使用该密码。", "connection_modal.secret.saved_proxy_password": "已保存代理密码", "connection_modal.secret.saved_proxy_password_description": "安全存储中已有代理密码。留空将继续使用该密码。", "connection_modal.secret.saved_redis_password": "已保存 Redis 密码", "connection_modal.secret.saved_redis_password_description": "安全存储中已有 Redis 密码。留空将继续使用该密码。", "connection_modal.secret.saved_replica_password": "已保存从库密码", "connection_modal.secret.saved_replica_password_description": "安全存储中已有从库密码。留空将继续使用该密码。", "connection_modal.secret.saved_ssh_password": "已保存 SSH 密码", "connection_modal.secret.saved_ssh_password_description": "安全存储中已有 SSH 密码。留空将继续使用该密码。", "connection_modal.secret.saved_tunnel_password": "已保存 HTTP Tunnel 密码", "connection_modal.secret.saved_tunnel_password_description": "安全存储中已有 HTTP Tunnel 密码。留空将继续使用该密码。", "connection_modal.secret.saved_uri_description": "安全存储中已有连接 URI。留空将继续使用该 URI。", "connection_modal.section.advanced_connection": "高级连接", "connection_modal.section.appearance.description": "设置连接在侧边栏中的图标和颜色。", "connection_modal.section.appearance.title": "外观", "connection_modal.section.basic.description": "命名连接,并填写目标地址、驱动和认证信息。", "connection_modal.section.basic.jvm_description": "配置 JVM 目标、访问模式和认证信息。", "connection_modal.section.basic.sql_description": "配置连接目标、驱动、认证信息和数据库范围。", "connection_modal.section.basic.title": "基础信息", "connection_modal.section.config_sections": "配置分区", "connection_modal.section.network.description": "配置 SSL/TLS、SSH Tunnel、代理和 HTTP Tunnel。", "connection_modal.section.network.nav_description": "配置此连接的网络和安全选项。", "connection_modal.section.network.title": "网络与安全", "connection_modal.section.readOnly.description": "按需勾选生产连接的高风险限制项,而不是一刀切只读。", "connection_modal.section.readOnly.title": "生产连接保护", "connection_modal.ssl_hint.dameng": "达梦驱动启用 SSL 需要客户端证书与私钥路径(sslCertPath / sslKeyPath)。", "connection_modal.ssl_hint.default": "建议优先使用 Required;仅在测试环境或自签证书场景使用 Skip Verify。", "connection_modal.ssl_hint.mongodb": "MongoDB 可通过 TLS 保护连接,证书校验异常时可先用 Skip Verify 验证连通性。", "connection_modal.ssl_hint.mysql_like": "MySQL/MariaDB/Doris/Sphinx 开启安全传输策略时请启用 SSL;本地自签证书可先用 Preferred 或 Skip Verify 验证。", "connection_modal.ssl_hint.sqlserver": "SQL Server 生产环境建议使用 Required,并关闭 TrustServerCertificate。", "connection_modal.status.disabled": "未启用", "connection_modal.status.enabled": "已启用", "connection_modal.status.healthy": "正常", "connection_modal.status.unhealthy": "异常", "connection_modal.step.select_source": "选择数据源", "connection_modal.step.select_source_description": "选择要创建的连接类型。", "connection_modal.step1.group.domestic": "国产数据库", "connection_modal.step1.group.message_queue": "消息队列", "connection_modal.step1.group.nosql": "NoSQL 数据库", "connection_modal.step1.group.other": "其他", "connection_modal.step1.group.relational": "关系型数据库", "connection_modal.step1.group.timeseries": "时序数据库", "connection_modal.step1.group.vector": "向量数据库", "connection_modal.step1.hint.chroma": "Collection 浏览、向量检索和元数据过滤", "connection_modal.step1.hint.custom": "自定义驱动与 DSN", "connection_modal.step1.hint.elasticsearch": "索引浏览、Mapping 检查、JSON DSL 和 query_string 查询", "connection_modal.step1.hint.file": "本地文件连接", "connection_modal.step1.hint.goldendb": "MySQL 兼容 / 分布式事务", "connection_modal.step1.hint.jvm": "JMX / Endpoint / Agent", "connection_modal.step1.hint.mongodb": "单机 / 副本集", "connection_modal.step1.hint.oceanBase": "MySQL / Oracle 租户", "connection_modal.step1.hint.qdrant": "Collection 浏览、向量搜索和 Payload 过滤", "connection_modal.step1.hint.redis": "单机 / 集群", "connection_modal.step1.hint.standard": "标准连接配置", "connection_modal.switch.off": "关", "connection_modal.switch.on": "开", "connection_modal.table.health": "健康", "connection_modal.table.role": "角色", "connection_modal.test_error.description": "查看后端返回的完整错误信息。", "connection_modal.test_error.empty": "没有错误详情", "connection_modal.test_error.title": "连接测试失败原因", "connection_modal.test.redis_database_list_failure": "连接成功,但获取 Redis 数据库列表失败:{{detail}}", "connection_modal.test.redis_database_list_timeout": "连接成功但拉取 Redis 数据库列表超时(>{{seconds}} 秒)", "connection_modal.title.create": "新建 {{type}} 连接", "connection_modal.title.create_description": "填写连接配置并保存。", "connection_modal.title.edit": "编辑连接", "connection_modal.title.edit_description": "编辑 {{type}} 连接配置。", "connection_modal.title.select_type": "选择数据源类型", "connection_modal.title.select_type_description": "从支持的数据源中选择一种连接类型。", "connection_modal.topology.cluster": "集群", "connection_modal.topology.mongodb_replica": "Replica Set", "connection_modal.topology.mongodb_replica_description": "连接 MongoDB Replica Set,并可选自动发现成员。", "connection_modal.topology.mongodb_single_description": "连接单个 MongoDB 主机。", "connection_modal.topology.mysql_replica_description": "使用主连接,并可选配置从库地址。", "connection_modal.topology.mysql_single_description": "连接单个 MySQL 兼容节点。", "connection_modal.topology.primary_replica": "主从", "connection_modal.topology.redis_cluster_description": "连接 Redis Cluster,并列出附加节点。", "connection_modal.topology.redis_single_description": "连接单个 Redis 节点。", "connection_modal.topology.single": "单机模式", "connection_modal.validation.address_or_path_required": "请输入主机地址或文件路径", "connection_modal.validation.agent_url_required": "请输入 Agent 地址", "connection_modal.validation.arthas_tunnel_url_required": "请输入 Arthas Tunnel 地址", "connection_modal.validation.custom_dsn_required": "请输入连接字符串", "connection_modal.validation.custom_dsn_required_when_clearing_saved": "请输入新的连接字符串,或取消清除已保存 DSN", "connection_modal.validation.dameng_ssl_cert_path_required": "请输入达梦 SSL 证书路径", "connection_modal.validation.dameng_ssl_key_path_required": "请输入达梦 SSL 私钥路径", "connection_modal.validation.diagnostic_bridge_url_required": "请输入诊断桥接地址", "connection_modal.validation.diagnostic_target_required": "请输入诊断目标", "connection_modal.validation.diagnostic_timeout_range_1_300": "诊断超时必须在 1 到 300 秒之间", "connection_modal.validation.driver_name_required": "请输入驱动名称", "connection_modal.validation.endpoint_url_required": "请输入 Endpoint 地址", "connection_modal.validation.jvm_access_mode_required": "请至少选择一种 JVM 接入模式", "connection_modal.validation.jvm_host_required": "请输入 JVM 主机", "connection_modal.validation.jvm_port_required": "请输入 JVM 端口", "connection_modal.validation.jvm_preferred_mode_required": "请选择首选 JVM 接入模式", "connection_modal.validation.oracle_service_required": "请输入 Oracle 服务名", "connection_modal.validation.port_required": "请输入端口", "connection_modal.validation.proxy_host_required": "请输入代理主机", "connection_modal.validation.proxy_port_required": "请输入代理端口", "connection_modal.validation.ssh_host_required": "请输入 SSH 主机", "connection_modal.validation.ssh_port_required": "请输入 SSH 端口", "connection_modal.validation.ssh_user_required": "请输入 SSH 用户", "connection_modal.validation.timeout_range_1_300": "超时必须在 1 到 300 秒之间", "connection_modal.validation.tunnel_host_required": "请输入 HTTP Tunnel 主机", "connection_modal.validation.tunnel_port_required": "请输入 HTTP Tunnel 端口", "connection_modal.validation.username_required": "请输入用户名", "connection.backend.action.apply_result_changes": "提交结果修改", "connection.backend.action.clear_table": "清空表数据", "connection.backend.action.create_database": "创建数据库", "connection.backend.action.create_schema": "创建模式", "connection.backend.action.data_sync_structure": "同步目标结构", "connection.backend.action.data_sync_write": "数据同步写入", "connection.backend.action.drop_database": "删除数据库", "connection.backend.action.drop_function_or_procedure": "删除函数或存储过程", "connection.backend.action.drop_schema": "删除模式", "connection.backend.action.drop_table": "删除表", "connection.backend.action.drop_view": "删除视图", "connection.backend.action.import_data": "导入数据", "connection.backend.action.preview_result_changes": "预览结果修改", "connection.backend.action.rename_database": "重命名数据库", "connection.backend.action.rename_schema": "重命名模式", "connection.backend.action.rename_table": "重命名表", "connection.backend.action.rename_view": "重命名视图", "connection.backend.action.truncate_table": "截断表数据", "connection.backend.error.readonly_action_blocked": "当前连接已启用生产保护,禁止执行{{action}}", "connection.copy_suffix": " - 副本", "connection.delete": "删除连接", "connection.edit": "编辑连接", "connection.new": "新建连接", "connection.oceanbase.error.unsupported_protocol": "OceanBase 当前仅支持 MySQL/Oracle 租户协议,不支持 \"{{value}}\";请改为 MySQL 或 Oracle。", "connection.sidebar.delete.backendUnavailable": "删除连接失败:后端接口不可用", "connection.sidebar.delete.confirmContent": "确定要删除连接 \"{{name}}\" 吗?", "connection.sidebar.delete.confirmTitle": "确认删除", "connection.sidebar.delete.failureFallback": "删除连接失败", "connection.sidebar.delete.success": "已删除连接", "connection.sidebar.disconnect.success": "已断开连接", "connection.sidebar.duplicate.backendUnavailable": "复制连接失败:后端接口不可用", "connection.sidebar.duplicate.failureFallback": "复制连接失败", "connection.sidebar.duplicate.noResult": "复制连接失败:后端未返回结果", "connection.sidebar.duplicate.success": "已复制连接: {{name}}", "connection.sidebar.group.badge": "分组", "connection.sidebar.group.collapseAria": "折叠连接分组 {{name}}", "connection.sidebar.group.delete": "删除分组", "connection.sidebar.group.deleteConfirmContent": "确定要删除分组 \"{{name}}\" 吗?这不会删除里面的连接。", "connection.sidebar.group.deleteConfirmTitle": "确认删除", "connection.sidebar.group.edit": "编辑分组", "connection.sidebar.group.expandAria": "展开连接分组 {{name}}", "connection.sidebar.group.meta": "{{count}} 个连接 · 连接分组", "connection.sidebar.group.untitled": "未命名分组", "connection.sidebar.menu.copy": "复制连接", "connection.sidebar.menu.createDatabase": "新建数据库", "connection.sidebar.menu.current": "当前", "connection.sidebar.menu.delete": "删除连接", "connection.sidebar.menu.disconnect": "断开连接", "connection.sidebar.menu.groupSection": "连接分组", "connection.sidebar.menu.hostBadge": "HOST", "connection.sidebar.menu.hostFallback": "未配置地址", "connection.sidebar.menu.moveOutTag": "移出标签", "connection.sidebar.menu.moveToTag": "移至标签", "connection.sidebar.menu.moveToUngrouped": "移出分组", "connection.sidebar.menu.refresh": "刷新连接", "connection.sidebar.menu.section": "连接", "connection.test": "测试连接", "connection.unnamed": "未命名连接", "data_export.action.clear": "清空", "data_export.action.clear_progress": "清空当前进度", "data_export.action.select_all": "全选", "data_export.action.start": "开始导出", "data_export.dialog.action.start": "开始导出", "data_export.dialog.field.format": "导出格式", "data_export.dialog.field.scope": "导出范围", "data_export.dialog.field.xlsx_max_rows": "每个工作表最大行数", "data_export.dialog.field.xlsx_max_rows_help": "仅 XLSX 生效,最大 {{maxRows}} 行(不含表头)", "data_export.dialog.validation.format_required": "请选择导出格式", "data_export.dialog.validation.scope_required": "请选择可用的导出范围", "data_export.dialog.validation.xlsx_max_rows_limit": "每个工作表最大行数不能超过 {{maxRows}}", "data_export.dialog.validation.xlsx_max_rows_required": "请输入有效的每个工作表最大行数", "data_export.hint.batch_stage": "当前阶段为后端执行中的过程提示,整体进度会在对象或数据库完成后推进。", "data_export.hint.rows_unknown": "当前未预先统计总行数,暂不显示百分比,写入行数为实时值。", "data_export.label.connection": "连接", "data_export.label.current_stage": "当前阶段", "data_export.label.database": "数据库", "data_export.label.directory": "目录", "data_export.label.elapsed": "导出耗时", "data_export.label.estimated_rows": "预计行数", "data_export.label.export_content": "导出内容", "data_export.label.export_scope": "导出范围", "data_export.label.file": "文件", "data_export.label.format": "格式", "data_export.label.host": "Host", "data_export.label.mode": "模式", "data_export.label.object": "对象", "data_export.label.object_count": "对象数", "data_export.label.progress_summary": "进度说明", "data_export.label.selected_databases": "已选库", "data_export.label.sql_file": "SQL 文件", "data_export.label.started_at": "开始时间", "data_export.label.status": "状态", "data_export.label.strategy": "执行链路", "data_export.label.type": "类型", "data_export.label.xlsx_max_rows": "每个工作表最大行数", "data_export.message.already_running": "当前已有导出任务正在执行,请等待完成后再发起新的导出", "data_export.message.export_failed": "导出失败: {{error}}", "data_export.message.export_success": "导出成功", "data_export.message.load_databases_failed": "获取数据库列表失败", "data_export.message.load_objects_failed": "获取对象列表失败", "data_export.progress.label.task": "任务", "data_export.progress.rows_written": "已写入 {{current}} 行", "data_export.progress.rows_written_with_total": "已写入 {{current}} / {{total}} 行", "data_export.progress.stage.export_failed": "导出失败", "data_export.progress.stage.exporting_item_with_progress": "正在导出 {{name}} ({{current}}/{{total}})", "data_export.progress.stage.exporting_sql_file": "正在导出 SQL 文件", "data_export.progress.stage.finalizing_csv_write": "正在完成 CSV 写入", "data_export.progress.stage.finalizing_file_write": "正在完成文件写入", "data_export.progress.stage.finalizing_xlsx_package": "正在封装并压缩 XLSX 文件", "data_export.progress.stage.preparing_batch_databases_export": "正在准备批量库导出", "data_export.progress.stage.preparing_batch_tables_export": "正在准备批量对象导出", "data_export.progress.stage.preparing_export": "正在准备导出", "data_export.progress.stage.querying_data": "正在查询数据", "data_export.progress.stage.waiting_file_selection": "等待选择导出文件", "data_export.progress.stage.writing_file": "正在写入文件", "data_export.progress.status.done": "已完成", "data_export.progress.status.error": "失败", "data_export.progress.status.finalizing": "收尾中", "data_export.progress.status.idle": "待开始", "data_export.progress.status.running": "执行中", "data_export.progress.status.start": "准备中", "data_export.progress.title.done": "导出完成", "data_export.progress.title.error": "导出失败", "data_export.progress.title.running": "正在导出", "data_export.progress.value.target_fallback": "未命名对象", "data_export.progress.value.task_fallback": "导出任务", "data_export.value.unestimated": "当前未预先统计", "data_export.value.waiting_target_path": "等待选择目标路径", "data_export.value.waiting_to_start": "等待开始", "data_export.workbench.alert.connection_missing_description": "请先恢复连接配置,再执行该导出任务。", "data_export.workbench.alert.connection_missing_title": "当前连接已不存在", "data_export.workbench.alert.database_load_failed": "数据库列表加载失败", "data_export.workbench.alert.object_load_failed": "对象列表加载失败", "data_export.workbench.alert.scope_unavailable_description": "该范围缺少稳定的后端查询上下文,请回到数据页直接导出,或改用全表 / 筛选结果导出。", "data_export.workbench.alert.scope_unavailable_title": "当前范围暂无法在导出工作台复现", "data_export.workbench.batch_databases.mode.backup.description": "按数据库分别生成结构加数据 SQL 文件。", "data_export.workbench.batch_databases.mode.backup.label": "备份库", "data_export.workbench.batch_databases.mode.schema.description": "按数据库分别生成结构 SQL 文件。", "data_export.workbench.batch_databases.mode.schema.label": "导出库结构", "data_export.workbench.batch_tables.mode.backup.description": "导出所选对象的结构和数据 SQL。", "data_export.workbench.batch_tables.mode.backup.label": "备份", "data_export.workbench.batch_tables.mode.data_only.description": "导出所选对象的数据 INSERT 语句。", "data_export.workbench.batch_tables.mode.data_only.label": "仅数据", "data_export.workbench.batch_tables.mode.schema.description": "导出当前数据库下所选对象的建表或定义 SQL。", "data_export.workbench.batch_tables.mode.schema.label": "结构", "data_export.workbench.description.current_task_empty": "开始导出后,这里会展示当前任务的唯一主进度。", "data_export.workbench.description.history": "当前任务不在这里重复展示,历史区只保留已结束或已切换开的摘要记录。", "data_export.workbench.empty.history": "暂无历史任务。完成一次导出后,这里会保留最近任务的摘要。", "data_export.workbench.empty.not_started": "尚未开始导出", "data_export.workbench.helper.available_objects": "当前库可选 {{available}} 个对象,已选 {{selected}} 个。", "data_export.workbench.helper.batch_database_output": "将在开始导出时先选择输出目录,再为每个数据库分别生成独立的 SQL 文件。", "data_export.workbench.helper.batch_databases_start": "批量库导出会先选择输出目录,再按库生成独立 SQL 文件,并在右侧展示整体库进度。", "data_export.workbench.helper.batch_tables_start": "批量对象导出会统一生成一个 SQL 文件,并在右侧展示整体对象进度与最近任务摘要。", "data_export.workbench.helper.single_export_start": "导出开始后会先选择目标文件,再在右侧主面板展示唯一进度条、导出耗时和输出路径。", "data_export.workbench.history.count": "{{count}} 条记录", "data_export.workbench.mode.batch_databases": "批量库", "data_export.workbench.mode.batch_tables": "批量对象", "data_export.workbench.object_type.materialized_view": "物化视图", "data_export.workbench.object_type.table": "表", "data_export.workbench.object_type.view": "视图", "data_export.workbench.placeholder.loading_databases": "正在加载数据库...", "data_export.workbench.placeholder.loading_objects": "正在加载对象...", "data_export.workbench.placeholder.select_connection": "选择连接", "data_export.workbench.placeholder.select_database": "选择数据库", "data_export.workbench.placeholder.select_database_first": "请先选择数据库", "data_export.workbench.placeholder.select_object": "选择对象", "data_export.workbench.scope.all.description": "后台重新查询整张表并导出全部数据。", "data_export.workbench.scope.all.label": "全表数据", "data_export.workbench.scope.selected_databases": "已选数据库({{count}})", "data_export.workbench.scope.selected_objects": "已选对象({{count}})", "data_export.workbench.section.config": "导出配置", "data_export.workbench.section.current_task": "当前任务", "data_export.workbench.section.history": "最近任务", "data_export.workbench.strategy.batch_databases": "批量库 SQL 导出 · {{mode}}", "data_export.workbench.strategy.batch_tables": "批量对象 SQL 导出 · {{mode}}", "data_export.workbench.strategy.full_table": "整表导出链路", "data_export.workbench.strategy.query_replay": "SQL 重放导出", "data_export.workbench.subtitle": "在同一页内配置导出、观察主进度,并回看最近任务摘要。", "data_export.workbench.summary.batch_databases_done": "已完成 {{current}} / {{total}} 个库", "data_export.workbench.summary.batch_databases_running": "批量库导出正在执行", "data_export.workbench.summary.batch_tables_done": "已完成 {{current}} / {{total}} 个对象", "data_export.workbench.summary.batch_tables_running": "批量对象导出正在执行", "data_export.workbench.target.batch_databases": "{{count}} 个数据库", "data_export.workbench.target.batch_tables": "{{database}} · {{count}} 个对象", "data_export.workbench.target.current_database": "当前数据库", "data_export.workbench.task.export_target": "导出 {{name}}", "data_export.workbench.title": "导出工作台", "data_grid.action.apply": "应用", "data_grid.ai_insight.prompt": "请帮我分析以下查询结果数据(取前 {{count}} 条示例):\n```json\n{{json}}\n```\n\n请分析数据特征、发现规律,或者给出一些业务上的洞察。", "data_grid.ai_prompt.analyze_page": "请分析以下查询结果数据(前 {{count}} 行样本):\n```json\n{{json}}\n```\n\n请分析数据特征、发现规律,或提供业务洞察。", "data_grid.aria.row_number": "行号", "data_grid.batch_fill.set_null": "设置为 NULL", "data_grid.batch_fill.title": "批量填充({{count}} 个单元格)", "data_grid.batch_fill.value_placeholder": "输入要填充的值", "data_grid.cell_editor.now": "此刻", "data_grid.cell_editor.title": "编辑单元格", "data_grid.cell_editor.title_with_column": "编辑单元格:{{column}}", "data_grid.column_quick_find.placeholder": "跳到字段列...", "data_grid.column_quick_find.tooltip": "输入字段名,回车或点定位按钮即可跳到对应列", "data_grid.column_settings.column_visibility": "列显示", "data_grid.column_settings.display_settings": "显示设置", "data_grid.column_settings.field_info": "字段信息", "data_grid.column_settings.hide_all": "全隐藏", "data_grid.column_settings.remember_column_order": "记住自定义列顺序", "data_grid.column_settings.remember_hidden_columns": "记住隐藏列设置", "data_grid.column_settings.reset_hidden": "重置隐藏", "data_grid.column_settings.reset_hidden_success": "已恢复全列显示", "data_grid.column_settings.reset_order": "重置顺序", "data_grid.column_settings.reset_order_success": "已恢复默认列排序", "data_grid.column_settings.search_columns_placeholder": "搜索列名...", "data_grid.column_settings.show_all": "全显示", "data_grid.column_settings.show_comments": "在表头显示列注释", "data_grid.column_settings.show_types": "在表头显示列类型", "data_grid.column.comment_tooltip": "注释:{{comment}}", "data_grid.column.drag_tooltip": "拖动调整列顺序", "data_grid.column.foreign_key_jump_title": "跳转到外键表:{{tableName}}", "data_grid.column.foreign_key_tooltip": "外键:{{target}}", "data_grid.column.resize_tooltip": "拖动调整列宽,双击自动适配", "data_grid.column.type_tooltip": "类型:{{type}}", "data_grid.context_menu.auto_fit_column": "按内容自适应列宽", "data_grid.context_menu.clear_column_sort": "取消此字段排序", "data_grid.context_menu.column_display_section": "字段显示", "data_grid.context_menu.column_no_comment": "暂无备注", "data_grid.context_menu.column_unknown_type": "未知类型", "data_grid.context_menu.column_unnamed_field": "未命名字段", "data_grid.context_menu.copy_as_csv": "复制为 CSV", "data_grid.context_menu.copy_as_delete": "复制为 DELETE", "data_grid.context_menu.copy_as_insert": "复制为 INSERT", "data_grid.context_menu.copy_as_json": "复制为 JSON", "data_grid.context_menu.copy_as_markdown": "复制为 Markdown", "data_grid.context_menu.copy_as_update": "复制为 UPDATE", "data_grid.context_menu.copy_column_data": "复制列数据", "data_grid.context_menu.copy_field_name": "复制字段名称", "data_grid.context_menu.copy_row_as_new": "复制本行为新增行", "data_grid.context_menu.copy_row_data": "复制行数据", "data_grid.context_menu.current_cell": "当前单元格", "data_grid.context_menu.current_marker": "当前", "data_grid.context_menu.current_row": "当前行", "data_grid.context_menu.edit_row": "编辑此行", "data_grid.context_menu.edit_section": "编辑", "data_grid.context_menu.export_as_csv": "导出为 CSV", "data_grid.context_menu.export_as_excel": "导出为 Excel", "data_grid.context_menu.export_as_html": "导出为 HTML", "data_grid.context_menu.export_as_json": "导出为 JSON", "data_grid.context_menu.export_selected": "导出选中数据", "data_grid.context_menu.fill_to_selected_rows": "填充到选中行({{count}})", "data_grid.context_menu.hide_column": "隐藏此字段", "data_grid.context_menu.hide_column_comment": "隐藏字段备注", "data_grid.context_menu.hide_column_type": "隐藏字段类型", "data_grid.context_menu.paste_copied_columns": "粘贴已复制列(同名列)", "data_grid.context_menu.paste_row_as_new": "粘贴为新增行", "data_grid.context_menu.paste_row_as_new_count": "粘贴为新增行({{count}})", "data_grid.context_menu.show_column_comment": "显示字段备注", "data_grid.context_menu.show_column_type": "显示字段类型", "data_grid.context_menu.sort_ascending": "升序排序", "data_grid.context_menu.sort_descending": "降序排序", "data_grid.context_menu.sort_section": "排序", "data_grid.context_menu.undo_cell_change": "撤销此单元格修改", "data_grid.copy_sql.error.missing_safe_where": "当前结果集缺少可安全定位行数据的主键/唯一键,且未覆盖表的全部字段,无法生成 WHERE 条件。", "data_grid.copy_sql.error.missing_table_name": "当前结果集未关联明确表名,无法生成 {{mode}} SQL。", "data_grid.copy_sql.error.no_copyable_fields": "当前结果集没有可复制的字段,无法生成 SQL。", "data_grid.data_panel.click_cell_description": "点击表格中的单元格可预览完整数据", "data_grid.data_panel.click_cell_title": "点击单元格查看数据", "data_grid.data_panel.title": "数据预览", "data_grid.datetime_picker.now": "此刻", "data_grid.ddl.copy": "复制 DDL", "data_grid.ddl.layout_bottom": "底部", "data_grid.ddl.layout_side": "侧栏", "data_grid.ddl.loading": "正在加载 DDL...", "data_grid.ddl.reload": "重新加载", "data_grid.ddl.sidebar_aria": "表 DDL 侧栏", "data_grid.ddl.view": "查看 DDL", "data_grid.embedded_designer.title": "设计表({{tableName}})", "data_grid.error_boundary.description": "数据表格渲染时发生错误,数据格式可能无效。", "data_grid.error_boundary.retry": "重试", "data_grid.error_boundary.title": "渲染错误", "data_grid.export.all_data": "导出全部数据", "data_grid.export.all_rows": "导出全部行({{count}} 行)", "data_grid.export.all_rows_requery": "导出全部(重新查询)", "data_grid.export.current_page": "导出当前页({{count}} 行)", "data_grid.export.current_page_rows": "导出当前页({{count}} 行)", "data_grid.export.group_filtered_results": "筛选结果", "data_grid.export.group_full_table": "全表", "data_grid.export.no_selection_prompt": "未选择行,请选择导出范围:", "data_grid.export.options_title": "导出选项", "data_grid.export.query_result_title": "导出查询结果", "data_grid.export.scope_prompt": "请选择导出范围:", "data_grid.export.scope.all_results_cached": "全部结果(当前缓存 {{count}} 条)", "data_grid.export.scope.all_results_cached_description": "当前查询缺少可重放 SQL 时,将导出当前缓存的全部结果。", "data_grid.export.scope.all_results_requery": "全部结果(重新查询)", "data_grid.export.scope.all_results_requery_description": "后台会重新执行 SQL,避免只导出当前页或当前缓存。", "data_grid.export.scope.current_page": "当前页({{count}} 条)", "data_grid.export.scope.current_page_description": "直接按当前结果页缓存导出。", "data_grid.export.scope.current_page_requery_description": "后台按当前分页条件重新查询后导出当前页。", "data_grid.export.scope.current_page_unavailable_description": "当前页依赖前端临时状态,建议直接使用快捷导出。", "data_grid.export.scope.filtered_results_all": "筛选结果(全部)", "data_grid.export.scope.filtered_results_all_requery_description": "按当前筛选条件重新查询数据库并导出全部筛选结果。", "data_grid.export.scope.filtered_results_all_unavailable_description": "当前数据源或当前状态暂不支持在工作台重放筛选导出。", "data_grid.export.scope.selected_rows": "选中行", "data_grid.export.scope.selected_rows_count": "选中行({{count}} 条)", "data_grid.export.scope.selected_rows_description": "仅导出当前结果集中已勾选的行。", "data_grid.export.selected_rows": "导出选中行({{count}} 行)", "data_grid.filter.add_condition": "添加条件", "data_grid.filter.add_sort": "添加排序", "data_grid.filter.apply": "应用", "data_grid.filter.apply_where": "应用 WHERE", "data_grid.filter.clear": "清空", "data_grid.filter.custom_where_placeholder": "输入自定义 WHERE 表达式(不含 WHERE),例如:status IN ('A','B')", "data_grid.filter.disable_all": "全部禁用", "data_grid.filter.enable_all": "全部启用", "data_grid.filter.enabled": "启用", "data_grid.filter.end_value_placeholder": "结束值", "data_grid.filter.first_condition": "首先", "data_grid.filter.invalid_quick_where": "WHERE 条件不能包含分号或 SQL 注释", "data_grid.filter.list_values_placeholder": "多个值用逗号或换行分隔", "data_grid.filter.logic.and": "且 (AND)", "data_grid.filter.logic.or": "或 (OR)", "data_grid.filter.mongodb_query_placeholder": "输入 MongoDB JSON 查询对象,例如 {\"status\":\"A\"}", "data_grid.filter.no_value_placeholder": "无需输入值", "data_grid.filter.op.between": "介于", "data_grid.filter.op.contains": "包含", "data_grid.filter.op.custom": "[自定义]", "data_grid.filter.op.ends_with": "结尾为", "data_grid.filter.op.in_list": "在列表中", "data_grid.filter.op.is_empty": "为空字符串", "data_grid.filter.op.is_not_empty": "不为空字符串", "data_grid.filter.op.is_not_null": "不是 NULL", "data_grid.filter.op.is_null": "为 NULL", "data_grid.filter.op.not_between": "不介于", "data_grid.filter.op.not_contains": "不包含", "data_grid.filter.op.not_ends_with": "结尾不是", "data_grid.filter.op.not_in_list": "不在列表中", "data_grid.filter.op.not_starts_with": "开头不是", "data_grid.filter.op.starts_with": "开头为", "data_grid.filter.quick_where_placeholder": "输入 WHERE 后面的条件,例如 status = 1 AND name LIKE 'A%'", "data_grid.filter.search_field_placeholder": "搜索字段名", "data_grid.filter.select_sort_field_placeholder": "选择排序字段", "data_grid.filter.sort_asc": "升序", "data_grid.filter.sort_desc": "降序", "data_grid.filter.sort_label": "排序", "data_grid.filter.start_value_placeholder": "起始值", "data_grid.filter.suggestion.column": "字段", "data_grid.filter.suggestion.keyword": "关键字", "data_grid.filter.suggestion.operator": "操作符", "data_grid.filter.then_label": "然后", "data_grid.json_editor.apply_changes": "应用修改", "data_grid.json_editor.description": "按当前结果顺序编辑。JSON 模式不支持新增或删除记录,需要此操作请使用表格模式。", "data_grid.json_editor.format": "格式化 JSON", "data_grid.json_editor.invalid_format": "JSON 格式无效:{{error}}", "data_grid.json_editor.title": "编辑 JSON 结果集", "data_grid.message.auto_commit_failed": "自动提交失败:{{detail}}", "data_grid.message.auto_commit_success": "自动提交成功", "data_grid.message.cell_edit_mode_entered": "已启用单元格编辑模式,可拖动选择多个单元格。", "data_grid.message.cell_edit_mode_exited": "已退出单元格编辑模式。", "data_grid.message.change_set_build_failed": "无法构建变更集", "data_grid.message.change_set_build_failed_detail": "无法构建变更集:{{detail}}", "data_grid.message.column_order_reset": "已恢复默认列顺序", "data_grid.message.column_quick_find_not_found": "未找到字段列:{{query}}", "data_grid.message.column_quick_find_not_rendered": "字段列“{{column}}”当前未渲染,无法定位", "data_grid.message.column_visibility_reset": "已恢复全部列", "data_grid.message.commit_failed": "提交失败:{{detail}}", "data_grid.message.copied_columns": "已复制 {{count}} 列,可粘贴到目标行。", "data_grid.message.copied_rows": "已复制 {{count}} 行,可作为新行粘贴。", "data_grid.message.copied_to_clipboard": "已复制到剪贴板", "data_grid.message.copy_columns_first": "请先复制列值", "data_grid.message.copy_columns_same_row_only": "复制列值时只能选择同一行的单元格", "data_grid.message.copy_rows_first": "请先复制行", "data_grid.message.copy_sql_not_supported": "此数据源不支持复制 SQL,请改用 JSON/CSV/Markdown 复制。", "data_grid.message.current_field_not_editable": "当前字段不可编辑", "data_grid.message.current_record_not_editable": "当前记录不可编辑", "data_grid.message.current_row_no_copyable_content": "当前行没有可复制内容", "data_grid.message.ddl_copied": "DDL 已复制到剪贴板", "data_grid.message.ddl_copy_failed": "复制 DDL 失败", "data_grid.message.ddl_load_failed": "加载 DDL 失败", "data_grid.message.ddl_missing_context": "当前表缺少连接或表名,无法查看 DDL", "data_grid.message.drag_select_cells_to_copy": "请先拖动选择要复制的单元格", "data_grid.message.export_failed": "导出失败:{{detail}}", "data_grid.message.export_success": "导出完成", "data_grid.message.export_with_uncommitted_changes": "存在未提交修改,将按可见表格数据导出。如需完整长字段数据,请先提交。", "data_grid.message.exporting": "正在导出...", "data_grid.message.exporting_all": "正在导出全部数据...", "data_grid.message.exporting_rows": "正在导出 {{count}} 行...", "data_grid.message.filled_cells": "已填充 {{count}} 个单元格", "data_grid.message.filled_rows": "已填充 {{count}} 行", "data_grid.message.filtered_export_not_supported": "此数据源不支持导出筛选结果", "data_grid.message.filtered_export_uses_committed_data": "存在未提交修改。筛选结果导出将使用已提交的数据库数据。", "data_grid.message.import_done": "导入完成", "data_grid.message.json_applied": "JSON 修改已应用到当前结果集,可继续提交事务。", "data_grid.message.json_invalid": "JSON 无效:{{detail}}", "data_grid.message.json_parse_failed": "JSON 解析失败:{{detail}}", "data_grid.message.json_record_count_mismatch": "记录数量不一致:当前 {{current}} 行,JSON 有 {{json}} 行。此模式下不要新增或删除记录。", "data_grid.message.json_record_missing_row_key": "第 {{index}} 条记录缺少行标识,无法应用", "data_grid.message.json_record_not_object": "第 {{index}} 条记录不是对象,无法应用", "data_grid.message.json_view_must_be_array": "JSON 视图必须是数组,且每一项对应一条记录", "data_grid.message.keep_one_visible_column": "至少保留一个可见字段", "data_grid.message.locate_record_to_edit": "请先定位要编辑的记录", "data_grid.message.locator_column_value_empty": "定位列 {{column}} 的值为空,无法安全提交修改。", "data_grid.message.no_changes_to_commit": "没有需要提交的修改", "data_grid.message.no_copyable_cells": "未识别到可复制的单元格", "data_grid.message.no_copyable_columns": "未识别到可复制的列", "data_grid.message.no_copyable_rows": "未识别到可复制的行", "data_grid.message.no_data_changes": "数据没有变化", "data_grid.message.no_ddl_to_copy": "没有可复制的 DDL", "data_grid.message.no_field_name": "未识别到字段名称", "data_grid.message.no_filter_applied": "当前未应用筛选条件", "data_grid.message.no_other_rows_to_fill": "没有其他选中行可填充", "data_grid.message.no_pasteable_editable_fields": "没有可粘贴的可编辑字段", "data_grid.message.no_pasteable_rows": "没有可粘贴的行", "data_grid.message.no_rows_selected": "当前未选中任何行", "data_grid.message.no_safe_locator": "当前结果没有可用的安全行定位方式,无法提交修改。", "data_grid.message.pasted_columns_to_rows": "已粘贴到 {{rows}} 行,共 {{cells}} 个单元格", "data_grid.message.pasted_rows_as_new": "已将 {{count}} 行作为新行粘贴,提交前请先检查。", "data_grid.message.preview_sql_failed": "生成预览 SQL 失败", "data_grid.message.preview_sql_failed_detail": "生成预览 SQL 失败:{{detail}}", "data_grid.message.result_set_no_copyable_content": "当前结果集没有可复制内容", "data_grid.message.rollback_failed": "回滚失败:{{detail}}", "data_grid.message.saved": "已保存", "data_grid.message.select_cells_to_fill": "请先选择要填充的单元格", "data_grid.message.select_file_failed": "选择文件失败:{{detail}}", "data_grid.message.select_rows_to_copy": "请先选择要复制的行", "data_grid.message.select_rows_to_fill": "请先选择要填充的行", "data_grid.message.select_same_row_cells_to_copy": "请先选择同一行中的单元格进行复制", "data_grid.message.select_target_rows": "请先选择目标行", "data_grid.message.selected_cells_no_update": "选中的单元格无需更新", "data_grid.message.selection_no_copyable_content": "当前选区没有可复制内容", "data_grid.message.target_row_not_found": "未找到目标行,请刷新后重试。", "data_grid.message.target_rows_cannot_only_source": "目标行不能只有源行,请选择其他行。", "data_grid.message.target_rows_no_update": "目标行无需更新", "data_grid.message.transaction_committed": "事务已提交", "data_grid.message.transaction_rolled_back": "事务已回滚", "data_grid.message.undo_added_row_hint": "新增行请使用删除选中或整表回滚撤销", "data_grid.message.undo_cell_original_missing": "未找到该单元格的原始数据,无法撤销", "data_grid.message.undo_cell_success": "已撤销单元格修改", "data_grid.metadata_view.column_name": "名称", "data_grid.metadata_view.column_type": "类型", "data_grid.metadata_view.comment": "注释", "data_grid.metadata_view.default_value": "默认值", "data_grid.metadata_view.er_collapse_fields": "收起字段摘要", "data_grid.metadata_view.er_current_badge": "当前表", "data_grid.metadata_view.er_empty": "当前表未发现外键关系", "data_grid.metadata_view.er_expand_fields": "展开全部字段", "data_grid.metadata_view.er_expand_hidden_columns": "展开剩余 {{count}} 个字段", "data_grid.metadata_view.er_expand_relations": "展开下一层关系", "data_grid.metadata_view.er_field_badge": "字段", "data_grid.metadata_view.er_hidden_columns": "还有 {{count}} 个字段", "data_grid.metadata_view.er_open_table": "打开表", "data_grid.metadata_view.er_partial_warning": "部分关系未能完整加载,图中结果可能不完整", "data_grid.metadata_view.er_reference_badge": "引用", "data_grid.metadata_view.er_referenced_by_badge": "被引用", "data_grid.metadata_view.er_related_table_count": "{{count}} 张关联表", "data_grid.metadata_view.er_relation_count": "{{count}} 条关系", "data_grid.metadata_view.er_relation_depth": "{{count}} 层关系", "data_grid.metadata_view.er_reset_relations": "重置为一层", "data_grid.metadata_view.er_table_badge": "表", "data_grid.metadata_view.field_count": "{{count}} 个字段", "data_grid.metadata_view.fields_badge": "字段", "data_grid.modal.export_options.all_data": "导出全部数据", "data_grid.modal.export_options.current_page": "导出当前页({{count}} 行)", "data_grid.modal.export_options.filtered_results": "筛选结果", "data_grid.modal.export_options.no_rows_selected": "未选择行,请选择导出范围:", "data_grid.modal.export_options.title": "导出选项", "data_grid.modal.export_options.whole_table": "整张表", "data_grid.page_find.next": "下一个", "data_grid.page_find.placeholder": "当前页查找...", "data_grid.page_find.previous": "上一个", "data_grid.page_find.summary": "{{occurrences}} 处匹配 / {{cells}} 个单元格", "data_grid.page_find.tooltip": "仅在当前页已加载行中查找,不会更改 WHERE 条件。", "data_grid.pagination.jump_action": "跳", "data_grid.pagination.jump_aria": "跳转页码", "data_grid.pagination.jump_label": "跳页", "data_grid.pagination.page_size_aria": "每页行数", "data_grid.pagination.page_size_option": "{{count}} 行 / 页", "data_grid.pagination.page.current": "第 {{current}} 页", "data_grid.pagination.page.known": "第 {{current}} / {{totalPages}} 页", "data_grid.pagination.result_set": "结果集", "data_grid.pagination.summary.approximate": "当前 {{current}} 条 / 约 {{total}} 条", "data_grid.pagination.summary.cancelled": "当前 {{current}} 条 / 计数已停止", "data_grid.pagination.summary.counting": "当前 {{current}} 条 / 正在统计总数...", "data_grid.pagination.summary.counting_exact": "当前 {{current}} 条 / 正在统计精确总数...", "data_grid.pagination.summary.empty": "当前 0 条 / 共 0 条", "data_grid.pagination.summary.known": "当前 {{current}} 条 / 共 {{total}} 条", "data_grid.pagination.summary.not_counted": "当前 {{current}} 条 / 未统计总数", "data_grid.preview_panel.no_cell_description": "点击表格中的单元格以预览完整数据", "data_grid.preview_panel.no_cell_title": "点击单元格查看数据", "data_grid.preview_sql.copied": "已复制", "data_grid.preview_sql.no_changes": "无变更", "data_grid.preview_sql.summary": "共 {{deletes}} 条 DELETE,{{updates}} 条 UPDATE,{{inserts}} 条 INSERT", "data_grid.preview_sql.title": "变更预览", "data_grid.record_view.edit_current": "编辑当前记录", "data_grid.record_view.edit_json": "编辑 JSON", "data_grid.record_view.empty": "当前结果集无数据", "data_grid.record_view.json_record_count": "当前结果集 {{count}} 条记录", "data_grid.record_view.next": "下一条", "data_grid.record_view.previous": "上一条", "data_grid.record_view.record_position": "记录 {{current}} / {{total}}", "data_grid.row_editor.popup_edit": "弹窗编辑", "data_grid.row_editor.title": "编辑行", "data_grid.secondary.column_display": "字段显示", "data_grid.secondary.data_preview": "数据预览", "data_grid.secondary.er_diagram": "ER 图", "data_grid.secondary.jump_column": "跳列", "data_grid.secondary.live": "实时", "data_grid.secondary.object_design": "对象设计", "data_grid.secondary.pending_changes": "未提交 {{count}}", "data_grid.secondary.row_count": "{{count}} 行", "data_grid.secondary.view_ddl": "查看 DDL", "data_grid.table_fallback.query_result": "查询结果", "data_grid.toolbar.add_row": "新增行", "data_grid.toolbar.ai_insight": "AI 数据洞察", "data_grid.toolbar.ai_insight_short": "AI 洞察", "data_grid.toolbar.ai_insight_tooltip": "让 AI 分析当前查询页数据", "data_grid.toolbar.batch_fill": "批量填充({{count}})", "data_grid.toolbar.cancel_count": "取消计数", "data_grid.toolbar.cancel_count_tooltip": "取消本次精确总数统计,不影响当前浏览。", "data_grid.toolbar.cell_editor": "单元格编辑", "data_grid.toolbar.commit": "提交事务({{count}})", "data_grid.toolbar.commit_delay.seconds": "{{seconds}} 秒", "data_grid.toolbar.commit_label": "提交事务", "data_grid.toolbar.commit_mode.auto": "自动提交", "data_grid.toolbar.commit_mode.auto_countdown": "{{seconds}}s 后提交", "data_grid.toolbar.commit_mode.manual": "手动提交", "data_grid.toolbar.commit_mode.tooltip": "控制表数据编辑后的提交方式。手动提交更安全;自动提交会在最后一次修改后按所选时间提交。", "data_grid.toolbar.copied_columns_count": "已复制 {{count}} 列", "data_grid.toolbar.copy": "复制", "data_grid.toolbar.copy_row": "复制行", "data_grid.toolbar.copy_selection": "复制选区({{count}})", "data_grid.toolbar.copy_selection_columns": "复制选区列值({{count}})", "data_grid.toolbar.count_total": "统计总数", "data_grid.toolbar.count_total_tooltip": "按当前筛选条件统计精确总数", "data_grid.toolbar.delete_selected": "删除选中", "data_grid.toolbar.export": "导出", "data_grid.toolbar.filter": "筛选", "data_grid.toolbar.import": "导入", "data_grid.toolbar.paste_row": "粘贴行", "data_grid.toolbar.paste_row_count": "粘贴行({{count}})", "data_grid.toolbar.paste_to_selected_rows": "粘贴到选中行({{count}})", "data_grid.toolbar.preview_sql": "预览 SQL", "data_grid.toolbar.preview_sql_generate": "生成预览 SQL", "data_grid.toolbar.refresh": "刷新", "data_grid.toolbar.rollback": "回滚", "data_grid.toolbar.selected_count": "已选 {{count}}", "data_grid.toolbar.undo_delete": "撤销删除", "data_grid.view.edit_current_record": "编辑当前记录", "data_grid.view.edit_json": "编辑 JSON", "data_grid.view.empty_result": "当前结果集没有数据", "data_grid.view.next_record": "下一条记录", "data_grid.view.previous_record": "上一条记录", "data_grid.view.record_count": "当前结果集:{{count}} 条记录", "data_grid.view.record_position": "记录 {{current}} / {{total}}", "data_grid.view.result_view": "结果视图", "data_grid.view.table": "表格", "data_grid.view.text": "文本", "data_sync.action.analyze_diff": "对比差异", "data_sync.action.cancel": "取消", "data_sync.action.close": "关闭", "data_sync.action.continue_sync": "继续同步", "data_sync.action.next": "下一步", "data_sync.action.previous": "上一步", "data_sync.action.start_sync": "开始同步", "data_sync.action.view": "查看", "data_sync.alert.auto_create_planner_scope": "自动建表当前仅支持 MySQL 到 Kingbase。会迁移字段、主键、普通索引、唯一索引和联合索引,并明确跳过全文、空间、前缀和函数类索引。", "data_sync.alert.auto_create_scope": "自动建表当前仅支持 MySQL 到 Kingbase。会迁移字段、主键、普通索引、唯一索引和联合索引,并明确跳过全文、空间、前缀和函数类索引。", "data_sync.alert.existing_target_only": "数据同步默认使用已有目标表执行。需要跨数据源建表并导入时,请切换到跨库迁移。", "data_sync.alert.full_overwrite": "全量覆盖会清空目标表数据,请谨慎使用。", "data_sync.alert.migration_mode": "当前为跨库迁移。适合将表迁移到另一数据源,并自动建表和导入数据。", "data_sync.alert.query_mode": "SQL 结果集同步当前支持源端自定义 SQL 到单个已存在目标表。查询结果必须包含目标表主键列。", "data_sync.alert.sync_mode": "当前为数据同步。适合目标表已存在时做增量同步或覆盖导入。", "data_sync.backend.error.analyze_prepare_secrets_failed": "准备数据同步分析密钥失败: {{detail}}", "data_sync.backend.error.apply_changes_failed": "应用变更失败: {{detail}}", "data_sync.backend.error.apply_changes_unsupported": "目标驱动不支持应用数据变更", "data_sync.backend.error.apply_source_query_changes_failed": "应用 SQL 结果集变更失败: {{detail}}", "data_sync.backend.error.auto_add_column_failed": "自动补齐字段失败: 字段={{column}}, 错误={{detail}}", "data_sync.backend.error.build_migration_plan_failed": "生成迁移计划失败: 表={{table}}, 错误={{detail}}", "data_sync.backend.error.clear_target_failed": "清空目标表失败: {{detail}}", "data_sync.backend.error.connect_source_failed": "源数据库连接失败:{{detail}}", "data_sync.backend.error.connect_source_mongodb_failed": "源 MongoDB 连接失败: {{detail}}", "data_sync.backend.error.connect_source_redis_failed": "源 Redis 连接失败: {{detail}}", "data_sync.backend.error.connect_target_failed": "目标数据库连接失败:{{detail}}", "data_sync.backend.error.connect_target_mongodb_failed": "目标 MongoDB 连接失败: {{detail}}", "data_sync.backend.error.connect_target_redis_failed": "目标 Redis 连接失败: {{detail}}", "data_sync.backend.error.create_indexes_failed": "创建索引失败: 表={{table}}, 错误={{detail}}", "data_sync.backend.error.create_table_sql_empty": "表 {{table}} 自动建表失败: 建表 SQL 为空", "data_sync.backend.error.create_target_table_failed": "创建目标表失败: 表={{table}}, 错误={{detail}}", "data_sync.backend.error.diff_composite_pk_unsupported": "复合主键 ({{columns}}) 不支持差异对比同步", "data_sync.backend.error.diff_pk_required": "没有主键。差异对比同步不受支持;请使用 insert-only 或 full-overwrite 模式直接导入。", "data_sync.backend.error.exec_ddl_statement_failed": "{{stage}}失败: SQL={{sql}}, 错误={{detail}}", "data_sync.backend.error.execute_source_query_failed": "执行源查询失败: {{detail}}", "data_sync.backend.error.init_source_driver_failed": "初始化源数据库驱动失败:{{detail}}", "data_sync.backend.error.init_source_mongodb_driver_failed": "初始化源 MongoDB 驱动失败: {{detail}}", "data_sync.backend.error.init_target_driver_failed": "初始化目标数据库驱动失败:{{detail}}", "data_sync.backend.error.init_target_mongodb_driver_failed": "初始化目标 MongoDB 驱动失败: {{detail}}", "data_sync.backend.error.inspect_mongodb_collection_failed": "检查目标 MongoDB collection 失败: {{detail}}", "data_sync.backend.error.list_mongodb_collections_failed": "列出 MongoDB collection 失败: {{detail}}", "data_sync.backend.error.load_target_columns_failed": "加载目标表字段失败: {{detail}}", "data_sync.backend.error.mongo_document_write_unsupported": "目标驱动不支持写入 MongoDB document", "data_sync.backend.error.mongo_read_source_samples_failed": "读取源 MongoDB collection 样本失败: {{detail}}", "data_sync.backend.error.mongo_redis_analyze_collection_failed": "分析 MongoDB collection {{collection}} 失败: {{detail}}", "data_sync.backend.error.mongo_redis_document_key_missing": "MongoDB document 缺少 key 字段", "data_sync.backend.error.mongo_redis_document_type_missing": "MongoDB document 缺少字段 {{field}},Redis Key={{key}}", "data_sync.backend.error.mongo_redis_empty_target_value": "Redis Key {{key}} 的目标值为空", "data_sync.backend.error.mongo_redis_unsupported_type": "Redis Key {{key}} 不支持类型 {{type}}", "data_sync.backend.error.mongo_redis_value_invalid": "Redis Key {{key}} 的 {{type}} payload 无效;实际类型={{actual}}", "data_sync.backend.error.mongo_redis_write_key_failed": "写入 Redis Key {{key}} 失败: {{detail}}", "data_sync.backend.error.pre_create_table_sql_failed": "预执行建表 SQL 失败: 表={{table}}, 错误={{detail}}", "data_sync.backend.error.prepare_secrets_failed": "准备数据同步密钥失败: {{detail}}", "data_sync.backend.error.preview_composite_pk_unsupported": "复合主键({{columns}})暂不支持数据预览", "data_sync.backend.error.preview_failed": "数据同步预览失败: {{detail}}", "data_sync.backend.error.preview_pk_required": "无主键,不支持数据预览", "data_sync.backend.error.preview_prepare_secrets_failed": "准备数据同步预览密钥失败: {{detail}}", "data_sync.backend.error.read_redis_key_failed": "读取 Redis Key {{key}} 失败: {{detail}}", "data_sync.backend.error.read_source_table_failed": "读取源表失败: {{detail}}", "data_sync.backend.error.read_source_table_failed_with_table": "读取源表 {{table}} 失败: {{detail}}", "data_sync.backend.error.read_target_redis_key_failed": "读取目标 Redis Key {{key}} 失败: {{detail}}", "data_sync.backend.error.read_target_table_failed": "读取目标表失败: {{detail}}", "data_sync.backend.error.read_target_table_failed_with_table": "读取目标表 {{table}} 失败: {{detail}}", "data_sync.backend.error.redis_mongo_analyze_changes_failed": "分析 Redis 迁移变更失败: {{detail}}", "data_sync.backend.error.redis_mongo_apply_changes_failed": "应用 Redis 迁移变更失败: {{detail}}", "data_sync.backend.error.redis_mongo_build_changes_failed": "构建 Redis 迁移变更失败: {{detail}}", "data_sync.backend.error.redis_mongo_create_collection_failed": "创建目标 MongoDB collection 失败: {{detail}}", "data_sync.backend.error.refresh_columns_after_create_failed": "创建目标表后加载字段失败: 表={{table}}, 错误={{detail}}", "data_sync.backend.error.restore_source_secret_failed": "恢复源数据库连接密文失败:{{detail}}", "data_sync.backend.error.restore_target_secret_failed": "恢复目标数据库连接密文失败:{{detail}}", "data_sync.backend.error.scan_redis_keys_failed": "扫描 Redis Key 失败: {{detail}}", "data_sync.backend.error.source_collection_no_migratable_fields": "源 MongoDB collection 未推断出可迁移字段: {{collection}}", "data_sync.backend.error.source_table_columns_failed": "获取源表字段失败: {{detail}}", "data_sync.backend.error.source_table_missing_or_no_columns": "源表不存在或无字段定义: {{table}}", "data_sync.backend.error.sync_table_schema_failed": "同步表结构失败: 表={{table}}, 错误={{detail}}", "data_sync.backend.error.target_collection_check_failed": "检查目标 MongoDB collection 失败: {{detail}}", "data_sync.backend.error.target_composite_pk_query_diff_unsupported": "目标表为复合主键 ({{columns}}),不支持 SQL 结果集差异分析", "data_sync.backend.error.target_pk_required_for_query_diff": "目标表无主键,不支持基于 SQL 结果集的差异分析", "data_sync.backend.error.target_table_columns_failed": "获取目标表字段失败: {{detail}}", "data_sync.backend.error.target_table_columns_missing": "目标表 {{table}} 不存在或无法读取字段定义", "data_sync.backend.label.content_data_only": "仅同步数据", "data_sync.backend.label.content_schema_and_data": "同步结构+数据", "data_sync.backend.label.content_schema_only": "仅同步结构", "data_sync.backend.label.mode_full_overwrite": "全量覆盖", "data_sync.backend.label.mode_insert_only": "仅插入", "data_sync.backend.label.mode_insert_update": "增量同步", "data_sync.backend.label.target_strategy_auto_create_if_missing": "目标缺失时自动创建", "data_sync.backend.label.target_strategy_existing_only": "仅使用已有目标", "data_sync.backend.label.target_strategy_smart": "智能处理目标", "data_sync.backend.log.auto_add_columns_completed": "自动补齐字段完成: 成功={{succeeded}}, 失败={{failed}}", "data_sync.backend.log.change_counts": "需插入 {{inserts}} 行,需更新 {{updates}} 行,需删除 {{deletes}} 行", "data_sync.backend.log.connecting_source": "正在连接源数据库: {{host}}...", "data_sync.backend.log.connecting_target": "正在连接目标数据库: {{host}}...", "data_sync.backend.log.data_already_consistent": "数据一致,无需变更。", "data_sync.backend.log.ddl_statement_succeeded": "表 {{table}} {{stage}}成功: {{sql}}", "data_sync.backend.log.fatal_error": "致命错误: {{message}}", "data_sync.backend.log.missing_columns_auto_add_disabled": "目标表缺少 {{count}} 个字段,但未开启自动补齐,将自动忽略: {{columns}}", "data_sync.backend.log.missing_columns_auto_add_started": "目标表缺少 {{count}} 个字段,开始自动补齐: {{columns}}", "data_sync.backend.log.mongo_redis_keyspace_options": "MongoDB 到 Redis keyspace 迁移;模式={{mode}};目标={{target}}", "data_sync.backend.log.mongo_redis_migrating_key": "正在写入 Redis Key {{key}}", "data_sync.backend.log.mongo_redis_syncing_collection": "正在同步 MongoDB collection {{collection}}", "data_sync.backend.log.redis_mongo_keyspace_options": "Redis 到 MongoDB keyspace 迁移;模式={{mode}};目标策略={{strategy}}", "data_sync.backend.log.redis_mongo_migrating_key": "正在迁移 Redis Key {{key}}", "data_sync.backend.log.source_query_no_changes": "SQL 结果集与目标表一致,无需应用变更", "data_sync.backend.log.source_query_sync_completed": "SQL 结果集同步完成: 插入={{inserts}}, 更新={{updates}}, 删除={{deletes}}", "data_sync.backend.log.source_query_sync_source": "同步来源: SQL 结果集 -> 目标表 {{table}};模式: {{mode}}", "data_sync.backend.log.sync_options": "同步内容: {{content}};模式: {{mode}};自动补字段: {{autoAddColumns}};目标表策略: {{targetTableStrategy}};创建索引: {{createIndexes}}", "data_sync.backend.log.syncing_table": "正在同步表: {{table}}", "data_sync.backend.log.table_no_operations_skipped": "表 {{table}} 未勾选任何操作,已跳过", "data_sync.backend.log.target_table_created": "目标表创建成功: {{table}}", "data_sync.backend.log.target_table_no_operations": "目标表 {{table}} 未勾选任何操作,已跳过", "data_sync.backend.log.unknown_sync_content_data_only": "未知同步内容 {{content}},已自动使用仅同步数据", "data_sync.backend.result.analyzed_tables": "已完成 {{count}} 张表的差异分析", "data_sync.backend.result.analyzed_target_tables": "已完成 {{count}} 个目标表的差异分析", "data_sync.backend.result.mongo_redis_analyzed_collections": "已完成 {{count}} 个 MongoDB collection 的 Redis 迁移分析", "data_sync.backend.result.mongo_redis_completed": "MongoDB keyspace 迁移完成;已处理 {{collections}} 个 collection 和 {{keys}} 个 Redis Key", "data_sync.backend.result.mongo_redis_no_collections": "没有可迁移的 MongoDB collection", "data_sync.backend.result.mongo_redis_no_documents": "没有可迁移的 MongoDB Redis document", "data_sync.backend.result.preview_ready": "数据同步预览已就绪", "data_sync.backend.result.redis_mongo_analyzed_keys": "已完成 {{count}} 个 Redis Key 的 MongoDB 迁移分析", "data_sync.backend.result.redis_mongo_completed": "Redis keyspace 迁移完成;已处理 {{count}} 个 Redis Key", "data_sync.backend.result.redis_mongo_no_keys": "没有可迁移的 Redis Key", "data_sync.backend.result.sync_completed": "同步完成: 表={{tables}}, 插入={{rowsInserted}}, 更新={{rowsUpdated}}, 删除={{rowsDeleted}}", "data_sync.backend.summary.diff_completed": "差异分析完成", "data_sync.backend.summary.mongo_redis_diff": "执行时将插入 {{inserts}} 个 Redis Key,并更新 {{updates}} 个 Redis Key", "data_sync.backend.summary.mongo_redis_empty_collection": "collection 中没有可迁移的 document", "data_sync.backend.summary.mongo_redis_planned_action": "迁移到 {{target}}", "data_sync.backend.summary.mongo_redis_same_keys": "匹配的 Redis Key 已是最新", "data_sync.backend.summary.mongo_redis_warning_document_format": "仅支持包含 key/type/ttl/value 字段的 document", "data_sync.backend.summary.mongo_redis_warning_full_overwrite_downgrade": "MongoDB 到 Redis 会将全量覆盖降级为增量同步,以避免删除 DB 中其他 Redis Key", "data_sync.backend.summary.mongo_redis_warning_keyspace": "MongoDB collection 中的 document 将按 keyspace 语义写入 Redis", "data_sync.backend.summary.redis_mongo_insert_document": "执行时将插入新的 MongoDB document", "data_sync.backend.summary.redis_mongo_planned_action": "迁移到集合 {{collection}}", "data_sync.backend.summary.redis_mongo_same_document": "匹配的 MongoDB document 已是最新", "data_sync.backend.summary.redis_mongo_update_document": "执行时将更新现有 MongoDB document", "data_sync.backend.summary.redis_mongo_warning_document_write": "Redis Key 将写入为 MongoDB document", "data_sync.backend.summary.source_query_diff_completed": "SQL 结果集差异分析完成", "data_sync.backend.unsupported.clickhouse_objects_to_pg_like": "ClickHouse ORDER BY/PARTITION/TTL/Projection/materialized-view 语义尚未自动迁移到 PG-like 目标", "data_sync.backend.validation.query_mode_data_only": "SQL 结果集同步当前仅支持只同步数据", "data_sync.backend.validation.single_target_table_required": "SQL 结果集同步要求且仅允许选择一个目标表", "data_sync.backend.validation.source_query_required": "源查询 SQL 不能为空", "data_sync.backend.validation.target_table_required": "目标表不能为空", "data_sync.backend.warning.apply_changes_unsupported": "目标驱动不支持应用数据变更。", "data_sync.backend.warning.auto_add_column_sql_generation_failed": "字段 {{column}} 自动补齐 SQL 生成失败: {{detail}}", "data_sync.backend.warning.auto_create_pair_unsupported": "自动建表目前仅支持 MySQL -> Kingbase;当前组合={{sourceType}} -> {{targetType}}", "data_sync.backend.warning.auto_increment_not_preserved_existing_target_add_column": "字段 {{column}} 为自增列,补齐到已有目标表时不会自动补建 {{feature}}", "data_sync.backend.warning.clickhouse_complex_type_degraded_mysql": "字段 {{column}} 类型 {{type}} 已降级为 json", "data_sync.backend.warning.clickhouse_complex_type_degraded_pg_like": "字段 {{column}} 类型 {{type}} 已降级为 jsonb", "data_sync.backend.warning.clickhouse_enum_degraded_pg_like": "字段 {{column}} enum 类型 {{type}} 已降级为 varchar(255)", "data_sync.backend.warning.clickhouse_order_by_tuple_used": "未检测到源主键,ClickHouse 将使用 ORDER BY tuple();查询性能可能受影响", "data_sync.backend.warning.clickhouse_relational_constraints_not_preserved": "ClickHouse 不保留关系型外键或唯一约束语义;仅迁移字段和数据", "data_sync.backend.warning.clickhouse_source_metadata_limited": "ClickHouse 源端索引和约束元数据有限;反向迁移以字段和数据为主", "data_sync.backend.warning.clickhouse_source_primary_key_missing_mysql": "ClickHouse 源端未返回主键信息,目标 MySQL 表不会自动创建主键", "data_sync.backend.warning.clickhouse_source_primary_key_missing_pg_like": "ClickHouse 源端未返回主键信息,目标 PG-like 表不会自动创建主键", "data_sync.backend.warning.clickhouse_target_insert_only_recommended": "ClickHouse 目标建议使用 insert-only 或 full-overwrite;update/delete 语义与传统关系型数据库不同", "data_sync.backend.warning.clickhouse_type_degraded_mysql_text": "字段 {{column}} 类型 {{type}} 没有专用 MySQL 映射,已降级为 text", "data_sync.backend.warning.clickhouse_type_degraded_pg_like_text": "字段 {{column}} 类型 {{type}} 没有专用 PG-like 映射,已降级为 text", "data_sync.backend.warning.clickhouse_uint64_mapped_numeric_pg_like": "字段 {{column}} 类型 {{type}} 已映射为 numeric(20,0),以避免 unsigned 溢出", "data_sync.backend.warning.column_default_expression_skipped": "字段 {{column}} 的默认值 {{default}} 包含表达式,当前未自动迁移", "data_sync.backend.warning.column_empty_string_default_not_preserved": "字段 {{column}} 的空字符串默认值未保留", "data_sync.backend.warning.column_type_degraded": "字段 {{column}} 类型 {{sourceType}} 已降级为 {{targetType}}", "data_sync.backend.warning.column_type_degraded_clickhouse_string": "字段 {{column}} 类型 {{type}} 已降级为 String", "data_sync.backend.warning.column_type_empty_clickhouse_string": "字段 {{column}} 类型为空,已降级为 String", "data_sync.backend.warning.column_type_empty_degraded": "字段 {{column}} 类型为空,已降级为 {{targetType}}", "data_sync.backend.warning.column_type_mapped": "字段 {{column}} 类型 {{sourceType}} 已映射为 {{targetType}}", "data_sync.backend.warning.column_type_no_mapping_degraded": "字段 {{column}} 类型 {{sourceType}} 没有专用映射,已降级为 {{targetType}}", "data_sync.backend.warning.column_user_defined_degraded": "字段 {{column}} 为用户自定义类型,已降级为 {{targetType}}", "data_sync.backend.warning.column_user_defined_degraded_clickhouse_string": "字段 {{column}} 为用户自定义类型,已降级为 String", "data_sync.backend.warning.composite_pk_skipped": "表 {{table}} 为复合主键 ({{columns}}),暂不支持差异同步,已跳过", "data_sync.backend.warning.full_overwrite_clearing_target": "全量覆盖模式:即将清空目标表 {{table}}", "data_sync.backend.warning.index_columns_missing": "索引 {{name}} 缺少列定义,已跳过", "data_sync.backend.warning.index_prefix_length_unsupported": "索引 {{name}} 使用前缀长度,当前暂不支持迁移", "data_sync.backend.warning.index_type_unsupported": "索引 {{name}} 类型={{type}},当前暂不支持自动迁移", "data_sync.backend.warning.load_target_columns_skip_check_failed": "获取目标表字段失败,已跳过字段一致性检查: {{detail}}", "data_sync.backend.warning.mongo_redis_document_format": "MongoDB 到 Redis 目前仅支持包含 key/type/ttl/value 字段的 document", "data_sync.backend.warning.mongo_redis_full_overwrite_downgrade": "MongoDB 到 Redis 迁移会将全量覆盖降级为增量同步", "data_sync.backend.warning.mysql_auto_increment_not_preserved_clickhouse": "字段 {{column}} 的 AUTO_INCREMENT 不会作为 ClickHouse 自增语义保留", "data_sync.backend.warning.mysql_binary_degraded_clickhouse_string": "字段 {{column}} 的二进制类型已降级为 String", "data_sync.backend.warning.mysql_time_degraded_clickhouse_string": "字段 {{column}} 类型 {{type}} 已降级为 String", "data_sync.backend.warning.mysql_type_degraded_clickhouse_string": "字段 {{column}} 类型 {{type}} 没有专用 ClickHouse 映射,已降级为 String", "data_sync.backend.warning.mysql_unsigned_bigint_auto_increment_degraded": "字段 {{column}} 为 unsigned bigint auto_increment,已降级为 {{targetType}},且不保留自增语义", "data_sync.backend.warning.pg_like_identity_not_preserved_clickhouse": "字段 {{column}} 的 identity/自增语义不会保留到 ClickHouse", "data_sync.backend.warning.redis_mongo_full_overwrite_downgrade": "Redis 到 MongoDB 迁移会将全量覆盖降级为增量同步", "data_sync.backend.warning.refresh_columns_after_add_failed": "补齐字段后刷新目标字段失败: 表={{table}}, 错误={{detail}}", "data_sync.backend.warning.source_indexes_read_failed": "读取源表索引失败,已跳过索引迁移: {{detail}}", "data_sync.backend.warning.table_pk_required_skipped": "表 {{table}} 未找到主键,当前模式需要差异对比,已跳过", "data_sync.backend.warning.target_existing_only_required": "当前策略要求目标表已存在,执行时不会自动创建。", "data_sync.backend.warning.target_exists_data_only_no_indexes": "目标表已存在。仅执行数据导入;不会自动重建现有索引和约束。", "data_sync.backend.warning.target_missing_columns": "目标表缺少 {{count}} 个字段: {{columns}}", "data_sync.backend.warning.target_missing_skip_auto_create_disabled": "表 {{table}} 的目标表不存在,当前策略不允许自动建表,已跳过", "data_sync.backend.warning.target_table_existing_only_required": "当前策略要求目标表已存在,执行时不会自动创建。", "data_sync.backend.warning.unknown_content_default_data": "未知同步内容 {{content}},已自动使用仅同步数据", "data_sync.backend.warning.unknown_mode_default_insert_update": "未知同步模式 {{mode}},已自动使用增量同步", "data_sync.badge.migration_mode": "迁移模式", "data_sync.badge.source_pending": "待选源连接", "data_sync.badge.source_selected": "已选源连接", "data_sync.badge.sync_mode": "同步模式", "data_sync.badge.table_count": "{{count}} 张表", "data_sync.compare_entry.action.return_to_compare": "返回比对", "data_sync.compare_entry.alert.data": "当前为“数据比对”入口:固定按主键分析行级差异,不执行写入。", "data_sync.compare_entry.alert.schema": "当前为“表结构比对”入口:固定只分析结构差异和生成可审阅 SQL,不执行变更。", "data_sync.compare_entry.option.auto_add_columns": "生成目标表缺失字段的兼容变更 SQL(仅预览,不执行)", "data_sync.compare_entry.option.source_dataset.query": "按 SQL 结果集比对", "data_sync.compare_entry.option.source_dataset.table": "按表比对", "data_sync.compare_entry.preview.selection_hint": "行选择只影响 SQL 预览范围,不会执行写入。", "data_sync.compare_entry.preview.sql.data_help": "SQL 预览会按当前勾选的插入、更新、删除与行选择范围生成,仅用于审核差异。", "data_sync.compare_entry.preview.sql.schema_help": "SQL 预览展示结构差异建议语句,仅用于审核差异。", "data_sync.compare_entry.result.completed": "比对完成", "data_sync.compare_entry.result.failed": "比对失败", "data_sync.compare_entry.result.running": "正在比对", "data_sync.compare_entry.result.running_description": "当前阶段:{{stage}}{{table}}", "data_sync.compare_entry.result.stage_fallback": "执行中", "data_sync.compare_entry.result.success_summary": "成功比对 {{tables}} 张表。", "data_sync.compare_entry.result.table_suffix": ",表:{{table}}", "data_sync.compare_entry.title.analysis_log": "分析日志", "data_sync.compare_entry.workflow_help": "当前入口只做差异分析和预览,不会执行同步、建表、补字段或删除数据。", "data_sync.confirm.full_overwrite.content": "全量覆盖会先清空目标表数据再插入,请确认目标库已完成备份。", "data_sync.confirm.full_overwrite.ok": "继续执行", "data_sync.confirm.full_overwrite.title": "确认全量覆盖", "data_sync.diff.column.delete": "删除", "data_sync.diff.column.insert": "插入", "data_sync.diff.column.plan": "计划", "data_sync.diff.column.preview": "预览", "data_sync.diff.column.risk": "风险", "data_sync.diff.column.same": "相同", "data_sync.diff.column.table": "表名", "data_sync.diff.column.target_table": "目标表", "data_sync.diff.column.update": "更新", "data_sync.diff.more_warnings": "还有 {{count}} 项未展开", "data_sync.diff.target_exists": "已存在", "data_sync.diff.target_missing": "不存在", "data_sync.diff.title": "对比结果", "data_sync.diff.warning_title": "预检发现风险或降级项,请在执行前确认。", "data_sync.entry_mode.compare.action.start": "开始比对", "data_sync.entry_mode.compare.option_title": "比对选项", "data_sync.entry_mode.compare.result_title": "比对结果", "data_sync.entry_mode.data_compare.badge": "数据比对", "data_sync.entry_mode.data_compare.description": "按主键对比源表与目标表的数据差异,查看新增、更新和删除明细。", "data_sync.entry_mode.data_compare.hero_description": "适合核对两端数据一致性,只做差异分析与行级预览,不执行写入。", "data_sync.entry_mode.data_compare.table_select_label": "请选择需要比对数据的表:", "data_sync.entry_mode.data_compare.title": "数据比对", "data_sync.entry_mode.schema_compare.badge": "结构比对", "data_sync.entry_mode.schema_compare.description": "按源表与目标表生成结构差异、兼容风险和可审阅 SQL。", "data_sync.entry_mode.schema_compare.hero_description": "适合发布前核对两端表结构差异,只做分析与预览,不执行结构变更。", "data_sync.entry_mode.schema_compare.table_select_label": "请选择需要比对结构的表:", "data_sync.entry_mode.schema_compare.title": "表结构比对", "data_sync.entry_mode.sync.hero_description": "适合目标表已存在的场景,先做差异分析,再按勾选执行插入、更新或删除。", "data_sync.field.connection": "连接", "data_sync.field.database": "数据库", "data_sync.field.migration_content": "迁移内容", "data_sync.field.migration_mode": "迁移模式", "data_sync.field.mongo_collection_name": "Mongo 集合名(可选)", "data_sync.field.schema": "模式", "data_sync.field.source_dataset_mode": "源数据方式", "data_sync.field.source_query_sql": "源查询 SQL", "data_sync.field.sync_content": "同步内容", "data_sync.field.sync_mode": "同步模式", "data_sync.field.target_table": "目标表", "data_sync.field.target_table_requirement": "目标表要求", "data_sync.field.target_table_strategy": "目标表处理策略", "data_sync.field.workflow_type": "功能类型", "data_sync.help.mongo_collection_mongo_to_redis": "MongoDB 到 Redis 场景通常直接选择源集合。仅在需要显式回退集合名时填写。", "data_sync.help.mongo_collection_redis_to_mongo": "留空时使用默认集合名。填写后,本次 Redis 键空间会写入该 Mongo 集合。", "data_sync.help.select_tables": "请选择需要同步的表:", "data_sync.help.source_query_mode": "请输入源查询 SQL,并选择一个目标表。差异分析会直接基于该结果集与目标表对比。", "data_sync.help.workflow_type": "先选择本次是同步已有目标表,还是执行跨库迁移。页面会按功能类型调整更安全的默认策略。", "data_sync.hero.migration_description": "将源表迁移到另一数据库,按策略自动建表、导入数据并补建兼容索引。", "data_sync.hero.migration_title": "跨数据源迁移", "data_sync.hero.sync_description": "基于已有目标表先做差异对比,再按勾选执行插入、更新或删除。", "data_sync.hero.sync_title": "数据同步", "data_sync.log.level.error": "错误", "data_sync.log.level.info": "信息", "data_sync.log.level.warn": "警告", "data_sync.log.title": "执行日志", "data_sync.message.analysis_complete": "差异分析完成", "data_sync.message.analysis_failed": "差异分析失败", "data_sync.message.analysis_failed_detail": "差异分析失败:{{detail}}", "data_sync.message.analyze_before_sync": "请先对比差异,再开始同步", "data_sync.message.close_blocked_running": "同步执行中,暂不支持关闭窗口。", "data_sync.message.fetch_source_databases_failed": "获取源数据库失败", "data_sync.message.fetch_source_databases_failed_detail": "获取源数据库失败:{{detail}}", "data_sync.message.fetch_tables_failed": "获取表列表失败", "data_sync.message.fetch_tables_failed_detail": "获取表列表失败:{{detail}}", "data_sync.message.fetch_target_databases_failed": "获取目标数据库失败", "data_sync.message.fetch_target_databases_failed_detail": "获取目标数据库失败:{{detail}}", "data_sync.message.fetch_target_schemas_failed_detail": "获取目标模式失败: {{detail}}", "data_sync.message.more_items_collapsed": "还有 {{count}} 项未展开", "data_sync.message.precheck_warnings": "预检发现风险或降级项,请在执行前确认。", "data_sync.message.preview_load_failed": "加载差异预览失败", "data_sync.message.preview_load_failed_detail": "加载差异预览失败:{{detail}}", "data_sync.message.select_connections_first": "请先选择连接", "data_sync.message.select_databases_first": "请先选择数据库", "data_sync.message.select_source_database": "请选择源数据库", "data_sync.message.select_target_database": "请选择目标数据库", "data_sync.message.select_target_schema": "请选择目标模式", "data_sync.message.sync_execution_failed": "同步执行失败", "data_sync.message.sync_execution_failed_detail": "同步执行失败:{{detail}}", "data_sync.modal.full_overwrite_content": "全量覆盖会先清空目标表数据再插入,请确认目标库已完成备份。", "data_sync.modal.full_overwrite_ok": "继续执行", "data_sync.modal.full_overwrite_title": "确认全量覆盖", "data_sync.option.auto_add_columns": "自动补齐目标表缺失字段(当前支持 MySQL 目标及 MySQL 到 Kingbase;SQL 结果集模式暂不支持)", "data_sync.option.content.both": "同步结构和数据", "data_sync.option.content.data": "仅同步数据", "data_sync.option.content.schema": "仅同步结构", "data_sync.option.create_indexes": "自动迁移兼容的普通索引和唯一索引(仅自动建表模式生效)", "data_sync.option.show_same_tables": "显示相同表", "data_sync.option.source_dataset.query": "按 SQL 结果集同步", "data_sync.option.source_dataset.table": "按表同步", "data_sync.option.sync_mode.full_overwrite": "全量覆盖(清空目标表后插入)", "data_sync.option.sync_mode.insert_only": "仅插入(不对比目标;无主键表将跳过)", "data_sync.option.sync_mode.insert_update": "增量同步(对比差异后选择插入、更新和删除)", "data_sync.option.target_strategy.auto_create_if_missing": "目标表不存在时自动建表", "data_sync.option.target_strategy.existing_only": "仅使用已有目标表", "data_sync.option.target_strategy.smart": "智能模式(存在则直接导入,不存在则自动建表)", "data_sync.option.workflow.migration": "跨库迁移(自动建表后导入)", "data_sync.option.workflow.sync": "数据同步(基于已有目标表做差异同步)", "data_sync.placeholder.mongo_collection_name": "请输入 Mongo 集合名", "data_sync.placeholder.source_query_sql": "例如:SELECT id, name, email FROM users WHERE status = 'active'", "data_sync.placeholder.target_table": "请选择一个目标表", "data_sync.plan.add_missing_columns_before_import": "补齐 {{count}} 个缺失字段后导入", "data_sync.plan.auto_create_unsupported": "当前库对暂不支持自动建表", "data_sync.plan.backend_summary": "后端计划摘要", "data_sync.plan.data_import_without_diff": "当前模式不进行差异对比,直接导入源表数据。", "data_sync.plan.migrate_to_collection": "迁移到集合 {{collection}}", "data_sync.plan.migrate_to_target": "迁移到 {{target}}", "data_sync.plan.migration_kernel_planning": "当前库对已进入迁移规划阶段,等待结构推断和目标方言生成支持", "data_sync.plan.missing_columns_auto_add": "补齐 {{count}} 个缺失字段后导入", "data_sync.plan.missing_columns_auto_add_disabled": "目标表缺失 {{count}} 个字段,未开启自动补齐", "data_sync.plan.missing_columns_auto_add_unsupported": "目标表缺失 {{count}} 个字段,当前库对暂不支持自动补齐", "data_sync.plan.missing_columns_no_executable_sql": "目标表缺失 {{count}} 个字段,但未生成可执行补齐 SQL", "data_sync.plan.mongo_relational_entry_warning": "{{objectKind}} 从 {{sourceType}} 到 {{targetType}} 的迁移目前仅提供结构推断规划提示", "data_sync.plan.mongo_relational_kernel_planned": "当前库对已进入迁移规划阶段,等待结构推断和目标方言生成支持", "data_sync.plan.mongo_target_collection_missing_auto_create": "目标 MongoDB collection {{collection}} 不存在,将自动创建后导入。", "data_sync.plan.mongo_target_collection_missing_manual_create": "目标 MongoDB collection {{collection}} 不存在,需先手工创建。", "data_sync.plan.redis_key_to_mongodb_document": "按 Redis Key 生成 MongoDB 文档导入", "data_sync.plan.redis_mongo_keyspace_import": "按 Redis Key 生成 MongoDB 文档导入", "data_sync.plan.redis_mongo_keyspace_warning_no_schema": "Redis 到 MongoDB 按 keyspace 语义迁移,不执行表结构检查", "data_sync.plan.redis_mongo_keyspace_warning_semantics": "Redis TTL 和 collection 排序语义会作为 document 字段保留,但可能无法完全等价", "data_sync.plan.redis_mongo_target_collection_auto_create": "目标集合不存在,将自动创建集合后导入", "data_sync.plan.redis_mongo_target_collection_existing_only_warning": "当前策略要求目标 MongoDB collection 已存在,执行时不会自动创建", "data_sync.plan.redis_mongo_target_collection_missing_manual": "目标集合不存在,需先手工创建", "data_sync.plan.redis_mongo_unsupported_objects": "Redis Consumer Group / PubSub / Lua scripts / transaction state 尚未迁移", "data_sync.plan.schema_aligned": "表结构已一致", "data_sync.plan.schema_changes_detected": "检测到 {{count}} 条结构变更", "data_sync.plan.schema_only": "仅同步结构", "data_sync.plan.schema_only_no_data_diff": "仅同步结构,未执行数据差异分析", "data_sync.plan.schema_preview": "结构预览", "data_sync.plan.source_query_preview": "SQL 结果集同步预览", "data_sync.plan.target_collection_missing_auto_create": "目标集合不存在,将自动创建集合后导入", "data_sync.plan.target_collection_missing_manual_create": "目标集合不存在,需先手工创建", "data_sync.plan.target_missing_auto_create": "目标表不存在,将自动建表后导入", "data_sync.plan.target_missing_auto_create_all": "目标表不存在,执行时将自动建表并导入全部源数据", "data_sync.plan.target_missing_cannot_sync": "目标表不存在,无法执行同步", "data_sync.plan.target_missing_manual_create": "目标表不存在,需先手工创建", "data_sync.plan.target_missing_preview_unavailable": "目标表不存在,差异预览不可用。", "data_sync.plan.tdengine_target_missing_timestamp_auto_create_unavailable": "源表未识别到可映射为 TDengine 首列的时间列,无法自动建表", "data_sync.plan.tdengine_time_column_missing": "源表未识别到可映射为 TDengine 首列的时间列,无法自动建表", "data_sync.plan.use_existing_target": "使用已有目标表导入", "data_sync.plan.use_existing_target_collection": "使用已有目标集合导入", "data_sync.plan.use_existing_target_table": "使用已有目标表导入", "data_sync.preview.action.copy_sql": "复制 SQL", "data_sync.preview.column.changed_columns": "变更字段", "data_sync.preview.column.data": "数据", "data_sync.preview.column.detail": "详情", "data_sync.preview.column.primary_key": "主键", "data_sync.preview.data_summary": "插入 {{inserts}},更新 {{updates}},删除 {{deletes}}(预览每种类型最多展示 200 行)", "data_sync.preview.delete_warning": "删除默认不勾选。请确认业务影响后再启用删除。", "data_sync.preview.loading": "正在加载差异预览...", "data_sync.preview.message.copy_failed": "复制失败,请手动复制。", "data_sync.preview.message.sql_copied": "SQL 已复制", "data_sync.preview.schema_plan_help": "以下为本次结构同步计划执行的语句。", "data_sync.preview.schema_statement_count": "检测到 {{count}} 条结构变更语句", "data_sync.preview.schema_warning_title": "结构预览包含风险或降级项", "data_sync.preview.selection_hint.delete": "未勾选任何行时会同步全部删除差异。如不想执行删除,请在对比结果中取消删除。", "data_sync.preview.selection_hint.insert": "未勾选任何行时会同步全部插入差异。如不想执行插入,请在对比结果中取消插入。", "data_sync.preview.selection_hint.update": "未勾选任何行时会同步全部更新差异。如不想执行更新,请在对比结果中取消更新。", "data_sync.preview.side.source": "源", "data_sync.preview.side.target": "目标", "data_sync.preview.sql.data_help": "SQL 预览会按当前勾选的插入、更新、删除和行选择范围生成,用于审核确认。", "data_sync.preview.sql.no_data_sql": "-- 当前选择范围没有可预览 SQL", "data_sync.preview.sql.no_schema_changes": "-- 当前表结构无可执行变更", "data_sync.preview.sql.schema_help": "SQL 预览展示将执行的结构变更语句,用于审核确认。", "data_sync.preview.sql.schema_statement_count": "共 {{count}} 条结构变更语句", "data_sync.preview.sql.statement_count": "共 {{count}} 条语句(预览数据每种类型最多展示 200 行)", "data_sync.preview.tab.delete": "删除({{count}})", "data_sync.preview.tab.insert": "插入({{count}})", "data_sync.preview.tab.schema": "结构({{count}})", "data_sync.preview.tab.sql": "SQL({{count}})", "data_sync.preview.tab.update": "更新({{count}})", "data_sync.preview.title": "差异预览:{{table}}", "data_sync.preview.update_detail_title": "更新详情:{{table}} / {{pk}}", "data_sync.progress.stage.analysis_completed": "差异分析完成", "data_sync.progress.stage.analysis_started": "差异分析开始", "data_sync.progress.stage.analyzing_diff": "差异分析", "data_sync.progress.stage.analyzing_table": "分析表({{current}}/{{total}})", "data_sync.progress.stage.applying_changes": "应用变更", "data_sync.progress.stage.backend_update": "正在处理后端进度", "data_sync.progress.stage.checking_columns": "检查字段一致性", "data_sync.progress.stage.clearing_target": "清空目标表", "data_sync.progress.stage.collection_completed": "集合处理完成", "data_sync.progress.stage.comparing_diff": "对比差异", "data_sync.progress.stage.completed": "同步完成", "data_sync.progress.stage.connecting_source": "连接源数据库", "data_sync.progress.stage.connecting_target": "连接目标数据库", "data_sync.progress.stage.creating_indexes": "创建索引", "data_sync.progress.stage.creating_target_collection": "创建目标集合", "data_sync.progress.stage.creating_target_table": "创建目标表", "data_sync.progress.stage.executing": "执行中", "data_sync.progress.stage.failed": "同步失败", "data_sync.progress.stage.migrating_collection": "迁移集合({{current}}/{{total}})", "data_sync.progress.stage.migrating_key": "迁移 Key({{current}}/{{total}})", "data_sync.progress.stage.mongo_redis_collection_completed": "集合处理完成", "data_sync.progress.stage.mongo_redis_migrating_collection": "迁移集合({{current}}/{{total}})", "data_sync.progress.stage.mongo_redis_started": "MongoDB 到 Redis keyspace 迁移开始", "data_sync.progress.stage.mongodb_keyspace_started": "开始 MongoDB 键空间迁移", "data_sync.progress.stage.preparing": "准备开始", "data_sync.progress.stage.reading_source": "读取源表数据", "data_sync.progress.stage.reading_target": "读取目标表数据", "data_sync.progress.stage.redis_keyspace_started": "开始 Redis 键空间迁移", "data_sync.progress.stage.redis_mongo_creating_collection": "创建目标集合", "data_sync.progress.stage.redis_mongo_migrating_key": "迁移 Key({{current}}/{{total}})", "data_sync.progress.stage.redis_mongo_started": "Redis 到 MongoDB keyspace 迁移开始", "data_sync.progress.stage.sync_started": "开始同步", "data_sync.progress.stage.syncing_schema": "同步表结构", "data_sync.progress.stage.syncing_table": "同步表({{current}}/{{total}})", "data_sync.progress.stage.table_completed": "表处理完成", "data_sync.query_mode.help": "请输入源查询 SQL,并选择一个目标表。差异分析会直接基于该结果集与目标表对比。", "data_sync.result.completed": "同步完成", "data_sync.result.failed": "同步失败", "data_sync.result.failed_description": "同步未完成。", "data_sync.result.failed_detail": "同步失败:{{detail}}", "data_sync.result.running": "正在同步", "data_sync.result.running_description": "当前阶段:{{stage}}{{table}}", "data_sync.result.success_summary": "成功同步 {{tables}} 张表。插入:{{inserted}},更新:{{updated}}", "data_sync.result.table_suffix": ",表:{{table}}", "data_sync.schema_inference.mongo_relational_issue": "{{sourceType}} -> {{targetType}} 的结构推断仍在开发中;目前仅提供迁移规划提示。", "data_sync.schema_inference.mongo_relational_resolution": "后续迭代将从采样数据生成字段定义和类型降级策略。", "data_sync.schema_sync.error.create_statement_empty": "建表语句为空", "data_sync.schema_sync.error.create_target_table_failed": "创建目标表 {{table}} 失败: {{detail}}", "data_sync.schema_sync.error.get_columns_after_create_failed": "创建目标表 {{table}} 后获取字段失败: {{detail}}", "data_sync.schema_sync.error.get_create_statement_failed": "获取源表 {{table}} 建表语句失败: {{detail}}", "data_sync.schema_sync.error.get_source_columns_failed": "获取源表 {{table}} 字段失败: {{detail}}", "data_sync.schema_sync.error.target_missing_auto_create_unsupported": "目标表 {{table}} 不存在,源类型 {{sourceType}} 暂不支持自动建表: {{detail}}", "data_sync.schema_sync.log.add_column_failed": "补齐字段失败: 表={{table}}, 字段={{column}}, 错误={{detail}}", "data_sync.schema_sync.log.column_added": "已补齐字段: 表={{table}}, 字段={{column}}, 类型={{type}}", "data_sync.schema_sync.log.completed": "表结构同步完成: {{table}},新增字段 {{count}} 个", "data_sync.schema_sync.log.schema_aligned": "表结构一致: {{table}}", "data_sync.schema_sync.log.target_created": "目标表创建成功: {{table}}", "data_sync.schema_sync.log.target_missing_create": "目标表 {{table}} 不存在,开始尝试创建表结构", "data_sync.schema_sync.warning.target_unsupported": "目标数据库类型={{targetType}} 暂不支持结构同步,已跳过表 {{table}}", "data_sync.section.migration_options": "迁移选项", "data_sync.section.source_database": "源数据库", "data_sync.section.sync_options": "同步选项", "data_sync.section.target_database": "目标数据库", "data_sync.step.configure": "配置源与目标", "data_sync.step.result": "执行结果", "data_sync.step.select_tables": "选择表", "data_sync.table_picker.help": "请选择需要同步的表:", "data_sync.table_picker.item_unit": "项", "data_sync.table_picker.items_unit": "项", "data_sync.table_picker.not_found": "暂无数据", "data_sync.table_picker.search_placeholder": "搜索表...", "data_sync.table_picker.selected_title": "已选表", "data_sync.table_picker.show_same": "显示相同表", "data_sync.table_picker.source_title": "源表", "data_sync.table.delete": "删除", "data_sync.table.insert": "插入", "data_sync.table.plan": "计划", "data_sync.table.preview": "预览", "data_sync.table.risk": "风险", "data_sync.table.same": "相同", "data_sync.table.table_name": "表名", "data_sync.table.target_exists": "已存在", "data_sync.table.target_missing": "不存在", "data_sync.table.target_table": "目标表", "data_sync.table.update": "更新", "data_sync.title.compare_result": "对比结果", "data_sync.title.execution_log": "执行日志", "data_sync.title.migration": "跨数据源迁移", "data_sync.title.migration_description": "按源库到目标库完成建表、导入与风险预检。", "data_sync.title.migration_options": "迁移选项", "data_sync.title.migration_workbench": "跨库迁移工作台", "data_sync.title.source_database": "源数据库", "data_sync.title.sync": "数据同步", "data_sync.title.sync_description": "按已有目标表完成差异对比、同步执行与结果确认。", "data_sync.title.sync_options": "同步选项", "data_sync.title.sync_workbench": "数据同步工作台", "data_sync.title.target_database": "目标数据库", "data_sync.transfer.empty": "暂无数据", "data_sync.transfer.item_unit": "项", "data_sync.transfer.items_unit": "项", "data_sync.transfer.search_placeholder": "搜索表...", "data_sync.transfer.selected_tables": "已选表", "data_sync.transfer.source_tables": "??", "data_sync.unsupported.clickhouse_to_tdengine_schema_semantics": "源 ORDER BY/PARTITION/TTL/Projection/materialized-view 语义尚未自动迁移到 TDengine", "data_sync.unsupported.mongo_index_columns_missing": "索引 {{name}} 缺少列定义,已跳过", "data_sync.unsupported.mongo_index_create_command_failed": "索引 {{name}} 生成 MongoDB createIndexes 命令失败: {{detail}}", "data_sync.unsupported.mongo_index_prefix_length": "索引 {{name}} 使用前缀长度,MongoDB 目标暂不支持等价迁移", "data_sync.unsupported.mysql_to_tdengine_schema_semantics": "源索引、外键、触发器、唯一约束和自增语义尚未自动迁移到 TDengine", "data_sync.unsupported.pglike_to_tdengine_schema_semantics": "源索引、外键、触发器、唯一约束、identity 和 sequence 语义尚未自动迁移到 TDengine", "data_sync.unsupported.tdengine_source_relational_semantics": "TDengine 索引、外键、触发器、supertable、TTL 和其他时序语义尚未自动迁移", "data_sync.unsupported.tdengine_target_missing_timestamp": "TDengine regular table 的第一列必须是 TIMESTAMP;当前源表没有可直接映射的时间字段", "data_sync.unsupported.tdengine_to_tdengine_regular_table_semantics": "源 supertable、TAGS、TTL、retention policy 和索引语义尚未自动迁移到 TDengine regular table", "data_sync.validation.query_mode_data_only": "SQL 结果集同步仅支持只同步数据", "data_sync.validation.single_target_table_required": "SQL 结果集同步需要选择一个目标表", "data_sync.validation.source_query_required": "请输入源查询 SQL", "data_sync.validation.table_required": "请选择至少一张表", "data_sync.warning.mongo_field_mixed_bson_types": "字段 {{field}} 存在多种 BSON 值类型,已降级为兼容类型", "data_sync.warning.mongo_index_type_normalized": "索引 {{name}} 类型={{type}} 将按普通索引迁移到 MongoDB", "data_sync.warning.mongo_source_collection_index_read_failed": "读取源 MongoDB collection 索引失败,已跳过索引迁移: {{detail}}", "data_sync.warning.mongo_source_empty_sample_id_only": "源 MongoDB collection 暂无样本数据,仅按 `_id` 生成基础主键列", "data_sync.warning.mongo_source_primary_key_missing": "MongoDB 源 collection 未推断出稳定主键,目标表不会自动创建主键", "data_sync.warning.mongo_source_table_index_read_failed": "读取源表索引失败,已跳过索引迁移: {{detail}}", "data_sync.warning.mongo_target_collection_existing_only_required": "当前策略要求目标 MongoDB collection 已存在,执行时不会自动创建", "data_sync.warning.mongo_target_collection_weak_schema": "MongoDB 是弱结构目标,字段结构以写入 document 为准,不执行目标列检查", "data_sync.warning.target_exists_strategy_no_auto_create": "当前策略要求目标表已存在,执行时不会自动创建。", "data_sync.warning.target_missing_columns": "目标表缺少 {{count}} 个字段: {{columns}}", "data_sync.warning.tdengine_source_existing_target_no_auto_add_columns": "TDengine 源目前不会自动为已有目标表补齐字段;请先确认目标结构", "data_sync.warning.tdengine_source_mysql_type_fallback": "字段 {{column}} 类型 {{type}} 没有专用 MySQL 映射,已降级为 {{targetType}}", "data_sync.warning.tdengine_source_pg_unsigned_overflow_safeguard": "字段 {{column}} 类型 {{type}} 已映射为 {{targetType}},以避免 unsigned 溢出", "data_sync.warning.tdengine_source_pglike_type_fallback": "字段 {{column}} 类型 {{type}} 没有专用 PG-like 映射,已降级为 {{targetType}}", "data_sync.warning.tdengine_source_semantics_degraded": "TDengine 到关系型目标目前仅迁移字段和数据;supertable、TAG 关联、retention policy 和其他时序语义可能降级或丢失", "data_sync.warning.tdengine_source_tag_column_degraded": "字段 {{column}} 是 TDengine TAG 列,将在关系型目标中降级为普通字段", "data_sync.warning.tdengine_source_tag_column_mapped": "字段 {{column}} 是 TDengine TAG 列,已映射为普通字段", "data_sync.warning.tdengine_target_auto_create_basic_table_only": "TDengine 目标 auto-create 目前仅创建基础表;索引、外键、触发器、supertable/TAGS/TTL 不会自动迁移", "data_sync.warning.tdengine_target_auto_increment_not_migrated": "字段 {{column}} 的自增语义不会迁移到 TDengine", "data_sync.warning.tdengine_target_binary_type_fallback": "字段 {{column}} 类型 {{type}} 已按字符串语义降级为 {{targetType}}", "data_sync.warning.tdengine_target_column_promoted_to_timestamp": "字段 {{column}} 类型 {{type}} 已提升为第一个 TDengine TIMESTAMP 字段", "data_sync.warning.tdengine_target_empty_type_fallback": "字段 {{column}} 类型为空,已降级为 {{targetType}}", "data_sync.warning.tdengine_target_enum_type_fallback": "字段 {{column}} enum 类型 {{type}} 已降级为 {{targetType}}", "data_sync.warning.tdengine_target_existing_table_no_auto_add_columns": "TDengine 目标目前不会自动为已有目标表补齐字段;请先确认目标结构", "data_sync.warning.tdengine_target_fixedstring_length_parse_failed": "字段 {{column}} 的 FixedString 长度无法解析,已降级为 {{targetType}}", "data_sync.warning.tdengine_target_identity_not_migrated": "字段 {{column}} 的自增/identity 语义不会迁移到 TDengine", "data_sync.warning.tdengine_target_insert_only": "TDengine 目标目前仅支持 INSERT 写入;update/delete 差异将在执行时被拒绝", "data_sync.warning.tdengine_target_json_regular_table_fallback": "字段 {{column}} 类型 {{type}} 在 TDengine regular table 中不保留 TAG 语义,已降级为 {{targetType}}", "data_sync.warning.tdengine_target_json_tag_only_fallback": "字段 {{column}} 类型 {{type}} 已降级为 {{targetType}},因为 TDengine JSON 仅适用于 TAG", "data_sync.warning.tdengine_target_missing_time_column": "源表没有可映射的时间字段,因此无法自动建表。继续前请手工准备 TDengine 目标表和时间字段。", "data_sync.warning.tdengine_target_pk_constraint_not_migrated": "字段 {{column}} 的主键语义不会作为关系约束迁移到 TDengine", "data_sync.warning.tdengine_target_same_db_type_no_mapping_fallback": "字段 {{column}} 类型 {{type}} 没有专用 TDengine 同库映射,已降级为 {{targetType}}", "data_sync.warning.tdengine_target_tag_column_degraded_to_regular": "字段 {{column}} 是 TDengine TAG 列,迁移到 regular table 后将降级为普通字段", "data_sync.warning.tdengine_target_time_only_type_fallback": "字段 {{column}} 类型 {{type}} 没有稳定的 TDengine time-only 映射,已降级为 {{targetType}}", "data_sync.warning.tdengine_target_timestamp_column_reordered": "TDengine 基础表要求时间字段在首列;字段 {{column}} 已移动到第一位", "data_sync.warning.tdengine_target_type_fallback": "字段 {{column}} 类型 {{type}} 已降级为 {{targetType}}", "data_sync.warning.tdengine_target_type_no_mapping_fallback": "字段 {{column}} 类型 {{type}} 没有专用 TDengine 映射,已降级为 {{targetType}}", "data_sync.warning.tdengine_target_user_defined_type_fallback": "字段 {{column}} 为用户自定义类型,已降级为 {{targetType}}", "data_viewer.message.connection_not_found": "未找到连接", "data_viewer.message.duckdb_query_timeout": "DuckDB 查询超过连接超时时间,已中断。请调大连接超时时间,或减少排序/筛选范围后重试。", "data_viewer.message.fetch_data_failed_detail": "获取数据失败:{{detail}}", "data_viewer.message.mongo_filter_invalid_detail": "Mongo 筛选条件无效:{{detail}}", "data_viewer.message.mongo_filter_parse_failed": "解析失败", "data_viewer.message.query_failed": "查询失败", "data_viewer.message.query_timeout": "查询超过连接超时时间,已中断。请调大连接超时时间,或减少查询范围后重试。", "data_viewer.message.result_not_ready": "当前结果集尚未就绪,请先执行一次加载", "data_viewer.message.sort_buffer_retry_succeeded": "已自动提升排序缓冲并重试成功。", "data_viewer.message.total_count_failed": "统计总数失败", "data_viewer.message.total_count_failed_detail": "统计总数失败:{{detail}}", "data_viewer.message.total_count_parse_failed": "统计结果解析失败", "data_viewer.read_only.reason.duckdb_rowid_missing": "未检测到主键、可用唯一索引或 DuckDB rowid,无法安全提交修改。", "data_viewer.read_only.reason.index_metadata_unavailable": "无法加载唯一索引元数据,无法安全提交修改。", "data_viewer.read_only.reason.metadata_unavailable": "无法加载主键/唯一索引元数据,无法安全提交修改。", "data_viewer.read_only.reason.mongo_id_missing": "MongoDB 结果集中缺少 _id,无法安全提交修改。", "data_viewer.read_only.reason.no_safe_locator": "未检测到主键或可用唯一索引,无法安全提交修改。", "data_viewer.read_only.reason.oracle_rowid_missing": "未检测到主键或可用唯一索引,且结果中缺少 Oracle ROWID,无法安全提交修改。", "data_viewer.read_only.reason.primary_key_column_missing": "结果集中缺少主键列 {{columns}},无法安全提交修改。", "data_viewer.read_only.warning.collection": "集合 {{target}} 保持只读:{{reason}}", "data_viewer.read_only.warning.table": "表 {{target}} 保持只读:{{reason}}", "data_viewer.sql_log.phase.complex_type_fallback_retry": "复杂类型降级重试", "data_viewer.sql_log.phase.main_query": "主查询", "data_viewer.sql_log.phase.sort_buffer_retry": "重试({{size}} sort_buffer)", "database.label": "数据库", "database.unnamed": "未命名数据库", "db.backend.action.delete": "删除", "db.backend.action.update": "更新", "db.backend.error.batch_insert_exec_required": "批量插入执行函数不能为空", "db.backend.error.batch_insert_failed": "插入失败:{{detail}}", "db.backend.error.batch_insert_failed_with_sql": "插入失败:{{detail}};SQL={{sql}}", "db.backend.error.batch_insert_literal_required": "批量插入字面量函数不能为空", "db.backend.error.batch_insert_no_rows_affected": "插入未生效:未影响任何行", "db.backend.error.batch_insert_placeholder_required": "批量插入占位符函数不能为空", "db.backend.error.batch_insert_quote_column_required": "批量插入列名引用函数不能为空", "db.backend.error.clickhouse_address_required": "请填写 ClickHouse 主机地址或连接 URI", "db.backend.error.clickhouse_attempt_tls_config_failed": "第{{attempt}}次 TLS 配置失败(protocol={{protocol}}): {{detail}}", "db.backend.error.clickhouse_attempt_validation_failed": "第{{attempt}}次连接验证失败(protocol={{protocol}}): {{detail}}", "db.backend.error.clickhouse_delete_failed_with_sql": "ClickHouse 删除失败:{{detail}};SQL={{sql}}", "db.backend.error.clickhouse_driver_detail_missing": "未获取到驱动返回的错误详情", "db.backend.error.clickhouse_http_client_protocol_version_unsupported": "当前 ClickHouse HTTP 端口不支持 client_protocol_version(常见于 ClickHouse 22.8),将使用 HTTP 兼容模式重试;如仍失败请确认连接协议和端口", "db.backend.error.clickhouse_http_protocol_mismatch": "服务端响应不像 HTTP 响应,当前端口更像 Native 端口;请选择 Native 协议,或确认 ClickHouse HTTP 端口", "db.backend.error.clickhouse_native_protocol_mismatch": "服务端响应不像 Native 握手,当前端口更像 HTTP/HTTPS 端口;请选择 HTTP 协议,或确认 ClickHouse Native 端口", "db.backend.error.clickhouse_unknown_error": "未知错误", "db.backend.error.clickhouse_update_failed_with_sql": "ClickHouse 更新失败:{{detail}};SQL={{sql}}", "db.backend.error.clickhouse_validation_failed_auto": "ClickHouse 连接验证失败:自动协议探测未成功(Native 常见端口 9000/9440,HTTP 常见端口 {{httpPorts}};非标端口建议在连接协议中手动指定)。{{detail}}", "db.backend.error.clickhouse_validation_failed_manual": "ClickHouse 连接验证失败:已按用户选择使用 {{protocol}} 协议连接 {{host}}:{{port}}。{{detail}}", "db.backend.error.column_definitions_missing": "未获取到字段定义", "db.backend.error.connection_not_open": "连接未打开", "db.backend.error.connection_open_failed_prefix": "打开数据库连接失败:", "db.backend.error.connection_verify_failed_prefix": "连接建立后验证失败:", "db.backend.error.create_table_statement_not_found": "未找到 CREATE TABLE 语句", "db.backend.error.custom_driver_system_odbc_unsupported_prefix": "打开数据库连接失败:自定义连接不支持直接填写系统 ODBC/JDBC 驱动名 \"{{driver}}\"。请填写 GoNavi 已注册的 Go database/sql 驱动名。当前构建未注册通用 ODBC 驱动,因此暂不支持通过 \"{{driver}}\" 连接 InterSystems IRIS:", "db.backend.error.custom_driver_unregistered_prefix": "打开数据库连接失败:自定义连接驱动 \"{{driver}}\" 未在 GoNavi 中注册;请填写已注册的 Go database/sql 驱动名,不能填写系统 ODBC/JDBC 驱动名:", "db.backend.error.data_source_type_required": "请先选择数据源类型", "db.backend.error.database_create_sphinx_unsupported": "Sphinx 暂不支持创建数据库", "db.backend.error.database_create_user_schema_unsupported": "当前数据源({{dbType}})的「数据库」实际为用户/Schema,暂不支持通过此入口创建,请使用 SQL 编辑器执行 CREATE USER 语句", "db.backend.error.database_drop_unsupported": "当前数据源({{dbType}})暂不支持删除数据库", "db.backend.error.database_name_required": "数据库名称不能为空", "db.backend.error.database_rename_direct_unsupported": "MySQL/MariaDB/OceanBase/StarRocks/Sphinx 不支持直接重命名数据库,请新建库后迁移数据", "db.backend.error.database_rename_unsupported": "当前数据源({{dbType}})暂不支持重命名数据库", "db.backend.error.database_same_name": "新旧数据库名称不能相同", "db.backend.error.duckdb_build_unavailable": "当前构建未包含 DuckDB 驱动(platform={{platform}})。需要启用 CGO,并使用受支持平台(darwin/linux amd64|arm64、windows/amd64),或通过 -tags duckdb_use_lib / duckdb_use_static_lib 提供自定义库", "db.backend.error.duckdb_driver_unavailable": "DuckDB 驱动不可用:{{detail}}", "db.backend.error.duckdb_procedure_drop_unsupported": "DuckDB 暂不支持存储过程", "db.backend.error.http_tunnel_host_required": "HTTP 隧道主机不能为空", "db.backend.error.http_tunnel_port_invalid": "HTTP 隧道端口无效:{{port}}", "db.backend.error.http_tunnel_proxy_conflict": "HTTP 隧道与普通代理不能同时启用", "db.backend.error.managed_transaction_unsupported": "当前数据源({{dbType}})不支持 SQL 编辑器托管事务", "db.backend.error.mongo_member_discovery_unsupported": "当前 MongoDB 驱动不支持成员发现", "db.backend.error.mqtt_connect_timeout": "MQTT 连接超时", "db.backend.error.mqtt_publish_timeout": "MQTT 发布超时", "db.backend.error.mqtt_subscribe_timeout": "MQTT 订阅超时", "db.backend.error.multi_statement_execution_failed": "第 {{index}} 条语句执行失败: {{detail}}", "db.backend.error.multi_statement_previous_success": "(前 {{count}} 条已执行成功)", "db.backend.error.oceanbase_oracle_show_create_table_fallback_failed": "{{metadataDetail}};OceanBase Oracle SHOW CREATE TABLE 兜底失败:{{showDetail}}", "db.backend.error.old_table_name_required": "旧表名不能为空", "db.backend.error.old_view_name_required": "旧视图名不能为空", "db.backend.error.oracle_column_metadata_load_failed": "加载列元数据失败(表={{table}}):{{detail}};请检查 ALL_TAB_COLUMNS 查询权限与表是否存在", "db.backend.error.proxy_local_forward_addr_parse_failed": "解析代理本地转发地址失败:{{address}}", "db.backend.error.proxy_ssh_gateway_connect_failed": "代理连接 SSH 网关失败:{{detail}}", "db.backend.error.proxy_target_port_invalid": "目标端口无效:{{port}}", "db.backend.error.routine_drop_unsupported": "当前数据源({{dbType}})暂不支持删除函数/存储过程", "db.backend.error.routine_name_required": "函数/存储过程名称不能为空", "db.backend.error.row_action_not_effective_multiple_rows": "{{action}}未生效:影响了 {{count}} 行,期望只影响 1 行", "db.backend.error.row_action_not_effective_no_rows_matched": "{{action}}未生效:未匹配到任何行", "db.backend.error.row_action_not_effective_rows_affected_unknown": "{{action}}未生效:无法确认影响行数:{{detail}}", "db.backend.error.row_delete_failed": "删除失败:{{detail}}", "db.backend.error.row_update_failed": "更新失败:{{detail}}", "db.backend.error.row_update_key_conditions_required": "更新操作需要键条件", "db.backend.error.schema_create_unsupported": "当前数据源({{dbType}})暂不支持通过此入口新建模式", "db.backend.error.schema_drop_unsupported": "当前数据源({{dbType}})暂不支持通过此入口删除模式", "db.backend.error.schema_name_required": "模式名称不能为空", "db.backend.error.schema_rename_unsupported": "当前数据源({{dbType}})暂不支持通过此入口编辑模式", "db.backend.error.schema_same_name": "新旧模式名称不能相同", "db.backend.error.sqlite_file_path_required": "SQLite 需要本地数据库文件路径(例如 /path/to/demo.sqlite)", "db.backend.error.sqlite_host_port_not_file_path": "SQLite 需要本地数据库文件路径,当前输入看起来是主机地址:{{dsn}}", "db.backend.error.table_columns_empty_for_ddl": "字段定义为空,无法生成建表语句", "db.backend.error.table_columns_missing_for_ddl": "未获取到字段定义,无法生成建表语句", "db.backend.error.table_drop_unsupported": "当前数据源({{dbType}})暂不支持删除表", "db.backend.error.table_name_required": "表名不能为空", "db.backend.error.table_new_name_no_qualifier": "新表名不能包含 schema 或数据库前缀", "db.backend.error.table_rename_unsupported": "当前数据源({{dbType}})暂不支持重命名表", "db.backend.error.table_same_name": "新旧表名不能相同", "db.backend.error.target_database_required": "目标数据库不能为空", "db.backend.error.tdengine_apply_changes_insert_only": "TDengine 目标端当前仅支持 INSERT 写入,ApplyChanges 不支持 UPDATE/DELETE 差异", "db.backend.error.test_connection_close_failed": "连接成功,但释放测试连接失败:{{detail}}", "db.backend.error.transaction_already_finished": "事务已结束", "db.backend.error.transaction_commit_close_failed": "事务已提交,但关闭会话失败: {{detail}}", "db.backend.error.transaction_commit_failed": "事务提交失败: {{detail}}", "db.backend.error.transaction_id_required": "事务 ID 不能为空", "db.backend.error.transaction_not_found": "事务不存在或已结束", "db.backend.error.transaction_not_open": "事务未打开", "db.backend.error.transaction_query_unsupported": "当前事务会话不支持查询语句", "db.backend.error.transaction_rollback_close_failed": "事务已回滚,但关闭会话失败: {{detail}}", "db.backend.error.transaction_rollback_failed": "事务回滚失败: {{detail}}", "db.backend.error.unsupported_database_type": "不支持的数据库类型:{{dbType}}", "db.backend.error.view_drop_unsupported": "当前数据源({{dbType}})暂不支持删除视图", "db.backend.error.view_name_required": "视图名称不能为空", "db.backend.error.view_new_name_no_qualifier": "新视图名不能包含 schema 或数据库前缀", "db.backend.error.view_rename_unsupported": "当前数据源({{dbType}})暂不支持重命名视图", "db.backend.error.view_same_name": "新旧视图名称不能相同", "db.backend.message.connect_failure_cooldown": "连接最近失败,正在冷却中,请 {{remaining}} 后重试;上次错误:{{detail}}", "db.backend.message.connect_success": "连接成功", "db.backend.message.connect_timeout_detail": "数据库连接超时:{{dbType}} {{host}}:{{port}}/{{database}}:{{detail}}", "db.backend.message.database_created": "数据库创建成功", "db.backend.message.database_dropped": "数据库删除成功", "db.backend.message.database_renamed": "数据库重命名成功", "db.backend.message.function_dropped": "函数删除成功", "db.backend.message.mongo_members_discovered": "发现 {{count}} 个成员", "db.backend.message.mongo_primary_credentials_label": "主库凭据", "db.backend.message.mongo_replica_credentials_label": "从库凭据", "db.backend.message.multi_statement_sequential_fallback": "当前数据源({{dbType}})不支持原生多语句执行,已自动拆分为 {{count}} 条语句逐条执行。", "db.backend.message.procedure_dropped": "存储过程删除成功", "db.backend.message.release_success": "连接已释放", "db.backend.message.schema_created": "模式创建成功", "db.backend.message.schema_dropped": "模式删除成功", "db.backend.message.schema_renamed": "模式重命名成功", "db.backend.message.table_dropped": "表删除成功", "db.backend.message.table_renamed": "表重命名成功", "db.backend.message.transaction_committed": "事务已提交", "db.backend.message.transaction_rolled_back": "事务已回滚", "db.backend.message.view_dropped": "视图删除成功", "db.backend.message.view_renamed": "视图重命名成功", "definition_viewer.action.edit_object": "对象修改", "definition_viewer.edit.comment_compatibility": "请确认语法兼容当前数据库后执行", "definition_viewer.edit.comment_empty_definition": "当前对象定义为空,请补全 {{name}} 的 DDL 后执行", "definition_viewer.edit.comment_title": "修改{{object}}: {{name}}", "definition_viewer.edit.tab_title": "修改{{object}}: {{name}}", "definition_viewer.editor.event_definition_not_found": "未找到事件定义", "definition_viewer.editor.event_fragment_fallback.header": "当前数据源未返回完整 CREATE EVENT 语句,已返回事件定义片段", "definition_viewer.editor.metadata_fallback.header": "当前数据源未返回可执行定义文本,已返回元数据", "definition_viewer.editor.metadata_fallback.name_label": "名称", "definition_viewer.editor.metadata_fallback.type_label": "类型", "definition_viewer.editor.object_definition_not_found": "未找到{{object}}定义", "definition_viewer.editor.package_definition_not_found": "未找到存储包定义", "definition_viewer.editor.routine_definition_not_found": "未找到函数/存储过程定义", "definition_viewer.editor.sequence_definition_not_found": "未找到序列定义", "definition_viewer.editor.sphinx.compat_queries_hint": "已执行多套兼容查询,可能是版本能力限制或对象类型不支持。", "definition_viewer.editor.sphinx.empty_result": "当前 Sphinx 实例{{version}}未返回{{object}}定义。", "definition_viewer.editor.sphinx.failed_message_label": "返回失败信息", "definition_viewer.editor.sphinx.failed_message_unknown": "返回失败信息:未知错误", "definition_viewer.editor.sphinx.unsupported_query": "当前 Sphinx 实例{{version}}不支持{{object}}定义查询。", "definition_viewer.editor.sphinx.version_suffix": "(版本: {{version}})", "definition_viewer.editor.unsupported_event_definition": "暂不支持该数据库类型的事件定义查看", "definition_viewer.editor.unsupported_object_definition": "暂不支持该对象定义查看", "definition_viewer.editor.unsupported_package_definition": "暂不支持该数据库类型的存储包定义查看", "definition_viewer.editor.unsupported_routine_definition": "暂不支持该数据库类型的函数/存储过程定义查看", "definition_viewer.editor.unsupported_sequence_definition": "暂不支持该数据库类型的序列定义查看", "definition_viewer.editor.unsupported_sqlite_routine_definition": "SQLite 不支持函数/存储过程定义管理", "definition_viewer.editor.unsupported_view_definition": "暂不支持该数据库类型的视图定义查看", "definition_viewer.editor.view_definition_not_found": "未找到视图定义", "definition_viewer.error.connection_not_found": "未找到数据库连接", "definition_viewer.error.event_name_empty": "事件名称为空", "definition_viewer.error.load_failed": "加载失败", "definition_viewer.error.query_failed": "查询定义失败", "definition_viewer.error.query_failed_detail": "查询定义失败:{{detail}}", "definition_viewer.error.package_name_empty": "存储包名称为空", "definition_viewer.error.routine_name_empty": "函数/存储过程名称为空", "definition_viewer.error.sequence_name_empty": "序列名称为空", "definition_viewer.error.view_name_empty": "视图名称为空", "definition_viewer.field.database": "数据库", "definition_viewer.field.type": "类型", "definition_viewer.loading.event_definition": "加载事件定义...", "definition_viewer.loading.package_definition": "加载存储包定义...", "definition_viewer.loading.routine_definition": "加载函数/存储过程定义...", "definition_viewer.loading.sequence_definition": "加载序列定义...", "definition_viewer.loading.view_definition": "加载视图定义...", "definition_viewer.object.event": "事件", "definition_viewer.object.materialized_view": "物化视图", "definition_viewer.object.package": "存储包", "definition_viewer.object.routine": "函数/存储过程", "definition_viewer.object.sequence": "序列", "definition_viewer.object.view": "视图", "definition_viewer.warning.refresh_latest_failed": "刷新最新定义失败", "dev.perf_data_grid.columns": "列数", "dev.perf_data_grid.density.comfortable": "标准", "dev.perf_data_grid.density.compact": "极紧凑", "dev.perf_data_grid.density.standard": "紧凑", "dev.perf_data_grid.notice.description": "当前 {{uiVersion}} UI,{{rows}} 行 / {{columns}} 列。直接在表格区域做纵向、横向、Shift+滚轮滚动采样。", "dev.perf_data_grid.notice.message": "这个页面只用于开发态滚动性能采样", "dev.perf_data_grid.rows": "行数", "dev.perf_data_grid.title": "DataGrid 性能复现页", "dev.perf_data_grid.trigger_layout": "触发布局重算", "dev.perf_data_grid.ui_version.legacy": "旧版 UI", "dev.perf_data_grid.ui_version.legacy_short": "旧版", "dev.perf_data_grid.ui_version.v2": "新版 UI", "dev.perf_data_grid.ui_version.v2_short": "新版", "driver_manager.action.close": "关闭", "driver_manager.action.import_directory": "导入驱动目录", "driver_manager.action.import_package": "导入驱动包", "driver_manager.action.install_enable": "安装启用", "driver_manager.action.logs": "日志", "driver_manager.action.network_check": "网络检测", "driver_manager.action.open_directory": "打开驱动目录", "driver_manager.action.open_global_proxy_settings": "打开全局代理设置", "driver_manager.action.refresh": "刷新", "driver_manager.action.remove": "移除", "driver_manager.action.switch_version": "切换版本", "driver_manager.backend.dialog.select_download_directory": "选择驱动下载目录", "driver_manager.backend.dialog.select_package_directory": "选择驱动包目录", "driver_manager.backend.dialog.select_package_file": "选择驱动包文件(非 JDBC Jar)", "driver_manager.backend.driver_fallback_name": "驱动", "driver_manager.backend.error.agent_hash_failed": "计算驱动代理摘要失败:{{detail}}", "driver_manager.backend.error.agent_metadata_unavailable": "{{name}} 驱动代理版本元数据不可用,请安装当前版本对应的 driver-agent:{{detail}}", "driver_manager.backend.error.agent_path_occupied_by_directory": "{{name}} 驱动代理路径被目录占用:{{path}}", "driver_manager.backend.error.agent_revision_mismatch": "{{name}} 驱动代理 revision 不匹配(已安装:{{actual}},当前需要:{{expected}}),请安装当前版本对应的 driver-agent", "driver_manager.backend.error.agent_revision_mismatch_empty_actual": "{{name}} 驱动代理 revision 不匹配(已安装:空,当前需要:{{expected}}),请安装当前版本对应的 driver-agent", "driver_manager.backend.error.api_url_empty": "API 地址为空", "driver_manager.backend.error.asset_name_empty": "驱动资产名称为空", "driver_manager.backend.error.builtin_download_not_required": "内置驱动无需下载扩展包", "driver_manager.backend.error.builtin_install_not_required": "内置驱动无需安装扩展包", "driver_manager.backend.error.builtin_package_not_required": "内置驱动无需安装包", "driver_manager.backend.error.builtin_remove_not_allowed": "内置驱动不可移除", "driver_manager.backend.error.builtin_version_not_required": "内置驱动无需选择版本", "driver_manager.backend.error.bundle_download_failed": "下载驱动总包失败:{{detail}}", "driver_manager.backend.error.bundle_entry_missing": "驱动总包内未找到 {{name}}(期望路径 {{path}})", "driver_manager.backend.error.bundle_index_asset_missing": "未找到驱动总包索引资产", "driver_manager.backend.error.bundle_index_empty": "驱动总包索引为空", "driver_manager.backend.error.bundle_index_fetch_failed": "拉取驱动总包索引失败:{{detail}}", "driver_manager.backend.error.bundle_index_parse_failed": "解析驱动总包索引失败:{{detail}}", "driver_manager.backend.error.bundle_url_empty": "驱动总包下载地址为空", "driver_manager.backend.error.bundled_agent_hash_failed": "计算预置 {{name}} 驱动代理摘要失败:{{detail}}", "driver_manager.backend.error.cache_key_empty": "缓存 key 为空", "driver_manager.backend.error.chmod_agent_failed": "设置驱动代理权限失败:{{detail}}", "driver_manager.backend.error.close_agent_file_failed": "关闭驱动代理文件失败:{{detail}}", "driver_manager.backend.error.copy_bundled_agent_failed": "复制预置 {{name}} 驱动代理失败:{{detail}}", "driver_manager.backend.error.copy_runtime_dependency_entry_failed": "复制运行时依赖 {{name}} 失败:{{detail}}", "driver_manager.backend.error.copy_runtime_dependency_failed": "复制 {{name}} 运行时依赖失败:{{detail}}", "driver_manager.backend.error.create_agent_temp_file_failed": "创建驱动代理临时文件失败:{{detail}}", "driver_manager.backend.error.create_directory_failed": "创建驱动目录失败:{{detail}}", "driver_manager.backend.error.create_named_directory_failed": "创建 {{name}} 驱动目录失败:{{detail}}", "driver_manager.backend.error.download_failed": "下载失败:{{detail}}", "driver_manager.backend.error.download_url_empty": "下载地址为空", "driver_manager.backend.error.driver_type_empty": "驱动类型为空", "driver_manager.backend.error.driver_version_list_fetch_failed": "拉取驱动版本列表失败:{{detail}}", "driver_manager.backend.error.driver_version_list_parse_failed": "解析驱动版本列表失败:{{detail}}", "driver_manager.backend.error.driver_version_unsupported": "{{name}} 版本 {{version}} 当前不受支持", "driver_manager.backend.error.extract_runtime_dependency_failed": "解压运行时依赖 {{name}} 失败:{{detail}}", "driver_manager.backend.error.file_manifest_url_invalid": "无效的文件驱动清单地址", "driver_manager.backend.error.file_path_empty": "文件路径为空", "driver_manager.backend.error.go_not_found_prebuilt_missing": "当前环境未安装 Go,且未找到可用的 {{name}} 预编译代理包", "driver_manager.backend.error.import_local_agent_failed": "导入本地驱动代理失败:{{detail}}", "driver_manager.backend.error.import_local_agent_runtime_failed": "导入本地驱动代理运行时依赖失败:{{detail}}", "driver_manager.backend.error.install_prebuilt_package_failed": "安装预编译驱动包失败:{{detail}}", "driver_manager.backend.error.local_directory_entry_missing": "目录中未找到 {{name}} 代理文件(优先路径 {{path}},候选文件名 {{assetCandidates}} / {{baseCandidates}})", "driver_manager.backend.error.local_directory_not_directory": "本地驱动目录路径不是目录:{{path}}", "driver_manager.backend.error.local_directory_path_empty": "本地驱动目录路径为空", "driver_manager.backend.error.local_directory_scan_limit": "本地驱动目录条目过多(超过 {{max}}),请缩小目录范围或直接选择 zip/单文件", "driver_manager.backend.error.local_manifest_url_invalid": "无效的本地驱动清单地址", "driver_manager.backend.error.local_package_entry_missing": "本地驱动包内未找到 {{name}} 代理文件(期望路径 {{path}})", "driver_manager.backend.error.local_package_path_empty": "本地驱动包路径为空", "driver_manager.backend.error.manifest_fetch_failed": "拉取驱动清单失败:{{detail}}", "driver_manager.backend.error.manifest_parse_failed": "解析驱动清单失败:{{detail}}", "driver_manager.backend.error.manifest_scheme_unsupported": "不支持的驱动清单地址协议:{{scheme}}", "driver_manager.backend.error.manifest_too_large": "驱动清单超过大小限制", "driver_manager.backend.error.manifest_url_empty": "驱动清单地址为空", "driver_manager.backend.error.metadata_file_write_failed": "写入驱动元数据文件失败:{{detail}}", "driver_manager.backend.error.metadata_payload_encode_failed": "序列化驱动元数据失败:{{detail}}", "driver_manager.backend.error.module_path_empty": "模块路径为空", "driver_manager.backend.error.module_version_list_empty": "模块版本列表为空", "driver_manager.backend.error.module_version_list_fetch_failed": "拉取模块版本列表失败:{{detail}}", "driver_manager.backend.error.module_version_list_read_failed": "读取模块版本列表失败:{{detail}}", "driver_manager.backend.error.mongo_version_unsupported": "MongoDB 版本 {{version}} 当前不受支持;仅支持 1.17.x 和 2.x", "driver_manager.backend.error.named_agent_hash_failed": "计算 {{name}} 驱动代理摘要失败:{{detail}}", "driver_manager.backend.error.named_chmod_agent_failed": "设置 {{name}} 驱动代理权限失败:{{detail}}", "driver_manager.backend.error.no_driver_versions": "未找到可用驱动版本", "driver_manager.backend.error.open_bundle_failed": "打开驱动总包失败:{{detail}}", "driver_manager.backend.error.open_directory_failed": "打开驱动目录失败:{{detail}}", "driver_manager.backend.error.open_directory_unsupported": "当前平台暂不支持打开目录:{{platform}}", "driver_manager.backend.error.open_local_package_failed": "打开本地驱动包失败:{{detail}}", "driver_manager.backend.error.optional_go_only": "当前仅支持纯 Go 可选驱动的安装启用", "driver_manager.backend.error.package_size_unsupported": "当前驱动不支持安装包查询", "driver_manager.backend.error.prebuilt_downloads_failed": "预编译包下载失败:{{detail}}", "driver_manager.backend.error.read_bundle_entry_failed": "读取驱动总包条目失败:{{detail}}", "driver_manager.backend.error.read_local_directory_failed": "读取本地驱动目录失败:{{detail}}", "driver_manager.backend.error.read_local_package_entry_failed": "读取本地驱动包条目失败:{{detail}}", "driver_manager.backend.error.read_local_package_failed": "读取本地驱动包失败:{{detail}}", "driver_manager.backend.error.release_empty": "Release 为空", "driver_manager.backend.error.release_info_fetch_failed": "拉取 Release 信息失败:{{detail}}", "driver_manager.backend.error.remove_installed_agent_failed": "清理已安装 {{name}} 驱动代理失败:{{detail}}", "driver_manager.backend.error.remove_package_failed": "移除驱动包失败:{{detail}}", "driver_manager.backend.error.replace_agent_failed": "替换驱动代理失败:{{detail}}", "driver_manager.backend.error.runtime_dependency_directory_empty": "运行时依赖目录为空", "driver_manager.backend.error.runtime_dependency_entry_missing": "驱动包缺少运行时依赖:{{name}}", "driver_manager.backend.error.runtime_dependency_required": "{{name}} 当前平台需要随包提供运行时依赖({{files}}),不能安装单文件代理;请使用驱动总包、驱动专属 zip 或本地源码构建", "driver_manager.backend.error.runtime_dependency_target_directory_empty": "运行时依赖目标目录为空", "driver_manager.backend.error.scan_local_directory_failed": "扫描本地驱动目录失败:{{detail}}", "driver_manager.backend.error.source_build_command_failed": "构建 {{name}} 驱动代理失败:{{detail}},输出:{{output}}", "driver_manager.backend.error.source_build_duckdb_windows_cgo_toolchain_prepare_failed": "准备 DuckDB Windows CGO 编译器失败:{{detail}}", "driver_manager.backend.error.source_build_duckdb_windows_dlltool_resolve_failed": "定位 DuckDB Windows dlltool 失败:{{detail}}", "driver_manager.backend.error.source_build_duckdb_windows_dynamic_library_missing_files": "DuckDB 官方动态库包缺少文件:{{files}}", "driver_manager.backend.error.source_build_duckdb_windows_dynamic_library_prepare_failed": "准备 DuckDB Windows 动态库失败:{{detail}}", "driver_manager.backend.error.source_build_duckdb_windows_gcc_not_found": "未找到可用的 gcc.exe/g++.exe;{{hint}}", "driver_manager.backend.error.source_build_duckdb_windows_gcc_not_found_with_checked": "未找到可用的 gcc.exe/g++.exe,已检查:{{checked}};{{hint}}", "driver_manager.backend.error.source_build_duckdb_windows_toolchain_install_hint": "请先安装 MSYS2 UCRT64 工具链:winget install --id MSYS2.MSYS2 -e;然后执行 C:\\msys64\\usr\\bin\\bash.exe -lc \"pacman -S --needed --noconfirm mingw-w64-ucrt-x86_64-gcc mingw-w64-ucrt-x86_64-binutils\"", "driver_manager.backend.error.source_build_failed": "本地构建失败:{{detail}}", "driver_manager.backend.error.source_build_go_mod_read_failed": "读取 go.mod 失败:{{detail}}", "driver_manager.backend.error.source_build_module_dependency_missing": "未在 go.mod 中找到驱动依赖:{{modulePath}}", "driver_manager.backend.error.source_build_module_or_version_empty": "驱动模块或版本为空", "driver_manager.backend.error.source_build_project_root_missing": "未找到通用驱动代理源码,无法自动构建;请使用已发布版本", "driver_manager.backend.error.source_build_tag_unconfigured": "未配置驱动构建标签:{{driverType}}", "driver_manager.backend.error.source_build_temp_directory_create_failed": "创建驱动构建临时目录失败:{{detail}}", "driver_manager.backend.error.source_build_temp_go_mod_write_failed": "写入临时 go.mod 失败:{{detail}}", "driver_manager.backend.error.source_build_temp_go_sum_write_failed": "写入临时 go.sum 失败:{{detail}}", "driver_manager.backend.error.source_build_timeout": "构建 {{name}} 驱动代理超时(超过 {{timeout}}),请优先使用预编译驱动包或本地驱动包导入", "driver_manager.backend.error.source_build_workdir_unavailable": "获取当前目录失败:{{detail}}", "driver_manager.backend.error.sync_agent_failed": "落盘驱动代理失败:{{detail}}", "driver_manager.backend.error.tag_empty": "Tag 为空", "driver_manager.backend.error.unknown": "未知错误", "driver_manager.backend.error.unsupported_driver_type": "不支持的驱动类型", "driver_manager.backend.error.version_empty": "版本号为空", "driver_manager.backend.error.write_agent_failed": "写入驱动代理失败:{{detail}}", "driver_manager.backend.error.zip_entry_empty": "zip 条目为空", "driver_manager.backend.message.download_failed_detail": "驱动下载安装失败:{{detail}}", "driver_manager.backend.message.driver_install_success": "驱动安装成功", "driver_manager.backend.message.jdbc_jar_unsupported": "当前驱动管理不支持直接导入 JDBC Jar。GoNavi 使用 Go 驱动与可选 driver-agent;请改用驱动包或驱动目录。如需连接 Kingbase,请优先使用 Kingbase 连接类型,或在自定义连接中填写 kingbase / kingbase8。", "driver_manager.backend.message.local_import_failed_detail": "导入本地驱动包失败:{{detail}}", "driver_manager.backend.message.log_hint": "(详细日志:{{path}})", "driver_manager.backend.message.metadata_write_failed_detail": "写入驱动元数据失败:{{detail}}", "driver_manager.backend.message.opened_directory": "已打开驱动目录:{{path}}", "driver_manager.backend.message.package_removed": "驱动包已移除", "driver_manager.backend.message.runtime_directory_configured": "驱动运行时目录已生效", "driver_manager.backend.message.unsupported_builtin_manifest_url": "不支持的内置驱动清单地址:{{url}}", "driver_manager.backend.network.error.probe_host_missing": "检测地址缺少主机", "driver_manager.backend.network.error.probe_url_empty": "检测地址为空", "driver_manager.backend.network.error.timeout": "网络连接超时", "driver_manager.backend.network.probe.github_driver_release": "GitHub 驱动发布", "driver_manager.backend.network.probe.github_release_asset_domain": "GitHub Release 资产域名", "driver_manager.backend.network.probe.go_module_proxy": "Go 模块代理", "driver_manager.backend.network.summary.download_chain_unreachable": "GitHub API 可达,但驱动下载链路不可达。请优先在 GoNavi 启用全局代理,并在代理规则中放行 github.com、api.github.com、release-assets.githubusercontent.com、objects.githubusercontent.com、raw.githubusercontent.com;若仍失败,再考虑开启 TUN 模式。", "driver_manager.backend.package_size.built_in": "内置", "driver_manager.backend.package_size.to_be_published": "待发布", "driver_manager.backend.progress.fallback.bundle_available": "直链不可用,转入驱动总包兜底({{name}},剩余 {{bundle}} 个总包源)", "driver_manager.backend.progress.fallback.direct_to_bundle": "预编译直链未命中,转入驱动总包兜底({{name}},剩余 {{bundle}} 个总包源)", "driver_manager.backend.progress.fallback.explicit_skip_bundle": "预编译直链未命中;当前版本仅允许显式资产,跳过驱动总包({{name}})", "driver_manager.backend.progress.fallback.source_build": "发布资产未命中,准备回退到本地源码构建({{name}})", "driver_manager.backend.progress.plan.bundle_only": "准备安装 {{name}} 驱动代理(版本 {{version}});未提供预编译直链,直接尝试 {{bundle}} 个驱动总包源", "driver_manager.backend.progress.plan.direct_only": "准备安装 {{name}} 驱动代理(版本 {{version}});先尝试 {{direct}} 个预编译直链", "driver_manager.backend.progress.plan.direct_then_bundle": "准备安装 {{name}} 驱动代理(版本 {{version}});先尝试 {{direct}} 个预编译直链,失败后转入 {{bundle}} 个驱动总包源", "driver_manager.backend.progress.plan.explicit_direct": "准备安装 {{name}} 驱动代理(版本 {{version}});仅允许显式版本资产,先尝试 {{direct}} 个预编译直链", "driver_manager.backend.progress.plan.source_fallback": "准备安装 {{name}} 驱动代理(版本 {{version}});未命中发布资产时将回退到本地源码构建", "driver_manager.backend.progress.plan.source_first": "准备安装 {{name}} 驱动代理(版本 {{version}});先尝试本地源码构建,失败后继续下载兜底", "driver_manager.backend.progress.plan.source_only": "准备安装 {{name}} 驱动代理(版本 {{version}});当前版本仅允许本地源码构建", "driver_manager.backend.status.affected_connections": "影响 {{count}} 个已保存连接", "driver_manager.backend.status.agent_arch_incompatible_detail": "{{name}} 驱动代理架构不兼容:文件={{file}},当前进程={{process}}。请在驱动管理中重新安装启用", "driver_manager.backend.status.agent_missing": "{{name}} 驱动代理缺失,请在驱动管理中重新安装启用", "driver_manager.backend.status.agent_path_failed": "{{name}} 驱动代理路径解析失败,请在驱动管理中重新安装启用", "driver_manager.backend.status.agent_revision_update_detail": "原因:当前 GoNavi 版本要求更新后的 {{name}} driver-agent(revision: {{expected}})。影响:driver-agent 是独立二进制,不会随主程序自动更新;如果不重装,会继续使用旧 agent 逻辑,驱动侧已修复或优化的行为不会生效,可能继续出现旧版本问题。强烈建议重装对应 driver-agent", "driver_manager.backend.status.agent_revision_update_detail_with_actual": "原因:当前 GoNavi 版本要求更新后的 {{name}} driver-agent(revision: {{expected}})。影响:driver-agent 是独立二进制,不会随主程序自动更新;如果不重装,会继续使用旧 agent 逻辑,驱动侧已修复或优化的行为不会生效,可能继续出现旧版本问题。强烈建议重装对应 driver-agent(已安装标记:{{actual}},当前需要:{{expected}})", "driver_manager.backend.status.agent_unavailable_reinstall": "{{name}} 驱动代理不可用:{{detail}}。请在驱动管理中重新安装启用", "driver_manager.backend.status.built_in_available": "内置驱动,可直接连接", "driver_manager.backend.status.expected_revision": "当前需要 revision {{revision}}。", "driver_manager.backend.status.installed_pending": "驱动已安装,待生效", "driver_manager.backend.status.installed_pending_with_version": "驱动已安装(版本:{{version}}),待生效", "driver_manager.backend.status.installed_revision": "已安装 revision {{revision}}。", "driver_manager.backend.status.mongodb_compatibility_update_detail": "原因:当前推荐 MongoDB 兼容驱动版本为 {{recommended}},已安装版本为 {{installed}}。影响:MongoDB 2.x driver-agent 使用官方 v2 驱动,要求服务端 MongoDB 4.2+;连接 MongoDB 4.0 会出现 wire version 7 不兼容。强烈建议重装对应 driver-agent", "driver_manager.backend.status.needs_update": "需要重装以应用驱动侧更新。", "driver_manager.backend.status.optional_disabled": "{{name}} 纯 Go 驱动未启用,请先在驱动管理中点击安装启用", "driver_manager.backend.status.optional_disabled_generic": "未启用", "driver_manager.backend.status.optional_disabled_with_version": "未启用(版本:{{version}})", "driver_manager.backend.status.optional_enabled": "纯 Go 驱动已启用,可直接连接", "driver_manager.backend.status.slim_build_required": "{{name}} 当前发行包为精简构建,未内置该驱动;如需使用请安装 Full 版", "driver_manager.backend.status.unrecognized_driver_type": "未识别的数据源类型", "driver_manager.backend.version.latest_suffix": "(最新)", "driver_manager.backend.version.recommended_suffix": "(推荐)", "driver_manager.backend.version.unlabeled": "未标注版本", "driver_manager.column.actions": "操作", "driver_manager.column.data_source": "数据源", "driver_manager.column.package_size": "安装包大小", "driver_manager.column.progress": "安装进度", "driver_manager.column.status": "状态", "driver_manager.column.version": "驱动版本", "driver_manager.description.install_required": "除 MySQL / Redis / Oracle / PostgreSQL 外,其他数据源需先安装启用后再连接。", "driver_manager.directory_info.details_label": "查看驱动目录与复用说明", "driver_manager.directory_info.log_file": "运行日志文件:{{path}}", "driver_manager.directory_info.reuse_help": "自动下载和手动导入的驱动都会落盘到以下目录;后续版本升级可重复复用已下载驱动。", "driver_manager.directory_info.root_dir": "驱动根目录:{{path}}", "driver_manager.directory_info.title": "驱动目录与复用说明", "driver_manager.empty.default": "暂无驱动数据", "driver_manager.empty.search": "未找到匹配“{{keyword}}”的驱动", "driver_manager.filter_summary.match": "匹配 {{filtered}} / {{total}}", "driver_manager.filter_summary.total": "共 {{total}} 个驱动", "driver_manager.import.directory_help": "如果应用内下载链路失败,可先手动下载驱动包到该目录,再使用“导入驱动包”或“导入驱动目录”完成安装。", "driver_manager.import.single_file_help": "行内“导入驱动包”仅用于单个驱动文件/总包(如 `mariadb-driver-agent`、`mariadb-driver-agent.exe`、`GoNavi-DriverAgents.zip`),不支持直接导入 JDBC Jar;批量导入请使用上方“导入驱动目录”。", "driver_manager.local_source.directory": "目录", "driver_manager.local_source.file": "文件", "driver_manager.log_modal.empty": "当前驱动暂无操作日志。", "driver_manager.log_modal.executable_path": "驱动可执行文件:{{path}}", "driver_manager.log_modal.install_dir": "安装目录:{{path}}", "driver_manager.log_modal.title": "驱动日志 - {{name}}", "driver_manager.log.done_auto_install": "自动安装完成{{version}}", "driver_manager.log.done_local_import": "本地导入安装完成{{version}}", "driver_manager.log.done_remove": "驱动移除完成", "driver_manager.log.force_overwrite_reinstall": "已启用覆盖已安装模式,执行重装导入", "driver_manager.log.progress_line": "【{{status}}】{{message}}({{percent}}%)", "driver_manager.log.skip_installed_dedupe": "已检测到驱动已安装,目录导入去重跳过", "driver_manager.log.skip_slim_build": "当前发行包为精简构建,已跳过目录导入", "driver_manager.log.start_auto_install": "开始自动安装", "driver_manager.log.start_local_import": "开始本地导入{{version}}({{source}}):{{path}}", "driver_manager.log.start_remove": "开始移除驱动", "driver_manager.message.directory_import_completed": "目录导入完成{{mode}}:成功 {{success}}{{skip}}", "driver_manager.message.directory_import_completed_with_failure": "目录导入完成{{mode}}:成功 {{success}},失败 {{failed}}{{skip}}", "driver_manager.message.directory_import_failed": "目录导入失败{{mode}}:失败 {{failed}}{{skip}}", "driver_manager.message.install_failed": "安装 {{name}} 失败", "driver_manager.message.install_failed_detail": "安装 {{name}} 失败:{{detail}}", "driver_manager.message.install_failed_fallback": "安装 {{name}} 失败", "driver_manager.message.install_start": "开始安装", "driver_manager.message.install_success": "{{name}}{{version}} 已安装启用", "driver_manager.message.install_watchdog_timeout": "安装 {{name}} 超过 {{minutes}} 分钟仍未完成。后台任务可能仍在下载或构建,请稍后刷新状态;如多次出现,请检查代理或改用本地驱动包导入。", "driver_manager.message.load_status_failed": "拉取驱动状态失败", "driver_manager.message.load_status_failed_detail": "拉取驱动状态失败:{{detail}}", "driver_manager.message.load_version_failed": "{{name}} 版本列表加载失败", "driver_manager.message.load_version_failed_detail": "加载 {{name}} 版本列表失败:{{detail}}", "driver_manager.message.local_directory_required": "未选择有效的驱动包目录", "driver_manager.message.local_file_required": "未选择有效的驱动包文件", "driver_manager.message.local_import_failed": "导入 {{name}} 本地驱动包失败", "driver_manager.message.local_import_failed_detail": "导入 {{name}} 本地驱动包失败:{{detail}}", "driver_manager.message.local_import_start": "开始导入本地驱动包", "driver_manager.message.local_import_success": "{{name}}{{version}} 本地驱动包已安装启用", "driver_manager.message.local_path_required": "未选择有效的本地导入{{source}}", "driver_manager.message.network_check_completed": "驱动网络检测已完成", "driver_manager.message.network_check_failed": "驱动网络检测失败", "driver_manager.message.network_check_failed_detail": "驱动网络检测失败:{{detail}}", "driver_manager.message.no_external_drivers_to_import": "当前没有可导入的外置驱动", "driver_manager.message.open_directory_failed": "打开驱动目录失败", "driver_manager.message.open_directory_failed_detail": "打开驱动目录失败:{{detail}}", "driver_manager.message.overwrite_suffix": "(覆盖已安装)", "driver_manager.message.remove_failed": "移除 {{name}} 失败", "driver_manager.message.remove_failed_detail": "移除 {{name}} 失败:{{detail}}", "driver_manager.message.remove_success": "{{name}} 已移除", "driver_manager.message.select_local_directory_failed": "选择本地驱动包目录失败", "driver_manager.message.select_local_directory_failed_detail": "选择本地驱动包目录失败:{{detail}}", "driver_manager.message.select_local_file_failed": "选择本地驱动包文件失败", "driver_manager.message.select_local_file_failed_detail": "选择本地驱动包文件失败:{{detail}}", "driver_manager.message.skip_suffix": ",{{items}}", "driver_manager.message.skip.dedupe": "去重跳过 {{count}}", "driver_manager.message.skip.slim": "精简版跳过 {{count}}", "driver_manager.network.alert.download_chain_unreachable": "重要提醒:驱动下载链路域名不可达", "driver_manager.network.alert.download_network_unreachable": "重要提醒:驱动下载网络不可达", "driver_manager.network.chain_alert.allow_hosts": "若仍失败,请在代理规则放行:{{hosts}};仍无法调整规则时,再考虑开启 TUN 模式。", "driver_manager.network.chain_alert.description": "当前可能能访问 GitHub 页面,但驱动包下载会跳转到资产域名。请优先在 GoNavi 顶部“代理”中启用全局代理(填写代理应用本地地址和端口)。", "driver_manager.network.checking": "正在检测驱动下载网络...", "driver_manager.network.details_label": "查看网络检测明细", "driver_manager.network.error_value": ",{{detail}}", "driver_manager.network.github_latency": "代理链路到 GitHub 连通性延迟:{{status}}{{latency}}{{detail}}", "driver_manager.network.latency_value": ",{{latency}}ms", "driver_manager.network.no_proxy_env": "未检测到系统代理环境变量。", "driver_manager.network.no_result": "暂无结果", "driver_manager.network.not_checked": "尚未完成网络检测", "driver_manager.network.proxy_env_detected": "检测到代理环境变量:{{keys}}", "driver_manager.network.reachable": "可达", "driver_manager.network.summary.download_chain_unreachable": "GitHub API 可达,但驱动下载资产域名不可达。", "driver_manager.network.summary.proxy_recommended": "检测到部分驱动下载地址不可达,建议先配置 HTTP/HTTPS/SOCKS5 代理后再安装驱动。", "driver_manager.network.summary.reachable": "驱动下载网络检测通过,可直接安装驱动。", "driver_manager.network.summary.reachable_with_proxy": "驱动下载网络已通过当前代理连通。", "driver_manager.network.summary.unreachable": "检测到部分驱动下载地址不可达,请检查网络后重试。", "driver_manager.network.summary.unreachable_proxy_configured": "检测到部分驱动下载地址不可达,请确认已配置代理有效后重试。", "driver_manager.network.unreachable": "不可达", "driver_manager.option.force_overwrite_installed": "覆盖已安装", "driver_manager.package_size.built_in": "内置", "driver_manager.package_size.pending_release": "待发布", "driver_manager.progress.agent_install_done": "{{name}} 驱动代理安装完成", "driver_manager.progress.agent_install_start": "开始安装 {{name}} 驱动代理", "driver_manager.progress.backend_detail": "后端详情:{{detail}}", "driver_manager.progress.backend_empty": "后端未返回进度说明", "driver_manager.progress.dev_build_fallback": "未命中预编译包,尝试开发态本地构建", "driver_manager.progress.download_bundle": "下载 {{name}} 驱动总包", "driver_manager.progress.download_prebuilt_agent": "下载预编译 {{name}} 驱动代理", "driver_manager.progress.download_prebuilt_package": "下载预编译 {{name}} 驱动包", "driver_manager.progress.extract_agent_from_bundle": "从驱动总包提取 {{name}} 代理", "driver_manager.progress.fallback.bundle_available": "直链不可用,转入驱动总包兜底({{name}},剩余 {{bundle}} 个总包源)", "driver_manager.progress.fallback.direct_to_bundle": "预编译直链未命中,转入驱动总包兜底({{name}},剩余 {{bundle}} 个总包源)", "driver_manager.progress.fallback.explicit_skip_bundle": "预编译直链未命中;当前版本仅允许显式资产,跳过驱动总包({{name}})", "driver_manager.progress.fallback.source_build": "发布资产未命中,准备回退到本地源码构建({{name}})", "driver_manager.progress.install_start": "开始安装", "driver_manager.progress.local_package_done": "本地驱动包导入完成", "driver_manager.progress.local_package_start": "开始安装本地驱动包", "driver_manager.progress.metadata_write": "写入驱动元数据", "driver_manager.progress.plan.bundle_only": "准备安装 {{name}} 驱动代理(版本 {{version}});未提供预编译直链,直接尝试 {{bundle}} 个驱动总包源", "driver_manager.progress.plan.direct_only": "准备安装 {{name}} 驱动代理(版本 {{version}});先尝试 {{direct}} 个预编译直链", "driver_manager.progress.plan.direct_then_bundle": "准备安装 {{name}} 驱动代理(版本 {{version}});先尝试 {{direct}} 个预编译直链,失败后转入 {{bundle}} 个驱动总包源", "driver_manager.progress.plan.explicit_direct": "准备安装 {{name}} 驱动代理(版本 {{version}});仅允许显式版本资产,先尝试 {{direct}} 个预编译直链", "driver_manager.progress.plan.require_source_first": "准备安装 {{name}} 驱动代理(版本 {{version}});开发态使用本地源码构建,失败后不使用发布包兜底", "driver_manager.progress.plan.source_fallback": "准备安装 {{name}} 驱动代理(版本 {{version}});未命中发布资产时将回退到本地源码构建", "driver_manager.progress.plan.source_first": "准备安装 {{name}} 驱动代理(版本 {{version}});先尝试本地源码构建,失败后继续下载兜底", "driver_manager.progress.plan.source_only": "准备安装 {{name}} 驱动代理(版本 {{version}});当前版本仅允许本地源码构建", "driver_manager.progress.pure_go_enabled": "安装完成,纯 Go 驱动已启用", "driver_manager.progress.source_build_preferred": "优先使用本地源码构建 {{name}} 驱动代理", "driver_manager.progress.status.done": "完成", "driver_manager.progress.status.downloading": "下载中", "driver_manager.progress.status.error": "错误", "driver_manager.progress.status.start": "开始", "driver_manager.progress.status.unknown": "未知", "driver_manager.progress.unzip_agent": "解压 {{name}} 驱动代理", "driver_manager.progress.wait_bundle": "等待 {{name}} 驱动总包下载完成", "driver_manager.punctuation.list_separator": "、", "driver_manager.search.built_in": "内置", "driver_manager.search.external": "外置", "driver_manager.search.placeholder": "搜索驱动名称/类型(如 DuckDB、clickhouse)", "driver_manager.status.built_in_available": "内置可用", "driver_manager.status.calculating": "计算中...", "driver_manager.status.disabled": "未启用", "driver_manager.status.enabled": "已启用", "driver_manager.status.full_required": "需 Full 版", "driver_manager.status.installed": "已安装", "driver_manager.status.installing_percent": "安装中 {{percent}}%", "driver_manager.title": "驱动管理", "driver_manager.version.current_fallback": "当前版本", "driver_manager.version.default": "默认版本", "driver_manager.version.group.other": "其他", "driver_manager.version.group.year": "{{year}} 年", "driver_manager.version.inline_suffix": "({{version}})", "driver_manager.version.installed": "已安装{{suffix}}", "driver_manager.version.installed_locked": "已安装(移除后可更换)", "driver_manager.version.installed_locked_with_version": "{{version}}(已安装,移除后可更换)", "driver_manager.version.installed_with_version": "{{version}}(已安装{{suffix}})", "driver_manager.version.latest_suffix": "(最新)", "driver_manager.version.mongodb_hint": "当前仅支持 MongoDB 1.17.x 和 2.x;更老 1.x 暂不提供安装。", "driver_manager.version.needs_reinstall_suffix": ",需重装", "driver_manager.version.placeholder.load_on_expand": "点击展开加载版本", "driver_manager.version.placeholder.select": "选择驱动版本", "driver_manager.version.recommended_suffix": "(推荐)", "driver_manager.version.switch_pending": "当前已安装 {{installedVersion}},已选择 {{targetVersion}},点击“切换版本”生效", "driver_manager.version.target_fallback": "目标版本", "driver_manager.version.unlabeled": "未标注版本", "driver.guidance.customConnectionDriverHelp": "已支持: mysql, starrocks, oceanbase, postgres, opengauss, sqlite, oracle, dm, kingbase;别名支持 postgresql/pgx、open_gauss/open-gauss、dm8、kingbase8/kingbasees/kingbasev8。请填写 GoNavi 已注册的 Go database/sql 驱动名,不能直接填写系统 ODBC/JDBC 驱动名或导入 JDBC Jar。", "file.backend.dialog.export_connections": "导出连接", "file.backend.dialog.export_data": "导出数据", "file.backend.dialog.export_database_sql": "导出 {{database}} (SQL)", "file.backend.dialog.export_query_result": "导出查询结果", "file.backend.dialog.export_table": "导出 {{table}}", "file.backend.dialog.export_tables_sql": "导出表 (SQL)", "file.backend.dialog.import_data": "导入到 {{table}}", "file.backend.dialog.select_batch_export_directory": "选择批量导出目录", "file.backend.dialog.select_ca_server_certificate_file": "选择 CA/服务端证书文件", "file.backend.dialog.select_client_certificate_file": "选择客户端证书文件", "file.backend.dialog.select_client_private_key_file": "选择客户端私钥文件", "file.backend.dialog.select_config_file": "选择配置文件", "file.backend.dialog.select_database_file": "选择数据库文件", "file.backend.dialog.select_duckdb_file": "选择 DuckDB 数据文件", "file.backend.dialog.select_sql_directory": "选择 SQL 目录", "file.backend.dialog.select_sql_file": "选择 SQL 文件", "file.backend.dialog.select_sqlite_file": "选择 SQLite 数据文件", "file.backend.dialog.select_ssh_key_file": "选择 SSH 私钥文件", "file.backend.dialog.select_tls_certificate_file": "选择 TLS 证书文件", "file.backend.error.app_log_file_not_found": "当前未找到 GoNavi 日志文件", "file.backend.error.batch_commit_unsupported": "当前数据库类型不支持批量提交", "file.backend.error.connection_export_file_too_large": "连接导出文件过大", "file.backend.error.connection_import_file_too_large": "连接导入文件过大", "file.backend.error.connection_package_decrypt_failed": "文件密码错误或文件已损坏", "file.backend.error.connection_package_password_required": "恢复包密码不能为空", "file.backend.error.connection_package_payload_too_large": "连接恢复包内容过大", "file.backend.error.connection_package_unsupported": "不支持的连接恢复包格式", "file.backend.error.create_directory_failed": "无法创建目录: {{detail}}", "file.backend.error.create_sql_file_failed": "无法创建 SQL 文件: {{detail}}", "file.backend.error.database_name_required": "数据库名称不能为空", "file.backend.error.delete_sql_directory_failed": "无法删除目录: {{detail}}(仅支持删除空目录)", "file.backend.error.delete_sql_file_failed": "无法删除 SQL 文件: {{detail}}", "file.backend.error.directory_exists": "目录已存在", "file.backend.error.directory_name_no_separator": "目录名不能包含路径分隔符", "file.backend.error.directory_name_required": "目录名不能为空", "file.backend.error.directory_path_required": "目录路径不能为空", "file.backend.error.export_driver_agent_streaming_required": "当前导出依赖最新的 {{driver}} driver-agent 流式协议;为避免大结果集回退到高内存缓冲模式,请在驱动管理中重装后重试:{{detail}}", "file.backend.error.export_unsupported_format": "不支持的导出格式: {{format}}", "file.backend.error.file_path_empty": "文件路径为空", "file.backend.error.file_path_required": "文件路径不能为空", "file.backend.error.import_csv_empty_or_missing_header": "CSV 为空或缺少标题行", "file.backend.error.import_csv_open_failed": "无法打开 CSV: {{detail}}", "file.backend.error.import_csv_read_failed": "无法读取 CSV: {{detail}}", "file.backend.error.import_excel_empty_or_missing_header": "Excel 为空或缺少标题行", "file.backend.error.import_excel_no_sheets": "Excel 文件没有工作表", "file.backend.error.import_excel_parse_failed": "无法解析 Excel: {{detail}}", "file.backend.error.import_excel_read_failed": "无法读取 Excel: {{detail}}", "file.backend.error.import_file_empty": "文件路径不能为空", "file.backend.error.import_json_parse_failed": "无法解析 JSON: {{detail}}", "file.backend.error.import_json_root_not_array": "JSON 根必须是数组", "file.backend.error.import_unsupported_format": "不支持的文件格式", "file.backend.error.invalid_export_mode": "无效的导出模式", "file.backend.error.mysql_workbench_no_connections": "未在 XML 中找到有效的连接配置", "file.backend.error.mysql_workbench_parse_failed": "解析 MySQL Workbench XML 失败: {{detail}}", "file.backend.error.navicat_connection_password_parse_failed": "连接 {{name}} 的密码解析失败", "file.backend.error.navicat_connection_proxy_password_parse_failed": "连接 {{name}} 的代理密码解析失败", "file.backend.error.navicat_connection_ssh_password_parse_failed": "连接 {{name}} 的 SSH 密码解析失败", "file.backend.error.navicat_ncx_no_connections": "未在 Navicat NCX 中找到 GoNavi 支持的有效连接配置", "file.backend.error.navicat_ncx_parse_failed": "解析 Navicat NCX 失败", "file.backend.error.navicat_secret_decrypt_failed": "解密 Navicat 密码失败", "file.backend.error.open_file_failed": "无法打开文件: {{detail}}", "file.backend.error.query_required": "查询语句不能为空", "file.backend.error.read_directory_info_failed": "无法读取目录信息: {{detail}}", "file.backend.error.read_file_error_summary": "文件读取错误: {{detail}}。已执行 {{count}} 条。", "file.backend.error.read_file_info_failed": "无法读取文件信息: {{detail}}", "file.backend.error.read_target_directory_info_failed": "无法读取目标目录信息: {{detail}}", "file.backend.error.read_target_file_info_failed": "无法读取目标文件信息: {{detail}}", "file.backend.error.rename_directory_failed": "无法重命名目录: {{detail}}", "file.backend.error.rename_sql_file_failed": "无法重命名 SQL 文件: {{detail}}", "file.backend.error.schema_export_no_objects": "未在模式 {{schema}} 下获取到可导出的表或视图", "file.backend.error.schema_name_required": "模式名称不能为空", "file.backend.error.select_with_query_required": "仅支持 SELECT/WITH 查询导出", "file.backend.error.selected_path_not_directory": "所选路径不是目录", "file.backend.error.selected_path_not_sql_file": "所选路径不是 SQL 文件", "file.backend.error.sql_file_batch_execution_failed": "第 {{index}} 条起的批量语句执行失败: {{detail}}", "file.backend.error.sql_file_batch_rollback_failed": "批量执行失败: {{detail}};回滚失败: {{rollbackDetail}}", "file.backend.error.sql_file_exists": "SQL 文件已存在", "file.backend.error.sql_file_extension_required": "仅支持 SQL 文件", "file.backend.error.sql_file_name_no_separator": "SQL 文件名不能包含路径分隔符", "file.backend.error.sql_file_name_required": "SQL 文件名不能为空", "file.backend.error.sql_file_statement_execution_failed": "第 {{index}} 条语句执行失败: {{detail}}", "file.backend.error.table_data_batch_limit": "单次最多处理 {{max}} 张表,当前选中 {{count}} 张", "file.backend.error.table_data_clear_failed": "清空 {{table}} 失败: {{detail}}", "file.backend.error.table_data_clear_failed_partial": "清空 {{table}} 失败: {{detail}}(注意:前 {{count}} 张表已清空且无法恢复)", "file.backend.error.table_data_mode_unsupported": "不支持的表数据清理模式: {{mode}}", "file.backend.error.table_data_no_tables": "未指定要处理的表", "file.backend.error.table_data_truncate_failed": "截断 {{table}} 失败: {{detail}}", "file.backend.error.table_data_truncate_failed_partial": "截断 {{table}} 失败: {{detail}}(注意:前 {{count}} 张表已截断且无法恢复)", "file.backend.error.table_data_truncate_unsupported": "当前数据库类型 {{type}} 不支持截断表,请改用清空表", "file.backend.error.target_directory_exists": "目标目录已存在", "file.backend.error.target_sql_file_exists": "目标 SQL 文件已存在", "file.backend.error.task_not_found": "未找到该任务", "file.backend.error.write_failed": "写入失败: {{detail}}", "file.backend.filter.all_files": "所有文件", "file.backend.filter.all_files_pattern": "所有文件 (*.*)", "file.backend.filter.certificate_files": "证书文件", "file.backend.filter.connection_package": "GoNavi 连接包 (*.gonavi-conn)", "file.backend.filter.data_files": "数据文件", "file.backend.filter.database_files": "数据库文件", "file.backend.filter.duckdb_files": "DuckDB 文件", "file.backend.filter.json_files": "JSON 文件 (*.json)", "file.backend.filter.mysql_workbench_connections": "MySQL Workbench 连接 (*.xml)", "file.backend.filter.private_key_files": "私钥文件", "file.backend.filter.sql_files": "SQL 文件 (*.sql)", "file.backend.filter.sqlite_files": "SQLite 文件", "file.backend.html_export.document_title": "GoNavi 数据导出", "file.backend.html_export.empty_rows": "(0 行)", "file.backend.html_export.heading": "GoNavi 数据导出", "file.backend.html_export.meta": "行数: {{rowCount}} · 列数: {{columnCount}} · 生成时间: {{generatedAt}}", "file.backend.message.cancel_requested": "已发送取消请求", "file.backend.message.execution_cancelled": "执行已中止。已执行 {{executed}} 条,失败 {{failed}} 条,耗时 {{duration}}。", "file.backend.message.execution_completed": "执行完成。成功 {{success}} 条,失败 {{failed}} 条,耗时 {{duration}}。", "file.backend.message.execution_error_detail_header": "错误详情(前 {{count}} 条):", "file.backend.message.execution_more_errors": "...还有 {{count}} 条错误未显示", "file.backend.message.export_completed": "导出完成", "file.backend.message.import_no_data": "无可导入数据", "file.backend.message.import_row_failed": "第 {{index}} 行导入失败: {{detail}}", "file.backend.message.import_summary": "已导入: {{imported}}, 失败: {{failed}}", "file.backend.message.statement_failed": "第 {{index}} 条语句执行失败: {{detail}}\n SQL: {{sql}}", "file.backend.message.table_data_clear_succeeded": "清空成功", "file.backend.message.table_data_truncate_succeeded": "截断成功", "file.backend.message.transaction_committed": "事务提交成功", "file.backend.message.user_cancelled": "用户取消执行", "file.backend.sql_dump.database": "数据库: {{database}}", "file.backend.sql_dump.empty_rows": "(0 行)", "file.backend.sql_dump.generated_at": "生成时间: {{generatedAt}}", "file.backend.sql_dump.table": "表: {{objectName}}", "file.backend.sql_dump.title": "GoNavi SQL 导出", "file.backend.sql_dump.view": "视图: {{objectName}}", "file.backend.sql_dump.view_data_skipped": "已跳过视图数据导出(不会为视图生成 INSERT)。", "find_in_database.column.action": "操作", "find_in_database.column.match_count": "命中行数", "find_in_database.column.matched_columns": "匹配列", "find_in_database.column.table_name": "表名", "find_in_database.detail.row_count": "{{count}} 行", "find_in_database.detail.title": "{{table}} — 匹配行详情", "find_in_database.match.contains": "包含", "find_in_database.match.exact": "精确匹配", "find_in_database.message.connection_config_not_found": "未找到连接配置", "find_in_database.message.get_tables_failed": "获取表列表失败: {{detail}}", "find_in_database.message.keyword_required": "请输入搜索关键字", "find_in_database.message.no_matches": "未找到匹配的数据", "find_in_database.message.no_tables": "当前数据库没有表", "find_in_database.message.search_failed": "搜索出错: {{detail}}", "find_in_database.placeholder.keyword": "输入要搜索的字符串...", "find_in_database.progress.searching_table": "正在搜索 {{table}}... ({{current}}/{{total}})", "find_in_database.summary.found_tables": "找到 {{count}} 个表包含匹配数据", "find_in_database.summary.searching": "(搜索进行中...)", "find_in_database.title": "在数据库中搜索 — {{dbName}}", "find_in_database.tooltip.collapse_details": "收起详情", "find_in_database.tooltip.view_details": "查看详情", "import_preview.action.start": "开始导入", "import_preview.error.connection_config_not_found": "连接配置未找到", "import_preview.error.import_failed": "导入失败", "import_preview.error.import_failed_detail": "导入失败: {{detail}}", "import_preview.error.preview_failed": "预览失败", "import_preview.error.preview_failed_detail": "预览失败: {{detail}}", "import_preview.preview.description": "以下是前 5 行预览数据,确认无误后点击“开始导入”", "import_preview.preview.field_list": "字段列表:", "import_preview.preview.summary": "共 {{rows}} 行数据,{{columns}} 个字段", "import_preview.preview.table_title": "数据预览(前 5 行):", "import_preview.progress.error_count": "失败 {{count}}", "import_preview.progress.processed_rows": "已处理 {{current}} / {{total}} 行", "import_preview.progress.success_count": "成功 {{count}}", "import_preview.result.completed": "导入完成", "import_preview.result.error_logs": "错误日志:", "import_preview.result.failed_rows": "失败 {{count}} 行", "import_preview.result.success_rows": "成功导入 {{count}} 行", "import_preview.status.importing": "正在导入数据...", "import_preview.status.loading_preview": "加载预览数据...", "import_preview.title": "导入数据预览", "jvm_ai_plan.actions.description": ":{{description}}", "jvm_ai_plan.actions.field_separator": "、", "jvm_ai_plan.actions.label": " ({{label}})", "jvm_ai_plan.actions.none": "当前资源未声明支持动作。若要生成计划,请仅在你能从快照内容中明确推断时给出 action,并保持 payload 为 JSON 对象。", "jvm_ai_plan.actions.payload_fields": ";payload 字段:{{fields}}", "jvm_ai_plan.actions.required_suffix": "(required)", "jvm_ai_plan.error.action_missing": "AI 计划缺少可执行 action", "jvm_ai_plan.error.payload_json_object_required": "当前 JVM 预览要求 payload 仍然是 JSON 对象", "jvm_ai_plan.error.reason_missing": "AI 计划缺少变更原因", "jvm_ai_plan.error.resource_locator_missing": "AI 计划缺少可用的资源定位信息", "jvm_ai_plan.prompt.connection_name": "连接名称:{{connectionName}}", "jvm_ai_plan.prompt.connection_policy": "连接策略:{{policy}}", "jvm_ai_plan.prompt.connection_policy.read_only": "只读连接,当前只能生成计划和风险分析,不能假设已执行", "jvm_ai_plan.prompt.connection_policy.writable": "可写连接,但仍必须先预览再人工确认", "jvm_ai_plan.prompt.environment": "运行环境:{{environmentLabel}}", "jvm_ai_plan.prompt.environment_unknown": "unknown", "jvm_ai_plan.prompt.example_reason": "修复缓存脏值", "jvm_ai_plan.prompt.example_title": "JSON 示例:", "jvm_ai_plan.prompt.intro": "请分析下面这个 JVM 资源,并生成一个可用于 GoNavi “预览变更” 的结构化修改计划。", "jvm_ai_plan.prompt.output_requirements_title": "输出要求:", "jvm_ai_plan.prompt.provider_mode": "Provider 模式:{{providerMode}}", "jvm_ai_plan.prompt.requirement.action": "4. action 优先从“当前资源支持动作”里选择;如果当前资源未声明支持动作,才允许基于快照内容推断。", "jvm_ai_plan.prompt.requirement.fields": "2. 代码块里的 JSON 字段必须严格是:targetType、selector、action、payload、reason。", "jvm_ai_plan.prompt.requirement.no_execute": "6. 不要声称已经执行修改,也不要输出脚本或命令。", "jvm_ai_plan.prompt.requirement.payload": "5. payload 只能使用 JSON 对象包装,不要输出脚本、命令或原始二进制。若需要纯文本值,也请包装成 {\"format\":\"text\",\"value\":\"...\"}。", "jvm_ai_plan.prompt.requirement.resource_path": "3. selector.resourcePath 优先使用当前资源路径 {{resourcePath}},不要凭空编造其他路径。", "jvm_ai_plan.prompt.requirement.single_json_block": "1. 可以先给一小段分析,但必须包含且只包含一个 ```json 代码块。", "jvm_ai_plan.prompt.resource_path": "当前资源路径:{{resourcePath}}", "jvm_ai_plan.prompt.resource_path_missing": "(未提供资源路径)", "jvm_ai_plan.prompt.snapshot_title": "当前资源快照:", "jvm_ai_plan.prompt.supported_actions_title": "当前资源支持动作:", "jvm_ai_plan.prompt.target_host": "目标主机:{{host}}", "jvm_ai_plan.snapshot.unavailable": "当前资源快照尚未加载成功。", "jvm_audit.action.refresh": "刷新", "jvm_audit.card.records": "审计记录", "jvm_audit.column.action": "动作", "jvm_audit.column.mode": "模式", "jvm_audit.column.reason": "原因", "jvm_audit.column.resource": "资源", "jvm_audit.column.result": "结果", "jvm_audit.column.source": "来源", "jvm_audit.column.time": "时间", "jvm_audit.description.current_range": "当前范围:最近 {{limit}} 条", "jvm_audit.empty.load_failed": "当前无法加载审计记录", "jvm_audit.empty.no_records": "暂无审计记录", "jvm_audit.error.backend_unavailable": "JVMListAuditRecords 后端方法不可用", "jvm_audit.error.connection_missing": "连接不存在或已被删除", "jvm_audit.error.load_failed": "读取 JVM 审计记录失败{{separator}}{{detail}}", "jvm_audit.eyebrow": "JVM 审计", "jvm_audit.option.last_records": "最近 {{limit}} 条", "jvm_audit.source.ai_plan": "AI 辅助", "jvm_audit.source.manual": "手工", "jvm_audit.title": "JVM 变更审计", "jvm_change_preview_modal.action.close": "关闭", "jvm_change_preview_modal.action.confirm_execute": "确认执行", "jvm_change_preview_modal.blocking.alert_message": "当前变更不可执行", "jvm_change_preview_modal.blocking.label": "阻断原因", "jvm_change_preview_modal.field.format": "格式", "jvm_change_preview_modal.field.resource_id": "资源 ID", "jvm_change_preview_modal.field.version": "版本", "jvm_change_preview_modal.permission.allowed": "允许执行", "jvm_change_preview_modal.permission.forbidden": "禁止执行", "jvm_change_preview_modal.permission.requires_confirmation": "需要确认", "jvm_change_preview_modal.risk.high": "高", "jvm_change_preview_modal.risk.label": "风险 {{level}}", "jvm_change_preview_modal.risk.low": "低", "jvm_change_preview_modal.risk.medium": "中", "jvm_change_preview_modal.risk.unknown": "未知", "jvm_change_preview_modal.section.after": "变更后", "jvm_change_preview_modal.section.before": "变更前", "jvm_change_preview_modal.section.summary": "变更摘要", "jvm_change_preview_modal.status.generated": "预览已生成", "jvm_change_preview_modal.status.no_preview": "暂无预览结果", "jvm_change_preview_modal.title": "JVM 变更预览", "jvm_diagnostic.ai_plan.default_reason": "AI 诊断计划:{{intent}}", "jvm_diagnostic.ai_plan.error.transport_mismatch": "AI 计划的诊断 transport 为 {{planTransport}},与当前控制台 {{currentTransport}} 不一致,请重新生成计划后再应用。", "jvm_diagnostic.ai_plan.message.filled": "AI 诊断计划已回填到控制台", "jvm_diagnostic.capability_result.mutating_allowed": "高风险命令", "jvm_diagnostic.capability_result.observe_allowed": "观察命令", "jvm_diagnostic.capability_result.observe_denied": "禁止观察", "jvm_diagnostic.capability_result.session_allowed": "可建会话", "jvm_diagnostic.capability_result.session_denied": "不可建会话", "jvm_diagnostic.capability_result.streaming_supported": "流式输出", "jvm_diagnostic.capability_result.streaming_unsupported": "不支持流式", "jvm_diagnostic.capability_result.title": "能力检查结果", "jvm_diagnostic.capability_result.trace_allowed": "跟踪命令", "jvm_diagnostic.capability.empty.description": "能力检查只读取通道权限和命令策略,不会创建会话或执行命令。", "jvm_diagnostic.capability.empty.title": "尚未检查能力", "jvm_diagnostic.command_input.command_description": "输入 Arthas/诊断命令,例如 thread -n 5、dashboard、jvm;也可以从下方模板一键回填。", "jvm_diagnostic.command_input.command_label": "诊断命令", "jvm_diagnostic.command_input.description": "支持自动补全,按 Ctrl/Cmd + Enter 执行", "jvm_diagnostic.command_input.reason_help": "用于审计记录和 AI 上下文理解,不会作为 Arthas 命令发送到目标 JVM。", "jvm_diagnostic.command_input.reason_label": "诊断原因(可选)", "jvm_diagnostic.command_input.reason_placeholder": "例如:排查 CPU 飙高、确认线程阻塞、定位慢方法", "jvm_diagnostic.command_input.title": "命令输入", "jvm_diagnostic.command_templates.title": "命令模板", "jvm_diagnostic.completion.argument.classloader.hash.documentation": "查看指定类加载器详情。", "jvm_diagnostic.completion.argument.classloader.hash.label": "指定类加载器 Hash", "jvm_diagnostic.completion.argument.classloader.tree.documentation": "输出类加载器树形结构。", "jvm_diagnostic.completion.argument.classloader.tree.label": "树形视图 (-t)", "jvm_diagnostic.completion.argument.classloader.url_stat.documentation": "查看类加载器 URL 统计。", "jvm_diagnostic.completion.argument.classloader.url_stat.label": "全部 URL 统计 (--url-stat)", "jvm_diagnostic.completion.argument.command_template.label": "{{command}} 模板", "jvm_diagnostic.completion.argument.dashboard.direct.documentation": "查看当前 JVM 运行总览。", "jvm_diagnostic.completion.argument.dashboard.direct.label": "dashboard", "jvm_diagnostic.completion.argument.detail_mode_d.label": "详细模式 (-d)", "jvm_diagnostic.completion.argument.jad.template.documentation": "反编译指定类。", "jvm_diagnostic.completion.argument.jad.template.label": "反编译模板", "jvm_diagnostic.completion.argument.jvm.direct.documentation": "查看 JVM 内存、线程、类加载、GC 和运行参数信息。", "jvm_diagnostic.completion.argument.jvm.direct.label": "jvm", "jvm_diagnostic.completion.argument.monitor.template.documentation": "按周期统计方法调用情况。", "jvm_diagnostic.completion.argument.ognl.template.documentation": "执行 OGNL 表达式,高风险命令默认受策略限制。", "jvm_diagnostic.completion.argument.redefine.template.documentation": "重新定义类字节码文件路径。", "jvm_diagnostic.completion.argument.retransform.template.documentation": "重新转换指定类。", "jvm_diagnostic.completion.argument.sc.class_pattern.documentation": "按类名模式搜索。", "jvm_diagnostic.completion.argument.sc.class_pattern.label": "类匹配模板", "jvm_diagnostic.completion.argument.sc.detail.documentation": "输出类的详细信息。", "jvm_diagnostic.completion.argument.sm.detail.documentation": "输出方法详细签名。", "jvm_diagnostic.completion.argument.sm.method_signature.documentation": "查看类的方法签名。", "jvm_diagnostic.completion.argument.sm.method_signature.label": "方法签名模板", "jvm_diagnostic.completion.argument.stack.template.documentation": "输出方法调用栈。", "jvm_diagnostic.completion.argument.stop.direct.documentation": "停止当前后台任务。", "jvm_diagnostic.completion.argument.stop.direct.label": "stop", "jvm_diagnostic.completion.argument.sysenv.variable.documentation": "读取指定环境变量。", "jvm_diagnostic.completion.argument.sysenv.variable.label": "查看环境变量", "jvm_diagnostic.completion.argument.sysprop.property.documentation": "读取指定系统属性。", "jvm_diagnostic.completion.argument.sysprop.property.label": "查看属性", "jvm_diagnostic.completion.argument.thread.blocking.documentation": "查找当前阻塞其他线程的线程。", "jvm_diagnostic.completion.argument.thread.blocking.label": "阻塞线程 (-b)", "jvm_diagnostic.completion.argument.thread.busy_top.documentation": "查看 CPU 最繁忙的前 N 个线程。", "jvm_diagnostic.completion.argument.thread.busy_top.label": "繁忙线程 TOP N (-n)", "jvm_diagnostic.completion.argument.thread.thread_id.documentation": "查看指定线程的详细栈信息。", "jvm_diagnostic.completion.argument.thread.thread_id.label": "指定线程 ID", "jvm_diagnostic.completion.argument.trace.condition.documentation": "追加 trace 条件表达式。", "jvm_diagnostic.completion.argument.trace.condition.label": "条件过滤 '#cost > 100'", "jvm_diagnostic.completion.argument.trace.template.documentation": "跟踪慢方法调用链路。", "jvm_diagnostic.completion.argument.tt.list.documentation": "查看当前录制列表。", "jvm_diagnostic.completion.argument.tt.list.label": "查看记录列表 (-l)", "jvm_diagnostic.completion.argument.tt.record.documentation": "录制指定方法调用。", "jvm_diagnostic.completion.argument.tt.record.label": "tt 录制模板", "jvm_diagnostic.completion.argument.tt.replay.documentation": "查看指定记录详情。", "jvm_diagnostic.completion.argument.tt.replay.label": "回放记录 (-i)", "jvm_diagnostic.completion.argument.vmtool.get_instances.documentation": "获取指定类实例,高风险命令默认受策略限制。", "jvm_diagnostic.completion.argument.vmtool.get_instances.label": "vmtool getInstances", "jvm_diagnostic.completion.argument.watch.expand_depth.documentation": "设置对象展开层级。", "jvm_diagnostic.completion.argument.watch.expand_depth.label": "展开层级 -x 2", "jvm_diagnostic.completion.argument.watch.template.documentation": "观察入参、返回值或异常。", "jvm_diagnostic.completion.category.control": "控制命令", "jvm_diagnostic.completion.category.mutating": "高风险命令", "jvm_diagnostic.completion.category.observe": "观察类命令", "jvm_diagnostic.completion.category.trace": "跟踪类命令", "jvm_diagnostic.completion.command.classloader.documentation": "查看类加载器信息。", "jvm_diagnostic.completion.command.dashboard.documentation": "查看 JVM 运行总览。", "jvm_diagnostic.completion.command.jad.documentation": "反编译指定类。", "jvm_diagnostic.completion.command.jvm.documentation": "查看 JVM 内存、线程、类加载、GC 和运行参数信息。", "jvm_diagnostic.completion.command.monitor.documentation": "周期性统计方法调用。", "jvm_diagnostic.completion.command.ognl.documentation": "执行 OGNL 表达式,默认需要额外授权。", "jvm_diagnostic.completion.command.redefine.documentation": "重新定义类字节码。", "jvm_diagnostic.completion.command.retransform.documentation": "重新触发类转换。", "jvm_diagnostic.completion.command.sc.documentation": "搜索匹配类信息。", "jvm_diagnostic.completion.command.sm.documentation": "查看类的方法签名。", "jvm_diagnostic.completion.command.stack.documentation": "输出方法调用栈。", "jvm_diagnostic.completion.command.stop.documentation": "停止当前后台任务。", "jvm_diagnostic.completion.command.sysenv.documentation": "查看环境变量。", "jvm_diagnostic.completion.command.sysprop.documentation": "查看系统属性。", "jvm_diagnostic.completion.command.thread.documentation": "查看热点线程、线程栈和阻塞线程。", "jvm_diagnostic.completion.command.trace.documentation": "跟踪方法调用耗时路径。", "jvm_diagnostic.completion.command.tt.documentation": "方法时光隧道,记录和回放调用。", "jvm_diagnostic.completion.command.vmtool.documentation": "直接操作 JVM 对象或执行 VMTool 动作。", "jvm_diagnostic.completion.command.watch.documentation": "观察入参、返回值或异常。", "jvm_diagnostic.completion.detail.class_search_template": "类搜索模板", "jvm_diagnostic.completion.detail.classloader_template": "类加载器模板", "jvm_diagnostic.completion.detail.decompile_template": "反编译模板", "jvm_diagnostic.completion.detail.environment_variable_template": "环境变量模板", "jvm_diagnostic.completion.detail.execute_directly": "直接执行", "jvm_diagnostic.completion.detail.high_risk_template": "高风险模板", "jvm_diagnostic.completion.detail.method_search_template": "方法搜索模板", "jvm_diagnostic.completion.detail.monitor_template": "监控模板", "jvm_diagnostic.completion.detail.stack_template": "调用栈模板", "jvm_diagnostic.completion.detail.system_property_template": "系统属性模板", "jvm_diagnostic.completion.detail.thread_option": "线程参数", "jvm_diagnostic.completion.detail.time_tunnel_template": "时光隧道模板", "jvm_diagnostic.completion.detail.trace_option": "跟踪参数", "jvm_diagnostic.completion.detail.trace_template": "跟踪模板", "jvm_diagnostic.completion.detail.watch_option": "观察参数", "jvm_diagnostic.completion.detail.watch_template": "观察模板", "jvm_diagnostic.completion.preset.category.mutating": "高风险命令", "jvm_diagnostic.completion.preset.category.observe": "观察类命令", "jvm_diagnostic.completion.preset.category.trace": "跟踪类命令", "jvm_diagnostic.completion.preset.dashboard.documentation": "查看 JVM 运行总览。", "jvm_diagnostic.completion.preset.ognl-sample.documentation": "高风险表达式命令,默认只作示意。", "jvm_diagnostic.completion.preset.thread-top.documentation": "查看最繁忙线程,快速定位阻塞或高 CPU 线程。", "jvm_diagnostic.completion.preset.trace-slow-method.documentation": "跟踪慢方法调用路径。", "jvm_diagnostic.completion.preset.watch-return.documentation": "观察入参与返回值。", "jvm_diagnostic.connection_missing.message": "连接不存在或已被删除", "jvm_diagnostic.error.cancel_failed": "取消诊断命令失败", "jvm_diagnostic.error.cancel_unavailable": "JVMCancelDiagnosticCommand 后端方法不可用", "jvm_diagnostic.error.execute_command_required": "诊断命令不能为空", "jvm_diagnostic.error.execute_failed": "执行诊断命令失败", "jvm_diagnostic.error.execute_session_required": "请先创建诊断会话,再执行命令", "jvm_diagnostic.error.execute_unavailable": "JVMExecuteDiagnosticCommand 后端方法不可用", "jvm_diagnostic.error.history_load_failed": "加载诊断历史失败", "jvm_diagnostic.error.probe_failed": "检查诊断能力失败", "jvm_diagnostic.error.probe_unavailable": "JVMProbeDiagnosticCapabilities 后端方法不可用", "jvm_diagnostic.error.start_failed": "创建诊断会话失败", "jvm_diagnostic.error.start_unavailable": "JVMStartDiagnosticSession 后端方法不可用", "jvm_diagnostic.history.current_session": "当前会话", "jvm_diagnostic.history.description": "最近命令和执行状态", "jvm_diagnostic.history.no_records": "尚无诊断历史", "jvm_diagnostic.history.no_session": "尚未建立诊断会话", "jvm_diagnostic.history.reason_missing": "未填写诊断原因", "jvm_diagnostic.history.recent_records": "最近记录", "jvm_diagnostic.history.title": "审计历史", "jvm_diagnostic.message.cancel_sent": "已发送取消请求", "jvm_diagnostic.no_session.action.probe": "先检查能力", "jvm_diagnostic.no_session.action.start": "新建诊断会话", "jvm_diagnostic.no_session.alert.description": "这样可以避免未绑定会话时误以为命令已经可执行,也能保证审计记录、输出流和取消命令都绑定到同一个会话。", "jvm_diagnostic.no_session.alert.title": "命令输入将在会话建立后显示", "jvm_diagnostic.no_session.description": "先建立会话,再显示命令编辑器和模板", "jvm_diagnostic.no_session.title": "开始一次诊断", "jvm_diagnostic.output.description": "按后端事件流追加显示", "jvm_diagnostic.output.empty.description": "暂无实时输出。命令执行后,这里会按时间顺序追加后端返回内容。", "jvm_diagnostic.output.frontend_completed_fallback": "诊断命令调用已返回,但未收到后端终态事件,前端已兜底结束等待状态。", "jvm_diagnostic.output.local_pending": "已提交诊断命令,等待后端输出:{{command}}", "jvm_diagnostic.output.title": "实时输出", "jvm_diagnostic.presentation.category.mutating": "高风险命令", "jvm_diagnostic.presentation.category.observe": "观察类命令", "jvm_diagnostic.presentation.category.trace": "跟踪类命令", "jvm_diagnostic.presentation.chunk.empty_event": "空事件", "jvm_diagnostic.presentation.command_type.mutating": "高风险类", "jvm_diagnostic.presentation.command_type.observe": "观察类", "jvm_diagnostic.presentation.command_type.trace": "跟踪类", "jvm_diagnostic.presentation.event.chunk": "输出片段", "jvm_diagnostic.presentation.event.diagnostic": "诊断输出", "jvm_diagnostic.presentation.event.done": "执行结束", "jvm_diagnostic.presentation.fallback.unknown": "未知", "jvm_diagnostic.presentation.phase.canceled": "取消完成", "jvm_diagnostic.presentation.phase.canceling": "取消中", "jvm_diagnostic.presentation.phase.completed": "已完成", "jvm_diagnostic.presentation.phase.diagnostic": "诊断事件", "jvm_diagnostic.presentation.phase.failed": "失败", "jvm_diagnostic.presentation.phase.running": "执行中", "jvm_diagnostic.presentation.risk.high": "高风险", "jvm_diagnostic.presentation.risk.low": "低风险", "jvm_diagnostic.presentation.risk.medium": "中风险", "jvm_diagnostic.presentation.source.ai_plan": "AI 计划", "jvm_diagnostic.presentation.source.manual": "手动输入", "jvm_diagnostic.presentation.transport.agent_bridge": "Agent Bridge", "jvm_diagnostic.presentation.transport.arthas_tunnel": "Arthas Tunnel", "jvm_diagnostic.session_capability.action.clear_output": "清空输出", "jvm_diagnostic.session_capability.action.refresh_history": "刷新历史", "jvm_diagnostic.session_capability.description": "当前通道、权限与快捷维护", "jvm_diagnostic.session_capability.note": "检查能力不会执行命令;执行命令前必须先建会话。审计历史展示最近命令记录,未建会话时也可能包含过去会话的记录。", "jvm_diagnostic.session_capability.session_id_hint": "创建会话后会在这里显示会话 ID。", "jvm_diagnostic.session_capability.status.command_running": "命令执行中", "jvm_diagnostic.session_capability.status.idle": "空闲", "jvm_diagnostic.session_capability.status.no_session": "未建会话", "jvm_diagnostic.session_capability.status.session_established": "会话已建立", "jvm_diagnostic.session_capability.title": "会话与能力", "jvm_diagnostic.session.default_reason": "控制台启动会话", "jvm_diagnostic.session.default_title": "JVM 诊断控制台", "jvm_diagnostic.workbench.action.cancel_command": "取消命令", "jvm_diagnostic.workbench.action.execute_command": "执行命令", "jvm_diagnostic.workbench.action.probe": "检查能力", "jvm_diagnostic.workbench.action.restart_session": "重建会话", "jvm_diagnostic.workbench.action.start_session": "新建会话", "jvm_diagnostic.workbench.eyebrow": "JVM 诊断", "jvm_diagnostic.workbench.status.command_running": "命令执行中", "jvm_diagnostic.workbench.status.no_session": "未建会话", "jvm_diagnostic.workbench.status.session_established": "会话已建立", "jvm_diagnostic.workbench.title": "JVM 诊断工作台", "jvm_diagnostic.workflow.command.description": "会话建立后显示命令编辑器、原因输入与模板。", "jvm_diagnostic.workflow.command.title": "执行命令", "jvm_diagnostic.workflow.probe.description": "只读取诊断通道、流式输出与命令权限,不创建会话。", "jvm_diagnostic.workflow.probe.title": "检查能力", "jvm_diagnostic.workflow.session.description": "创建诊断上下文,后续命令都会绑定到这个会话。", "jvm_diagnostic.workflow.session.title": "新建会话", "jvm_monitoring_charts.empty.classes.metric_unavailable": "当前监控来源未提供类加载指标", "jvm_monitoring_charts.empty.classes.no_samples": "暂无类加载采样数据", "jvm_monitoring_charts.empty.gc.metric_unavailable": "当前监控来源未提供垃圾回收指标", "jvm_monitoring_charts.empty.gc.no_samples": "暂无垃圾回收采样数据", "jvm_monitoring_charts.empty.heap.metric_unavailable": "当前监控来源未提供堆内存指标", "jvm_monitoring_charts.empty.heap.no_samples": "暂无堆内存采样数据", "jvm_monitoring_charts.empty.threads.metric_unavailable": "当前监控来源未提供线程指标", "jvm_monitoring_charts.empty.threads.no_samples": "暂无线程采样数据", "jvm_monitoring_charts.legend.daemon_thread_count": "守护线程数", "jvm_monitoring_charts.legend.gc_count": "垃圾回收次数", "jvm_monitoring_charts.legend.gc_time_ms": "垃圾回收耗时(ms)", "jvm_monitoring_charts.legend.heap_committed": "堆内存已提交", "jvm_monitoring_charts.legend.heap_used": "堆内存已使用", "jvm_monitoring_charts.legend.loaded_classes": "已加载类", "jvm_monitoring_charts.legend.peak_thread_count": "线程峰值", "jvm_monitoring_charts.legend.thread_count": "线程数", "jvm_monitoring_charts.legend.unloaded_classes": "已卸载类", "jvm_monitoring_charts.title.classes": "类加载", "jvm_monitoring_charts.title.gc": "垃圾回收", "jvm_monitoring_charts.title.heap": "堆内存", "jvm_monitoring_charts.title.threads": "线程", "jvm_monitoring_dashboard.action.refresh": "刷新", "jvm_monitoring_dashboard.action.start": "开始监控", "jvm_monitoring_dashboard.action.stop": "停止监控", "jvm_monitoring_dashboard.connection_missing.message": "连接不存在或已被删除", "jvm_monitoring_dashboard.degraded.message": "监控能力存在降级", "jvm_monitoring_dashboard.empty.description": "点击“开始监控”后,GoNavi 会在当前会话内持续保留该连接的采样结果;切换页签不会停止采样。", "jvm_monitoring_dashboard.empty.title": "当前尚未开始持续监控", "jvm_monitoring_dashboard.error.history_load_failed": "读取监控历史失败", "jvm_monitoring_dashboard.error.history_unavailable": "JVMGetMonitoringHistory 后端方法不可用", "jvm_monitoring_dashboard.error.start_failed": "开始监控失败", "jvm_monitoring_dashboard.error.start_unavailable": "JVMStartMonitoring 后端方法不可用", "jvm_monitoring_dashboard.error.stop_failed": "停止监控失败", "jvm_monitoring_dashboard.error.stop_unavailable": "JVMStopMonitoring 后端方法不可用", "jvm_monitoring_dashboard.status.sampling": "采样中", "jvm_monitoring_dashboard.status.stopped": "未运行", "jvm_monitoring_dashboard.title": "JVM 持续监控", "jvm_monitoring_detail_panel.empty.gc_events_unavailable": "当前监控来源未提供事件级垃圾回收数据", "jvm_monitoring_detail_panel.empty.recent_gc_events": "最近窗口暂无垃圾回收事件", "jvm_monitoring_detail_panel.empty.thread_states": "暂无线程状态采样", "jvm_monitoring_detail_panel.field.process_cpu": "进程 CPU", "jvm_monitoring_detail_panel.field.process_physical_memory": "进程物理内存", "jvm_monitoring_detail_panel.field.process_virtual_memory": "进程虚拟内存", "jvm_monitoring_detail_panel.field.system_cpu": "系统 CPU", "jvm_monitoring_detail_panel.gc.after": "回收后", "jvm_monitoring_detail_panel.gc.before": "回收前", "jvm_monitoring_detail_panel.memory_missing.default": "当前监控来源未返回进程驻留物理内存指标;请确认 HTTP 端点或增强代理已采集并上报进程物理内存。", "jvm_monitoring_detail_panel.memory_missing.jmx": "JMX 连接未暴露进程驻留物理内存属性,当前只能读取进程虚拟内存指标;如需进程物理内存,请切换到 HTTP 端点或增强代理采集。", "jvm_monitoring_detail_panel.memory_missing.title": "进程物理内存缺失原因", "jvm_monitoring_detail_panel.title.capabilities_and_degradation": "能力与降级", "jvm_monitoring_detail_panel.title.recent_gc_details": "最近垃圾回收明细", "jvm_monitoring_detail_panel.title.thread_state_distribution": "线程状态分布", "jvm_monitoring_detail_panel.title.troubleshooting_metrics": "排障指标", "jvm_monitoring_presentation.availability.missing_metrics": "缺失指标:{{metrics}}", "jvm_monitoring_presentation.availability.no_obvious_degradation": "当前监控会话未发现明显降级。", "jvm_monitoring_presentation.availability.provider_warnings": "监控来源告警:{{warnings}}", "jvm_monitoring_presentation.metric.class_loading": "类加载", "jvm_monitoring_presentation.metric.cpu_process": "进程 CPU", "jvm_monitoring_presentation.metric.cpu_system": "系统 CPU", "jvm_monitoring_presentation.metric.gc_count": "垃圾回收次数", "jvm_monitoring_presentation.metric.gc_events": "最近垃圾回收事件", "jvm_monitoring_presentation.metric.gc_time": "垃圾回收耗时", "jvm_monitoring_presentation.metric.heap_non_heap": "非堆内存", "jvm_monitoring_presentation.metric.heap_used": "堆内存", "jvm_monitoring_presentation.metric.memory_rss": "进程物理内存", "jvm_monitoring_presentation.metric.memory_virtual": "进程虚拟内存", "jvm_monitoring_presentation.metric.thread_count": "线程数", "jvm_monitoring_presentation.metric.thread_states": "线程状态", "jvm_monitoring_presentation.thread_state.blocked": "阻塞", "jvm_monitoring_presentation.thread_state.new": "新建", "jvm_monitoring_presentation.thread_state.runnable": "可运行", "jvm_monitoring_presentation.thread_state.terminated": "已终止", "jvm_monitoring_presentation.thread_state.timed_waiting": "限时等待", "jvm_monitoring_presentation.thread_state.waiting": "等待中", "jvm_monitoring_status_cards.meta.gc_total_time": "累计 {{value}}", "jvm_monitoring_status_cards.meta.heap_committed": "已提交 {{value}}", "jvm_monitoring_status_cards.meta.thread_peak": "峰值 {{value}}", "jvm_monitoring_status_cards.meta.waiting_samples": "等待采样", "jvm_monitoring_status_cards.status.sampling": "采样中", "jvm_monitoring_status_cards.status.stopped": "未运行", "jvm_monitoring_status_cards.thread_state.runnable_count": "可运行 {{count}}", "jvm_monitoring_status_cards.title.classes": "类加载", "jvm_monitoring_status_cards.title.gc_pressure": "垃圾回收压力", "jvm_monitoring_status_cards.title.heap": "堆内存", "jvm_monitoring_status_cards.title.threads": "线程", "jvm_overview.badge.read_only": "只读连接", "jvm_overview.badge.writable": "可写连接", "jvm_overview.capability.can_browse": "可浏览", "jvm_overview.capability.cannot_browse": "不可浏览", "jvm_overview.capability.preview_supported": "支持预览", "jvm_overview.capability.preview_unsupported": "不支持预览", "jvm_overview.capability.read_only": "只读", "jvm_overview.capability.writable": "可写", "jvm_overview.card.connection_summary": "连接摘要", "jvm_overview.card.mode_capability": "模式能力", "jvm_overview.connection_missing.message": "连接不存在或已被删除", "jvm_overview.empty.capabilities": "暂无模式能力数据", "jvm_overview.error.capability_load_failed": "读取 JVM 模式能力失败", "jvm_overview.eyebrow": "JVM 运行时", "jvm_overview.field.agent": "Agent", "jvm_overview.field.allowed_modes": "允许模式", "jvm_overview.field.current_mode": "当前模式", "jvm_overview.field.endpoint": "Endpoint", "jvm_overview.field.jmx_address": "JMX 地址", "jvm_overview.field.resource_browse": "资源浏览", "jvm_overview.title": "JVM 运行时概览", "jvm_overview.value.enabled": "已启用", "jvm_overview.value.not_configured": "未配置", "jvm_overview.value.resource_browse_lazy_load": "通过侧边栏展开模式节点后懒加载", "jvm_resource.action.ask_ai_plan": "让 AI 生成计划", "jvm_resource.action.audit": "审计记录", "jvm_resource.action.generate_ai_plan": "AI 生成计划", "jvm_resource.action.preview_change": "预览变更", "jvm_resource.badge.read_only": "只读连接", "jvm_resource.badge.writable": "可写连接", "jvm_resource.card.change_draft": "变更草稿", "jvm_resource.card.snapshot": "资源快照", "jvm_resource.draft_source.ai_plan": "AI 辅助草稿", "jvm_resource.draft_source.manual": "手工编辑", "jvm_resource.empty.no_resource_data": "暂无资源数据", "jvm_resource.error.ai_plan_context_mismatch": "当前 JVM 页签与 AI 计划的来源上下文不一致,已拒绝自动应用。", "jvm_resource.error.ai_plan_missing_context": "AI 计划缺少来源上下文,请在目标 JVM 资源页重新生成后再应用。", "jvm_resource.error.ai_plan_to_draft_failed": "AI 计划暂时无法转换为 JVM 预览草稿", "jvm_resource.error.apply_failed": "执行 JVM 变更失败", "jvm_resource.error.apply_unavailable": "JVMApplyChange 后端方法不可用", "jvm_resource.error.confirmation_missing": "确认令牌缺失,请重新预览后再执行", "jvm_resource.error.connection_missing": "连接不存在或已被删除", "jvm_resource.error.context_changed": "资源上下文已变化,请重新预览后再执行", "jvm_resource.error.draft_invalid": "变更草稿不合法", "jvm_resource.error.get_value_unavailable": "JVMGetValue 后端方法不可用", "jvm_resource.error.payload_object_required": "Payload 必须是 JSON 对象", "jvm_resource.error.preview_failed": "预览 JVM 变更失败", "jvm_resource.error.preview_required": "请先预览变更,再确认执行", "jvm_resource.error.preview_result_invalid": "预览结果格式不正确", "jvm_resource.error.preview_unavailable": "JVMPreviewChange 后端方法不可用", "jvm_resource.error.read_failed": "读取 JVM 资源失败", "jvm_resource.error.reason_required": "请填写变更原因", "jvm_resource.error.resource_id_empty": "资源 ID 为空,无法生成变更草稿", "jvm_resource.error.resource_path_empty": "资源路径为空", "jvm_resource.field.action": "动作", "jvm_resource.field.available_actions": "可用动作", "jvm_resource.field.draft_source": "草稿来源", "jvm_resource.field.format": "格式", "jvm_resource.field.payload": "Payload(JSON)", "jvm_resource.field.payload_fields": "Payload 字段:", "jvm_resource.field.reason": "变更原因", "jvm_resource.field.resource_id": "资源 ID", "jvm_resource.field.resource_path": "资源路径", "jvm_resource.field.resource_type": "资源类型", "jvm_resource.field.resource_version": "资源版本", "jvm_resource.field.target_resource": "目标资源", "jvm_resource.field.version": "版本", "jvm_resource.list_separator": "、", "jvm_resource.marker.required_suffix": "(必填)", "jvm_resource.message.ai_plan_draft_filled": "已从 AI 计划填充草稿,目标资源为 {{resourceId}},请先执行“预览变更”再确认写入。", "jvm_resource.message.apply_success": "JVM 变更已执行", "jvm_resource.message.current_action": "当前动作:", "jvm_resource.message.payload_hint": "预览会使用当前草稿;确认执行会使用最近一次成功预览的请求,修改草稿后请重新预览。", "jvm_resource.message.payload_template_applied": "已按当前动作填充推荐模板。", "jvm_resource.placeholder.action_default": "例如 put / clear / evict", "jvm_resource.placeholder.action_jmx": "例如 set 或 invoke", "jvm_resource.placeholder.reason": "填写本次 JVM 资源变更原因", "jvm_resource.presentation.action.clear.description": "清空当前 JVM 资源里的数据或状态。", "jvm_resource.presentation.action.clear.label": "清空资源", "jvm_resource.presentation.action.delete.description": "删除或注销当前资源。", "jvm_resource.presentation.action.delete.label": "删除资源", "jvm_resource.presentation.action.evict.description": "将目标缓存项从当前 JVM 运行时中驱逐。", "jvm_resource.presentation.action.evict.label": "驱逐缓存", "jvm_resource.presentation.action.invoke.description": "调用当前资源暴露的管理操作。", "jvm_resource.presentation.action.invoke.label": "调用操作", "jvm_resource.presentation.action.put.description": "将 payload 内容写入当前 JVM 资源。", "jvm_resource.presentation.action.put.label": "写入资源", "jvm_resource.presentation.action.refresh.description": "刷新当前资源的运行时状态。", "jvm_resource.presentation.action.refresh.label": "刷新资源", "jvm_resource.presentation.action.reload.description": "重新加载当前资源或其配置。", "jvm_resource.presentation.action.reload.label": "重新加载", "jvm_resource.presentation.action.remove.description": "删除当前资源中的指定条目。", "jvm_resource.presentation.action.remove.label": "删除条目", "jvm_resource.presentation.action.reset.description": "将当前资源恢复到初始或默认状态。", "jvm_resource.presentation.action.reset.label": "重置状态", "jvm_resource.presentation.action.set.description": "更新当前资源暴露的可写属性值。", "jvm_resource.presentation.action.set.label": "设置属性", "jvm_resource.presentation.audit_result.applied": "已执行", "jvm_resource.presentation.audit_result.blocked": "已阻断", "jvm_resource.presentation.audit_result.failed": "失败", "jvm_resource.presentation.audit_result.success": "成功", "jvm_resource.presentation.audit_result.unknown": "未知", "jvm_resource.presentation.audit_result.warning": "警告", "jvm_resource.presentation.risk.high": "高", "jvm_resource.presentation.risk.low": "低", "jvm_resource.presentation.risk.medium": "中", "jvm_resource.presentation.risk.unknown": "未知", "jvm_resource.presentation.unnamed_action": "未命名动作", "jvm_resource.section.metadata": "元数据", "jvm_resource.section.resource_value": "资源值", "jvm_resource.section.supported_actions": "资源支持动作", "jvm_resource.title": "JVM 资源工作台", "jvm.backend.capability.reason.read_only": "当前连接只读", "jvm.backend.connection_error.agent.base_url_invalid.help": "请填写完整的 `http://` 或 `https://` 地址,例如 `http://127.0.0.1:19090/gonavi/agent/jvm`。", "jvm.backend.connection_error.agent.base_url_invalid.summary": "Agent 连接失败:Agent Base URL 格式不合法。", "jvm.backend.connection_error.agent.base_url_required": "Agent 连接失败:未填写 Agent Base URL。", "jvm.backend.connection_error.agent.connection_refused.help": "请确认 Java 服务已通过 `-javaagent` 启动 GoNavi Agent,并检查 Base URL、端口映射和防火墙。", "jvm.backend.connection_error.agent.connection_refused.summary": "Agent 连接失败:目标 Agent 管理端口未监听,或当前地址不可达。", "jvm.backend.connection_error.agent.forbidden.help": "请确认当前客户端来源、鉴权配置和 Agent 访问策略允许 GoNavi 访问。", "jvm.backend.connection_error.agent.forbidden.summary": "Agent 连接失败:当前请求被 Agent 拒绝。", "jvm.backend.connection_error.agent.scheme_unsupported.help": "请把 Agent Base URL 改成 `http://` 或 `https://` 开头的地址。", "jvm.backend.connection_error.agent.scheme_unsupported.summary": "Agent 连接失败:当前只支持 HTTP 或 HTTPS 协议。", "jvm.backend.connection_error.agent.timeout.help": "请确认目标地址可达、Agent 已完成启动,并适当增加连接超时时间。", "jvm.backend.connection_error.agent.timeout.summary": "Agent 连接失败:访问 Agent 管理端口超时。", "jvm.backend.connection_error.agent.unauthorized.help": "请检查连接中的 Agent API Key 是否与目标服务启动参数一致。", "jvm.backend.connection_error.agent.unauthorized.summary": "Agent 连接失败:Agent 已响应,但当前 API Key 无效或缺失。", "jvm.backend.connection_error.endpoint.base_url_invalid.help": "请填写完整的 `http://` 或 `https://` 地址,并指向实现 GoNavi JVM HTTP 合约的管理接口根路径,例如 `http://127.0.0.1:19090/manage/jvm`。", "jvm.backend.connection_error.endpoint.base_url_invalid.summary": "Endpoint 连接失败:Endpoint Base URL 格式不合法。", "jvm.backend.connection_error.endpoint.base_url_required": "Endpoint 连接失败:未填写 Endpoint Base URL。", "jvm.backend.connection_error.endpoint.connection_refused.help": "请确认 Base URL 指向实现 GoNavi JVM HTTP 合约的管理接口,并检查服务监听、端口映射和防火墙。", "jvm.backend.connection_error.endpoint.connection_refused.summary": "Endpoint 连接失败:目标管理接口未监听,或当前地址不可达。", "jvm.backend.connection_error.endpoint.forbidden.help": "请确认当前客户端来源、鉴权配置和访问策略允许 GoNavi 访问该管理接口。", "jvm.backend.connection_error.endpoint.forbidden.summary": "Endpoint 连接失败:当前请求被目标管理接口拒绝。", "jvm.backend.connection_error.endpoint.not_found.help": "请确认 Base URL 指向的是 JVM 管理接口根路径,而不是普通业务接口、健康检查地址或网关首页。", "jvm.backend.connection_error.endpoint.not_found.summary": "Endpoint 连接失败:目标地址已响应,但没有找到 GoNavi JVM 管理接口。", "jvm.backend.connection_error.endpoint.scheme_unsupported.help": "请把 Endpoint Base URL 改成 `http://` 或 `https://` 开头的地址。", "jvm.backend.connection_error.endpoint.scheme_unsupported.summary": "Endpoint 连接失败:当前只支持 HTTP 或 HTTPS 协议。", "jvm.backend.connection_error.endpoint.timeout.help": "请确认 Base URL 可达、目标服务已完成启动,并适当增加连接超时时间。", "jvm.backend.connection_error.endpoint.timeout.summary": "Endpoint 连接失败:访问目标管理接口超时。", "jvm.backend.connection_error.endpoint.unauthorized.help": "请检查连接中的 Endpoint API Key 是否与目标服务配置一致。", "jvm.backend.connection_error.endpoint.unauthorized.summary": "Endpoint 连接失败:目标管理接口已响应,但当前 API Key 无效或缺失。", "jvm.backend.connection_error.generic": "JVM 连接失败", "jvm.backend.connection_error.jmx.auth.help": "请确认目标 JMX 是否关闭认证;如果必须认证,需要补充用户名/密码后再连接。", "jvm.backend.connection_error.jmx.auth.summary": "JMX 连接失败:{{target}} 需要认证,或当前凭据不可用。", "jvm.backend.connection_error.jmx.connection_refused.help": "请确认目标 JVM 已开启远程 JMX,并检查主机、防火墙、端口映射和 SSH/代理配置。", "jvm.backend.connection_error.jmx.connection_refused.summary": "JMX 连接失败:无法连接到 {{target}},对应端口没有监听或当前网络不可达。", "jvm.backend.connection_error.jmx.connection_reset.help": "请确认填写的是 JVM 真正对外暴露的 JMX 端口,而不是业务端口、调试端口或被代理转发的端口。", "jvm.backend.connection_error.jmx.connection_reset.summary": "JMX 连接失败:{{target}} 上的服务主动断开了连接,当前端口不是兼容的标准 JMX RMI 端口。", "jvm.backend.connection_error.jmx.host_required": "JMX 连接失败:未填写主机地址。", "jvm.backend.connection_error.jmx.java_missing.help": "请先安装 JRE/JDK,或通过环境变量 `GONAVI_JMX_JAVA_BIN` 指向正确的 `java` 可执行文件。", "jvm.backend.connection_error.jmx.java_missing.summary": "JMX 连接失败:当前机器未找到 `java` 运行时,GoNavi 无法启动 JMX helper。", "jvm.backend.connection_error.jmx.no_such_object.help": "这通常意味着填到了 RMI 注册端口、调试端口或其他 Java 服务端口。请检查 `jmxremote.port` 和 `jmxremote.rmi.port` 配置是否正确。", "jvm.backend.connection_error.jmx.no_such_object.summary": "JMX 连接失败:{{target}} 上虽然有 RMI 服务,但不是可用的 JMX RMIServer 端口。", "jvm.backend.connection_error.jmx.non_jrmp.help": "请改填应用实际暴露的 JMX 端口,而不是业务 `server.port`。如果服务只开启了 `-Dcom.sun.management.jmxremote`,但没有配置 `jmxremote.port`,也无法直接远程连接。", "jvm.backend.connection_error.jmx.non_jrmp.summary": "JMX 连接失败:{{target}} 不是标准 JMX 远程管理端口,当前更像普通业务端口或 HTTP 端口。", "jvm.backend.connection_error.jmx.port_invalid": "JMX 连接失败:端口无效,请填写 1-65535 之间的有效端口。", "jvm.backend.connection_error.jmx.timeout.help": "请确认端口可达、网络未被拦截,并适当增加连接超时时间。", "jvm.backend.connection_error.jmx.timeout.summary": "JMX 连接失败:连接 {{target}} 超时。", "jvm.backend.connection_error.suggestion": "建议:{{detail}}", "jvm.backend.connection_error.technical_detail": "技术细节:{{detail}}", "jvm.backend.diagnostic.arthas.base_url_invalid": "Arthas Tunnel 地址格式不正确:{{detail}}", "jvm.backend.diagnostic.arthas.base_url_required": "Arthas Tunnel 地址不能为空", "jvm.backend.diagnostic.arthas.cancel_command_mismatch": "当前 Arthas Tunnel 会话的活动命令与待取消命令不一致", "jvm.backend.diagnostic.arthas.command_already_running": "当前 Arthas Tunnel 会话已有命令在执行,请先等待完成或取消", "jvm.backend.diagnostic.arthas.command_canceled": "Arthas Tunnel 命令已中止", "jvm.backend.diagnostic.arthas.command_timeout": "Arthas Tunnel 命令执行超时,{{timeout}} 内未完成", "jvm.backend.diagnostic.arthas.connect_canceled": "建立 Arthas Tunnel WebSocket 连接已中止", "jvm.backend.diagnostic.arthas.connect_failed": "建立 Arthas Tunnel WebSocket 连接失败:{{detail}}", "jvm.backend.diagnostic.arthas.connect_timeout": "建立 Arthas Tunnel WebSocket 连接超时,{{timeout}} 内未收到响应", "jvm.backend.diagnostic.arthas.connection_closed": "Arthas Tunnel 连接已关闭:{{detail}}", "jvm.backend.diagnostic.arthas.connection_closed_code": "Arthas Tunnel 连接已关闭:code={{code}}", "jvm.backend.diagnostic.arthas.connection_not_ready": "Arthas Tunnel 连接尚未建立完成,请稍后重试", "jvm.backend.diagnostic.arthas.http_failed": "Arthas Tunnel 连接失败:HTTP {{status}}", "jvm.backend.diagnostic.arthas.no_running_command": "当前 Arthas Tunnel 会话没有正在执行的命令", "jvm.backend.diagnostic.arthas.read_canceled": "读取 Arthas Tunnel 输出已中止", "jvm.backend.diagnostic.arthas.read_deadline_failed": "Arthas Tunnel 读取超时设置失败:{{detail}}", "jvm.backend.diagnostic.arthas.read_failed": "读取 Arthas Tunnel 输出失败:{{detail}}", "jvm.backend.diagnostic.arthas.read_timeout": "读取 Arthas Tunnel 输出超时,{{timeout}} 内未收到响应", "jvm.backend.diagnostic.arthas.request_encode_failed": "Arthas Tunnel 请求编码失败:{{detail}}", "jvm.backend.diagnostic.arthas.scheme_unsupported": "Arthas Tunnel 仅支持 http/https/ws/wss 地址:{{scheme}}", "jvm.backend.diagnostic.arthas.send_canceled": "向 Arthas Tunnel 发送终端指令已中止", "jvm.backend.diagnostic.arthas.send_failed": "向 Arthas Tunnel 发送终端指令失败:{{detail}}", "jvm.backend.diagnostic.arthas.send_timeout": "向 Arthas Tunnel 发送终端指令超时,{{timeout}} 内未收到响应", "jvm.backend.diagnostic.arthas.session_config_changed": "Arthas Tunnel 会话配置已变化,请重新创建诊断会话", "jvm.backend.diagnostic.arthas.session_missing": "诊断会话不存在,请重新创建 Arthas Tunnel 会话", "jvm.backend.diagnostic.arthas.target_id_required": "Arthas Tunnel 需要填写目标实例标识(targetId / agentId)", "jvm.backend.diagnostic.arthas.target_not_found": "找不到目标实例,请确认 targetId / agentId 是否填写正确,且对应 tunnel client 已在线", "jvm.backend.diagnostic.arthas.target_not_found_with_id": "找不到目标实例 {{target}},请确认 targetId / agentId 是否填写正确,且对应 tunnel client 已在线", "jvm.backend.diagnostic.arthas.terminal_command_encode_failed": "Arthas Tunnel 终端指令编码失败:{{detail}}", "jvm.backend.diagnostic.arthas.write_deadline_failed": "Arthas Tunnel 写入超时设置失败:{{detail}}", "jvm.backend.diagnostic.error.audit_write_blocked": "诊断审计记录写入失败,已阻止命令执行: {{detail}}", "jvm.backend.diagnostic.error.cancel_identifiers_required": "取消命令缺少 sessionId 或 commandId", "jvm.backend.diagnostic.error.command_required": "诊断命令不能为空", "jvm.backend.diagnostic.error.disabled": "当前连接未启用 JVM 诊断增强模式", "jvm.backend.diagnostic.error.execute_canceled": "诊断执行请求已中止:{{detail}}", "jvm.backend.diagnostic.error.session_id_required": "诊断会话 ID 不能为空,请先创建会话", "jvm.backend.diagnostic.error.transport_unsupported": "不支持的 JVM 诊断传输模式:{{transport}}", "jvm.backend.diagnostic.message.arthas_command_canceled": "Arthas 命令已中止", "jvm.backend.diagnostic.message.arthas_command_completed": "Arthas 命令执行完成", "jvm.backend.diagnostic.message.cancel_requested": "已发送取消请求,等待诊断桥接端结束命令", "jvm.backend.diagnostic.message.command_completed": "诊断命令执行完成", "jvm.backend.diagnostic.policy.multiline_not_supported": "诊断命令不支持换行或多命令输入", "jvm.backend.diagnostic.policy.mutating_not_allowed": "当前连接未开放高风险诊断命令:{{command}}", "jvm.backend.diagnostic.policy.observe_not_allowed": "当前连接未开放观察类诊断命令:{{command}}", "jvm.backend.diagnostic.policy.read_only_observe_only": "当前连接为只读模式,仅允许观察类诊断命令", "jvm.backend.diagnostic.policy.trace_not_allowed": "当前连接未开放跟踪类诊断命令:{{command}}", "jvm.backend.diagnostic.warning.audit_write_failed": "审计记录写入失败: {{detail}}", "jvm.backend.error.audit_write_blocked": "审计记录写入失败,已阻止 JVM 变更: {{detail}}", "jvm.backend.error.change_action_required": "JVM 变更操作不能为空", "jvm.backend.error.change_blocked_by_guard": "当前变更被 Guard 拦截", "jvm.backend.error.change_blocked_read_only": "当前连接为只读,禁止写入", "jvm.backend.error.change_confirmation_token_failed": "生成 JVM 变更确认令牌失败: {{detail}}", "jvm.backend.error.change_reason_required": "JVM 变更原因不能为空", "jvm.backend.error.change_resource_id_required": "JVM 资源 ID 不能为空", "jvm.backend.error.confirmation_token_expired": "确认令牌已过期,请重新预览并确认", "jvm.backend.error.confirmation_token_invalid": "确认令牌无效,请重新预览并确认", "jvm.backend.error.confirmation_token_missing": "缺少确认令牌,请先完成预览确认", "jvm.backend.error.disallowed_mode": "当前连接不允许使用 {{mode}} 模式", "jvm.backend.error.preview_confirmation_missing": "预览确认令牌缺失,请重新预览后再提交", "jvm.backend.error.preview_context_hash_failed": "生成 JVM 预览上下文失败: {{detail}}", "jvm.backend.error.preview_payload_hash_failed": "生成 JVM 预览载荷摘要失败: {{detail}}", "jvm.backend.error.resource_path_invalid": "JVM 资源路径无效: {{detail}}", "jvm.backend.message.connect_success": "JVM 连接成功", "jvm.backend.monitoring.error.session_not_found": "未找到 {{connectionId}} {{providerMode}} 的 JVM 监控会话", "jvm.backend.monitoring.error.snapshot_unsupported": "{{provider}} 监控快照暂未支持", "jvm.backend.monitoring.warning.sample_auto_stopped": "监控采样连续失败 {{count}} 次,已自动停止本次监控会话", "jvm.backend.separator.message_warning": ";", "jvm.backend.warning.failed_audit_write_failed": "失败审计写入失败: {{detail}}", "jvm.backend.warning.terminal_audit_write_failed": "终态审计写入失败: {{detail}}", "log_panel.action.clear": "清空日志", "log_panel.action.close": "关闭面板", "log_panel.affected_rows": "影响行数:{{count}}", "log_panel.column.duration": "耗时", "log_panel.column.sql_message": "SQL / 消息", "log_panel.column.status": "状态", "log_panel.column.time": "时间", "log_panel.description": "记录执行状态、耗时与错误信息,便于快速回溯。", "log_panel.empty": "暂无 SQL 执行日志", "log_panel.short_title": "日志", "log_panel.title": "SQL 执行日志", "message_publish_modal.action.send": "发送", "message_publish_modal.error.build_command_failed": "构造发送命令失败", "message_publish_modal.error.send_failed_detail": "发送失败:{{detail}}", "message_publish_modal.error.unknown_error": "未知错误", "message_publish_modal.field.body_mode.label": "消息体类型", "message_publish_modal.field.body.extra": "JSON 模式下需输入合法 JSON;文本模式按原样发送。", "message_publish_modal.field.body.label": "消息体", "message_publish_modal.field.body.placeholder": "请输入消息体", "message_publish_modal.field.body.required": "请输入消息体", "message_publish_modal.field.delay_level.extra": "RocketMQ 使用固定延时级别,0 表示立即发送。", "message_publish_modal.field.delay_level.label": "Delay Level(可选)", "message_publish_modal.field.exchange.extra": "留空使用默认交换机;若填写自定义交换机,请确认目标 Queue 已建立 binding。", "message_publish_modal.field.exchange.label": "Exchange(可选)", "message_publish_modal.field.exchange.placeholder": "例如:events.topic", "message_publish_modal.field.headers.extra": "需为 JSON 对象,例如 {{example}}。", "message_publish_modal.field.headers.label": "Headers(可选)", "message_publish_modal.field.properties.extra": "需为 JSON 对象,例如 {{example}}。", "message_publish_modal.field.properties.label": "Properties(可选)", "message_publish_modal.field.qos.extra": "0 为 at most once,1 为 at least once,2 为 exactly once。", "message_publish_modal.field.retain.label": "Retain 消息", "message_publish_modal.field.routing_key.extra": "留空时默认使用当前 Queue 名。", "message_publish_modal.field.routing_key.label": "Routing Key(可选)", "message_publish_modal.field.routing_key.placeholder": "例如:orders.queue", "message_publish_modal.field.tag.extra": "留空表示不过滤或不写入 Tag。", "message_publish_modal.field.tag.label": "Tag(可选)", "message_publish_modal.footer.success_prefix": "发送成功后会返回", "message_publish_modal.footer.success_suffix": ",用于确认本次测试消息是否已提交。", "message_publish_modal.option.no_delay": "不延时", "message_publish_modal.option.text": "文本", "message_publish_modal.title": "测试发送消息", "message_publish_modal.title_with_connection": "测试发送消息 · {{connectionName}}", "message_publish.error.destination_required": "请输入目标 Topic / Queue", "message_publish.error.invalid_json_detail": "{{field}}不是合法 JSON:{{detail}}", "message_publish.error.json_object_required": "{{field}} 必须是 JSON 对象", "message_publish.error.mqtt_wildcard_topic": "MQTT 发送 Topic 不能包含 + 或 # 通配符", "message_publish.error.required_field": "请输入{{field}}", "message_publish.error.unsupported_type": "当前数据源暂不支持测试发送消息:{{type}}", "message_publish.field.body": "消息体", "message_publish.field.message_key": "消息 Key", "message_publish.presentation.kafka.alert": "当前表单会自动拼装 Kafka publish JSON 命令,并直接调用后端执行测试发送。", "message_publish.presentation.kafka.destination_placeholder": "例如:orders.events", "message_publish.presentation.kafka.key_placeholder": "可留空;JSON 模式请输入一行合法 JSON", "message_publish.presentation.kafka.success_hint": "Headers 会作为 Kafka Record Headers 一并发送。", "message_publish.presentation.key_label": "消息 Key(可选)", "message_publish.presentation.keys_label": "消息 Keys(可选)", "message_publish.presentation.mqtt.alert": "当前表单会自动拼装 MQTT publish JSON 命令,并直接通过 broker 执行测试发送。", "message_publish.presentation.mqtt.destination_placeholder": "例如:devices/device-001/telemetry", "message_publish.presentation.mqtt.success_hint": "QoS 与 retain 可单独指定;未填写时沿用当前连接中的默认参数。", "message_publish.presentation.rabbitmq.alert": "当前表单会自动拼装 RabbitMQ publish JSON 命令,并通过 Management API 执行测试发送。", "message_publish.presentation.rabbitmq.destination_placeholder": "例如:orders.queue", "message_publish.presentation.rabbitmq.destination_required": "请输入 Queue", "message_publish.presentation.rabbitmq.success_hint": "留空 Exchange 时会使用默认交换机并按 Queue 名作为 routing key。", "message_publish.presentation.rocketmq.alert": "当前表单会自动拼装 RocketMQ publish JSON 命令,并通过 NameServer/Broker 执行测试发送。", "message_publish.presentation.rocketmq.destination_placeholder": "例如:orders.events", "message_publish.presentation.rocketmq.key_placeholder": "可输入多个 Key,使用逗号分隔", "message_publish.presentation.rocketmq.success_hint": "Tag、Keys、Delay Level 与 Properties 会一并写入 RocketMQ 消息属性。", "message_publish.presentation.rocketmq.tag_placeholder": "例如:TagA", "message_publish.presentation.topic_required": "请输入 Topic", "proxy.backend.error.host_empty": "代理主机为空", "proxy.backend.error.http_connect_failed": "连接 HTTP 代理失败:{{detail}}", "proxy.backend.error.http_connect_read_failed": "读取 HTTP CONNECT 响应失败:{{detail}}", "proxy.backend.error.http_connect_status_failed": "HTTP 代理 CONNECT 失败:{{status}}", "proxy.backend.error.http_connect_write_failed": "发送 HTTP CONNECT 请求失败:{{detail}}", "proxy.backend.error.listen_failed": "创建本地代理监听失败:{{detail}}", "proxy.backend.error.port_invalid": "代理端口无效:{{port}}", "proxy.backend.error.remote_addr_invalid": "无效的远端地址:{{address}}", "proxy.backend.error.socks5_connect_failed": "SOCKS5 代理连接失败:{{detail}}", "proxy.backend.error.socks5_dialer_failed": "创建 SOCKS5 代理拨号器失败:{{detail}}", "proxy.backend.error.unsupported_type": "不支持的代理类型:{{type}}", "query_editor.action.ai_explain_sql": "AI 解释 SQL", "query_editor.action.ai_explain_sql_menu": "解释 SQL", "query_editor.action.ai_generate_sql": "AI 生成 SQL", "query_editor.action.ai_generate_sql_menu": "生成 SQL", "query_editor.action.ai_optimize_sql": "AI 优化 SQL", "query_editor.action.ai_optimize_sql_menu": "优化 SQL", "query_editor.action.ai_schema_analysis": "Schema 分析", "query_editor.action.export_sql_file": "导出 SQL 文件", "query_editor.action.format": "美化", "query_editor.action.format_sql": "美化 SQL", "query_editor.action.hide_results_panel": "隐藏结果区", "query_editor.action.hide_results_panel_with_shortcut": "隐藏结果区({{shortcut}})", "query_editor.action.more": "更多", "query_editor.action.rename_query": "重命名查询", "query_editor.action.resize_editor": "拖动调整高度", "query_editor.action.results": "结果", "query_editor.action.run": "运行", "query_editor.action.run_with_shortcut": "运行({{shortcut}})", "query_editor.action.save": "保存", "query_editor.action.save_with_shortcut": "保存({{shortcut}})", "query_editor.action.show_object_info": "查看对象信息", "query_editor.action.show_results_panel": "显示结果区", "query_editor.action.show_results_panel_with_shortcut": "显示结果区({{shortcut}})", "query_editor.action.stop": "停止", "query_editor.ai_prompt.context": "上下文环境:{{type}} {{name}},当前库选定为 {{database}}。\n", "query_editor.ai_prompt.default_database": "默认", "query_editor.ai_prompt.default_source": "数据库", "query_editor.ai_prompt.diagnose": "我在执行以下 SQL 时遇到了错误:\n```sql\n{{sql}}\n```\n\n数据库报错信息如下:\n```text\n{{error}}\n```\n\n请帮我分析错误原因,并给出修改建议。", "query_editor.ai_prompt.explain": "请解释以下 SQL 语句的执行逻辑:\n```sql\n{{sql}}\n```", "query_editor.ai_prompt.generate": "请根据当前数据库表结构生成查询语句。", "query_editor.ai_prompt.optimize": "请分析以下 SQL 语句的性能并给出优化建议:\n```sql\n{{sql}}\n```", "query_editor.ai_prompt.schema": "请针对当前数据库的表结构进行系统分析,并给出性能和设计上的优化建议。", "query_editor.completion.action.absolute_value": "绝对值", "query_editor.completion.action.approximate_distinct": "近似去重", "query_editor.completion.action.approximate_distinct_count": "近似去重计数", "query_editor.completion.action.approximate_percentile": "近似百分位", "query_editor.completion.action.approximate_quantile": "近似分位数", "query_editor.completion.action.array_aggregation": "数组聚合", "query_editor.completion.action.array_length": "数组长度", "query_editor.completion.action.average": "平均值", "query_editor.completion.action.bitmap_aggregation": "Bitmap 聚合", "query_editor.completion.action.bitmap_construction": "构造 Bitmap", "query_editor.completion.action.bitmap_count": "Bitmap 计数", "query_editor.completion.action.boolean_and_aggregation": "布尔与聚合", "query_editor.completion.action.boolean_or_aggregation": "布尔或聚合", "query_editor.completion.action.character_length": "字符长度", "query_editor.completion.action.concat_with_separator": "带分隔符拼接", "query_editor.completion.action.concatenation": "拼接", "query_editor.completion.action.condition_mapping": "条件映射", "query_editor.completion.action.conditional_check": "条件判断", "query_editor.completion.action.count": "计数", "query_editor.completion.action.current_database": "当前数据库", "query_editor.completion.action.current_date": "当前日期", "query_editor.completion.action.current_date_time": "当前日期时间", "query_editor.completion.action.current_time": "当前时间", "query_editor.completion.action.current_timestamp": "当前时间戳", "query_editor.completion.action.current_user": "当前用户", "query_editor.completion.action.database_current_time": "数据库当前时间", "query_editor.completion.action.date_addition": "日期加法", "query_editor.completion.action.date_conversion": "转日期", "query_editor.completion.action.date_difference": "日期差", "query_editor.completion.action.date_field_extraction": "日期字段提取", "query_editor.completion.action.date_formatting": "日期格式化", "query_editor.completion.action.date_subtraction": "日期减法", "query_editor.completion.action.date_truncation": "日期截断", "query_editor.completion.action.date_value": "日期", "query_editor.completion.action.datetime_conversion": "转日期时间", "query_editor.completion.action.datetime_value": "日期时间", "query_editor.completion.action.decimal_truncation": "截断小数", "query_editor.completion.action.dense_rank": "连续排名", "query_editor.completion.action.distinct_array_aggregation": "去重数组聚合", "query_editor.completion.action.e_power": "e 的次方", "query_editor.completion.action.elapsed_time": "经过时间", "query_editor.completion.action.epoch_seconds": "时间戳秒数", "query_editor.completion.action.exact_distinct": "精确去重", "query_editor.completion.action.first_non_null": "返回第一个非 NULL", "query_editor.completion.action.first_value": "第一个值", "query_editor.completion.action.format_as_text": "格式化为文本", "query_editor.completion.action.group_concatenation": "分组拼接", "query_editor.completion.action.guid_generation": "生成 GUID", "query_editor.completion.action.hexadecimal": "十六进制", "query_editor.completion.action.high_precision_current_time": "高精度当前时间", "query_editor.completion.action.hll_aggregation": "HLL 聚合", "query_editor.completion.action.hll_hash": "HLL 哈希", "query_editor.completion.action.instant_rate_of_change": "瞬时变化率", "query_editor.completion.action.int64_conversion": "转 Int64", "query_editor.completion.action.interpolation": "插值", "query_editor.completion.action.json_string_extraction": "JSON 字符串提取", "query_editor.completion.action.json_unquote": "JSON 去引号", "query_editor.completion.action.json_value_extraction": "JSON 提取", "query_editor.completion.action.json_value_set": "JSON 设置", "query_editor.completion.action.jsonb_path_extraction": "JSONB 路径提取", "query_editor.completion.action.julian_day": "儒略日", "query_editor.completion.action.last_insert_id": "最后插入 ID", "query_editor.completion.action.last_row": "最后一行", "query_editor.completion.action.last_value": "最后一个值", "query_editor.completion.action.least_squares": "最小二乘", "query_editor.completion.action.left_padding": "左填充", "query_editor.completion.action.left_space_trimming": "去左空格", "query_editor.completion.action.left_substring": "从左截取", "query_editor.completion.action.length": "长度", "query_editor.completion.action.list_aggregation": "列表聚合", "query_editor.completion.action.list_unnest": "展开列表", "query_editor.completion.action.log_base_10": "以 10 为底对数", "query_editor.completion.action.log_base_2": "以 2 为底对数", "query_editor.completion.action.logarithm": "对数", "query_editor.completion.action.lowercase": "转小写", "query_editor.completion.action.maximum": "最大值", "query_editor.completion.action.md5_hash": "MD5 哈希", "query_editor.completion.action.minimum": "最小值", "query_editor.completion.action.modulo": "取模", "query_editor.completion.action.month_addition": "增加月份", "query_editor.completion.action.month_difference": "月份差", "query_editor.completion.action.month_end_date": "月末日期", "query_editor.completion.action.next_row": "后一行", "query_editor.completion.action.null_branch": "NULL 分支", "query_editor.completion.action.null_if_equal": "相等返回 NULL", "query_editor.completion.action.null_replacement": "NULL 替换", "query_editor.completion.action.number_conversion": "转数字", "query_editor.completion.action.number_formatting": "数字格式化", "query_editor.completion.action.position_lookup": "查找位置", "query_editor.completion.action.power_operation": "幂运算", "query_editor.completion.action.previous_row": "前一行", "query_editor.completion.action.quantile": "分位数", "query_editor.completion.action.random_number": "随机数", "query_editor.completion.action.rank": "排名", "query_editor.completion.action.rate_of_change": "变化率", "query_editor.completion.action.regex_match": "正则匹配", "query_editor.completion.action.regex_replace": "正则替换", "query_editor.completion.action.replacement": "替换", "query_editor.completion.action.right_padding": "右填充", "query_editor.completion.action.right_space_trimming": "去右空格", "query_editor.completion.action.right_substring": "从右截取", "query_editor.completion.action.round_down": "向下取整", "query_editor.completion.action.round_up": "向上取整", "query_editor.completion.action.rounding": "四舍五入", "query_editor.completion.action.row_number": "行号", "query_editor.completion.action.set_lookup": "集合查找", "query_editor.completion.action.sha1_hash": "SHA1 哈希", "query_editor.completion.action.sha2_hash": "SHA2 哈希", "query_editor.completion.action.space_trimming": "去空格", "query_editor.completion.action.spread": "最大最小差", "query_editor.completion.action.sql_literal": "SQL 字面量", "query_editor.completion.action.square_root": "平方根", "query_editor.completion.action.string_aggregation": "字符串聚合", "query_editor.completion.action.string_conversion": "转字符串", "query_editor.completion.action.string_repetition": "重复字符串", "query_editor.completion.action.string_reversal": "字符串反转", "query_editor.completion.action.string_to_date": "字符串转日期", "query_editor.completion.action.string_to_timestamp": "字符串转时间戳", "query_editor.completion.action.struct_construction": "构造结构体", "query_editor.completion.action.substring_extraction": "截取子串", "query_editor.completion.action.sum": "求和", "query_editor.completion.action.time_difference": "时间差", "query_editor.completion.action.time_value": "时间", "query_editor.completion.action.time_weighted_average": "时间加权平均", "query_editor.completion.action.timestamp_difference": "时间戳差", "query_editor.completion.action.truncate_date_or_number": "截断日期或数字", "query_editor.completion.action.try_conversion": "尝试转换", "query_editor.completion.action.type_conversion": "类型转换", "query_editor.completion.action.unix_time_to_datetime": "Unix 时间戳转时间", "query_editor.completion.action.unix_timestamp": "Unix 时间戳", "query_editor.completion.action.uppercase": "转大写", "query_editor.completion.action.uuid_generation": "生成 UUID", "query_editor.completion.action.value_formatting": "格式化", "query_editor.completion.action.version": "版本", "query_editor.completion.detail.aggregate": "聚合函数", "query_editor.completion.detail.aggregate_count": "聚合 - 计数", "query_editor.completion.detail.conditional": "条件函数", "query_editor.completion.detail.conditional_if": "条件 - 如果", "query_editor.completion.detail.conversion": "类型转换函数", "query_editor.completion.detail.conversion_cast": "转换 - 类型转换", "query_editor.completion.detail.crypto_md5": "哈希 - MD5", "query_editor.completion.detail.date_now": "日期 - 当前日期时间", "query_editor.completion.detail.date_time": "日期时间函数", "query_editor.completion.detail.info": "信息函数", "query_editor.completion.detail.info_database": "信息 - 当前数据库", "query_editor.completion.detail.json": "JSON 函数", "query_editor.completion.detail.json_extract": "JSON - 提取值", "query_editor.completion.detail.math": "数学函数", "query_editor.completion.detail.math_abs": "数学 - 绝对值", "query_editor.completion.detail.modifier_distinct": "修饰 - 去重", "query_editor.completion.detail.sql_function": "SQL 函数", "query_editor.completion.detail.string": "字符串函数", "query_editor.completion.detail.string_concat": "字符串 - 拼接", "query_editor.completion.detail.utility": "工具函数", "query_editor.completion.detail.window": "窗口函数", "query_editor.completion.detail.window_row_number": "窗口 - 行号", "query_editor.completion.documentation.comment": "备注:{{comment}}", "query_editor.empty_state.description": "运行查询后,结果会在下方以新版数据网格展示。", "query_editor.empty_state.title": "等待执行 SQL", "query_editor.format.keyword_lower": "关键字小写", "query_editor.format.keyword_upper": "关键字大写", "query_editor.format.restore_last_format": "还原上次美化", "query_editor.format.shortcut_settings": "快捷键管理...", "query_editor.format.snippet_settings": "代码片段管理...", "query_editor.hover.open_function_with_shortcut": "{{shortcut}} + 点击打开该函数", "query_editor.hover.open_materialized_view_with_shortcut": "{{shortcut}} + 点击打开该物化视图", "query_editor.hover.open_package_with_shortcut": "{{shortcut}} + 点击打开该存储包", "query_editor.hover.open_procedure_with_shortcut": "{{shortcut}} + 点击打开该存储过程", "query_editor.hover.open_sequence_with_shortcut": "{{shortcut}} + 点击打开该序列", "query_editor.hover.open_table_with_shortcut": "{{shortcut}} + 点击打开该表对象设计", "query_editor.hover.open_trigger_with_shortcut": "{{shortcut}} + 点击打开该触发器", "query_editor.hover.open_view_with_shortcut": "{{shortcut}} + 点击打开该视图", "query_editor.hover.switch_database_with_shortcut": "{{shortcut}} + 点击切换到该数据库", "query_editor.max_rows.option_1000": "最大行数:1000", "query_editor.max_rows.option_20000": "最大行数:20000", "query_editor.max_rows.option_500": "最大行数:500", "query_editor.max_rows.option_5000": "最大行数:5000", "query_editor.max_rows.option_unlimited": "最大行数:不限", "query_editor.max_rows.tooltip": "最大返回行数。会对 SELECT 自动加 LIMIT,防止大结果集卡死界面。", "query_editor.message.append_success": "代码已追加。", "query_editor.message.cancel_failed": "取消查询失败:{{error}}", "query_editor.message.cancel_no_running": "没有正在运行的查询可取消。", "query_editor.message.cancel_success": "查询已中止。", "query_editor.message.connection_not_found": "未找到连接。", "query_editor.message.connection_readonly_blocked": "当前连接已启用生产保护,仅允许执行查询操作。", "query_editor.message.execution_failed_with_error": "查询执行失败:{{error}}", "query_editor.message.execution_multi_success": "已执行 {{statements}} 条语句,生成 {{results}} 个结果集。", "query_editor.message.execution_result_sets_success": "已执行完成,生成 {{results}} 个结果集。", "query_editor.message.execution_success": "执行成功。", "query_editor.message.export_sql_file_failed": "导出 SQL 文件失败:{{error}}", "query_editor.message.export_sql_file_success": "SQL 文件已导出。", "query_editor.message.format_failed": "格式化失败:SQL 语法可能有误。", "query_editor.message.format_restore_success": "已还原到美化前 SQL", "query_editor.message.insert_success": "代码已在当前光标处成功插入。", "query_editor.message.no_executable_sql": "没有可执行的 SQL。", "query_editor.message.no_format_restore_snapshot": "没有可还原的美化前 SQL", "query_editor.message.no_selectable_sql": "没有可选择的 SQL 语句。", "query_editor.message.object_info_target_not_found": "当前光标未定位到可识别的表或字段。", "query_editor.message.page_query_empty": "翻页未返回结果集", "query_editor.message.page_query_failed": "翻页失败:{{error}}", "query_editor.message.read_only_index_metadata_unavailable": "无法加载唯一索引元数据,无法安全提交修改。", "query_editor.message.read_only_no_safe_locator": "未检测到主键或可用唯一索引,无法安全提交修改。", "query_editor.message.read_only_oracle_rowid_injection_unavailable": "Oracle 查询使用 * 时无法自动注入 ROWID 定位列,已保持只读。", "query_editor.message.read_only_system_metadata": "系统元数据查询结果保持只读。", "query_editor.message.read_only_table_locator_metadata_unavailable": "无法加载 {{table}} 的主键/唯一索引元数据,无法安全提交修改。", "query_editor.message.read_only_warning_with_detail": "查询结果保持只读:{{detail}}", "query_editor.message.refresh_failed": "刷新失败:{{error}}", "query_editor.message.renamed": "查询已重命名。", "query_editor.message.save_first_before_rename": "请先保存查询后再重命名。", "query_editor.message.save_query_failed": "保存查询失败:{{error}}", "query_editor.message.save_sql_file_failed": "保存 SQL 文件失败:{{error}}", "query_editor.message.saved": "查询已保存。", "query_editor.message.select_database_first": "请先选择数据库。", "query_editor.message.sql_file_saved": "SQL 文件已保存。", "query_editor.message.statement_failed_prefix": "第 {{index}} 条语句执行失败:", "query_editor.message.unsupported_source": "当前数据源不支持 SQL 查询编辑器,请使用对应专用页面。", "query_editor.object_info.column": "字段", "query_editor.object_info.database": "数据库", "query_editor.object_info.label.database": "库", "query_editor.object_info.label.schema": "Schema", "query_editor.object_info.label.separator": ":", "query_editor.object_info.label.table": "表", "query_editor.object_info.label.type": "类型", "query_editor.object_info.materialized_view": "物化视图", "query_editor.object_info.table": "表", "query_editor.placeholder.connection": "选择连接", "query_editor.placeholder.database": "选择数据库", "query_editor.result.affected_rows": "影响行数:{{count}}", "query_editor.result.ai_diagnose": "一键 AI 诊断", "query_editor.result.close": "关闭结果", "query_editor.result.execution_failed": "执行失败", "query_editor.result.execution_success": "执行成功", "query_editor.result.tab_title": "结果 {{index}}({{count}})", "query_editor.result.tab_title_success": "结果 {{index}} ✓", "query_editor.results_panel.action.hide": "隐藏", "query_editor.results_panel.aria.hide": "隐藏结果区", "query_editor.results_panel.menu.close_all": "关闭所有", "query_editor.results_panel.menu.close_left": "关闭左侧", "query_editor.results_panel.menu.close_other": "关闭其他页", "query_editor.results_panel.menu.close_right": "关闭右侧", "query_editor.results_panel.message.action.copy": "复制", "query_editor.results_panel.message.copy_failed": "复制消息失败:{{detail}}", "query_editor.results_panel.message.copy_unsupported": "当前环境不支持复制到剪贴板", "query_editor.results_panel.message.title": "执行消息", "query_editor.results_panel.panel.title": "结果区", "query_editor.results_panel.tab.message": "消息 {{index}}", "query_editor.results_panel.tab.result": "结果 {{index}}", "query_editor.results_panel.tooltip.hide": "隐藏结果区", "query_editor.results_panel.tooltip.hide_with_shortcut": "隐藏结果区({{shortcut}})", "query_editor.save_modal.name_label": "查询名称", "query_editor.save_modal.name_placeholder": "例如:查询所有用户", "query_editor.save_modal.name_required": "请输入查询名称。", "query_editor.save_modal.rename_ok": "重命名", "query_editor.save_modal.rename_title": "重命名查询", "query_editor.save_modal.title": "保存查询", "query_editor.save_modal.unnamed": "未命名查询", "query_editor.slash_command.diff.description": "对比两表差异生成变更", "query_editor.slash_command.diff.label": "表对比", "query_editor.slash_command.diff.prompt": "请对比以下两张表的结构差异,并生成从旧版本迁移到新版本的 ALTER 语句。", "query_editor.slash_command.explain.description": "解释选中 SQL 的逻辑", "query_editor.slash_command.explain.label": "解释 SQL", "query_editor.slash_command.explain.prompt": "请解释以下 SQL 语句的执行逻辑:\n```sql\n{{sql}}\n```", "query_editor.slash_command.index.description": "推荐最优索引方案", "query_editor.slash_command.index.label": "索引建议", "query_editor.slash_command.index.prompt": "请基于当前表结构和常见查询场景,推荐最优的索引方案并给出可用 SQL。", "query_editor.slash_command.mock.description": "生成 INSERT 测试数据", "query_editor.slash_command.mock.label": "造测试数据", "query_editor.slash_command.mock.prompt": "请为当前关联的表生成 10 条符合业务语义的 INSERT 测试数据。", "query_editor.slash_command.optimize.description": "分析 SQL 性能瓶颈", "query_editor.slash_command.optimize.label": "优化分析", "query_editor.slash_command.optimize.prompt": "请分析以下 SQL 语句的性能并给出优化建议:\n```sql\n{{sql}}\n```", "query_editor.slash_command.query.description": "描述你想查什么", "query_editor.slash_command.query.label": "自然语言查询", "query_editor.slash_command.query.prompt": "帮我写一条 SQL 查询:", "query_editor.slash_command.schema.description": "评审表结构设计质量", "query_editor.slash_command.schema.label": "表设计评审", "query_editor.slash_command.schema.prompt": "请全面评审当前关联表的设计,包括字段类型、范式、索引策略等方面的改进建议。", "query_editor.slash_command.sql.description": "描述需求自动生成语句", "query_editor.slash_command.sql.label": "生成 SQL", "query_editor.slash_command.sql.prompt": "请根据以下需求生成 SQL:", "query_editor.sql_error.rule.column_missing.explanation": "SQL 引用了结果集中不存在、拼写不一致或当前表没有的字段。", "query_editor.sql_error.rule.column_missing.label": "字段不存在", "query_editor.sql_error.rule.column_missing.suggestion": "检查字段名、别名、大小写、引用表别名,以及字段是否属于当前 FROM/JOIN 的对象。", "query_editor.sql_error.rule.connection_or_auth.explanation": "客户端无法连接数据库,或认证信息、网络、实例状态存在问题。", "query_editor.sql_error.rule.connection_or_auth.label": "数据库连接或认证失败", "query_editor.sql_error.rule.connection_or_auth.suggestion": "检查主机、端口、账号密码、网络连通性、代理/SSH 隧道和数据库服务状态。", "query_editor.sql_error.rule.constraint_failed.explanation": "数据不满足外键、非空、检查约束或引用完整性规则。", "query_editor.sql_error.rule.constraint_failed.label": "约束校验失败", "query_editor.sql_error.rule.constraint_failed.suggestion": "检查关联父表记录、必填字段、CHECK 条件,以及写入顺序是否正确。", "query_editor.sql_error.rule.generic.explanation": "数据库返回了执行失败信息,当前未匹配到更具体的错误类型。", "query_editor.sql_error.rule.generic.label": "数据库执行错误", "query_editor.sql_error.rule.generic.suggestion": "结合原始错误、SQL 片段和当前数据库方言继续排查。", "query_editor.sql_error.rule.object_missing.explanation": "SQL 引用了当前库或 schema 中找不到的表、视图、序列或其他数据库对象。", "query_editor.sql_error.rule.object_missing.label": "表或对象不存在", "query_editor.sql_error.rule.object_missing.suggestion": "确认对象名称、大小写、schema/database 前缀,以及当前查询所选数据库是否正确。", "query_editor.sql_error.rule.permission_denied.explanation": "当前数据库账号没有执行该 SQL 或访问相关对象的权限。", "query_editor.sql_error.rule.permission_denied.label": "权限不足", "query_editor.sql_error.rule.permission_denied.suggestion": "确认账号权限、schema 授权、只读连接限制,以及是否需要由管理员授权。", "query_editor.sql_error.rule.syntax.explanation": "通常是关键字、逗号、括号、引号、语句顺序或当前数据库方言不匹配。", "query_editor.sql_error.rule.syntax.label": "SQL 语法错误", "query_editor.sql_error.rule.syntax.suggestion": "检查报错位置附近的 SQL 片段,并确认当前连接的数据源类型与 SQL 方言一致。", "query_editor.sql_error.rule.timeout_or_canceled.explanation": "SQL 执行时间超过超时限制,或执行过程被手动取消。", "query_editor.sql_error.rule.timeout_or_canceled.label": "查询超时或被取消", "query_editor.sql_error.rule.timeout_or_canceled.suggestion": "检查 SQL 执行计划、过滤条件和索引,必要时缩小查询范围或调整超时时间。", "query_editor.sql_error.rule.type_mismatch.explanation": "写入、比较或转换的数据格式不符合目标字段或表达式要求。", "query_editor.sql_error.rule.type_mismatch.label": "数据类型或格式不匹配", "query_editor.sql_error.rule.type_mismatch.suggestion": "检查日期、数字、布尔值、枚举值、隐式转换和字段类型,必要时显式 CAST。", "query_editor.sql_error.rule.unique_conflict.explanation": "插入或更新的数据与唯一索引、主键或唯一约束中的已有数据重复。", "query_editor.sql_error.rule.unique_conflict.label": "唯一约束或主键冲突", "query_editor.sql_error.rule.unique_conflict.suggestion": "检查重复键值,必要时改为 UPDATE、UPSERT,或调整唯一键字段值。", "query_editor.sql_error.unknown": "未知错误", "query_editor.sql_error.wrapper.raw_line": "原始错误:{{error}}", "query_editor.sql_error.wrapper.semantic_line": "中文语义:{{label}}。{{explanation}}", "query_editor.sql_error.wrapper.suggestion_line": "处理建议:{{suggestion}}", "query_editor.transaction.action.commit": "提交", "query_editor.transaction.action.commit_with_count": "提交 ({{count}})", "query_editor.transaction.action.rollback": "回滚", "query_editor.transaction.delay.immediate": "立即", "query_editor.transaction.delay.immediate_commit": "立即提交", "query_editor.transaction.delay.seconds_commit": "{{seconds}}s后提交", "query_editor.transaction.message.pending_managed_transaction": "当前 SQL 编辑器已有未提交事务,请先提交或回滚后再执行新的增删改语句。", "query_editor.transaction.mode.auto": "自动", "query_editor.transaction.mode.manual": "手动", "query_editor.transaction.mode.tooltip": "参考 DBeaver:SQL 编辑器执行 INSERT/UPDATE/DELETE/MERGE/REPLACE 等 DML 时先进入 GoNavi 托管事务;手动提交需要手动提交/回滚,自动提交会在执行成功后自动 COMMIT。", "query_editor.transaction.status.auto_commit_countdown": "{{seconds}}s 后自动提交", "query_editor.transaction.status.auto_committing": "自动提交中", "query_history.backend.error.connection_fingerprint_invalid": "无法解析连接指纹", "query_history.backend.message.cleared": "已清空慢查询历史", "query_history.backend.message.loaded": "加载完成", "query.format": "美化 SQL", "query.new": "新建查询", "query.run": "运行", "query.save": "保存查询", "query.stop": "停止", "redis_command.action.clear_console": "清空控制台", "redis_command.action.execute": "运行(Cmd+Enter)", "redis_command.completion.detail": "Redis 命令", "redis_command.message.command_required": "请输入要运行的命令", "redis_command.output.empty_hint": "在此控制台运行命令,结果将按返回内容显示。", "redis_command.output.selection_tip": "提示:选择任意行后按 Ctrl + Enter,仅运行所选内容。", "redis_command.output.title": "执行输出", "redis_command.state.connection_not_found": "未找到连接", "redis_command.title.console": "Redis 控制台", "redis_monitor.action.pause_refresh": "暂停刷新", "redis_monitor.action.refresh_now": "立即刷新", "redis_monitor.action.resume_refresh": "继续刷新", "redis_monitor.chart.clients_keys": "连接信息(客户端与 Keys)", "redis_monitor.chart.cpu_usage": "CPU 使用率", "redis_monitor.chart.memory": "内存开销", "redis_monitor.chart.qps": "请求吞吐(QPS)", "redis_monitor.message.fetch_failed": "获取 Redis 信息失败:{{detail}}", "redis_monitor.metric.blocked_clients": "阻塞:{{value}}", "redis_monitor.metric.clients": "客户端", "redis_monitor.metric.days": "天数:{{value}}", "redis_monitor.metric.memory_peak": "峰值:{{value}}", "redis_monitor.metric.memory_used": "已用内存", "redis_monitor.metric.ops": "吞吐(OPS)", "redis_monitor.metric.uptime": "运行时间", "redis_monitor.series.clients": "客户端", "redis_monitor.series.rss_memory": "RSS 内存", "redis_monitor.series.system": "系统", "redis_monitor.series.total_keys": "Key 总数", "redis_monitor.series.used_memory": "已用内存", "redis_monitor.series.user": "用户", "redis_monitor.server_details.title": "服务器详细参数", "redis_monitor.state.connection_not_found": "未找到连接", "redis_monitor.title.instance": "Redis 实例监控", "redis_viewer.action.add_field": "新增字段", "redis_viewer.action.add_list_head": "推入头部", "redis_viewer.action.add_list_tail": "推入尾部", "redis_viewer.action.add_member": "新增成员", "redis_viewer.action.add_stream_entry": "新增条目", "redis_viewer.action.clear_group_selection": "清除选择", "redis_viewer.action.clear_selection": "清除选择", "redis_viewer.action.copy": "复制", "redis_viewer.action.copy_key_name": "复制 Key 名称", "redis_viewer.action.copy_value": "复制值", "redis_viewer.action.delete_key": "删除 Key", "redis_viewer.action.delete_selected": "删除选中项({{count}})", "redis_viewer.action.edit": "编辑", "redis_viewer.action.load_more": "加载更多", "redis_viewer.action.new_key": "新建", "redis_viewer.action.refresh": "刷新", "redis_viewer.action.rename_key": "重命名 Key", "redis_viewer.action.select_all_loaded": "全选已加载", "redis_viewer.action.select_group": "选择", "redis_viewer.action.set_ttl": "设置 TTL", "redis_viewer.aria.collapse_group": "折叠分组", "redis_viewer.aria.expand_group": "展开分组", "redis_viewer.confirm.delete_field": "删除此字段?", "redis_viewer.confirm.delete_key": "删除 Key \"{{key}}\"?", "redis_viewer.confirm.delete_member": "删除此成员?", "redis_viewer.confirm.delete_selected": "删除选中的 {{count}} 个 Key?", "redis_viewer.confirm.delete_stream_entry": "删除此 Stream 条目?", "redis_viewer.field.field_name": "字段名称", "redis_viewer.field.fields_json": "字段 JSON:", "redis_viewer.field.key": "Key", "redis_viewer.field.member": "成员:", "redis_viewer.field.new_key_name": "新 Key 名称", "redis_viewer.field.new_score": "新分数:", "redis_viewer.field.score": "分数:", "redis_viewer.field.stream_id": "ID(可选,默认 *):", "redis_viewer.field.ttl_seconds": "TTL(秒)", "redis_viewer.field.value": "值", "redis_viewer.help.ttl_forever": "-1 表示永不过期", "redis_viewer.hint.binary_readonly": "二进制数据无法编辑", "redis_viewer.hint.switch_auto_to_edit": "切换到 Auto 模式后编辑", "redis_viewer.label.encoding": "编码:{{encoding}}", "redis_viewer.label.keys_count": "{{count}} 个 Key", "redis_viewer.label.length": "长度:{{count}}", "redis_viewer.label.node_count": "{{count}} 个节点", "redis_viewer.label.original_key": "原 Key:{{key}}", "redis_viewer.message.add_failed": "新增失败:{{detail}}", "redis_viewer.message.add_success": "已新增", "redis_viewer.message.add_success_with_id": "已新增 {{id}}", "redis_viewer.message.copied": "已复制", "redis_viewer.message.copy_failed": "复制失败", "redis_viewer.message.create_failed": "创建失败:{{detail}}", "redis_viewer.message.create_success": "已创建", "redis_viewer.message.delete_failed": "删除失败:{{detail}}", "redis_viewer.message.delete_success": "已删除", "redis_viewer.message.deleted_keys": "已删除 {{count}} 个 Key", "redis_viewer.message.fields_json_invalid": "字段 JSON 无效", "redis_viewer.message.fields_must_be_json_object": "字段必须是 JSON 对象", "redis_viewer.message.fields_required": "请至少提供一个字段", "redis_viewer.message.key_check_failed": "检查目标 Key 失败:{{detail}}", "redis_viewer.message.key_missing_removed": "Key 不再存在或已过期,已从列表中移除", "redis_viewer.message.key_name_copied": "Key 名称已复制", "redis_viewer.message.load_keys_failed": "加载 Key 失败:{{detail}}", "redis_viewer.message.new_key_name_required": "请输入新的 Key 名称", "redis_viewer.message.rename_failed": "重命名失败:{{detail}}", "redis_viewer.message.rename_same_key": "新的 Key 名称必须与原名称不同", "redis_viewer.message.rename_success": "Key 已重命名", "redis_viewer.message.save_failed": "保存失败:{{detail}}", "redis_viewer.message.save_success": "已保存", "redis_viewer.message.set_failed": "设置失败:{{detail}}", "redis_viewer.message.stream_entry_not_deleted": "未删除任何 Stream 条目,可能已不存在", "redis_viewer.message.target_key_exists": "目标 Key 已存在:{{key}}", "redis_viewer.message.ttl_set_success": "TTL 已更新", "redis_viewer.message.update_failed": "更新失败:{{detail}}", "redis_viewer.message.update_success": "已更新", "redis_viewer.message.value_load_failed": "获取值失败:{{detail}}", "redis_viewer.modal.add_element": "新增元素", "redis_viewer.modal.add_element_head": "向头部新增元素", "redis_viewer.modal.add_field": "新增字段", "redis_viewer.modal.add_member": "新增成员", "redis_viewer.modal.add_stream_entry": "新增 Stream 条目", "redis_viewer.modal.edit_field": "编辑字段:{{field}}", "redis_viewer.modal.edit_index": "编辑索引 {{index}}", "redis_viewer.modal.edit_value": "编辑值", "redis_viewer.modal.new_key": "新建 Key", "redis_viewer.modal.rename_key": "重命名 Key", "redis_viewer.modal.set_ttl": "设置 TTL", "redis_viewer.modal.update_score": "更新分数", "redis_viewer.notice.large_keyspace_mode": "大 Keyspace 性能模式已启用。节点渲染已简化,最多保留 {{count}} 个展开分组。", "redis_viewer.placeholder.key_name": "Key 名称", "redis_viewer.placeholder.member_value": "输入成员值", "redis_viewer.placeholder.new_element_value": "输入新元素值", "redis_viewer.placeholder.new_key_name": "new:key:name", "redis_viewer.placeholder.new_member_value": "输入新成员值", "redis_viewer.placeholder.search_exact": "输入完整 Key 或命名空间进行精确搜索", "redis_viewer.placeholder.search_fuzzy": "搜索 Key(模糊匹配)", "redis_viewer.placeholder.stream_id": "例如:* 或 1723110000000-0", "redis_viewer.placeholder.value": "值", "redis_viewer.search.exact": "精确", "redis_viewer.search.fuzzy": "模糊", "redis_viewer.state.connection_not_found": "未找到连接", "redis_viewer.state.empty_selection": "选择一个 Key 查看详情", "redis_viewer.table.action": "操作", "redis_viewer.table.field": "字段", "redis_viewer.table.fields": "字段", "redis_viewer.table.index": "索引", "redis_viewer.table.member": "成员", "redis_viewer.table.score": "分数", "redis_viewer.table.value": "值", "redis_viewer.title.active_key": "当前 Key", "redis_viewer.title.key_explorer": "Key 浏览器", "redis_viewer.title.namespace_key": "命名空间 / Key", "redis_viewer.title.type_ttl": "类型 / TTL", "redis_viewer.tooltip.copy_fields_json": "复制字段 JSON", "redis_viewer.tooltip.copy_id": "复制 ID", "redis_viewer.tooltip.copy_key_name": "复制 Key 名称", "redis_viewer.tooltip.copy_value": "复制值", "redis_viewer.tooltip.resize_panels": "拖动调整大小", "redis_viewer.topology.cluster": "Cluster", "redis_viewer.topology.sentinel": "Sentinel", "redis_viewer.topology.single": "单机", "redis_viewer.ttl.days_hours": "{{days}}天 {{hours}}小时", "redis_viewer.ttl.expired": "已过期", "redis_viewer.ttl.forever": "永久", "redis_viewer.ttl.hours_minutes": "{{hours}}小时 {{minutes}}分钟", "redis_viewer.ttl.minutes_seconds": "{{minutes}}分钟 {{seconds}}秒", "redis_viewer.ttl.seconds": "{{seconds}}秒", "redis_viewer.validation.key_required": "请输入 Key", "redis_viewer.validation.new_key_name_required": "请输入新的 Key 名称", "redis_viewer.validation.value_required": "请输入值", "redis_viewer.view.auto": "Auto", "redis_viewer.view.hex": "Hex", "redis_viewer.view.text": "原始文本", "redis_viewer.view.title": "查看模式", "redis.backend.error.address_required": "Redis 连接地址不能为空", "redis.backend.error.argument_invalid_type": "{{name}} 类型无效", "redis.backend.error.argument_required": "{{name}} 不能为空", "redis.backend.error.cluster_connect_failed": "Redis 集群连接失败:{{detail}}", "redis.backend.error.command_required": "命令不能为空", "redis.backend.error.connect_attempt_failed": "第{{attempt}}次连接失败:{{detail}}", "redis.backend.error.connect_failed": "Redis 连接失败:{{detail}}", "redis.backend.error.connect_tls_setup_failed": "第{{attempt}}次 TLS 配置失败:{{detail}}", "redis.backend.error.invalid_node_address": "无效 Redis 节点地址:{{address}}", "redis.backend.error.invalid_port": "无效 Redis 端口:{{address}}", "redis.backend.error.node_address_required": "Redis 节点地址不能为空", "redis.backend.error.select_db_index_invalid": "无效数据库索引:{{value}}", "redis.backend.error.select_db_index_out_of_range": "数据库索引必须在 {{min}}-{{max}} 之间", "redis.backend.error.select_db_index_required": "SELECT 命令需要提供数据库索引", "redis.backend.error.sentinel_connect_failed": "Redis Sentinel 连接失败:{{detail}}", "redis.backend.error.sentinel_master_required": "Redis Sentinel 模式需要填写 master 名称", "redis.backend.error.ssh_tunnel_create_failed": "创建 SSH 隧道失败:{{detail}}", "redis.backend.error.test_connection_close_failed": "连接成功,但释放测试连接失败:{{detail}}", "redis.backend.error.topology_ssh_tunnel_unsupported": "Redis {{topology}}模式暂不支持 SSH 隧道,请关闭 SSH 后重试", "redis.backend.label.topology_cluster": "集群", "redis.backend.label.topology_multi_node": "多节点", "redis.backend.label.topology_sentinel": "Sentinel", "redis.backend.message.add_success": "添加成功", "redis.backend.message.connect_success": "连接成功", "redis.backend.message.delete_success": "删除成功", "redis.backend.message.flush_success": "清空成功", "redis.backend.message.rename_success": "重命名成功", "redis.backend.message.select_db_success": "切换成功", "redis.backend.message.set_success": "设置成功", "redis.db_alias.menu.set": "设置别名", "redis.db_alias.modal.placeholder": "例如:缓存、会话(留空则清除)", "redis.db_alias.modal.title": "{{db}} 的别名", "saved_query.default_name": "查询-{{index}}", "saved_query.error.missing_context": "保存查询缺少 SQL、连接或数据库上下文", "security_update.action.open_ai_settings": "AI 设置", "security_update.action.open_connection": "打开连接", "security_update.action.open_proxy_settings": "代理设置", "security_update.action.retry_update": "重新检查", "security_update.action.view_details": "查看详情", "security_update.backend.issue.ai_provider.migration_required": "AI 提供商配置仍保存在当前应用配置中,完成安全更新后会迁入新的安全存储。", "security_update.backend.issue.ai_provider.missing_or_resave": "AI 提供商配置已不存在或仍需重新保存后才能完成安全更新。", "security_update.backend.issue.ai_provider.secret_missing": "AI 提供商配置需要补充后才能完成安全更新。", "security_update.backend.issue.connection.incomplete": "连接配置仍需补充后才能完成安全更新。", "security_update.backend.issue.connection.missing_or_resave": "连接配置已不存在或仍需重新保存后才能完成安全更新。", "security_update.backend.issue.connection.password_missing": "连接密码已丢失,请重新保存后再继续。", "security_update.backend.issue.global_proxy.missing_or_resave": "全局代理配置已不存在或仍需重新保存后才能完成安全更新。", "security_update.backend.issue.global_proxy.password_incomplete": "全局代理密码仍需补充后才能完成安全更新。", "security_update.backend.issue.global_proxy.password_missing": "全局代理密码已丢失,请重新保存后再继续。", "security_update.backend.issue.global_proxy.title": "全局代理", "security_update.backend.issue.system.message": "当前环境无法完成本次安全更新,请稍后重试。", "security_update.backend.issue.system.title": "安全更新未完成", "security_update.banner.action.restart_update": "重新开始更新", "security_update.banner.action.retry_check": "重新检查", "security_update.banner.action.start_now": "立即更新", "security_update.banner.action.view_details": "查看详情", "security_update.banner.title": "已保存配置可进行安全更新", "security_update.bootstrap.legacy.connection.message": "该连接仍保存在当前应用的本地配置中,完成安全更新后会迁入新的安全存储。", "security_update.bootstrap.legacy.global_proxy.message": "全局代理仍保存在当前应用的本地配置中,完成安全更新后会迁入新的安全存储。", "security_update.bootstrap.legacy.global_proxy.title": "全局代理", "security_update.error.capability_unavailable": "安全更新能力不可用", "security_update.intro.action.details": "查看详情", "security_update.intro.action.later": "稍后提醒我", "security_update.intro.action.start_now": "立即更新", "security_update.intro.description": "为了让已保存的连接、代理和相关服务配置使用新的安全存储方式,本次更新需要进行一次本地配置更新。更新前会自动创建本地备份;如果本次未完成,系统会保留当前可用配置,你也可以稍后继续。", "security_update.intro.subtitle": "使用新的安全存储方式前,需要先完成一次本地配置更新。", "security_update.intro.title": "已保存配置安全更新", "security_update.item_status.failed": "失败", "security_update.item_status.needs_attention": "待处理", "security_update.item_status.pending": "待更新", "security_update.item_status.skipped": "已跳过", "security_update.item_status.updated": "已更新", "security_update.progress.default_detail": "更新过程中会保留当前可用配置,请稍候。", "security_update.repair.warning.connection_not_found": "未找到对应连接,请先重新检查最新状态", "security_update.settings.action.close": "关闭", "security_update.settings.action.restart_update": "重新开始更新", "security_update.settings.action.retry_check": "重新检查", "security_update.settings.action.start": "开始更新", "security_update.settings.backup_path": "备份位置:", "security_update.settings.current_status": "当前状态:{{status}}", "security_update.settings.empty_pending": "当前没有待处理项", "security_update.settings.item_default_message": "当前项需要进一步处理后才能完成安全更新。", "security_update.settings.item_severity": "级别:{{severity}}", "security_update.settings.item_status": "状态:{{status}}", "security_update.settings.last_error": "最近错误:", "security_update.settings.pending_list": "待处理清单", "security_update.settings.recent_result": "最近一次结果", "security_update.settings.scope_title": "影响范围", "security_update.settings.subtitle": "管理已保存配置的安全更新状态与待处理项。", "security_update.settings.summary.failed": "失败", "security_update.settings.summary.pending": "待处理", "security_update.settings.summary.skipped": "已跳过", "security_update.settings.summary.total": "总计", "security_update.settings.summary.updated": "已更新", "security_update.settings.title": "安全更新", "security_update.severity.high": "高风险", "security_update.severity.low": "低风险", "security_update.severity.medium": "中风险", "security_update.status.completed.description": "已保存配置已完成安全更新。", "security_update.status.completed.label": "已完成", "security_update.status.in_progress.description": "正在检查并更新已保存配置的安全存储。", "security_update.status.in_progress.label": "更新中", "security_update.status.needs_attention.description": "更新尚未完成,有少量配置需要你处理。", "security_update.status.needs_attention.label": "待处理", "security_update.status.not_detected.description": "当前没有需要处理的安全更新。", "security_update.status.not_detected.label": "未检测到", "security_update.status.pending.description": "检测到可进行的安全更新,你可以现在开始或稍后继续。", "security_update.status.pending.label": "待更新", "security_update.status.postponed.description": "本次安全更新已延后,当前可用配置会继续保留。", "security_update.status.postponed.label": "待更新", "security_update.status.rolled_back.description": "本次更新未完成,系统已保留当前可用配置。", "security_update.status.rolled_back.label": "已回退", "settings.language.description": "选择 GoNavi 的界面语言。", "settings.language.english": "English", "settings.language.follow_system": "跟随系统", "settings.language.german": "Deutsch", "settings.language.japanese": "日本語", "settings.language.restart_hint": "部分编辑器和系统级菜单可能需要重新打开窗口后完全生效。", "settings.language.russian": "Русский", "settings.language.simplified_chinese": "简体中文", "settings.language.title": "语言", "settings.language.traditional_chinese": "繁體中文", "settings.title": "设置", "sidebar.action.backup_database_count": "备份库({{count}})", "sidebar.action.backup_schema_data": "备份(结构+数据)", "sidebar.action.batch_databases": "批量处理数据库", "sidebar.action.batch_tables": "批量处理表", "sidebar.action.cancel": "取消", "sidebar.action.clear_selection": "取消全选", "sidebar.action.clear_tables": "清空表", "sidebar.action.close": "关闭", "sidebar.action.continue": "继续", "sidebar.action.delete": "删除", "sidebar.action.export_data_only": "仅数据(INSERT)", "sidebar.action.export_database_schema_count": "导出库结构({{count}})", "sidebar.action.export_schema": "导出结构", "sidebar.action.invert_selection": "反选", "sidebar.action.locate_current_tab": "定位当前标签页", "sidebar.action.locate_current_table": "定位当前打开表", "sidebar.action.new_group": "新建分组", "sidebar.action.pin_table": "置顶表", "sidebar.action.select_all": "全选", "sidebar.action.unpin_table": "取消置顶", "sidebar.active_connection.actions": "连接操作", "sidebar.active_connection.current_host_database": "当前 Host 与数据库", "sidebar.active_connection.no_database_selected": "未选择数据库", "sidebar.active_connection.no_host_selected": "未选择 Host", "sidebar.ai_prompt.explain.detail": "重点说明字段含义、主键/索引、潜在关联关系、典型查询场景和风险点。", "sidebar.ai_prompt.explain.intro": "请解释数据表 {{table}} 的结构和业务含义。", "sidebar.ai_prompt.query.detail": "要求包含:数据预览查询、按关键字段过滤查询、一个聚合或统计查询。", "sidebar.ai_prompt.query.intro": "请基于数据表 {{table}} 生成 3 条常用查询 SQL。", "sidebar.aria.switch_connection": "切换到连接 {{name}}", "sidebar.badge.recommended": "推荐", "sidebar.batch_databases": "数据库", "sidebar.batch_tables": "表", "sidebar.batch.filtered_count": "已筛选 {{filtered}} / {{total}} 个对象", "sidebar.batch.group.tables": "表", "sidebar.batch.group.views": "视图", "sidebar.batch.no_matching_objects": "无匹配对象", "sidebar.batch.selected_databases": "已选择 {{selected}} / {{total}} 个数据库", "sidebar.batch.selected_objects": "已选择 {{selected}} / {{total}} 个对象", "sidebar.command_search.action.ask_ai.title": "让 AI 回答", "sidebar.command_search.action.new_connection.meta": "创建数据库、运行时或其他数据源连接", "sidebar.command_search.action.new_connection.title": "新建数据源", "sidebar.command_search.action.new_query.meta": "打开一个新的 SQL 编辑页", "sidebar.command_search.action.open_ai.meta": "让 AI 分析当前数据库上下文", "sidebar.command_search.action.open_ai.title": "打开 AI 数据洞察", "sidebar.command_search.action.open_sql_log.meta": "打开最近执行记录面板", "sidebar.command_search.action.open_sql_log.title": "查看 SQL 执行日志", "sidebar.command_search.empty.ai": "输入「?」后加问题,按 Enter 发送到 AI 面板。", "sidebar.command_search.empty.default": "未找到匹配项。可输入 @表名 只搜表对象,或输入 ?问题 让 AI 回答。", "sidebar.command_search.empty.object": "未找到匹配的表、视图或物化视图。", "sidebar.command_search.footer.ask_ai": "发送给 AI", "sidebar.command_search.footer.navigate": "导航", "sidebar.command_search.footer.object_only": "只搜表对象", "sidebar.command_search.footer.select": "选择", "sidebar.command_search.label": "搜索表、连接、动作", "sidebar.command_search.no_filter_content": "没有筛选内容", "sidebar.command_search.no_synced_filter": "没有已同步的侧栏筛选", "sidebar.command_search.object_kind.all": "全部", "sidebar.command_search.object_kind.events": "事件", "sidebar.command_search.object_kind.filter_aria": "对象筛选", "sidebar.command_search.object_kind.packages": "存储包", "sidebar.command_search.object_kind.routines": "函数", "sidebar.command_search.object_kind.sequences": "序列", "sidebar.command_search.object_kind.tables": "表", "sidebar.command_search.object_kind.views": "视图", "sidebar.command_search.placeholder": "搜索表、连接、动作... 或问 AI", "sidebar.command_search.recent_sql_fallback": "SQL 记录", "sidebar.command_search.reset_filter": "重置侧栏筛选", "sidebar.command_search.scope.compact_smart": "智", "sidebar.command_search.scope.database": "库", "sidebar.command_search.scope.description": "“智能”自动匹配最可能的命中项;手动模式支持按维度组合筛选。", "sidebar.command_search.scope.host": "Host", "sidebar.command_search.scope.manual_help": "智能与其他项互斥。若你明确知道要搜的是对象、库、Host 或标签,建议切到手动范围以减少噪音结果。", "sidebar.command_search.scope.manual_title": "手动范围", "sidebar.command_search.scope.multi_select": "支持多选组合", "sidebar.command_search.scope.object": "表对象", "sidebar.command_search.scope.recommended": "推荐", "sidebar.command_search.scope.smart": "智能", "sidebar.command_search.scope.smart_help": "适合日常检索,自动覆盖名称、库、Host 和标签等高频维度。", "sidebar.command_search.scope.summary_smart": "智能", "sidebar.command_search.scope.tag": "标签", "sidebar.command_search.scope.title": "搜索范围", "sidebar.command_search.scope.tooltip": "搜索范围:{{scope}}", "sidebar.command_search.section.actions": "动作", "sidebar.command_search.section.ai": "AI · 提问", "sidebar.command_search.section.goto": "跳转", "sidebar.command_search.section.recent": "近期查询", "sidebar.command_search.sync_to_filter_aria": "同步到左侧筛选", "sidebar.command_search.sync_to_filter_tooltip": "同步输入内容到左侧筛选", "sidebar.copy_object_name.copied": "{{label}}已复制到剪贴板", "sidebar.copy_object_name.empty": "{{label}}为空,无法复制", "sidebar.copy_object_name.failed": "复制{{label}}失败: {{error}}", "sidebar.copy_object_name.label.event": "事件名称", "sidebar.copy_object_name.label.materialized_view": "物化视图名称", "sidebar.copy_object_name.label.package": "存储包名称", "sidebar.copy_object_name.label.sequence": "序列名称", "sidebar.copy_object_name.label.table": "表名", "sidebar.copy_object_name.label.view": "视图名称", "sidebar.error.unknown": "未知错误", "sidebar.external_sql_modal.action.create": "新建", "sidebar.external_sql_modal.action.rename": "重命名", "sidebar.external_sql_modal.field.directory_name": "目录名", "sidebar.external_sql_modal.field.sql_file_name": "SQL 文件名", "sidebar.external_sql_modal.help.directory": "目录只会显示在外部 SQL 目录树中,非 SQL 文件仍不会显示", "sidebar.external_sql_modal.help.sql_file": "不输入 .sql 后缀时会自动补齐", "sidebar.external_sql_modal.placeholder.directory_name": "例如:reports", "sidebar.external_sql_modal.placeholder.sql_file_name": "例如:report.sql", "sidebar.external_sql_modal.title.create_directory": "新建目录", "sidebar.external_sql_modal.title.create_file": "新建 SQL 文件", "sidebar.external_sql_modal.title.rename_directory": "重命名目录", "sidebar.external_sql_modal.title.rename_file": "重命名 SQL 文件", "sidebar.external_sql_modal.validation.directory_name_no_separator": "目录名不能包含路径分隔符", "sidebar.external_sql_modal.validation.directory_name_required": "请输入目录名", "sidebar.external_sql_modal.validation.sql_file_name_no_separator": "文件名不能包含路径分隔符", "sidebar.external_sql_modal.validation.sql_file_name_required": "请输入 SQL 文件名", "sidebar.external_sql.directory_fallback": "SQL 目录", "sidebar.external_sql.root": "外部 SQL 文件", "sidebar.field.database_name": "数据库名称", "sidebar.field.new_database_name": "新数据库名称", "sidebar.field.new_table_name": "新表名", "sidebar.field.new_view_name": "新视图名称", "sidebar.field.schema_name": "模式名称", "sidebar.field.select_connection": "选择连接", "sidebar.field.select_connections": "选择连接", "sidebar.field.select_database": "选择数据库", "sidebar.field.tag_name": "分组名称", "sidebar.filter.all_objects": "全部对象", "sidebar.filter.scope_all": "勾选作用于:全部对象", "sidebar.filter.scope_filtered": "勾选作用于:当前筛选结果", "sidebar.filter.tables_only": "仅表", "sidebar.filter.views_only": "仅视图", "sidebar.jvm.action.diagnostic": "诊断增强", "sidebar.jvm.action.monitoring": "持续监控", "sidebar.jvm.tab.audit": "JVM 审计", "sidebar.jvm.tab.diagnostic": "JVM 诊断", "sidebar.jvm.tab.monitoring": "JVM 监控", "sidebar.jvm.tab.overview": "JVM 概览", "sidebar.jvm.tab.resource": "JVM 资源", "sidebar.locate.object.materialized_view": "物化视图", "sidebar.locate.object.routine": "函数/存储过程", "sidebar.locate.object.table": "表", "sidebar.locate.object.trigger": "触发器", "sidebar.locate.object.view": "视图", "sidebar.menu.add_sql_directory": "添加 SQL 目录", "sidebar.menu.backup_all_tables_sql": "备份全部表(结构和数据 SQL)", "sidebar.menu.backup_current_schema_sql": "备份当前模式全部表(结构和数据 SQL)", "sidebar.menu.backup_table_sql": "备份表(SQL)", "sidebar.menu.bind_to_connection": "绑定到连接", "sidebar.menu.browse_keys": "浏览键", "sidebar.menu.browse_materialized_view_data": "浏览物化视图数据", "sidebar.menu.browse_view_data": "浏览视图数据", "sidebar.menu.clear_table": "清空表", "sidebar.menu.close_database": "关闭数据库", "sidebar.menu.copy_object_name": "复制名称", "sidebar.menu.copy_table_name": "复制表名", "sidebar.menu.copy_table_structure": "复制表结构", "sidebar.menu.create_database": "创建数据库", "sidebar.menu.create_event": "新建事件", "sidebar.menu.create_function": "创建函数", "sidebar.menu.create_procedure": "创建存储过程", "sidebar.menu.create_table": "创建表", "sidebar.menu.create_view": "创建视图", "sidebar.menu.danger_operations": "危险操作", "sidebar.menu.delete_connection": "删除连接", "sidebar.menu.delete_database": "删除数据库", "sidebar.menu.delete_local_directory": "删除本地目录", "sidebar.menu.delete_query": "删除查询", "sidebar.menu.delete_routine": "删除{{type}}", "sidebar.menu.delete_schema": "删除模式", "sidebar.menu.delete_sql_directory": "删除目录", "sidebar.menu.delete_sql_file": "删除 SQL 文件", "sidebar.menu.delete_table": "删除表", "sidebar.menu.delete_tag": "删除分组", "sidebar.menu.delete_view": "删除视图", "sidebar.menu.design_table": "设计表", "sidebar.menu.disconnect": "断开连接", "sidebar.menu.duplicate_connection": "复制连接", "sidebar.menu.edit_connection": "编辑连接", "sidebar.menu.edit_definition": "编辑定义", "sidebar.menu.edit_schema": "编辑模式", "sidebar.menu.edit_tag": "编辑分组", "sidebar.menu.edit_view": "编辑视图", "sidebar.menu.export_all_table_schema_sql": "导出全部表结构(SQL)", "sidebar.menu.export_csv": "导出 CSV", "sidebar.menu.export_current_schema_sql": "导出当前模式表结构(SQL)", "sidebar.menu.export_html": "导出 HTML", "sidebar.menu.export_json": "导出 JSON", "sidebar.menu.export_markdown": "导出 Markdown", "sidebar.menu.export_table_data": "导出表数据", "sidebar.menu.export_xlsx": "导出 XLSX", "sidebar.menu.materialized_view_definition": "物化视图定义", "sidebar.menu.move_out_of_tag": "移出分组", "sidebar.menu.move_to_tag": "移动到分组", "sidebar.menu.new_command_window": "新建命令窗口", "sidebar.menu.new_query": "新建查询", "sidebar.menu.new_sql_directory": "新建目录", "sidebar.menu.new_sql_directory_in_directory": "在此目录新建目录", "sidebar.menu.new_sql_file": "新建 SQL 文件", "sidebar.menu.new_sql_file_in_directory": "在此目录新建 SQL 文件", "sidebar.menu.new_table": "新建表", "sidebar.menu.open_query": "打开查询", "sidebar.menu.open_sql_file": "打开 SQL 文件", "sidebar.menu.redis_monitor": "Redis 监控", "sidebar.menu.refresh": "刷新", "sidebar.menu.refresh_directory": "刷新目录", "sidebar.menu.remove_directory": "移除目录", "sidebar.menu.rename_database": "重命名数据库", "sidebar.menu.rename_query": "重命名查询", "sidebar.menu.rename_sql_directory": "重命名目录", "sidebar.menu.rename_sql_file": "重命名 SQL 文件", "sidebar.menu.rename_table": "重命名表", "sidebar.menu.rename_view": "重命名视图", "sidebar.menu.sort_by_frequency": "按使用频率排序", "sidebar.menu.sort_by_name": "按名称排序", "sidebar.menu.table_structure": "表结构", "sidebar.menu.truncate_table": "截断表", "sidebar.menu.view_definition": "视图定义", "sidebar.menu.view_object_definition": "查看定义", "sidebar.menu.view_routine_definition": "视图例程定义", "sidebar.message.add_sql_directory_database_required": "请先选择数据库,再添加 SQL 目录。", "sidebar.message.ai_table_context_missing": "当前表缺少连接上下文,无法发送给 AI", "sidebar.message.backing_up_database": "正在备份 {{database}}...", "sidebar.message.backing_up_selected_objects": "正在备份 {{count}} 个已选对象...", "sidebar.message.backing_up_selected_tables": "正在备份 {{count}} 个已选表...", "sidebar.message.clear_failed": "清空失败:{{error}}", "sidebar.message.clear_success": "清空成功。", "sidebar.message.clearing_selected_tables": "正在清空 {{count}} 个已选表...", "sidebar.message.connection_config_not_found": "未找到连接配置。", "sidebar.message.connection_deleted": "连接已删除。", "sidebar.message.connection_failed": "连接失败:{{error}}", "sidebar.message.connection_release_failed": "释放连接失败", "sidebar.message.connection_release_failed_from_sidebar": "连接已从侧边栏断开,但后端连接释放失败", "sidebar.message.create_failed": "创建失败:{{error}}", "sidebar.message.create_sql_directory_failed": "新建目录失败:{{error}}", "sidebar.message.create_sql_file_failed": "新建 SQL 文件失败:{{error}}", "sidebar.message.database_closed": "数据库已关闭。", "sidebar.message.database_created": "数据库已创建。", "sidebar.message.database_deleted": "数据库已删除。", "sidebar.message.database_export_failed": "导出 {{database}} 失败:{{error}}", "sidebar.message.database_export_success": "已导出 {{database}}。", "sidebar.message.database_name_required": "请输入数据库名称。", "sidebar.message.database_name_unchanged": "数据库名称未变化。", "sidebar.message.database_renamed": "数据库已重命名。", "sidebar.message.delete_connection_backend_unavailable": "删除连接后端不可用。", "sidebar.message.delete_connection_failed": "删除连接失败。", "sidebar.message.delete_failed": "删除失败:{{error}}", "sidebar.message.delete_sql_directory_failed": "删除 SQL 目录失败:{{error}}", "sidebar.message.delete_sql_file_failed": "删除 SQL 文件失败:{{error}}", "sidebar.message.disconnected": "已断开。", "sidebar.message.duplicate_backend_unavailable": "当前版本不支持复制连接。", "sidebar.message.duplicate_empty_result": "未返回复制后的连接。", "sidebar.message.duplicate_failed": "复制连接失败。", "sidebar.message.duplicated_connection": "已复制连接 {{name}}。", "sidebar.message.export_failed": "导出失败:{{error}}", "sidebar.message.export_success": "导出成功。", "sidebar.message.export_success_skipped_views": "导出成功。已跳过 {{count}} 个视图的数据导出。", "sidebar.message.export_tables_same_database_required": "请选择同一数据库下的表。", "sidebar.message.exporting_database_backup": "正在备份 {{database}}(结构+数据)...", "sidebar.message.exporting_database_schema": "正在导出 {{database}} 的结构...", "sidebar.message.exporting_schema_backup": "正在备份模式 {{schema}}(结构+数据)...", "sidebar.message.exporting_schema_structure": "正在导出模式 {{schema}} 的结构...", "sidebar.message.exporting_selected_object_data": "正在导出 {{count}} 个已选对象的数据({{format}})...", "sidebar.message.exporting_selected_object_schema": "正在导出 {{count}} 个已选对象的结构...", "sidebar.message.exporting_selected_table_schema": "正在导出 {{count}} 个已选表的结构...", "sidebar.message.exporting_table_format": "正在将 {{table}} 导出为 {{format}}...", "sidebar.message.external_sql_directory_added": "外部 SQL 目录已添加。", "sidebar.message.external_sql_directory_context_missing": "SQL 目录上下文缺失。", "sidebar.message.external_sql_directory_delete_target_missing": "未找到可删除的 SQL 目录。", "sidebar.message.external_sql_directory_not_found": "未找到 SQL 目录。", "sidebar.message.external_sql_directory_parent_missing": "未找到可新建目录的位置。", "sidebar.message.external_sql_directory_read_failed": "读取 SQL 目录 {{name}} 失败:{{error}}", "sidebar.message.external_sql_directory_refreshed": "外部 SQL 目录已刷新。", "sidebar.message.external_sql_directory_removed": "外部 SQL 目录已移除。", "sidebar.message.external_sql_directory_rename_sync_failed": "目录已重命名,但无法同步外部 SQL 目录列表,请重新添加目录。", "sidebar.message.external_sql_directory_rename_target_missing": "未找到可重命名的目录。", "sidebar.message.external_sql_file_delete_target_missing": "未找到可删除的 SQL 文件。", "sidebar.message.external_sql_file_parent_missing": "未找到可新建 SQL 文件的目录。", "sidebar.message.external_sql_file_rename_target_missing": "未找到可重命名的 SQL 文件。", "sidebar.message.jvm_provider_probe_exception": "JVM 提供方探测失败:{{error}}", "sidebar.message.jvm_provider_probe_exception_with_diagnostic": "JVM Provider 探测异常:{{error}};已保留诊断增强入口", "sidebar.message.jvm_provider_probe_failed": "探测 JVM 提供方失败:{{error}}", "sidebar.message.jvm_provider_probe_failed_with_diagnostic": "JVM Provider 探测失败:{{error}};已保留诊断增强入口", "sidebar.message.jvm_resources_backend_unavailable": "JVM 资源后端不可用。", "sidebar.message.load_database_list_failed": "加载数据库失败:{{error}}", "sidebar.message.load_jvm_resources_failed": "加载 JVM 资源失败:{{error}}", "sidebar.message.load_table_list_failed": "加载表失败:{{error}}", "sidebar.message.load_tables_failed": "加载对象失败:{{error}}", "sidebar.message.locate_connection_not_found_for_object": "未找到当前对象对应的连接", "sidebar.message.locate_connection_not_in_tree": "未在左侧树找到当前连接", "sidebar.message.locate_current_tab_unavailable": "当前标签页没有可定位的内容", "sidebar.message.locate_current_table_unavailable": "当前标签页没有可定位的表", "sidebar.message.locate_database_loading": "数据库节点仍在加载中:{{database}},请稍后再试", "sidebar.message.locate_database_not_found": "未在左侧树找到数据库:{{database}}", "sidebar.message.locate_external_sql_file_not_found": "未在外部 SQL 目录中找到 SQL 文件:{{path}}", "sidebar.message.locate_object_loading": "{{object}}所在数据库对象仍在加载中:{{database}},请稍后再试", "sidebar.message.locate_object_not_found": "{{object}}未在左侧树中找到:{{name}},请刷新数据库节点后重试", "sidebar.message.message_publish_success": "测试消息已发送到 {{destination}}", "sidebar.message.message_publish_success_with_count": "测试消息已发送到 {{destination}}(已提交 {{count}} 条)", "sidebar.message.message_publish_target_fallback": "目标", "sidebar.message.message_publish_unsupported": "当前对象不支持测试发送消息", "sidebar.message.no_visible_databases": "未返回可见数据库或结构。请检查账号权限,或从右键菜单刷新。", "sidebar.message.operation_create_failed": "创建失败:{{error}}", "sidebar.message.operation_drop_failed": "删除失败:{{error}}", "sidebar.message.operation_rename_failed": "重命名失败:{{error}}", "sidebar.message.read_file_failed": "读取文件失败:{{error}}", "sidebar.message.read_sql_file_failed": "读取 SQL 文件失败:{{error}}", "sidebar.message.rename_failed": "重命名失败:{{error}}", "sidebar.message.rename_sql_directory_failed": "重命名目录失败:{{error}}", "sidebar.message.rename_sql_file_failed": "重命名 SQL 文件失败:{{error}}", "sidebar.message.routine_deleted": "{{type}} 已删除。", "sidebar.message.saved_query_delete_failed": "删除查询失败:{{error}}", "sidebar.message.saved_query_deleted": "已存查询已删除。", "sidebar.message.saved_query_name_unchanged": "新旧查询名称相同,无需修改。", "sidebar.message.saved_query_rebind_failed": "绑定查询失败:{{error}}", "sidebar.message.saved_query_rebind_success": "查询已绑定到 {{name}}", "sidebar.message.saved_query_rename_failed": "重命名查询失败:{{error}}", "sidebar.message.saved_query_renamed": "查询已重命名。", "sidebar.message.schema_create_unsupported": "当前数据库不支持创建 schema。", "sidebar.message.schema_created": "schema 创建成功。", "sidebar.message.schema_deleted": "模式已删除。", "sidebar.message.schema_edit_unsupported": "当前节点不支持通过此入口编辑模式。", "sidebar.message.schema_export_target_missing": "未找到目标模式,无法导出。", "sidebar.message.schema_name_unchanged": "模式名称未变化。", "sidebar.message.schema_renamed": "模式已重命名。", "sidebar.message.schema_target_delete_missing": "未找到目标模式,无法删除。", "sidebar.message.schema_target_edit_missing": "未找到目标模式,无法编辑。", "sidebar.message.schema_target_missing": "请选择要创建 schema 的数据库。", "sidebar.message.select_connection_or_database_first": "请先选择连接或数据库。", "sidebar.message.select_database_required": "请至少选择一个数据库。", "sidebar.message.select_host_before_large_sql_file": "请先选择一个 Host 后再执行大 SQL 文件。", "sidebar.message.select_object_required": "请至少选择一个对象。", "sidebar.message.select_sql_directory_failed": "选择 SQL 目录失败:{{error}}", "sidebar.message.sidebar_filter_reset": "已重置侧栏筛选。", "sidebar.message.sidebar_filter_sync_disabled": "已关闭左侧筛选同步。", "sidebar.message.sidebar_filter_sync_enabled": "已开启左侧筛选同步。", "sidebar.message.sphinx_unsupported_objects": "此 Sphinx 实例不支持这些对象能力:{{objects}}。已启用兼容模式。", "sidebar.message.sql_directory_created": "目录已新建。", "sidebar.message.sql_directory_deleted": "SQL 目录已删除。", "sidebar.message.sql_directory_name_required": "目录名不能为空。", "sidebar.message.sql_directory_path_invalid": "SQL 目录路径无效。", "sidebar.message.sql_directory_renamed": "目录已重命名。", "sidebar.message.sql_file_context_incomplete": "SQL 文件上下文不完整。", "sidebar.message.sql_file_created": "SQL 文件已新建。", "sidebar.message.sql_file_deleted": "SQL 文件已删除。", "sidebar.message.sql_file_name_required": "SQL 文件名不能为空。", "sidebar.message.sql_file_path_incomplete": "SQL 文件路径不完整,无法打开。", "sidebar.message.sql_file_renamed": "SQL 文件已重命名。", "sidebar.message.table_data_action_failed": "{{action}} 失败:{{error}}", "sidebar.message.table_data_action_loading": "{{action}} {{table}}...", "sidebar.message.table_data_action_success": "{{action}} 已完成。", "sidebar.message.table_deleted": "表已删除。", "sidebar.message.table_export_target_missing": "未识别到表名,无法导出。", "sidebar.message.table_name_required": "请输入表名。", "sidebar.message.table_name_unchanged": "表名称未变化。", "sidebar.message.table_pinned": "已置顶表", "sidebar.message.table_renamed": "表已重命名。", "sidebar.message.table_structure_copied": "表结构已复制。", "sidebar.message.table_unpinned": "已取消置顶", "sidebar.message.view_deleted": "视图已删除。", "sidebar.message.view_name_required": "请输入视图名称。", "sidebar.message.view_name_unchanged": "视图名称未变化。", "sidebar.message.view_renamed": "视图已重命名。", "sidebar.message.visual_new_table_unsupported": "当前数据源暂不支持可视化新建表。", "sidebar.modal.batch_databases.description": "按数据库批量导出结构,或生成结构加数据的备份。", "sidebar.modal.batch_databases.selection_hint": "连接选定后会加载当前连接下可批量导出的数据库列表。", "sidebar.modal.batch_databases.title": "批量操作库", "sidebar.modal.batch_tables.description": "按对象批量导出结构、数据或完整备份。", "sidebar.modal.batch_tables.selection_hint": "先选择连接与数据库,再决定导出范围和目标对象。", "sidebar.modal.batch_tables.title": "批量操作表", "sidebar.modal.confirm_clear_selected_tables.content": "清空 {{connection}} / {{database}} 下已选对象的数据?此操作不可撤销。", "sidebar.modal.confirm_clear_selected_tables.title": "确认清空已选表", "sidebar.modal.confirm_delete_connection.content": "删除连接 {{name}}?", "sidebar.modal.confirm_delete_database.content": "删除 {{name}}?此操作不可撤销。", "sidebar.modal.confirm_delete_database.title": "删除数据库", "sidebar.modal.confirm_delete_routine.content": "删除 {{type}} {{name}}?此操作不可撤销。", "sidebar.modal.confirm_delete_routine.title": "删除 {{type}}", "sidebar.modal.confirm_delete_saved_query.content": "确定要删除已保存的查询 \"{{name}}\" 吗?此操作不可恢复。", "sidebar.modal.confirm_delete_schema.content": "删除模式 {{name}}?该模式及其中所有对象都会被删除,此操作不可撤销。", "sidebar.modal.confirm_delete_schema.title": "删除模式", "sidebar.modal.confirm_delete_sql_directory.content": "删除 \"{{name}}\"?此操作会删除本地磁盘目录,且仅支持删除空目录。", "sidebar.modal.confirm_delete_sql_directory.title": "删除 SQL 目录", "sidebar.modal.confirm_delete_sql_file.content": "删除 \"{{name}}\"?此操作会删除本地磁盘文件,无法恢复。", "sidebar.modal.confirm_delete_sql_file.title": "删除 SQL 文件", "sidebar.modal.confirm_delete_table.content": "删除 {{name}}?此操作不可撤销。", "sidebar.modal.confirm_delete_table.title": "删除表", "sidebar.modal.confirm_delete_tag.content": "确定要删除分组 \"{{name}}\" 吗?这不会删除其中的连接。", "sidebar.modal.confirm_delete_view.content": "删除 {{name}}?此操作不可撤销。", "sidebar.modal.confirm_delete_view.title": "删除视图", "sidebar.modal.confirm_delete.title": "确认删除", "sidebar.modal.confirm_table_data_action.content": "{{action}} {{table}}?此操作不可撤销。", "sidebar.modal.confirm_table_data_action.title": "确认 {{action}}", "sidebar.modal.create_database.title": "创建数据库", "sidebar.modal.rename_database.title": "重命名数据库:{{name}}", "sidebar.modal.rename_schema.title": "编辑模式:{{name}}", "sidebar.modal.rename_table.title": "重命名表:{{name}}", "sidebar.modal.rename_view.title": "重命名视图:{{name}}", "sidebar.modal.tag.create_description": "创建分组以整理连接。", "sidebar.modal.tag.create_title": "新建分组", "sidebar.modal.tag.edit_description": "更新分组名称和包含的连接。", "sidebar.modal.tag.edit_title": "编辑分组", "sidebar.object_group.events": "事件", "sidebar.object_group.materialized_views": "物化视图", "sidebar.object_group.packages": "存储包", "sidebar.object_group.routines": "函数和存储过程", "sidebar.object_group.sequences": "序列", "sidebar.object_group.tables": "表", "sidebar.object_group.triggers": "触发器", "sidebar.object_group.views": "视图", "sidebar.object.function": "函数", "sidebar.object.procedure": "存储过程", "sidebar.object.view": "视图", "sidebar.placeholder.filter_table_view": "筛选表或视图", "sidebar.placeholder.select_connection": "请选择连接", "sidebar.placeholder.select_connection_first": "请先选择连接", "sidebar.placeholder.tag_name": "分组名称", "sidebar.punctuation.list_separator": "、", "sidebar.rail.object_actions": "对象区快捷操作", "sidebar.rail.system_actions": "系统操作", "sidebar.search.manual_scope": "手动范围", "sidebar.search.multi_select_supported": "支持多选", "sidebar.search.placeholder": "搜索...", "sidebar.search.scope_description": "选择侧边栏搜索的匹配范围。", "sidebar.search.scope_hint": "智能模式会根据上下文搜索名称、主机、数据库和对象。", "sidebar.search.scope_title": "搜索范围", "sidebar.search.scope_tooltip": "当前搜索范围:{{scope}}", "sidebar.search.scope.database": "数据库", "sidebar.search.scope.host": "主机", "sidebar.search.scope.object": "对象", "sidebar.search.scope.smart": "智能", "sidebar.search.scope.smart_description": "根据当前选中的节点自动缩小搜索范围。", "sidebar.search.scope.smart_short": "智能", "sidebar.search.scope.tag": "标签", "sidebar.sql_directory.default_name": "SQL 目录", "sidebar.sql_file_exec.cancel": "取消执行", "sidebar.sql_file_exec.executed_label": "已执行:", "sidebar.sql_file_exec.file_size": "文件大小:", "sidebar.sql_file_exec.rows_separator": " 行 | 失败:", "sidebar.sql_file_exec.rows_suffix": " 行", "sidebar.sql_file_exec.status_label": "状态:", "sidebar.sql_file_exec.status.cancelled": "已中止", "sidebar.sql_file_exec.status.done": "完成", "sidebar.sql_file_exec.status.error": "错误", "sidebar.sql_file_exec.status.running": "运行中", "sidebar.sql_file_exec.title": "运行外部 SQL 文件", "sidebar.sql_file.default_name": "SQL 文件", "sidebar.sql_template.duckdb_macro_hint": "使用 SQL Macro 实现类似函数的行为", "sidebar.sql_template.duckdb_procedure_unsupported": "DuckDB 暂不支持存储过程", "sidebar.sql_template.edit_routine": "编辑 {{type}} {{name}}", "sidebar.sql_template.edit_view": "编辑视图 {{name}}", "sidebar.sql_template.modify_then_execute": "修改并执行", "sidebar.status.pinned": "已置顶", "sidebar.tab.batch_export_databases": "批量导出库", "sidebar.tab.batch_export_objects": "批量导出对象", "sidebar.tab.batch_export_objects_database": "批量导出 {{database}} 对象", "sidebar.tab.create_function": "创建函数", "sidebar.tab.create_procedure": "创建存储过程", "sidebar.tab.create_view": "创建视图", "sidebar.tab.design_table": "设计表({{table}})", "sidebar.tab.edit_event": "编辑事件:{{name}}", "sidebar.tab.edit_routine": "编辑 {{type}}:{{name}}", "sidebar.tab.edit_view": "编辑视图:{{name}}", "sidebar.tab.event": "事件:{{name}}", "sidebar.tab.materialized_view_definition": "物化视图:{{name}}", "sidebar.tab.new_event": "新建事件", "sidebar.tab.new_query": "新建查询", "sidebar.tab.new_query_database": "新建查询({{database}})", "sidebar.tab.new_table": "新建表 - {{database}}", "sidebar.tab.package_definition": "存储包:{{name}}", "sidebar.tab.recent_query": "最近查询", "sidebar.tab.redis_command": "命令 - {{database}}", "sidebar.tab.redis_monitor": "监控 - {{database}}", "sidebar.tab.routine_definition": "{{type}}:{{name}}", "sidebar.tab.sequence_definition": "序列:{{name}}", "sidebar.tab.table_overview": "表概览 - {{database}}{{schema}}", "sidebar.tab.table_structure": "表结构({{table}})", "sidebar.tab.trigger": "触发器:{{name}}", "sidebar.tab.view_definition": "视图:{{name}}", "sidebar.table_action.clear.label": "清空表", "sidebar.table_action.clear.progress": "正在清空", "sidebar.table_action.truncate.label": "截断表", "sidebar.table_action.truncate.progress": "正在截断", "sidebar.table_folder.columns": "列", "sidebar.table_folder.foreign_keys": "外键", "sidebar.table_folder.indexes": "索引", "sidebar.table_folder.triggers": "触发器", "sidebar.tree.all_saved_queries": "全部已存查询", "sidebar.tree.default_database": "默认数据库", "sidebar.tree.default_schema": "默认结构", "sidebar.tree.saved_queries": "已存查询", "sidebar.tree.unknown_connection": "未知连接", "sidebar.tree.unmatched_saved_queries": "未匹配", "sidebar.tree.untitled_query": "未命名查询", "sidebar.v2_database_menu.backup_all_tables_sql": "备份全部表 · 结构 + 数据 SQL", "sidebar.v2_database_menu.export_all_table_schema_sql": "导出全部表结构 · SQL", "sidebar.v2_database_menu.export_backup_section": "导出与备份", "sidebar.v2_database_menu.meta": "{{dialect}} · 数据库操作", "sidebar.v2_database_menu.new_external_catalog": "新建外部 Catalog", "sidebar.v2_database_menu.new_materialized_view": "新建物化视图", "sidebar.v2_database_menu.new_schema": "新建模式", "sidebar.v2_database_menu.refresh_object_tree": "刷新对象树", "sidebar.v2_schema_menu.backup_current_schema_sql": "备份当前模式全部表 · 结构 + 数据", "sidebar.v2_schema_menu.delete_schema_cascade": "删除模式 · DROP CASCADE", "sidebar.v2_schema_menu.edit_schema": "编辑模式", "sidebar.v2_schema_menu.export_current_schema_sql": "导出当前模式表结构 · SQL", "sidebar.v2_schema_menu.meta": "{{database}} · 模式操作", "sidebar.v2_table_group_menu.current_database": "当前数据库", "sidebar.v2_table_group_menu.display_section": "显示", "sidebar.v2_table_group_menu.meta": "{{database}} · {{count}} 张表 · 当前按{{sort}}排序", "sidebar.v2_table_group_menu.show_table_comments": "显示表备注", "sidebar.v2_table_group_menu.sort_frequency": "使用频率", "sidebar.v2_table_group_menu.sort_name": "名称", "sidebar.v2_table_group_menu.table_comment_tooltip": "备注:{{comment}}", "sidebar.v2_table_group_menu.title": "表", "sidebar.v2_table_menu.ai_explain_table": "用 AI 解释这张表", "sidebar.v2_table_menu.ai_generate_query": "用 AI 生成查询", "sidebar.v2_table_menu.backup_sql_dump": "备份 · {{keyword}}", "sidebar.v2_table_menu.copy_section": "复制", "sidebar.v2_table_menu.copy_table_as_insert": "复制全表为 {{keyword}}", "sidebar.v2_table_menu.copy_table_name": "复制表名", "sidebar.v2_table_menu.design_table_detail": "字段 / 索引 / 外键", "sidebar.v2_table_menu.item_with_suffix": "{{label}} · {{suffix}}", "sidebar.v2_table_menu.maintenance_section": "维护", "sidebar.v2_table_menu.meta.idle": "点击刷新统计信息读取", "sidebar.v2_table_menu.meta.loading": "正在读取统计信息...", "sidebar.v2_table_menu.meta.rows": "{{count}} 行", "sidebar.v2_table_menu.meta.rows_empty": "— 行", "sidebar.v2_table_menu.meta.summary": "{{rows}} · {{data}} 数据 · {{indexes}} 索引", "sidebar.v2_table_menu.meta.unavailable": "统计信息不可用", "sidebar.v2_table_menu.metadata_section": "元信息", "sidebar.v2_table_menu.new_rollup": "新增 {{keyword}}", "sidebar.v2_table_menu.open_data": "查看数据", "sidebar.v2_table_menu.open_export_workbench": "打开导出工作台…", "sidebar.v2_table_menu.open_in_new_tab": "在新标签打开", "sidebar.v2_table_menu.refresh_stats": "刷新统计信息", "sidebar.v2_table_menu.rename_compact": "重命名…", "sidebar.v2_table_menu.truncate_table": "截断表", "sidebar.v2_table_menu.view_in_er": "在 ER 图中查看", "sidebar.validation.name_required": "请输入名称。", "sidebar.validation.new_database_name_required": "请输入新数据库名称。", "sidebar.validation.new_table_name_required": "请输入新表名。", "sidebar.validation.new_view_name_required": "请输入新视图名称。", "sidebar.validation.schema_name_required": "请输入模式名称。", "sidebar.validation.tag_name_required": "请输入分组名称。", "snippet_settings.action.close": "关闭", "snippet_settings.action.delete": "删除", "snippet_settings.action.new": "新建片段", "snippet_settings.action.reset": "重置为默认", "snippet_settings.action.save": "保存", "snippet_settings.confirm.delete.description": "确定要删除此片段吗?", "snippet_settings.confirm.delete.title": "删除片段", "snippet_settings.confirm.reset.description": "将恢复此内置片段的原始内容", "snippet_settings.confirm.reset.title": "重置为默认", "snippet_settings.empty_state": "选择左侧片段编辑,或点击“{{action}}”", "snippet_settings.field.body.label": "片段内容", "snippet_settings.field.description.label": "描述(可选)", "snippet_settings.field.description.placeholder": "补全详情中的描述文字", "snippet_settings.field.name.label": "名称", "snippet_settings.field.name.placeholder": "片段显示名称", "snippet_settings.field.prefix.label": "前缀", "snippet_settings.field.prefix.placeholder": "如 sel, ins", "snippet_settings.list.title": "片段列表", "snippet_settings.message.body_required": "片段内容不能为空", "snippet_settings.message.deleted": "片段已删除", "snippet_settings.message.name_required": "名称不能为空", "snippet_settings.message.prefix_duplicate": "前缀 \"{{prefix}}\" 已被其他片段使用", "snippet_settings.message.prefix_required": "前缀不能为空", "snippet_settings.message.reset_default": "已重置为默认", "snippet_settings.message.saved": "片段已保存", "snippet_settings.syntax_help.label": "片段语法说明(可编辑)", "snippet_settings.syntax_help.placeholder": "展示在补全详情中的用法说明,例如占位符含义、参数约定或注意事项", "snippet_settings.syntax_reference.builtin_variables": "内置变量(展开时自动替换为实际值):", "snippet_settings.syntax_reference.current_date": "${CURRENT_YEAR}-${CURRENT_MONTH}-${CURRENT_DATE} 当前日期", "snippet_settings.syntax_reference.current_time": "${CURRENT_HOUR}:${CURRENT_MINUTE}:${CURRENT_SECOND} 当前时间", "snippet_settings.syntax_reference.example": "示例:SELECT ${1:列名} FROM ${2:表名} WHERE date >= '${CURRENT_YEAR}-${CURRENT_MONTH}-${CURRENT_DATE}';$0", "snippet_settings.syntax_reference.final_cursor": "$0 最终光标位置", "snippet_settings.syntax_reference.first_tabstop": "${1:占位符} 第一个 Tab 位,占位符为提示文字", "snippet_settings.syntax_reference.label": "占位符语法参考", "snippet_settings.syntax_reference.linked_tabstop": "${1:表名} 同一数字在多处出现时会同步编辑", "snippet_settings.syntax_reference.random": "${RANDOM} 6 位随机数", "snippet_settings.syntax_reference.second_tabstop": "${2:默认值} 第二个 Tab 位,默认值可直接确认", "snippet_settings.syntax_reference.unix_seconds": "${CURRENT_SECONDS_UNIX} Unix 时间戳", "snippet_settings.syntax_reference.uuid": "${UUID} 随机 UUID", "snippet_settings.tag.builtin": "内置", "sql_analysis.backend.error.driver_explain_failed": "驱动 EXPLAIN 执行失败:{{detail}}", "sql_analysis.backend.error.explain_dialect_unsupported": "当前数据源({{dbType}})的 EXPLAIN 方言暂不支持", "sql_analysis.backend.error.explain_execution_failed": "执行 EXPLAIN 失败:{{detail}}", "sql_analysis.backend.error.explain_query_not_implemented": "当前数据源({{dbType}})暂未实现 EXPLAIN 语句生成", "sql_analysis.backend.error.explain_result_empty": "EXPLAIN 结果集为空", "sql_analysis.backend.error.explain_result_missing": "未返回 EXPLAIN 结果集", "sql_analysis.backend.error.query_required": "查询语句不能为空", "sql_analysis.backend.error.select_only": "诊断仅支持 SELECT / WITH 查询;写操作请使用 EXPLAIN PLAN 模式(PR2 支持)", "sql_analysis.backend.error.unsupported_db_type": "当前数据源({{dbType}})暂不支持 SQL 诊断;一期支持 MySQL/PostgreSQL/SQLite/ClickHouse/Oracle/SQLServer/OceanBase", "sql_analysis.backend.message.completed": "诊断完成", "sql_analysis.explain_graph.flag.filesort": "额外排序", "sql_analysis.explain_graph.flag.full_scan": "全表扫描", "sql_analysis.explain_graph.flag.temp_table": "临时表", "sql_analysis.explain_graph.label.index": "索引:", "sql_analysis.explain_graph.label.table": "表:", "sql_analysis.explain_graph.metric.actual_rows": "实际", "sql_analysis.explain_graph.metric.cost": "成本", "sql_analysis.explain_graph.metric.est_rows": "估算", "sql_analysis.explain.empty": "输入 SQL 后运行诊断", "sql_analysis.explain.error.query_required": "查询语句为空", "sql_analysis.explain.error.run_failed": "诊断失败", "sql_analysis.explain.error.title": "诊断失败:", "sql_analysis.explain.loading": "正在执行 EXPLAIN 并解析计划...", "sql_analysis.explain.meta.node_count": "{{count}} 节点", "sql_analysis.explain.raw.empty": "(无原文)", "sql_analysis.explain.view.plan": "执行计划", "sql_analysis.explain.view.raw": "原文", "sql_analysis.sidebar.node.actual_rows": "实际行数", "sql_analysis.sidebar.node.buffer_hit": "缓冲命中", "sql_analysis.sidebar.node.cost": "成本", "sql_analysis.sidebar.node.duration": "耗时", "sql_analysis.sidebar.node.est_rows": "估算行数", "sql_analysis.sidebar.node.extra": "Extra 字段({{count}})", "sql_analysis.sidebar.node.flags": "标志", "sql_analysis.sidebar.node.index": "索引", "sql_analysis.sidebar.node.loops": "循环次数", "sql_analysis.sidebar.node.op_detail": "操作详情", "sql_analysis.sidebar.node.op_type": "操作类型", "sql_analysis.sidebar.node.table": "表", "sql_analysis.sidebar.node.title": "节点详情", "sql_analysis.sidebar.stats.buffer_hit": "缓冲命中", "sql_analysis.sidebar.stats.max_est_rows": "最大单节点行数", "sql_analysis.sidebar.stats.rows_read": "扫描行数", "sql_analysis.sidebar.stats.title": "执行统计", "sql_analysis.sidebar.stats.total_cost": "总成本", "sql_analysis.sidebar.stats.total_duration": "总耗时", "sql_analysis.sidebar.suggestions.empty": "未发现明显性能问题", "sql_analysis.sidebar.suggestions.rows": "{{count}} 行", "sql_analysis.sidebar.suggestions.table": "表:{{table}}", "sql_analysis.sidebar.suggestions.title": "索引建议({{count}})", "sql_analysis.sidebar.warning.filesort": "存在额外排序", "sql_analysis.sidebar.warning.full_scan": "存在全表扫描", "sql_analysis.sidebar.warning.temp_table": "使用临时表", "sql_analysis.slow_query.current_connection": "(当前连接)", "sql_analysis.slow_query.empty": "暂无慢查询记录(阈值 {{threshold}}ms)", "sql_analysis.slow_query.error.clear_failed": "清空失败", "sql_analysis.slow_query.error.load_failed": "加载失败", "sql_analysis.slow_query.error.title": "加载失败:", "sql_analysis.slow_query.loading": "加载慢查询历史...", "sql_analysis.slow_query.message.cleared": "已清空慢查询历史", "sql_analysis.slow_query.metric.rows_read": "扫描", "sql_analysis.slow_query.metric.rows_returned": "返回", "sql_analysis.slow_query.preview.empty": "(无 SQL 预览)", "sql_analysis.slow_query.rail.aria_label": "慢 SQL 工作台", "sql_analysis.slow_query.rail.tooltip.no_connection": "请先打开一个数据库连接的标签页", "sql_analysis.slow_query.rail.tooltip.open": "打开当前连接的 SQL 分析工作台", "sql_analysis.slow_query.relative.days_ago": "{{count}} 天前", "sql_analysis.slow_query.relative.hours_ago": "{{count}} 小时前", "sql_analysis.slow_query.relative.just_now": "刚刚", "sql_analysis.slow_query.relative.minutes_ago": "{{count}} 分钟前", "sql_analysis.slow_query.sort.duration": "按耗时", "sql_analysis.slow_query.sort.recent": "按时间", "sql_analysis.slow_query.sort.rows_read": "按扫描行数", "sql_analysis.slow_query.title": "慢 SQL 历史", "sql_analysis.slow_query.tooltip.clear_current": "清空当前连接的历史", "sql_analysis.workbench.action.run": "运行诊断", "sql_analysis.workbench.alert.connection_missing_description": "请重新选择一个有效连接后再打开 SQL 分析工作台。", "sql_analysis.workbench.alert.connection_missing_title": "当前工作台对应的连接已不可用", "sql_analysis.workbench.editor.hint": "支持从慢 SQL 列表点击条目直接带入", "sql_analysis.workbench.editor.placeholder": "输入要诊断的 SQL,或从慢 SQL 列表点击条目带入", "sql_analysis.workbench.tab_title": "SQL 分析", "sql_analysis.workbench.tab_title_with_database": "SQL 分析 · {{database}}", "sql_analysis.workbench.title": "SQL 分析工作台", "sql_analysis.workbench.validation.sql_required": "请输入要诊断的 SQL", "sql_analysis.workbench.view.diagnose": "SQL 诊断", "sql_analysis.workbench.view.slow_query": "慢 SQL", "sql_snippets.builtin.alt.description": "ALTER TABLE 添加列模板", "sql_snippets.builtin.alt.name": "ALTER TABLE", "sql_snippets.builtin.ct.description": "CREATE TABLE 建表模板", "sql_snippets.builtin.ct.name": "CREATE TABLE", "sql_snippets.builtin.ctt.description": "建表模板,含 created_at / updated_at 时间列", "sql_snippets.builtin.ctt.name": "CREATE TABLE(含时间列)", "sql_snippets.builtin.del.description": "DELETE 删除数据模板", "sql_snippets.builtin.del.name": "DELETE", "sql_snippets.builtin.dro.description": "DROP TABLE 删表模板", "sql_snippets.builtin.dro.name": "DROP TABLE", "sql_snippets.builtin.grp.description": "带 GROUP BY 的聚合查询模板", "sql_snippets.builtin.grp.name": "GROUP BY", "sql_snippets.builtin.ins.description": "INSERT 插入数据模板", "sql_snippets.builtin.ins.name": "INSERT", "sql_snippets.builtin.inst.description": "INSERT 模板,自动填入当前时间戳", "sql_snippets.builtin.inst.name": "INSERT(含时间戳)", "sql_snippets.builtin.lim.description": "带 LIMIT 的分页查询模板", "sql_snippets.builtin.lim.name": "LIMIT 查询", "sql_snippets.builtin.ljo.description": "LEFT JOIN 左连接模板", "sql_snippets.builtin.ljo.name": "LEFT JOIN", "sql_snippets.builtin.ord.description": "带排序的查询模板", "sql_snippets.builtin.ord.name": "ORDER BY", "sql_snippets.builtin.sel.description": "基本 SELECT 查询模板", "sql_snippets.builtin.sel.name": "SELECT 基本查询", "sql_snippets.builtin.seld.description": "按日期条件过滤的 SELECT 查询,自动填入当天日期", "sql_snippets.builtin.seld.name": "SELECT 按日期查询", "sql_snippets.builtin.selj.description": "带 INNER JOIN 的 SELECT 查询", "sql_snippets.builtin.selj.name": "SELECT JOIN", "sql_snippets.builtin.selw.description": "带 WHERE 条件的 SELECT 查询", "sql_snippets.builtin.selw.name": "SELECT WHERE", "sql_snippets.builtin.sub.description": "IN 子查询模板", "sql_snippets.builtin.sub.name": "子查询", "sql_snippets.builtin.upd.description": "UPDATE 更新数据模板", "sql_snippets.builtin.upd.name": "UPDATE", "store.fallback.connection_name": "连接-{{index}}", "store.fallback.connection_tag_name": "标签-{{index}}", "store.fallback.sql_snippet_name": "片段-{{index}}", "tab_manager.close_aria": "关闭 {{title}}", "tab_manager.empty.action.open_ai": "打开 AI", "tab_manager.empty.aria.start_workbench": "GoNavi 起始工作台", "tab_manager.empty.eyebrow.connections": "{{count}} 个连接", "tab_manager.empty.eyebrow.workbench": "工作台", "tab_manager.empty.hero.description": "选择数据源,打开查询编辑器,或在 AI 面板中带着上下文继续。", "tab_manager.empty.hero.title": "连接、查询和分析都从一个工作台开始。", "tab_manager.empty.quick.ai_assist.description": "解释 SQL、生成查询并审阅结果", "tab_manager.empty.quick.ai_assist.title": "进入 AI 辅助", "tab_manager.empty.quick.aria": "快速工作流", "tab_manager.empty.quick.configure_source.description": "在一处设置 URI、SSH、代理和驱动", "tab_manager.empty.quick.configure_source.title": "配置数据源", "tab_manager.empty.quick.heading": "快速工作流", "tab_manager.empty.quick.sql_workspace.description": "使用当前上下文打开查询编辑器", "tab_manager.empty.quick.sql_workspace.title": "启动 SQL 工作区", "tab_manager.hover.fallback.database_not_specified": "未指定", "tab_manager.hover.fallback.host_not_configured": "未配置", "tab_manager.hover.fallback.unbound_connection": "未绑定连接", "tab_manager.hover.kind.design": "表设计", "tab_manager.hover.kind.event": "事件", "tab_manager.hover.kind.fallback": "标签页", "tab_manager.hover.kind.jvm_audit": "JVM 审计", "tab_manager.hover.kind.jvm_diagnostic": "JVM 诊断", "tab_manager.hover.kind.jvm_monitoring": "JVM 监控", "tab_manager.hover.kind.jvm_overview": "JVM 概览", "tab_manager.hover.kind.jvm_resource": "JVM 资源", "tab_manager.hover.kind.materialized_view": "物化视图", "tab_manager.hover.kind.package": "存储包", "tab_manager.hover.kind.query": "SQL 查询", "tab_manager.hover.kind.redis_command": "Redis 命令", "tab_manager.hover.kind.redis_keys": "Redis Key", "tab_manager.hover.kind.redis_monitor": "Redis 监控", "tab_manager.hover.kind.routine": "函数 / 存储过程", "tab_manager.hover.kind.sequence": "序列", "tab_manager.hover.kind.sql_analysis": "SQL 分析工作台", "tab_manager.hover.kind.table": "表数据", "tab_manager.hover.kind.table_export": "导出工作台", "tab_manager.hover.kind.table_overview": "表概览", "tab_manager.hover.kind.trigger": "触发器", "tab_manager.hover.kind.view": "视图", "tab_manager.hover.label.connection": "连接", "tab_manager.hover.label.database": "数据库", "tab_manager.hover.label.object": "对象", "tab_manager.hover.label.type": "类型", "tab_manager.kind_badge.design": "设计", "tab_manager.kind_badge.event": "事件", "tab_manager.kind_badge.fallback": "标签", "tab_manager.kind_badge.jvm": "JVM", "tab_manager.kind_badge.materialized_view": "物化视图", "tab_manager.kind_badge.package": "包", "tab_manager.kind_badge.query": "SQL", "tab_manager.kind_badge.redis": "Redis", "tab_manager.kind_badge.routine": "函数", "tab_manager.kind_badge.sequence": "序列", "tab_manager.kind_badge.sql_analysis": "分析", "tab_manager.kind_badge.table": "表", "tab_manager.kind_badge.table_export": "导出", "tab_manager.kind_badge.table_overview": "库", "tab_manager.kind_badge.trigger": "触发器", "tab_manager.kind_badge.view": "视图", "tab_manager.menu.close_all": "关闭所有页", "tab_manager.menu.close_left": "关闭左侧页", "tab_manager.menu.close_other": "关闭其他页", "tab_manager.menu.close_right": "关闭右侧页", "tab_manager.menu.tab_display_settings": "标签设置", "tab_manager.sql_file_close.close_tabs": "关闭标签", "tab_manager.sql_file_close.continue_close": "继续关闭", "tab_manager.sql_file_close.dirty_multiple_label": "{{count}} 个 SQL 文件", "tab_manager.sql_file_close.dirty_single_label": "“{{title}}”", "tab_manager.sql_file_close.discard": "不保存", "tab_manager.sql_file_close.missing_confirm_content": "{{label}} 对应的外部 SQL 文件已不存在或已被移动,关闭后将丢弃标签内的本地草稿。", "tab_manager.sql_file_close.missing_confirm_title": "关闭已丢失的 SQL 文件标签?", "tab_manager.sql_file_close.missing_multiple_label": "{{count}} 个 SQL 文件标签", "tab_manager.sql_file_close.missing_single_label": "“{{title}}”", "tab_manager.sql_file_close.read_failed_cancel_close": "读取 SQL 文件失败,关闭已中止:{{detail}}", "tab_manager.sql_file_close.save_and_close": "保存并关闭", "tab_manager.sql_file_close.save_confirm_content": "{{label}} 有未保存修改,是否保存后再关闭?", "tab_manager.sql_file_close.save_confirm_title": "保存 SQL 文件修改?", "tab_manager.sql_file_close.save_failed": "保存 {{title}} 失败:{{detail}}", "tab_manager.sql_file_close.saved": "SQL 文件已保存", "tab_manager.sql_file_close.unknown_error": "未知错误", "table_designer.action.add": "新增", "table_designer.action.add_after_selected": "在选中字段后添加", "table_designer.action.add_column": "添加字段", "table_designer.action.apply": "应用", "table_designer.action.cancel": "取消", "table_designer.action.copy_selected_to_new_table": "复制选中到新表", "table_designer.action.create": "创建", "table_designer.action.create_table": "创建新表", "table_designer.action.delete": "删除", "table_designer.action.edit": "修改", "table_designer.action.execute": "执行", "table_designer.action.refresh": "刷新", "table_designer.action.refresh_anyway": "仍然刷新", "table_designer.action.save": "保存", "table_designer.action.table_comment": "表备注", "table_designer.action.view_statement": "查看语句", "table_designer.column.actions": "操作", "table_designer.column.auto_increment": "自增", "table_designer.column.comment": "注释", "table_designer.column.default": "默认", "table_designer.column.name": "名", "table_designer.column.not_null": "不是 NULL", "table_designer.column.primary_key": "主键", "table_designer.column.type": "类型", "table_designer.empty.triggers": "该表暂无触发器", "table_designer.fallback.empty": "(空)", "table_designer.fallback.unknown_error": "未知错误", "table_designer.fallback.unnamed_foreign_key": "(未命名外键)", "table_designer.fallback.unnamed_index": "(未命名索引)", "table_designer.foreign_key.column.constraint_name": "约束名", "table_designer.foreign_key.column.fields": "字段", "table_designer.foreign_key.column.ref_fields": "参考字段", "table_designer.foreign_key.column.ref_table": "参考表", "table_designer.index.column.fields": "字段", "table_designer.index.column.name": "索引名", "table_designer.index.column.type": "索引类型", "table_designer.index.column.uniqueness": "唯一性", "table_designer.index.kind.fulltext": "全文索引", "table_designer.index.kind.normal": "普通索引", "table_designer.index.kind.normal_nonclustered": "普通索引(非聚合)", "table_designer.index.kind.primary_clustered": "主键索引(聚合)", "table_designer.index.kind.spatial": "空间索引", "table_designer.index.kind.unique": "唯一索引", "table_designer.index.uniqueness.normal": "普通", "table_designer.index.uniqueness.unique": "唯一", "table_designer.label.create_statement": "{{name}} 创建语句", "table_designer.label.create_statement_plain": "创建语句", "table_designer.message.add_at_least_one_column": "请至少添加一个字段", "table_designer.message.columns_copied_to_new_table": "已将 {{count}} 个字段复制到新表 {{table}}", "table_designer.message.connection_not_found": "未找到连接", "table_designer.message.delete_failed": "删除失败:{{detail}}", "table_designer.message.drop_old_trigger_failed": "删除旧触发器失败:{{detail}}", "table_designer.message.duckdb_primary_key_change_unsupported": "DuckDB 当前仅支持为无主键表新增主键;已有主键的修改或删除需要通过重建表完成。", "table_designer.message.execution_failed": "执行失败:{{detail}}", "table_designer.message.execution_failed_plain": "执行失败", "table_designer.message.execution_failed_prefix": "执行失败:", "table_designer.message.foreign_key_column_count_mismatch": "本表字段数量与参考字段数量必须一致", "table_designer.message.foreign_key_created": "外键新增成功", "table_designer.message.foreign_key_delete_unsupported": "当前数据库暂不支持删除该外键", "table_designer.message.foreign_key_deleted": "外键删除成功", "table_designer.message.foreign_key_maintenance_unsupported": "当前数据库暂不支持在此维护外键", "table_designer.message.foreign_key_name_exists": "外键约束名已存在:{{name}}", "table_designer.message.foreign_key_name_required": "请输入外键约束名", "table_designer.message.foreign_key_updated": "外键修改成功", "table_designer.message.index_create_sql_placeholder": "索引创建 SQL 暂不可用", "table_designer.message.index_create_sql_unavailable": "无法获取索引创建 SQL", "table_designer.message.index_created": "索引新增成功", "table_designer.message.index_delete_named_unsupported": "当前数据库暂不支持删除索引 \"{{name}}\"", "table_designer.message.index_delete_unsupported": "当前数据库暂不支持删除该索引", "table_designer.message.index_deleted": "索引删除成功", "table_designer.message.index_kind_unsupported": "当前数据库不支持该索引类型", "table_designer.message.index_maintenance_unsupported": "当前数据库暂不支持在此维护索引", "table_designer.message.index_name_exists": "索引名已存在:{{name}}", "table_designer.message.index_name_required": "请输入索引名", "table_designer.message.index_restore_failed": "{{detail}};恢复原索引失败:{{restoreDetail}}", "table_designer.message.index_restore_unavailable": "{{detail}};且无法自动恢复原索引,请尽快检查", "table_designer.message.index_restored_after_failure": "{{detail}};已自动恢复原索引", "table_designer.message.index_updated": "索引修改成功", "table_designer.message.indexes_deleted": "{{count}} 个索引删除成功", "table_designer.message.load_columns_failed": "加载字段失败:{{detail}}", "table_designer.message.no_changes_detected": "没有检测到变更", "table_designer.message.no_copyable_columns": "未选择可复制字段", "table_designer.message.no_index_changes": "没有检测到索引变更", "table_designer.message.only_normal_unique_index_supported": "当前数据库仅支持普通索引与唯一索引维护", "table_designer.message.ref_columns_required": "请至少填写一个参考字段", "table_designer.message.ref_table_required": "请输入参考表", "table_designer.message.relational_index_unsupported": "当前数据源不支持关系型索引维护", "table_designer.message.schema_saved_alter": "表结构修改成功!", "table_designer.message.schema_saved_create": "表创建成功!", "table_designer.message.select_at_least_one_column": "请至少选择一个字段", "table_designer.message.select_column_before_insert": "请先选择一个字段,再执行插入。", "table_designer.message.select_columns_to_copy": "请先勾选要复制的字段", "table_designer.message.select_index_to_delete": "请先选择要删除的索引", "table_designer.message.select_local_columns": "请至少选择一个本表字段", "table_designer.message.select_one_foreign_key": "请先选择一个外键", "table_designer.message.select_one_index": "请先选择一个索引", "table_designer.message.statement_execution_failed_prefix": "第 {{current}}/{{total}} 条语句执行失败:", "table_designer.message.switch_index_kind": "请将“索引类别”切换为 {{kind}} 索引", "table_designer.message.table_comment_unsupported": "当前数据库暂不支持在此修改表备注", "table_designer.message.table_comment_updated": "表备注更新成功", "table_designer.message.table_name_required": "请输入表名", "table_designer.message.target_table_required": "请输入目标表名", "table_designer.message.trigger_created": "触发器创建成功", "table_designer.message.trigger_deleted": "触发器删除成功", "table_designer.message.trigger_updated": "触发器修改成功", "table_designer.modal.column_comment_title": "字段注释", "table_designer.modal.column_comment_title_named": "字段注释 - {{name}}", "table_designer.modal.confirm_sql_title": "确认 SQL 变更", "table_designer.modal.copy_columns_title": "复制选中字段到新表", "table_designer.modal.delete_foreign_key_content": "确定删除外键约束 \"{{name}}\" 吗?", "table_designer.modal.delete_foreign_key_title": "确认删除外键", "table_designer.modal.delete_index_many": "确定删除以下 {{count}} 个索引吗?\n{{names}}", "table_designer.modal.delete_index_one": "确定删除索引 {{names}} 吗?", "table_designer.modal.delete_index_title": "确认删除索引", "table_designer.modal.delete_trigger_content": "确定要删除触发器 \"{{name}}\" 吗?此操作不可撤销。", "table_designer.modal.delete_trigger_title": "确认删除触发器", "table_designer.modal.foreign_key_create_title": "新增外键", "table_designer.modal.foreign_key_edit_title": "修改外键", "table_designer.modal.index_create_title": "新增索引", "table_designer.modal.index_edit_title": "修改索引", "table_designer.modal.table_comment_title": "修改表备注", "table_designer.modal.trigger_create_title": "新增触发器", "table_designer.modal.trigger_detail_title": "触发器详情", "table_designer.modal.trigger_detail_title_named": "触发器:{{name}}", "table_designer.modal.trigger_edit_title": "修改触发器", "table_designer.modal.unsaved_changes_content": "刷新后会丢失当前尚未保存的字段调整,是否仍要刷新并覆盖当前草稿?", "table_designer.modal.unsaved_changes_title": "存在未保存的字段变更", "table_designer.notice.foreign_key_readonly": "当前数据库暂不支持外键编辑,仅支持查看", "table_designer.notice.foreign_key_replace_hint": "修改外键会执行“先删除旧外键,再创建新外键”。", "table_designer.notice.index_readonly": "当前数据库暂不支持索引编辑,仅支持查看", "table_designer.notice.index_restore_hint": "修改索引时若新索引创建失败,系统会尝试自动恢复原索引。", "table_designer.notice.sql_irreversible": "请仔细检查 SQL,执行后不可撤销。", "table_designer.notice.sql_statement_irreversible": "请仔细检查 SQL 语句,执行后不可撤销。", "table_designer.notice.trigger_replace_hint": "修改触发器时会先删除原触发器,再创建新触发器。", "table_designer.option.default": "默认", "table_designer.option.recommended_suffix": "(推荐)", "table_designer.placeholder.column_comment": "请输入字段注释", "table_designer.placeholder.foreign_key_name": "外键约束名(例如 fk_order_user)", "table_designer.placeholder.index_columns": "请选择索引字段(按选择顺序生效)", "table_designer.placeholder.index_name": "索引名(例如 idx_user_name)", "table_designer.placeholder.local_columns": "请选择本表字段(顺序需与参考字段一致)", "table_designer.placeholder.primary_index_name": "主键索引固定名称:PRIMARY", "table_designer.placeholder.ref_columns": "请输入参考字段(支持多个)", "table_designer.placeholder.ref_table": "参考表(支持 db.table)", "table_designer.placeholder.table_comment": "请输入表备注", "table_designer.placeholder.table_name": "请输入表名", "table_designer.placeholder.target_table_name": "请输入目标表名", "table_designer.schema_sql.doris.primary_key_hint": "-- Doris 修改主键/Key 模型需要按表模型手工迁移,已避免生成 MySQL 专属的 DROP/ADD PRIMARY KEY。", "table_designer.schema_sql.duckdb.comment_hint": "-- DuckDB 不支持通过 COMMENT ON COLUMN 持久化字段备注,字段 {{column}} 的备注仅保留在设计器预览中。", "table_designer.schema_sql.duckdb.primary_key_hint": "-- DuckDB 当前仅支持为无主键表新增 PRIMARY KEY;已有主键的修改或删除需要通过重建表完成。", "table_designer.schema_sql.limited_column_hint": "-- {{dialect}} 的字段约束、默认值和备注语法与 MySQL 不同,已避免生成 MySQL 专属子句,请按目标库能力补充。", "table_designer.schema_sql.sqlite.modify_column_hint": "-- SQLite 不支持直接修改字段属性,请通过创建新表、迁移数据、替换旧表的方式处理字段 {{column}}。", "table_designer.schema_sql.sqlserver.drop_primary_key_hint": "-- SQL Server 删除旧主键需要原约束名;请先在索引页确认后删除。", "table_designer.schema_sql.tdengine.timestamp_hint": "-- TDengine 普通表通常需要 TIMESTAMP 时间列,执行前请确认表模型。", "table_designer.selection.columns_selected": "已选择字段:{{count}}", "table_designer.selection.foreign_key_selected": "已选择:{{name}}", "table_designer.selection.indexes_selected": "已选择:{{count}} 个索引", "table_designer.selection.trigger_prompt": "请点击选择触发器", "table_designer.selection.trigger_selected": "已选择:{{name}}", "table_designer.sql_preview.change.add": "新增变更", "table_designer.sql_preview.change.comment": "备注变更", "table_designer.sql_preview.change.constraint": "约束变更", "table_designer.sql_preview.change.create": "新建表结构", "table_designer.sql_preview.change.create_index": "新建索引", "table_designer.sql_preview.change.drop": "删除变更", "table_designer.sql_preview.change.modify": "字段属性变更", "table_designer.sql_preview.change.rename": "重命名变更", "table_designer.starrocks.bucket_mode.auto": "自动分桶数", "table_designer.starrocks.bucket_mode.number": "固定分桶数", "table_designer.starrocks.distribution.hash": "哈希分布", "table_designer.starrocks.distribution.none": "不设置分布", "table_designer.starrocks.distribution.random": "随机分布", "table_designer.starrocks.key_model.aggregate": "聚合键", "table_designer.starrocks.key_model.duplicate": "明细键", "table_designer.starrocks.key_model.unique": "唯一键", "table_designer.starrocks.placeholder.bucket_count": "分桶数", "table_designer.starrocks.placeholder.distribution_columns": "分布列,例如 user_id", "table_designer.starrocks.placeholder.key_columns": "键列,例如 id, date", "table_designer.starrocks.placeholder.partition_clause": "分区子句,例如 PARTITION BY RANGE(date_col)(...)", "table_designer.starrocks.table_kind.external": "外部表", "table_designer.starrocks.table_kind.olap": "OLAP 表", "table_designer.status.read_only": "只读", "table_designer.summary.columns": "{{count}} 个字段", "table_designer.summary.indexes": "索引数:{{count}},索引字段:{{fields}}", "table_designer.tab.columns": "字段", "table_designer.tab.edit_trigger_title": "修改触发器: {{name}}", "table_designer.tab.foreign_keys": "外键", "table_designer.tab.indexes": "索引", "table_designer.tab.triggers": "触发器", "table_designer.table_comment.current": "当前备注:{{comment}}", "table_designer.title.default_database": "默认库", "table_designer.title.schema_designer": "结构设计器", "table_designer.title.untitled_table": "未命名表", "table_designer.tooltip.edit_comment_popup": "弹框编辑注释", "table_designer.trigger.column.event": "事件", "table_designer.trigger.column.name": "名称", "table_designer.trigger.column.timing": "时机", "table_designer.trigger.definition_unavailable": "无法获取完整的触发器定义", "table_designer.trigger.field.event": "事件", "table_designer.trigger.field.timing": "时机", "table_designer.trigger.template.body_comment": "触发器逻辑", "table_designer.trigger.template.enter_create": "请输入 CREATE TRIGGER 语句", "table_overview.action.show_more": "显示更多表(剩余 {{count}})", "table_overview.empty.no_matches": "无匹配结果", "table_overview.empty.no_tables": "暂无表", "table_overview.menu.backup_table_sql": "备份表 (SQL)", "table_overview.menu.clear_table": "清空表", "table_overview.menu.copy_structure": "复制表结构", "table_overview.menu.copy_table_name": "复制表名", "table_overview.menu.danger_operations": "危险操作", "table_overview.menu.delete_table": "删除表", "table_overview.menu.design_table": "设计表", "table_overview.menu.export_csv": "导出 CSV", "table_overview.menu.export_html": "导出 HTML", "table_overview.menu.export_json": "导出 JSON", "table_overview.menu.export_markdown": "导出 Markdown", "table_overview.menu.export_table_data": "导出表数据", "table_overview.menu.export_xlsx": "导出 XLSX", "table_overview.menu.new_query": "新建查询", "table_overview.menu.rename_table": "重命名表", "table_overview.menu.table_structure": "表结构", "table_overview.menu.truncate_table": "截断表", "table_overview.message.copy_structure_failed": "复制表结构失败: {{detail}}", "table_overview.message.copy_structure_success": "表结构已复制到剪贴板", "table_overview.message.copy_table_name_empty": "表名为空,无法复制", "table_overview.message.copy_table_name_failed": "复制表名失败: {{detail}}", "table_overview.message.copy_table_name_success": "表名已复制到剪贴板", "table_overview.message.delete_table_failed": "删除表失败: {{detail}}", "table_overview.message.delete_table_success": "表已删除", "table_overview.message.export_failed": "导出失败: {{detail}}", "table_overview.message.export_success": "导出成功", "table_overview.message.exporting_table_format": "正在导出 {{table}} 为 {{format}}...", "table_overview.message.load_tables_failed": "获取表信息失败: {{detail}}", "table_overview.message.pinned": "已置顶表", "table_overview.message.rename_table_failed": "重命名表失败: {{detail}}", "table_overview.message.rename_table_success": "表已重命名", "table_overview.message.table_data_action_failed": "{{action}}失败: {{detail}}", "table_overview.message.table_data_action_loading": "正在对 {{table}} 执行{{action}}...", "table_overview.message.table_data_action_success": "{{action}}成功", "table_overview.message.unknown_error": "未知错误", "table_overview.message.unpinned": "已取消置顶", "table_overview.metric.data_size": "数据大小", "table_overview.metric.engine": "引擎", "table_overview.metric.index_size": "索引大小", "table_overview.metric.relative_size": "相对大小", "table_overview.modal.delete_table.content": "删除表 \"{{table}}\"?此操作无法撤销。", "table_overview.modal.delete_table.title": "删除表", "table_overview.modal.rename_table.placeholder": "输入新表名", "table_overview.modal.rename_table.title": "重命名表", "table_overview.modal.table_data_action.content": "{{action}}会永久删除表 \"{{table}}\" 中的所有数据,此操作无法撤销。是否继续?", "table_overview.modal.table_data_action.title": "确认{{action}}", "table_overview.placeholder.search": "搜索表名或注释...", "table_overview.row.engine_table": "{{engine}} 表", "table_overview.row.open_hint": "双击打开数据,右键查看更多操作", "table_overview.section.all": "全部", "table_overview.section.pinned": "置顶", "table_overview.sort.name": "名称", "table_overview.sort.rows": "行数", "table_overview.sort.size": "大小", "table_overview.status.hidden_count_hint": "还有 {{count}} 张未渲染,可继续加载或缩小搜索范围", "table_overview.status.loading_tables": "加载表信息...", "table_overview.status.matching_rendered": "匹配 {{matched}} 张表,当前渲染 {{rendered}} 张", "table_overview.status.updating_filter": "正在更新筛选结果...", "table_overview.tab.design_table_title": "设计表({{table}})", "table_overview.tab.table_structure_title": "表结构({{table}})", "table_overview.table_data_action.clear.label": "清空表", "table_overview.table_data_action.truncate.label": "截断表", "table_overview.toolbar.summary": "{{count}} 张表 · {{rows}} 行 · {{size}}", "table_overview.tooltip.card_view": "卡片视图", "table_overview.tooltip.list_view": "列表视图", "table_overview.tooltip.refresh": "刷新", "table_overview.tooltip.sort": "排序", "table_overview.validation.table_name_required": "表名不能为空", "table_overview.validation.table_name_unchanged": "新表名与当前表名相同", "trigger_viewer.action.edit_object": "对象修改", "trigger_viewer.edit_sql.compatibility_hint": "请确认语法兼容当前数据库后执行", "trigger_viewer.edit_sql.empty_definition": "当前触发器定义为空,请补全 CREATE TRIGGER 语句后执行", "trigger_viewer.edit_sql.fragment_definition": "当前数据源仅返回触发器定义片段,请补全 CREATE TRIGGER 语句后执行", "trigger_viewer.edit_sql.header": "修改触发器: {{name}}", "trigger_viewer.edit_sql.replace_hint": "表设计修改会先删除原触发器,再创建新触发器,请确认后执行", "trigger_viewer.editor.definition_not_found": "未找到触发器定义", "trigger_viewer.editor.sphinx.compat_queries_hint": "已执行多套兼容查询,可能是版本能力限制或对象类型不支持。", "trigger_viewer.editor.sphinx.empty_result": "当前 Sphinx 实例{{version}}未返回触发器定义。", "trigger_viewer.editor.sphinx.failed_message_label": "返回失败信息", "trigger_viewer.editor.sphinx.failed_message_unknown": "返回失败信息:未知错误", "trigger_viewer.editor.sphinx.unsupported_query": "当前 Sphinx 实例{{version}}不支持触发器定义查询。", "trigger_viewer.editor.sphinx.version_suffix": "(版本: {{version}})", "trigger_viewer.editor.unsupported.duckdb": "DuckDB 不支持触发器", "trigger_viewer.editor.unsupported.generic": "暂不支持该数据库类型的触发器定义查看", "trigger_viewer.editor.unsupported.mongodb": "MongoDB 不支持触发器", "trigger_viewer.editor.unsupported.tdengine": "TDengine 不支持触发器", "trigger_viewer.error.connection_not_found": "未找到数据库连接", "trigger_viewer.error.load_failed": "加载失败", "trigger_viewer.error.query_failed": "查询触发器定义失败", "trigger_viewer.error.query_failed_detail": "查询触发器定义失败:{{detail}}", "trigger_viewer.error.trigger_name_empty": "触发器名称为空", "trigger_viewer.field.database": "数据库", "trigger_viewer.field.trigger": "触发器", "trigger_viewer.loading.definition": "加载触发器定义...", "trigger_viewer.tab.edit_trigger_title": "修改触发器: {{name}}", "trigger_viewer.warning.refresh_latest_failed": "刷新最新定义失败" }