mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-07-14 00:42:17 +08:00
- 新增 appearance.showDataTableRowNumber,默认开启,主题设置可切换 - 数据预览与查询结果表统一跟随该偏好显示行号列 - 行号列收窄为固定窄宽,少列时多余宽度只加到数据列避免撑宽 - 补充 i18n 与相关单测
8048 lines
774 KiB
JSON
8048 lines
774 KiB
JSON
{
|
||
"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": "無法判定目前使用者目錄",
|
||
"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.chat": "對話",
|
||
"ai_chat.header.mode.history": "歷史",
|
||
"ai_chat.header.mode.insights": "自動洞察",
|
||
"ai_chat.header.mode_tabs.aria_label": "AI 工作模式",
|
||
"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.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.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 <image>",
|
||
"ai_chat.inspection.mcp_docker.next_action.create_from_readme": "如果 README 提供的是 docker run -i --rm <image>,可在 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.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__: 前綴模擬多 DB 視圖。",
|
||
"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 tunnel,改用直連、代理/VPN,或使用 GoNavi MCP HTTP 讓遠端 Agent 透過本機 GoNavi 存取 Redis。",
|
||
"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 多 DB 視圖;如果只是 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": "如果需要多 DB 視圖,優先在業務 key 上明確使用命名空間,避免誤解 Cluster 的物理 db0 限制。",
|
||
"ai_chat.inspection.redis_topology.recommendation.network_for_cluster_sentinel": "跨網路存取 Redis Cluster/Sentinel 時,優先使用網路代理、VPN 或 GoNavi MCP HTTP,而不是單連接埠 SSH tunnel。",
|
||
"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__: 前綴模擬邏輯 DB 隔離",
|
||
"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 tunnel,請改用直連、代理或遠端 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.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_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_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": "可依 keyword 篩選本機 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 會話歷史,可依 keyword 篩選,並回傳會話標題、更新時間、訊息數量、目前會話標記、第一條使用者問題和最近訊息預覽。",
|
||
"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": "可依 keyword 篩選最近的 GoNavi 應用程式日誌 INFO/WARN/ERROR 行,並回傳級別分布、日誌檔路徑和截斷狀態。適合使用者提到 gonavi.log、啟動錯誤、MCP 啟動失敗或資料庫連線失敗時優先呼叫。",
|
||
"ai_chat.inspection.tool_info.inspect_app_logs.param.keyword": "可選。依日誌內容 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 應用程式日誌尾端,可依 keyword 篩選,並回傳最近日誌行、級別分布、日誌路徑和截斷狀態。適用於使用者提到 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 tunnel 異常和連線冷卻命中紀錄,並分類主要問題類型、最新位址、最新根因和下一步動作。適合使用者詢問為什麼連線失敗或是否涉及 SSH tunnel 時先呼叫。",
|
||
"ai_chat.inspection.tool_info.inspect_recent_connection_failures.param.keyword": "可選。依連線類型、位址或失敗 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 tunnel 失敗和冷卻命中紀錄,回傳主要失敗類別、最新位址、最新根因與建議動作。",
|
||
"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": "可依 keyword、連線或資料庫篩選本機儲存的查詢,並回傳查詢名稱、連線、資料庫和 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 查詢,可依 keyword、連線和資料庫篩選,並回傳每條查詢的名稱、連線、資料庫與 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 快捷鍵設定快照,可依動作名稱或 keyword 篩選,並回傳目前平台綁定、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、名稱、說明和範本預覽,可依 keyword 篩選。適合使用者想找現有範本、補全片段或團隊 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 片段範本,可依 keyword 篩選,並回傳 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.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.cli_prefix": "CLI 偵測:{{status}}",
|
||
"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.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.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_objects": "讀取資料庫物件清單",
|
||
"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.get_views": "分析檢視結構資訊",
|
||
"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 表示開發/本機環境,或 host 為 10.x、192.168.x、172.16-31.x 等內網 IP。\n - 第三優先:其他連線,例如測試或生產。\n 若已在高優先連線找到目標資料表,直接使用該連線,不再查找低優先連線。\n4. 若目前資料庫找不到目標資料表,必須繼續查詢其他資料庫,不要放棄。\n5. 只有在所有可能的資料庫都已檢查完,或已明確找到目標資料表時,才可以停止。\n6. 若是一般問答(不涉及資料庫查詢),正常回答即可。\n\nSQL 產生規則:\n7. 若使用者提到目前頁籤、目前 SQL、目前編輯器或這條語句,但未貼出具體內容,先呼叫 inspect_active_tab 讀取目前活動頁籤上下文,不要猜測工作區內容。\n8. 若使用者詢問目前開了哪些頁籤或工作區有哪些查詢,先呼叫 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 優先使用目前資源快照或 metadata 中已宣告的 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.required_tools": "\n依賴工具:{{requiredTools}}",
|
||
"ai_chat.system.context.skill_prompt_without_description": "以下是目前啟用的 Skill「{{skillName}}」。請在本次回答中遵循它的約束與工作方式:{{requiredTools}}\n{{content}}",
|
||
"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.codebuddy_hint": "留空則使用本機 CodeBuddy CLI 已登入帳號;填寫後會優先使用目前憑證。",
|
||
"ai_settings.form.api_key.codebuddy_optional": "API Key / Auth Token(可選)",
|
||
"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.clear_saved_api_key": "清除已儲存 API Key",
|
||
"ai_settings.form.inline_completion_model": "自動補全模型",
|
||
"ai_settings.form.inline_completion_model_hint": "建議選擇更小、更快的模型用於 SQL 編輯器灰色聯想。留空則跟隨聊天模型。",
|
||
"ai_settings.form.inline_completion_model_placeholder": "跟隨聊天模型",
|
||
"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.inline_completion": "SQL 自動補全",
|
||
"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 使用。預設可開放結構讀取與 execute_sql 少量樣例查詢;仍受 AI 安全控制約束。",
|
||
"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.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.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.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.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.business_arguments": "已識別業務參數",
|
||
"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.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.env_hints.warning_prefix": "注意:{{warnings}}",
|
||
"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": "命令參數,按 Enter 錄入,例如:-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.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.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.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.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.field_lookup.description": "如果看到某個參數名不知道該填什麼,先看這一塊;下面每個欄位也都有更具體的範例和注意事項。",
|
||
"ai_settings.mcp_server.guide.field_lookup.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.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.boundary_heading": "目前邊界:",
|
||
"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=<random-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.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_objects/get_tables/get_views/get_columns/get_table_ddl 等結果。",
|
||
"ai_settings.mcp_server.remote_quick_start.guide.goal_heading": "目標:",
|
||
"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 <random-token>。",
|
||
"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,也不要把資料庫密碼填到這裡。",
|
||
"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.description": "僅 JVM 資源瀏覽/分析場景生效。",
|
||
"ai_settings.prompts.field.jvm.title": "JVM 資源分析補充提示詞",
|
||
"ai_settings.prompts.field.jvm_diagnostic.description": "僅 JVM 診斷工作台生效,例如「先給計畫,再給命令」。",
|
||
"ai_settings.prompts.field.jvm_diagnostic.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.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.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.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.desc": "僅 JVM 資源分析場景啟用",
|
||
"ai_settings.skill.scope.jvm.label": "JVM 資源",
|
||
"ai_settings.skill.scope.jvm_diagnostic.desc": "僅 JVM 診斷工作台啟用",
|
||
"ai_settings.skill.scope.jvm_diagnostic.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.none": "無參數",
|
||
"ai_settings.tools.params_label": "參數:",
|
||
"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",
|
||
"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_channel": "更新通道",
|
||
"app.about.field.update_status": "更新状态",
|
||
"app.about.field.version": "版本",
|
||
"app.about.hero.no_update": "目前已是最新版本",
|
||
"app.about.hero.update_available_version": "發現新版本 {{version}}",
|
||
"app.about.last_checked_at": "上次檢查時間:{{time}}",
|
||
"app.about.last_checked_never": "尚未檢查更新",
|
||
"app.about.message.channel_switch_failed_with_error": "切換更新通道失敗:{{error}}",
|
||
"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.github.description": "查看專案原始碼",
|
||
"app.about.project.github.title": "GitHub 儲存庫",
|
||
"app.about.project.issues.description": "提交問題或建議",
|
||
"app.about.project.issues.title": "問題回饋",
|
||
"app.about.project.releases.description": "查看版本發布歷史",
|
||
"app.about.project.releases.title": "發布記錄",
|
||
"app.about.project_links": "專案入口",
|
||
"app.about.release_notes.fallback": "修復若干問題,優化使用者體驗。",
|
||
"app.about.title": "關於 GoNavi",
|
||
"app.about.update_channel.dev": "dev 通道",
|
||
"app.about.update_channel.latest": "latest 通道",
|
||
"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.about.version.current": "目前版本",
|
||
"app.about.version.latest": "最新版本",
|
||
"app.about.version.release_notes": "更新內容",
|
||
"app.about.version.release_time": "發布時間",
|
||
"app.about.version_update.available": "有可用更新",
|
||
"app.about.version_update.channel_hint": "接收最新的開發版本",
|
||
"app.about.version_update.title": "版本與更新",
|
||
"app.about.version_update.up_to_date": "目前已是最新",
|
||
"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.message.editable_load_failed": "讀取已儲存連線詳情失敗,將改為開啟脫敏設定",
|
||
"app.connection.message.editable_load_failed_with_detail": "讀取已儲存連線詳情失敗:{{detail}},將改為開啟脫敏設定",
|
||
"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 或 Navicat NCX",
|
||
"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.apply": "套用設定",
|
||
"app.proxy.auth_title": "認證資訊",
|
||
"app.proxy.backend.error.test_host_missing": "測試 URL 缺少主機名稱",
|
||
"app.proxy.backend.error.test_scheme_unsupported": "測試 URL 協定不支援:{{scheme}}",
|
||
"app.proxy.backend.error.test_url_empty": "測試 URL 不能為空",
|
||
"app.proxy.backend.error.test_url_invalid": "測試 URL 無效:{{detail}}",
|
||
"app.proxy.backend.message.test_failed": "測試連線失敗:{{url}}({{detail}})",
|
||
"app.proxy.backend.message.test_http_status": "已連通,但目標返回 HTTP {{status}},耗時 {{duration}}ms",
|
||
"app.proxy.backend.message.test_success": "測試連線成功:HTTP {{status}},耗時 {{duration}}ms",
|
||
"app.proxy.clear_saved_password": "清除已儲存密碼",
|
||
"app.proxy.clear_saved_password_pending": "已標記清除已儲存的代理密碼,點擊「套用設定」後生效",
|
||
"app.proxy.connection_title": "代理地址",
|
||
"app.proxy.description": "统一設定更新檢查、驅動管理与未单独指定代理的連線网络出口。",
|
||
"app.proxy.disabled_hint": "關閉狀態下也可以先填寫設定;點擊「套用設定」後會儲存草稿並停用全局代理。",
|
||
"app.proxy.enable": "啟用全局代理",
|
||
"app.proxy.enabled_edit_hint": "設定會在點擊「套用設定」後生效,不會在輸入過程中反覆寫入。",
|
||
"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.no_auth_hint": "如果代理不需要認證,使用者名稱和密碼保持為空。",
|
||
"app.proxy.password_optional": "密碼(可选)",
|
||
"app.proxy.password_saved_hint": "已儲存代理密碼。留空會繼續使用已儲存密碼,輸入新密碼會替換。",
|
||
"app.proxy.port": "端口",
|
||
"app.proxy.preset.clash_mixed": "Clash/V2Ray 7890",
|
||
"app.proxy.preset.http_local": "HTTP 8080",
|
||
"app.proxy.preset.socks5_local": "SOCKS5 1080",
|
||
"app.proxy.reset": "重置",
|
||
"app.proxy.scope_hint": "* 作用于更新檢查、驅動管理网络请求、GitHub 資產下載,以及未单独設定代理的資料库連線",
|
||
"app.proxy.section_title": "全局代理",
|
||
"app.proxy.status.disabled": "未啟用",
|
||
"app.proxy.status.disabled_description": "更新檢查、驅動下載等公共網路請求將直接連線或使用系統代理。",
|
||
"app.proxy.status.enabled": "已啟用",
|
||
"app.proxy.status.enabled_description": "目前會透過 {{type}} {{endpoint}} 轉發適用的網路請求。",
|
||
"app.proxy.status.incomplete": "設定待完善",
|
||
"app.proxy.status.incomplete_description": "啟用全局代理前需要填寫有效的代理地址和端口。",
|
||
"app.proxy.switch.disabled": "關",
|
||
"app.proxy.switch.enabled": "開",
|
||
"app.proxy.test.action": "測試連線",
|
||
"app.proxy.test.description": "使用目前草稿代理請求目標 URL,不需要先套用設定。",
|
||
"app.proxy.test.disabled_hint": "請先開啟全局代理開關,或點擊上方常用預設自動啟用。",
|
||
"app.proxy.test.message.enable_first": "請先啟用全局代理草稿",
|
||
"app.proxy.test.message.unavailable": "目前後端不支援全局代理測試",
|
||
"app.proxy.test.message.url_required": "請輸入測試 URL",
|
||
"app.proxy.test.preset.baidu": "百度",
|
||
"app.proxy.test.preset.github_api": "GitHub API",
|
||
"app.proxy.test.preset.github_release": "GoNavi Release",
|
||
"app.proxy.test.preset.go_module_proxy": "Go 模組代理",
|
||
"app.proxy.test.result.duration": "耗時 {{duration}}ms",
|
||
"app.proxy.test.result.final_url": "最終地址:{{url}}",
|
||
"app.proxy.test.result.status": "HTTP {{status}}",
|
||
"app.proxy.test.target_label": "測試目標",
|
||
"app.proxy.test.target_placeholder": "輸入 URL,例如 https://api.github.com/",
|
||
"app.proxy.test.title": "測試連線",
|
||
"app.proxy.title": "全局代理設定",
|
||
"app.proxy.type": "代理类型",
|
||
"app.proxy.type_http": "HTTP CONNECT",
|
||
"app.proxy.type_socks5": "SOCKS5",
|
||
"app.proxy.unsaved_hint": "有未套用的修改,點擊「套用設定」後才會真正生效。",
|
||
"app.proxy.username_optional": "使用者名(可选)",
|
||
"app.quit.message.quit_failed": "退出應用程式失敗:{{detail}}",
|
||
"app.quit.unsaved_sql.cancel": "取消",
|
||
"app.quit.unsaved_sql.confirm_exit": "確認退出",
|
||
"app.quit.unsaved_sql.content_multiple": "目前有 {{label}} 個 SQL 編輯器存在未儲存修改。退出前可以儲存,或確認退出並丟棄未儲存修改。",
|
||
"app.quit.unsaved_sql.content_single": "{{label}} 存在未儲存 SQL。退出前可以儲存,或確認退出並丟棄未儲存修改。",
|
||
"app.quit.unsaved_sql.inspect_failed": "檢查未儲存 SQL 失敗,已取消退出:{{detail}}",
|
||
"app.quit.unsaved_sql.save_exit": "儲存退出",
|
||
"app.quit.unsaved_sql.save_failed_cancel_exit": "儲存失敗,已取消退出:{{detail}}",
|
||
"app.quit.unsaved_sql.saved": "SQL 修改已儲存,正在退出",
|
||
"app.quit.unsaved_sql.title": "目前有未儲存的 SQL",
|
||
"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.entry.web_auth.description": "檢視瀏覽器存取驗證狀態,並修改管理員密碼。",
|
||
"app.settings.entry.web_auth.title": "瀏覽器存取驗證",
|
||
"app.settings.group.about.description": "檢視版本資訊、倉庫位址和其他產品資訊。",
|
||
"app.settings.group.about.title": "關於",
|
||
"app.settings.group.preferences.description": "統一管理語言、外觀和側欄顯示偏好。",
|
||
"app.settings.group.preferences.title": "偏好設定",
|
||
"app.settings.group.services.description": "統一管理網路存取與 AI 相關服務設定。",
|
||
"app.settings.group.services.title": "服務設定",
|
||
"app.settings.sidebar_metadata.description": "選擇左側樹中表名後要顯示哪些中介資料。",
|
||
"app.settings.sidebar_metadata.title": "側欄表格中介資料",
|
||
"app.settings.title": "設定中心",
|
||
"app.settings.web_auth.description": "這裡可以檢視目前瀏覽器存取驗證狀態、工作階段策略和 2FA 啟用情況,也可以在登入後修改管理員密碼。",
|
||
"app.settings.web_auth.load_failed": "讀取瀏覽器存取驗證設定失敗",
|
||
"app.settings.web_auth.password.code_label": "目前驗證碼 / 恢復碼",
|
||
"app.settings.web_auth.password.code_placeholder": "輸入目前 Google Authenticator 驗證碼或恢復碼",
|
||
"app.settings.web_auth.password.confirm_label": "確認新密碼",
|
||
"app.settings.web_auth.password.confirm_placeholder": "再次輸入新密碼",
|
||
"app.settings.web_auth.password.current_label": "目前管理員密碼",
|
||
"app.settings.web_auth.password.current_placeholder": "輸入目前管理員密碼",
|
||
"app.settings.web_auth.password.description": "修改密碼後會輪換目前 Web 工作階段,其他已登入工作階段會失效。",
|
||
"app.settings.web_auth.password.description_with_code": "修改密碼後會輪換目前 Web 工作階段,其他已登入工作階段會失效。啟用 2FA 時,還需要輸入目前驗證碼或恢復碼。",
|
||
"app.settings.web_auth.password.new_label": "新管理員密碼",
|
||
"app.settings.web_auth.password.new_placeholder": "至少 10 位",
|
||
"app.settings.web_auth.password.save_failed": "修改管理員密碼失敗",
|
||
"app.settings.web_auth.password.save_success": "管理員密碼已更新",
|
||
"app.settings.web_auth.password.submit": "儲存新密碼",
|
||
"app.settings.web_auth.password.title": "修改管理員密碼",
|
||
"app.settings.web_auth.state.disabled": "未啟用",
|
||
"app.settings.web_auth.state.enabled": "已啟用",
|
||
"app.settings.web_auth.status.absolute_timeout": "絕對逾時",
|
||
"app.settings.web_auth.status.auth_required": "密碼登入",
|
||
"app.settings.web_auth.status.idle_timeout": "閒置逾時",
|
||
"app.settings.web_auth.status.recovery_codes": "恢復碼",
|
||
"app.settings.web_auth.status.remember_days": "記住登入時長",
|
||
"app.settings.web_auth.status.two_factor": "Google Authenticator 2FA",
|
||
"app.settings.web_auth.status.updated_at": "最近更新時間",
|
||
"app.settings.web_auth.title": "瀏覽器存取驗證",
|
||
"app.settings.web_auth.value.days": "{{count}} 天",
|
||
"app.settings.web_auth.value.hours": "{{count}} 小時",
|
||
"app.settings.web_auth.value.minutes": "{{count}} 分鐘",
|
||
"app.settings.web_auth.value.recovery_codes": "剩餘 {{count}} 個",
|
||
"app.shortcuts.action.diagnoseQuery.description": "對目前 SQL 執行 EXPLAIN 並顯示執行計劃圖與索引建議",
|
||
"app.shortcuts.action.diagnoseQuery.label": "SQL 診斷",
|
||
"app.shortcuts.action.duplicateCurrentLine.description": "在查詢編輯器中複製游標所在行並插入到下一行",
|
||
"app.shortcuts.action.duplicateCurrentLine.label": "複製目前行到下一行",
|
||
"app.shortcuts.action.focusSidebarSearch.description": "定位到左側連線樹搜尋框",
|
||
"app.shortcuts.action.focusSidebarSearch.label": "聚焦側邊欄搜尋",
|
||
"app.shortcuts.action.formatSql.description": "格式化目前查詢編輯器中的 SQL",
|
||
"app.shortcuts.action.formatSql.label": "美化 SQL",
|
||
"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": "在查詢編輯器中選取游標所在行並複製到剪貼簿",
|
||
"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.action.triggerSqlAiCompletion.description": "在目前 SQL 編輯器中手動請求 AI 灰色自動補全",
|
||
"app.shortcuts.action.triggerSqlAiCompletion.label": "觸發 SQL AI 自動補全",
|
||
"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.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.sidebar_rail_scale_hint": "僅影響 V2 左側導覽軌,適合在大螢幕上放大按鈕與連線圖示。",
|
||
"app.theme.appearance.sidebar_rail_scale_title": "左側導覽按鈕大小",
|
||
"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.appearance_settings_description": "集中調整縮放、字型、透明度與模糊效果。",
|
||
"app.theme.appearance_settings_title": "外觀設定",
|
||
"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.comfortable": "舒適",
|
||
"app.theme.data_table.density.compact": "緊湊",
|
||
"app.theme.data_table.density.standard": "標準",
|
||
"app.theme.data_table.density_hint": "控制列高、欄寬和內距。舒適適合大螢幕細看;緊湊適合最大化資訊密度。已手動拖曳的欄寬會優先保留。",
|
||
"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.data_table.row_number": "顯示資料表行號",
|
||
"app.theme.data_table.row_number_hint": "作用於資料預覽與 SQL 查詢結果表;關閉後隱藏左側行號欄。預設開啟。",
|
||
"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.instant_apply_hint": "變更將立即生效,無需儲存。",
|
||
"app.theme.mode.dark.description": "適合低光源環境,視覺感受更沉穩。",
|
||
"app.theme.mode.dark.label": "深色主題",
|
||
"app.theme.mode.light.description": "適合明亮環境,視覺層次更輕盈。",
|
||
"app.theme.mode.light.label": "淺色主題",
|
||
"app.theme.mode.system.description": "跟隨作業系統外觀並自動切換。",
|
||
"app.theme.mode.system.label": "跟隨系統",
|
||
"app.theme.mode_title": "亮暗模式",
|
||
"app.theme.nav.appearance.description": "縮放、字型、透明度與側欄比例",
|
||
"app.theme.nav.appearance.title": "顯示與字型",
|
||
"app.theme.nav.theme.description": "亮暗模式、介面版本與搜尋方式",
|
||
"app.theme.nav.theme.title": "主題與介面",
|
||
"app.theme.nav.workspace.title": "工作區",
|
||
"app.theme.nav.workspace.description": "查詢模板、Tab 展示、資料表與啟動行為",
|
||
"app.theme.navigation_title": "設定分段",
|
||
"app.theme.query_template.description": "設定新建查詢分頁時預先填入的 SQL 內容。",
|
||
"app.theme.query_template.hint": "清空後新建查詢會保持空白;點擊「恢復預設」可回到 SELECT * FROM 。",
|
||
"app.theme.query_template.reset_default": "恢復預設",
|
||
"app.theme.query_template.title": "新建查詢預設 SQL",
|
||
"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.workspace_settings_title": "工作區設定",
|
||
"app.theme.workspace_settings_description": "調整查詢模板、標籤頁展示與資料表互動。",
|
||
"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.channel_invalid": "無效的更新通道:{{channel}}",
|
||
"app.update.backend.error.check_failed": "檢查更新失敗:{{detail}}",
|
||
"app.update.backend.error.check_http_forbidden": "檢查更新失敗:GitHub 回傳 403(存取被拒絕)。請確認網路/代理可存取 api.github.com,或設定 GONAVI_GITHUB_TOKEN。{{detail}}",
|
||
"app.update.backend.error.check_http_rate_limited": "檢查更新失敗:更新服務暫時繁忙或網路出口被限流。請稍後再試;一般使用者無需設定任何 Token。{{detail}}",
|
||
"app.update.backend.error.check_http_status": "檢查更新失敗:HTTP {{status}}",
|
||
"app.update.backend.error.download_failed": "更新下載失敗:{{detail}}",
|
||
"app.update.backend.error.install_target_not_writable": "目前安裝目錄不可寫:{{path}}({{detail}})",
|
||
"app.update.backend.error.install_target_unresolved": "無法確定目前安裝目錄",
|
||
"app.update.backend.error.install_unsupported": "目前平台暫不支援更新安裝:{{platform}}",
|
||
"app.update.backend.error.latest_version_unparseable": "無法解析最新版本號",
|
||
"app.update.backend.error.network_dns": "連線到 GitHub 失敗:無法解析 {{host}}。請確認全域代理已套用,或先在全域代理設定中測試連線。",
|
||
"app.update.backend.error.network_eof": "連線到 GitHub 時連線中斷(EOF)。請重試,或測試全域代理出口。",
|
||
"app.update.backend.error.network_failed": "連線到 GitHub 失敗:{{detail}}",
|
||
"app.update.backend.error.online_update_unsupported": "目前平台暫不支援線上更新:{{platform}}",
|
||
"app.update.backend.error.package_download_forbidden": "下載更新套件失敗:HTTP 403(資源存取被拒絕)。可檢查代理對 github.com / release-assets.githubusercontent.com 的存取,或設定 GONAVI_GITHUB_TOKEN 後重試。{{detail}}",
|
||
"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.channel_change_blocked_downloading": "更新套件正在下載中,暫時不能切換更新通道",
|
||
"app.update.backend.message.channel_change_failed": "保存更新通道失敗:{{detail}}",
|
||
"app.update.backend.message.channel_changed": "更新通道已切換為:{{channel}}",
|
||
"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.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": "未命名連線",
|
||
"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": "設定連線模式。",
|
||
"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 原則。",
|
||
"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.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.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.defaultDatabase.placeholder": "例如:appdb",
|
||
"connection_modal.field.default_database_optional": "預設連線資料庫(選填)",
|
||
"connection_modal.field.display_databases_optional": "顯示資料庫(選填)",
|
||
"connection_modal.field.driver.placeholder": "例如: mysql, postgres",
|
||
"connection_modal.field.driver_name": "驅動名稱",
|
||
"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.serviceName.placeholder": "例如:ORCLPDB1",
|
||
"connection_modal.field.service_name": "服務名稱",
|
||
"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。",
|
||
"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.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.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.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": "請填寫必填欄位",
|
||
"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": "請填寫必填欄位",
|
||
"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": "儲存功能無法使用:後端 API 尚未就緒",
|
||
"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": "請填寫必填欄位",
|
||
"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(按 Enter 確認)",
|
||
"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(按 Enter 確認)",
|
||
"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(按 Enter 確認)",
|
||
"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.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.auth_mechanism": "認證機制",
|
||
"connection_modal.mongodb.discovery.current": "目前",
|
||
"connection_modal.mongodb.discovery.srv.description": "使用 mongodb+srv,由 DNS 探索目標節點。",
|
||
"connection_modal.mongodb.discovery.srv.label": "SRV 位址",
|
||
"connection_modal.mongodb.discovery.srv_ssh_warning": "SRV 與 SSH Tunnel 同時啟用時,可能依賴本機 DNS 解析能力",
|
||
"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(按 Enter 確認)",
|
||
"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": "Sentinel 模式",
|
||
"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": "單機 / Replica Set",
|
||
"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.redis_database_list_failure": "連線成功,但取得 Redis 資料庫清單失敗:{{detail}}",
|
||
"connection_modal.test.redis_database_list_timeout": "連線成功,但拉取 Redis 資料庫清單逾時(>{{seconds}} 秒)",
|
||
"connection_modal.test_error.description": "查看後端回傳的完整錯誤資訊。",
|
||
"connection_modal.test_error.empty": "沒有錯誤詳情",
|
||
"connection_modal.test_error.title": "連線測試失敗原因",
|
||
"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": "請輸入使用者名稱",
|
||
"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.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.column_quick_find.placeholder": "跳到欄位列...",
|
||
"data_grid.column_quick_find.tooltip": "輸入欄位名稱,按 Enter 或點定位按鈕即可跳到對應欄",
|
||
"data_grid.column_settings.column_visibility": "欄位顯示",
|
||
"data_grid.column_settings.display_settings": "顯示設定",
|
||
"data_grid.column_settings.field_info": "欄位資訊",
|
||
"data_grid.column_settings.global_hidden_columns": "全域隱藏欄位",
|
||
"data_grid.column_settings.global_hidden_columns_add_current": "加入目前隱藏",
|
||
"data_grid.column_settings.global_hidden_columns_apply": "套用全域",
|
||
"data_grid.column_settings.global_hidden_columns_clear": "清空全域",
|
||
"data_grid.column_settings.global_hidden_columns_help": "此處列出的欄位名稱會在查詢結果中統一隱藏。多個欄位名稱可用逗號或換行分隔。",
|
||
"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.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.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.scope_prompt": "請選擇匯出範圍:",
|
||
"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.current": "第 {{current}} 頁",
|
||
"data_grid.pagination.page.known": "第 {{current}} / {{totalPages}} 頁",
|
||
"data_grid.pagination.page_size_aria": "每頁列數",
|
||
"data_grid.pagination.page_size_option": "{{count}} 列 / 頁",
|
||
"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.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.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.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.edit_hint.all_columns_locator": "未偵測到主鍵或唯一索引,將使用全欄位匹配定位資料列,請謹慎編輯。",
|
||
"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 Tunnel 主機不能為空",
|
||
"db.backend.error.http_tunnel_port_invalid": "HTTP Tunnel 連接埠無效:{{port}}",
|
||
"db.backend.error.http_tunnel_proxy_conflict": "HTTP Tunnel 與一般代理不能同時啟用",
|
||
"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": "Package definition not found",
|
||
"definition_viewer.editor.routine_definition_not_found": "找不到函式/預存程序定義",
|
||
"definition_viewer.editor.sequence_definition_not_found": "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": "This database type does not support viewing package definitions",
|
||
"definition_viewer.editor.unsupported_routine_definition": "暫不支援此資料庫類型的函式/預存程序定義查看",
|
||
"definition_viewer.editor.unsupported_sequence_definition": "This database type does not support viewing sequence definitions",
|
||
"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.package_name_empty": "Package name is empty",
|
||
"definition_viewer.error.query_failed": "查詢定義失敗",
|
||
"definition_viewer.error.query_failed_detail": "查詢定義失敗:{{detail}}",
|
||
"definition_viewer.error.routine_name_empty": "函式/預存程序名稱為空",
|
||
"definition_viewer.error.sequence_name_empty": "Sequence name is 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": "Loading package definition...",
|
||
"definition_viewer.loading.routine_definition": "載入函式/預存程序定義...",
|
||
"definition_viewer.loading.sequence_definition": "Loading sequence definition...",
|
||
"definition_viewer.loading.view_definition": "載入檢視定義...",
|
||
"definition_viewer.object.event": "事件",
|
||
"definition_viewer.object.materialized_view": "物化檢視",
|
||
"definition_viewer.object.package": "Package",
|
||
"definition_viewer.object.routine": "函式/預存程序",
|
||
"definition_viewer.object.sequence": "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.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。",
|
||
"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": "探測 URL 缺少主機",
|
||
"driver_manager.backend.network.error.probe_url_empty": "探測 URL 為空",
|
||
"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}} 未包含在目前 slim build 中;請安裝 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.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.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.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.dedupe": "去重略過 {{count}}",
|
||
"driver_manager.message.skip.slim": "精簡版略過 {{count}}",
|
||
"driver_manager.message.skip_suffix": ",{{items}}",
|
||
"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": "未標註版本",
|
||
"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.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` runtime,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 預覽 Payload 摘要失敗: {{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}}",
|
||
"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.empty.description": "能力檢查只讀取通道權限和命令策略,不會建立會話或執行命令。",
|
||
"jvm_diagnostic.capability.empty.title": "尚未檢查能力",
|
||
"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.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.default_reason": "從控制台啟動會話",
|
||
"jvm_diagnostic.session.default_title": "JVM 診斷控制台",
|
||
"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.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 資源工作台",
|
||
"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.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",
|
||
"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.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.body_mode.label": "訊息體類型",
|
||
"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}}",
|
||
"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.format": "格式化 SQL",
|
||
"query.new": "新增查詢",
|
||
"query.run": "執行",
|
||
"query.save": "儲存查詢",
|
||
"query.stop": "停止",
|
||
"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": "結構描述分析",
|
||
"query_editor.action.ai_text_to_sql_menu": "Text-to-SQL",
|
||
"query_editor.action.export_sql_file": "匯出 SQL 檔案",
|
||
"query_editor.action.find_in_editor": "搜尋",
|
||
"query_editor.action.find_in_editor_with_shortcut": "編輯器內搜尋({{shortcut}})",
|
||
"query_editor.action.format": "格式化",
|
||
"query_editor.action.format_sql": "格式化 SQL",
|
||
"query_editor.action.format_sql_with_shortcut": "格式化 SQL({{shortcut}})",
|
||
"query_editor.action.hide_results_panel": "隱藏結果區",
|
||
"query_editor.action.hide_results_panel_with_shortcut": "隱藏結果區({{shortcut}})",
|
||
"query_editor.action.insert_sql_snippet": "插入 SQL 片段",
|
||
"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": "條件 - 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.ai_model_missing": "目前 AI Provider 尚未選擇模型,請先在 AI 設定中選擇模型。",
|
||
"query_editor.message.ai_provider_missing": "請先在 AI 設定中設定並啟用 AI Provider。",
|
||
"query_editor.message.ai_service_unavailable": "AI 服務尚未就緒,請稍後重試或檢查 AI 設定。",
|
||
"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.current_line_no_copyable_content": "目前行沒有可複製內容。",
|
||
"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.text_to_sql_empty_instruction": "請輸入要產生的 SQL 需求。",
|
||
"query_editor.message.text_to_sql_empty_result": "AI 未傳回可插入的 SQL。",
|
||
"query_editor.message.text_to_sql_failed": "Text-to-SQL 產生失敗:{{error}}",
|
||
"query_editor.message.text_to_sql_success": "SQL 已產生並寫入編輯器。",
|
||
"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.detached.close": "關閉視窗",
|
||
"query_editor.results_panel.detached.restore": "還原為結果標籤",
|
||
"query_editor.results_panel.detached.title": "結果 {{index}}",
|
||
"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.menu.open_in_window": "在獨立視窗開啟",
|
||
"query_editor.results_panel.menu.restore_to_tab": "還原為結果標籤",
|
||
"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.snippet_picker.description": "選擇既有的 SQL 片段並插入到目前游標位置。",
|
||
"query_editor.snippet_picker.empty": "目前還沒有可用的 SQL 片段,可前往片段管理新增或恢復預設片段。",
|
||
"query_editor.snippet_picker.empty_filtered": "找不到符合條件的 SQL 片段。",
|
||
"query_editor.snippet_picker.manage": "管理片段",
|
||
"query_editor.snippet_picker.search_placeholder": "搜尋前綴、名稱或內容",
|
||
"query_editor.snippet_picker.title": "插入 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.text_to_sql.description": "描述你想查詢或處理的資料,GoNavi 會結合目前連線、資料庫和已載入表結構產生 SQL。",
|
||
"query_editor.text_to_sql.generate": "產生 SQL",
|
||
"query_editor.text_to_sql.mode.insert": "插入到游標",
|
||
"query_editor.text_to_sql.mode.replace_all": "取代全文",
|
||
"query_editor.text_to_sql.mode.replace_selection": "取代選取範圍",
|
||
"query_editor.text_to_sql.placeholder": "例如:統計最近 30 天每天的訂單金額,並按日期升冪返回",
|
||
"query_editor.text_to_sql.title": "Text-to-SQL",
|
||
"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": "載入完成",
|
||
"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.export_no_keys": "沒有可匯出的 Key",
|
||
"redis.backend.error.import_no_keys_selected": "未選擇要匯入的 Key",
|
||
"redis.backend.error.import_payload_invalid": "Redis 匯入檔案無效:{{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.export_success": "匯出成功",
|
||
"redis.backend.message.flush_success": "清空成功",
|
||
"redis.backend.message.import_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}} 的別名",
|
||
"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.change_import_file": "更換匯入檔案",
|
||
"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.export_all": "匯出全部",
|
||
"redis_viewer.action.export_selected": "匯出已選",
|
||
"redis_viewer.action.import": "匯入",
|
||
"redis_viewer.action.load_all": "載入全部",
|
||
"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_import_keys": "全選匯入項目",
|
||
"redis_viewer.action.select_all_loaded": "全選已載入",
|
||
"redis_viewer.action.select_group": "選取",
|
||
"redis_viewer.action.select_import_file": "選擇匯入檔案",
|
||
"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.import_conflict_mode": "同名 Key 處理",
|
||
"redis_viewer.field.import_file": "匯入檔案",
|
||
"redis_viewer.field.import_keys": "待匯入 Key",
|
||
"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.import_database": "來源庫:db{{database}}",
|
||
"redis_viewer.label.import_selection": "已選擇 {{selected}} / {{total}} 個 Key",
|
||
"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.export_failed": "匯出失敗:{{detail}}",
|
||
"redis_viewer.message.export_selection_required": "請先選擇至少一個 Key",
|
||
"redis_viewer.message.export_success": "已匯出 {{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.import_failed": "匯入失敗:{{detail}}",
|
||
"redis_viewer.message.import_file_required": "請先選擇匯入檔案",
|
||
"redis_viewer.message.import_selection_required": "至少選擇一個要匯入的 Key",
|
||
"redis_viewer.message.import_summary": "已匯入 {{imported}} 個 Key,略過 {{skipped}} 個已存在 Key",
|
||
"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.import_keys": "匯入 Redis Key",
|
||
"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.option.import_overwrite": "覆蓋已存在 Key",
|
||
"redis_viewer.option.import_skip_existing": "略過已存在 Key",
|
||
"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.state.import_preview_empty": "請選擇 Redis 匯出檔案,預覽後勾選要匯入的 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": "檢視模式",
|
||
"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.delete_database_count": "刪除資料庫({{count}})",
|
||
"sidebar.action.delete_tables": "刪除資料表",
|
||
"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.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.batch_databases": "資料庫",
|
||
"sidebar.batch_tables": "資料表",
|
||
"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.directory_fallback": "SQL 目錄",
|
||
"sidebar.external_sql.root": "外部 SQL 檔案",
|
||
"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.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_databases_failed": "刪除資料庫 {{database}} 失敗:{{error}}",
|
||
"sidebar.message.delete_databases_success": "已刪除 {{count}} 個資料庫。",
|
||
"sidebar.message.delete_failed": "刪除失敗:{{error}}",
|
||
"sidebar.message.delete_sql_directory_failed": "刪除 SQL 目錄失敗:{{error}}",
|
||
"sidebar.message.delete_sql_file_failed": "刪除 SQL 檔案失敗:{{error}}",
|
||
"sidebar.message.delete_tables_failed": "刪除資料表 {{table}} 失敗:{{error}}",
|
||
"sidebar.message.delete_tables_success": "已刪除 {{count}} 張資料表。",
|
||
"sidebar.message.deleting_selected_databases": "正在刪除 {{count}} 個已選資料庫...",
|
||
"sidebar.message.deleting_selected_tables": "正在刪除 {{count}} 張已選資料表...",
|
||
"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.select_table_required": "請至少選擇一張資料表。",
|
||
"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.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_selected_databases.content": "刪除 {{connection}} 下 {{count}} 個已選資料庫?此操作無法復原。",
|
||
"sidebar.modal.confirm_delete_selected_databases.title": "確認刪除已選資料庫",
|
||
"sidebar.modal.confirm_delete_selected_tables.content": "刪除 {{connection}} / {{database}} 下 {{count}} 張已選資料表?此操作無法復原。",
|
||
"sidebar.modal.confirm_delete_selected_tables.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_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.function": "函式",
|
||
"sidebar.object.procedure": "預存程序",
|
||
"sidebar.object.view": "檢視",
|
||
"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.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.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.search.scope_description": "選擇側邊欄搜尋的比對範圍。",
|
||
"sidebar.search.scope_hint": "智慧模式會依內容搜尋名稱、主機、資料庫和物件。",
|
||
"sidebar.search.scope_title": "搜尋範圍",
|
||
"sidebar.search.scope_tooltip": "目前搜尋範圍:{{scope}}",
|
||
"sidebar.sql_directory.default_name": "SQL 目錄",
|
||
"sidebar.sql_file.default_name": "SQL 檔案",
|
||
"sidebar.sql_file_exec.cancel": "取消執行",
|
||
"sidebar.sql_file_exec.executed_label": "已執行:",
|
||
"sidebar.sql_file_exec.file_size": "檔案大小:",
|
||
"sidebar.sql_file_exec.message.already_running": "目前已有外部 SQL 執行任務在進行中",
|
||
"sidebar.sql_file_exec.rows_separator": " 列 | 失敗:",
|
||
"sidebar.sql_file_exec.rows_suffix": " 列",
|
||
"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.status_label": "狀態:",
|
||
"sidebar.sql_file_exec.title": "執行外部 SQL 檔案",
|
||
"sidebar.sql_file_exec.workbench.action.clear_history": "清空歷史",
|
||
"sidebar.sql_file_exec.workbench.action.run_again": "重新執行",
|
||
"sidebar.sql_file_exec.workbench.description.current_task_empty": "目前尚未執行任務,選取檔案後會在這裡持續顯示進度。",
|
||
"sidebar.sql_file_exec.workbench.empty.history": "同一工作台的最近執行會保留在這裡,方便回看耗時與結果。",
|
||
"sidebar.sql_file_exec.workbench.empty.not_started": "尚未開始",
|
||
"sidebar.sql_file_exec.workbench.helper.auto_run": "選取檔案後會重用目前工作台,並在這裡持續顯示執行進度。",
|
||
"sidebar.sql_file_exec.workbench.helper.reuse": "相同連線、資料庫與檔案會重用這個工作台,方便重複執行與比較結果。",
|
||
"sidebar.sql_file_exec.workbench.label.current_sql": "目前 SQL",
|
||
"sidebar.sql_file_exec.workbench.label.current_stage": "目前階段",
|
||
"sidebar.sql_file_exec.workbench.label.elapsed": "耗時",
|
||
"sidebar.sql_file_exec.workbench.label.file_path": "檔案路徑",
|
||
"sidebar.sql_file_exec.workbench.label.progress_summary": "執行摘要",
|
||
"sidebar.sql_file_exec.workbench.label.started_at": "開始時間",
|
||
"sidebar.sql_file_exec.workbench.section.config": "執行設定",
|
||
"sidebar.sql_file_exec.workbench.stage.preparing": "準備執行",
|
||
"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": "Package: {{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": "Sequence: {{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_create_time": "顯示建立時間",
|
||
"sidebar.v2_table_group_menu.display_section": "顯示",
|
||
"sidebar.v2_table_group_menu.display_table_rows": "顯示資料列數",
|
||
"sidebar.v2_table_group_menu.display_table_size": "顯示資料表大小",
|
||
"sidebar.v2_table_group_menu.display_update_time": "顯示修改時間",
|
||
"sidebar.v2_table_group_menu.meta": "{{database}} · {{count}} 張資料表 · 目前依{{sort}}排序",
|
||
"sidebar.v2_table_group_menu.metadata_value.created_at": "建 {{time}}",
|
||
"sidebar.v2_table_group_menu.metadata_value.rows": "{{count}}列",
|
||
"sidebar.v2_table_group_menu.metadata_value.size": "{{size}}",
|
||
"sidebar.v2_table_group_menu.metadata_value.updated_at": "改 {{time}}",
|
||
"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.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.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.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.detached.close": "關閉視窗",
|
||
"tab_manager.detached.restore": "還原為標籤頁",
|
||
"tab_manager.detached.title_fallback": "獨立視窗",
|
||
"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": "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": "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": "Pkg",
|
||
"tab_manager.kind_badge.query": "SQL",
|
||
"tab_manager.kind_badge.redis": "Redis",
|
||
"tab_manager.kind_badge.routine": "函式",
|
||
"tab_manager.kind_badge.sequence": "Seq",
|
||
"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.open_in_window": "在獨立視窗開啟",
|
||
"tab_manager.menu.restore_to_tab": "還原為標籤頁",
|
||
"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.created_at": "建立時間",
|
||
"table_overview.metric.data_size": "資料大小",
|
||
"table_overview.metric.engine": "引擎",
|
||
"table_overview.metric.index_size": "索引大小",
|
||
"table_overview.metric.relative_size": "相對大小",
|
||
"table_overview.metric.updated_at": "最近修改",
|
||
"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": "重新整理最新定義失敗",
|
||
"web_auth.error.already_configured": "瀏覽器訪問驗證已完成設定",
|
||
"web_auth.error.auth_required": "需要先完成驗證",
|
||
"web_auth.error.copy_manual": "請手動複製",
|
||
"web_auth.error.init_failed": "初始化失敗",
|
||
"web_auth.error.init_info_failed": "產生初始化資訊失敗",
|
||
"web_auth.error.invalid_login_payload": "登入請求無效",
|
||
"web_auth.error.invalid_password_or_code": "管理員密碼或驗證碼不正確",
|
||
"web_auth.error.invalid_setup_payload": "初始化請求無效",
|
||
"web_auth.error.invalid_setup_token": "初始化權杖無效",
|
||
"web_auth.error.invalid_totp_code": "Google Authenticator 驗證碼無效",
|
||
"web_auth.error.load_status_failed": "讀取驗證狀態失敗",
|
||
"web_auth.error.login_failed": "登入失敗",
|
||
"web_auth.error.method_not_allowed": "不允許的請求方法",
|
||
"web_auth.error.password_confirmation_mismatch": "兩次輸入的密碼不一致",
|
||
"web_auth.error.password_min_length": "密碼長度至少為 {{count}} 位",
|
||
"web_auth.error.password_required": "管理員密碼不能為空",
|
||
"web_auth.error.retry_after_seconds": ",請在 {{seconds}} 秒後重試",
|
||
"web_auth.error.setup_info_expired": "初始化資訊已失效,請重新整理頁面後再試",
|
||
"web_auth.error.setup_required": "需要先完成瀏覽器訪問驗證初始化",
|
||
"web_auth.error.setup_token_expired": "初始化權杖已過期,請重新整理頁面後再試",
|
||
"web_auth.error.too_many_login_attempts": "登入失敗次數過多,請稍後再試",
|
||
"web_auth.error.totp_code_required": "請輸入 Google Authenticator 驗證碼或復原碼",
|
||
"web_auth.page.login.code_label": "Google Authenticator 驗證碼 / 復原碼",
|
||
"web_auth.page.login.code_placeholder": "6 位驗證碼或復原碼",
|
||
"web_auth.page.login.description": "瀏覽器訪問版預設使用伺服器端工作階段。閒置逾時、絕對逾時與記住登入時長由伺服器統一控制。",
|
||
"web_auth.page.login.heading": "登入",
|
||
"web_auth.page.login.password_label": "管理員密碼",
|
||
"web_auth.page.login.password_placeholder": "請輸入管理員密碼",
|
||
"web_auth.page.login.security_cookie": "Cookie 僅保存在目前瀏覽器,並使用 HttpOnly 與 SameSite=Strict。",
|
||
"web_auth.page.login.security_rate_limit": "連續多次失敗會觸發暫時限流,避免暴力嘗試。",
|
||
"web_auth.page.login.security_recovery": "如果你遺失了 Google Authenticator,請改用初始化時保存的復原碼登入。",
|
||
"web_auth.page.login.security_title": "安全說明",
|
||
"web_auth.page.login.submit": "登入 GoNavi",
|
||
"web_auth.page.login.subtitle": "透過管理員密碼與 Google Authenticator 存取瀏覽器版 GoNavi",
|
||
"web_auth.page.login.title": "GoNavi Web 登入",
|
||
"web_auth.page.setup.absolute_label": "絕對逾時(小時)",
|
||
"web_auth.page.setup.account_label": "帳戶",
|
||
"web_auth.page.setup.admin_title": "初始化管理員訪問",
|
||
"web_auth.page.setup.back": "上一步",
|
||
"web_auth.page.setup.confirm_label": "再次輸入密碼",
|
||
"web_auth.page.setup.confirm_placeholder": "再次輸入密碼",
|
||
"web_auth.page.setup.copy_secret": "複製密鑰",
|
||
"web_auth.page.setup.copy_uri": "複製 otpauth URI",
|
||
"web_auth.page.setup.enable_totp": "啟用 Google Authenticator 2FA",
|
||
"web_auth.page.setup.first_code_label": "首次驗證碼 / 復原碼",
|
||
"web_auth.page.setup.first_code_placeholder": "輸入 Authenticator 目前的 6 位驗證碼",
|
||
"web_auth.page.setup.footer_note": "建議對外網訪問使用 30 分鐘閒置逾時 + 7 天絕對逾時。後續可直接修改 web_auth.json 後重新部署。",
|
||
"web_auth.page.setup.idle_label": "閒置逾時(分鐘)",
|
||
"web_auth.page.setup.intro": "首次訪問需要建立管理員密碼。建議同時綁定 Google Authenticator,並立即保存復原碼。",
|
||
"web_auth.page.setup.issuer_label": "發行方",
|
||
"web_auth.page.setup.next": "下一步",
|
||
"web_auth.page.setup.otpauth_label": "otpauth URI",
|
||
"web_auth.page.setup.password_label": "管理員密碼",
|
||
"web_auth.page.setup.password_placeholder": "至少 10 位",
|
||
"web_auth.page.setup.qr_alt": "Google Authenticator QR Code",
|
||
"web_auth.page.setup.recovery_intro": "復原碼只會顯示這一次,建議離線保存:",
|
||
"web_auth.page.setup.remember_label": "記住登入(天)",
|
||
"web_auth.page.setup.secret_label": "密鑰",
|
||
"web_auth.page.setup.session_title": "工作階段策略",
|
||
"web_auth.page.setup.step_admin_description": "先完成瀏覽器訪問口令",
|
||
"web_auth.page.setup.step_admin_hint": "先設定管理員密碼,並決定是否啟用 Google Authenticator 2FA。",
|
||
"web_auth.page.setup.step_admin_title": "建立管理員密碼",
|
||
"web_auth.page.setup.step_session_description": "設定逾時與記住登入",
|
||
"web_auth.page.setup.step_session_hint": "最後確認瀏覽器訪問的工作階段策略。對外網訪問建議保守一些,後續也可在設定檔裡調整。",
|
||
"web_auth.page.setup.step_session_title": "確認工作階段策略",
|
||
"web_auth.page.setup.step_totp_description": "掃碼或手動輸入 TOTP",
|
||
"web_auth.page.setup.step_totp_hint": "如果啟用了 2FA,請在這裡完成掃碼綁定,並輸入第一個驗證碼確認設定。",
|
||
"web_auth.page.setup.step_totp_title": "綁定驗證器",
|
||
"web_auth.page.setup.submit": "完成初始化並進入 GoNavi",
|
||
"web_auth.page.setup.subtitle": "首次啟動需要建立管理員密碼,並建議立即綁定 Google Authenticator",
|
||
"web_auth.page.setup.title": "初始化 GoNavi Web",
|
||
"web_auth.page.setup.totp_clients": "Google Authenticator、Microsoft Authenticator、1Password、Aegis 等標準 TOTP 用戶端都可以直接識別。",
|
||
"web_auth.page.setup.totp_description": "優先直接掃碼;如果目前裝置不方便掃碼,再使用下方的帳戶與密鑰手動輸入。",
|
||
"web_auth.page.setup.totp_disabled_note": "目前未啟用 Google Authenticator 2FA。本次初始化只會使用管理員密碼登入,你之後仍可再補上。",
|
||
"web_auth.page.setup.totp_naming": "如果掃碼後條目沒有自動命名,可以直接使用下方的發行方與帳戶作為顯示名稱。",
|
||
"web_auth.page.setup.totp_title": "Google Authenticator",
|
||
"ai_settings.form.section.thinking": "思考強度",
|
||
"ai_settings.form.thinking_intensity": "思考強度",
|
||
"ai_settings.form.thinking_intensity_hint": "檔位會隨服務商變化。未設置時使用供應商預設。",
|
||
"ai_settings.form.thinking_intensity.off": "關閉",
|
||
"ai_settings.form.thinking_intensity.low": "低",
|
||
"ai_settings.form.thinking_intensity.medium": "中",
|
||
"ai_settings.form.thinking_intensity.high": "高",
|
||
"ai_settings.mcp_http.panel.mode.schema_only": "僅結構",
|
||
"ai_settings.mcp_http.panel.mode.limited_query": "可查少量資料",
|
||
"ai_settings.mcp_http.panel.limited_query.label": "允許 execute_sql 查少量資料",
|
||
"ai_settings.mcp_http.panel.limited_query.hint": "開啟後會註冊 execute_sql(預設每結果集最多 50 列,上限 200),仍受 AI 安全控制約束。啟動後需重啟服務才生效。",
|
||
"ai_settings.mcp_http.panel.limited_query.on": "開",
|
||
"ai_settings.mcp_http.panel.limited_query.off": "關",
|
||
"ai_settings.form.thinking_intensity.none": "none(不推理)",
|
||
"ai_settings.form.thinking_intensity.minimal": "minimal(極低)",
|
||
"ai_settings.form.thinking_intensity.xhigh": "xhigh(特高)",
|
||
"ai_settings.form.thinking_intensity.max": "max(最大)",
|
||
"ai_settings.form.thinking_intensity_hint.openai": "OpenAI / GPT 推理模型使用 reasoning_effort:none、minimal、low、medium、high、xhigh。",
|
||
"ai_settings.form.thinking_intensity_hint.anthropic": "Anthropic 使用 thinking + output_config.effort:off、low、medium、high、xhigh、max。",
|
||
"ai_settings.form.thinking_intensity_hint.deepseek": "DeepSeek:關閉或 low/medium/high(Anthropic 格式對應 effort;OpenAI 格式對應 thinking 開關)。",
|
||
"ai_settings.form.thinking_intensity_hint.gemini": "Gemini 使用 thinking_level / thinking_budget:off、minimal、low、medium、high。",
|
||
"ai_chat.input.thinking_intensity.placeholder": "思考強度",
|
||
"ai_chat.detached.window_title": "GoNavi AI",
|
||
"ai_chat.detached.window_aria": "AI 聊天獨立視窗",
|
||
"ai_chat.detached.action.popout": "以獨立視窗開啟",
|
||
"ai_chat.detached.action.dock": "還原到側欄",
|
||
"ai_settings.open_mode.title": "預設開啟方式",
|
||
"ai_settings.open_mode.description": "控制從入口開啟 AI 聊天時預設是側欄還是獨立視窗。開啟後仍可隨時互相切換。",
|
||
"ai_settings.open_mode.dock.label": "側欄面板",
|
||
"ai_settings.open_mode.dock.desc": "貼在主工作區右側開啟,適合邊查邊問。",
|
||
"ai_settings.open_mode.detached.label": "獨立視窗",
|
||
"ai_settings.open_mode.detached.desc": "以可拖曳縮放的浮動窗開啟,適合多顯示器或更大聊天區域。",
|
||
"ai_settings.open_mode.message.dock": "已設為預設側欄開啟",
|
||
"ai_settings.open_mode.message.detached": "已設為預設獨立視窗開啟",
|
||
"ai_settings.context.section_title": "上下文層級",
|
||
"app.about.action.restart_to_update": "重新啟動應用更新",
|
||
"app.about.download_progress.ready_to_restart": "下載完成(100%)。點選「重新啟動應用更新」即可完成安裝。",
|
||
"app.about.download_progress.downloading": "正在下載更新…",
|
||
"app.about.download_progress.applying_restart": "正在套用更新並重新啟動…",
|
||
"app.about.download_progress.restarting": "正在重新啟動應用…",
|
||
"app.about.download_progress.complete_hint": "更新包已就緒(100%)",
|
||
"app.about.message.download_ready_restart": "更新下載完成,可點選「重新啟動應用更新」",
|
||
"app.about.message.download_ready_restart_with_path": "更新下載完成,可點選「重新啟動應用更新」。路徑:{{path}}",
|
||
"app.about.update_status.new_version_ready_restart": "發現新版本 {{version}}(已下載,點選「重新啟動應用更新」)"
|
||
}
|