mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-06-23 15:03:51 +08:00
- 统一清洗 SQL Server 消息前缀并覆盖结果刷新与分页回填链路 - 将消息结果区改为只读文本区,补充一键复制入口 - 放行编辑器外可编辑区域的 cmd/ctrl+a,避免消息内容全选被抢占 - 补充结果面板交互与国际化回归,确保构建通过
4858 lines
392 KiB
JSON
4858 lines
392 KiB
JSON
{
|
||
"common.cancel": "取消",
|
||
"redis.db_alias.menu.set": "设置别名",
|
||
"redis.db_alias.modal.title": "{{db}} 的别名",
|
||
"redis.db_alias.modal.placeholder": "例如:缓存、会话(留空则清除)",
|
||
"common.back_to_previous": "返回上一步",
|
||
"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.sidebar.group.untitled": "未命名分组",
|
||
"connection.sidebar.group.meta": "{{count}} 个连接 · 连接分组",
|
||
"connection.sidebar.group.badge": "分组",
|
||
"connection.sidebar.group.edit": "编辑分组",
|
||
"connection.sidebar.group.delete": "删除分组",
|
||
"connection.sidebar.group.deleteConfirmTitle": "确认删除",
|
||
"connection.sidebar.group.deleteConfirmContent": "确定要删除分组 \"{{name}}\" 吗?这不会删除里面的连接。",
|
||
"connection.sidebar.group.expandAria": "展开连接分组 {{name}}",
|
||
"connection.sidebar.group.collapseAria": "折叠连接分组 {{name}}",
|
||
"connection.sidebar.menu.section": "连接",
|
||
"connection.sidebar.menu.groupSection": "连接分组",
|
||
"connection.sidebar.menu.copy": "复制连接",
|
||
"connection.sidebar.menu.disconnect": "断开连接",
|
||
"connection.sidebar.menu.delete": "删除连接",
|
||
"connection.sidebar.menu.hostFallback": "未配置地址",
|
||
"connection.sidebar.menu.hostBadge": "HOST",
|
||
"connection.sidebar.menu.moveToTag": "移至标签",
|
||
"connection.sidebar.menu.moveOutTag": "移出标签",
|
||
"connection.sidebar.menu.moveToUngrouped": "移出分组",
|
||
"connection.sidebar.menu.createDatabase": "新建数据库",
|
||
"connection.sidebar.menu.refresh": "刷新连接",
|
||
"connection.sidebar.menu.current": "当前",
|
||
"connection.sidebar.duplicate.backendUnavailable": "复制连接失败:后端接口不可用",
|
||
"connection.sidebar.duplicate.noResult": "复制连接失败:后端未返回结果",
|
||
"connection.sidebar.duplicate.success": "已复制连接: {{name}}",
|
||
"connection.sidebar.duplicate.failureFallback": "复制连接失败",
|
||
"connection.sidebar.disconnect.success": "已断开连接",
|
||
"connection.sidebar.delete.confirmTitle": "确认删除",
|
||
"connection.sidebar.delete.confirmContent": "确定要删除连接 \"{{name}}\" 吗?",
|
||
"connection.sidebar.delete.backendUnavailable": "删除连接失败:后端接口不可用",
|
||
"connection.sidebar.delete.success": "已删除连接",
|
||
"connection.sidebar.delete.failureFallback": "删除连接失败",
|
||
"find_in_database.title": "在数据库中搜索 — {{dbName}}",
|
||
"find_in_database.placeholder.keyword": "输入要搜索的字符串...",
|
||
"find_in_database.match.contains": "包含",
|
||
"find_in_database.match.exact": "精确匹配",
|
||
"find_in_database.message.keyword_required": "请输入搜索关键字",
|
||
"find_in_database.message.connection_config_not_found": "未找到连接配置",
|
||
"find_in_database.message.get_tables_failed": "获取表列表失败: {{detail}}",
|
||
"find_in_database.message.no_tables": "当前数据库没有表",
|
||
"find_in_database.message.no_matches": "未找到匹配的数据",
|
||
"find_in_database.message.search_failed": "搜索出错: {{detail}}",
|
||
"find_in_database.column.table_name": "表名",
|
||
"find_in_database.column.matched_columns": "匹配列",
|
||
"find_in_database.column.match_count": "命中行数",
|
||
"find_in_database.column.action": "操作",
|
||
"find_in_database.tooltip.collapse_details": "收起详情",
|
||
"find_in_database.tooltip.view_details": "查看详情",
|
||
"find_in_database.progress.searching_table": "正在搜索 {{table}}... ({{current}}/{{total}})",
|
||
"find_in_database.summary.found_tables": "找到 {{count}} 个表包含匹配数据",
|
||
"find_in_database.summary.searching": "(搜索进行中...)",
|
||
"find_in_database.detail.title": "{{table}} — 匹配行详情",
|
||
"find_in_database.detail.row_count": "{{count}} 行",
|
||
"import_preview.title": "导入数据预览",
|
||
"import_preview.action.start": "开始导入",
|
||
"import_preview.status.loading_preview": "加载预览数据...",
|
||
"import_preview.status.importing": "正在导入数据...",
|
||
"import_preview.progress.processed_rows": "已处理 {{current}} / {{total}} 行",
|
||
"import_preview.progress.success_count": "成功 {{count}}",
|
||
"import_preview.progress.error_count": "失败 {{count}}",
|
||
"import_preview.preview.summary": "共 {{rows}} 行数据,{{columns}} 个字段",
|
||
"import_preview.preview.description": "以下是前 5 行预览数据,确认无误后点击“开始导入”",
|
||
"import_preview.preview.field_list": "字段列表:",
|
||
"import_preview.preview.table_title": "数据预览(前 5 行):",
|
||
"import_preview.error.preview_failed": "预览失败",
|
||
"import_preview.error.preview_failed_detail": "预览失败: {{detail}}",
|
||
"import_preview.error.connection_config_not_found": "连接配置未找到",
|
||
"import_preview.error.import_failed": "导入失败",
|
||
"import_preview.error.import_failed_detail": "导入失败: {{detail}}",
|
||
"import_preview.result.completed": "导入完成",
|
||
"import_preview.result.success_rows": "成功导入 {{count}} 行",
|
||
"import_preview.result.failed_rows": "失败 {{count}} 行",
|
||
"import_preview.result.error_logs": "错误日志:",
|
||
"log_panel.title": "SQL 执行日志",
|
||
"log_panel.short_title": "日志",
|
||
"log_panel.description": "记录执行状态、耗时与错误信息,便于快速回溯。",
|
||
"log_panel.action.clear": "清空日志",
|
||
"log_panel.action.close": "关闭面板",
|
||
"log_panel.empty": "暂无 SQL 执行日志",
|
||
"log_panel.column.time": "时间",
|
||
"log_panel.column.status": "状态",
|
||
"log_panel.column.duration": "耗时",
|
||
"log_panel.column.sql_message": "SQL / 消息",
|
||
"log_panel.affected_rows": "影响行数:{{count}}",
|
||
"table_overview.status.loading_tables": "加载表信息...",
|
||
"table_overview.message.load_tables_failed": "获取表信息失败: {{detail}}",
|
||
"table_overview.message.pinned": "已置顶表",
|
||
"table_overview.message.unpinned": "已取消置顶",
|
||
"table_overview.message.copy_structure_success": "表结构已复制到剪贴板",
|
||
"table_overview.message.copy_structure_failed": "复制表结构失败: {{detail}}",
|
||
"table_overview.message.exporting_table_format": "正在导出 {{table}} 为 {{format}}...",
|
||
"table_overview.message.export_success": "导出成功",
|
||
"table_overview.message.export_failed": "导出失败: {{detail}}",
|
||
"table_overview.message.delete_table_success": "表已删除",
|
||
"table_overview.message.delete_table_failed": "删除表失败: {{detail}}",
|
||
"table_overview.table_data_action.truncate.label": "截断表",
|
||
"table_overview.table_data_action.clear.label": "清空表",
|
||
"table_overview.modal.table_data_action.title": "确认{{action}}",
|
||
"table_overview.modal.table_data_action.content": "{{action}}会永久删除表 \"{{table}}\" 中的所有数据,此操作无法撤销。是否继续?",
|
||
"table_overview.message.table_data_action_loading": "正在对 {{table}} 执行{{action}}...",
|
||
"table_overview.message.table_data_action_success": "{{action}}成功",
|
||
"table_overview.message.table_data_action_failed": "{{action}}失败: {{detail}}",
|
||
"table_overview.message.rename_table_success": "表已重命名",
|
||
"table_overview.message.rename_table_failed": "重命名表失败: {{detail}}",
|
||
"table_overview.message.unknown_error": "未知错误",
|
||
"table_overview.modal.delete_table.title": "删除表",
|
||
"table_overview.modal.delete_table.content": "删除表 \"{{table}}\"?此操作无法撤销。",
|
||
"table_overview.modal.rename_table.title": "重命名表",
|
||
"table_overview.modal.rename_table.placeholder": "输入新表名",
|
||
"table_overview.validation.table_name_required": "表名不能为空",
|
||
"table_overview.validation.table_name_unchanged": "新表名与当前表名相同",
|
||
"table_overview.toolbar.summary": "{{count}} 张表 · {{rows}} 行 · {{size}}",
|
||
"table_overview.placeholder.search": "搜索表名或注释...",
|
||
"table_overview.tooltip.sort": "排序",
|
||
"table_overview.tooltip.card_view": "卡片视图",
|
||
"table_overview.tooltip.list_view": "列表视图",
|
||
"table_overview.tooltip.refresh": "刷新",
|
||
"table_overview.sort.name": "名称",
|
||
"table_overview.sort.rows": "行数",
|
||
"table_overview.sort.size": "大小",
|
||
"table_overview.metric.data_size": "数据大小",
|
||
"table_overview.metric.index_size": "索引大小",
|
||
"table_overview.metric.relative_size": "相对大小",
|
||
"table_overview.metric.engine": "引擎",
|
||
"table_overview.section.all": "全部",
|
||
"table_overview.section.pinned": "置顶",
|
||
"table_overview.row.engine_table": "{{engine}} 表",
|
||
"table_overview.row.open_hint": "双击打开数据,右键查看更多操作",
|
||
"table_overview.status.updating_filter": "正在更新筛选结果...",
|
||
"table_overview.status.matching_rendered": "匹配 {{matched}} 张表,当前渲染 {{rendered}} 张",
|
||
"table_overview.status.hidden_count_hint": "还有 {{count}} 张未渲染,可继续加载或缩小搜索范围",
|
||
"table_overview.empty.no_matches": "无匹配结果",
|
||
"table_overview.empty.no_tables": "暂无表",
|
||
"table_overview.action.show_more": "显示更多表(剩余 {{count}})",
|
||
"table_overview.menu.new_query": "新建查询",
|
||
"table_overview.menu.design_table": "设计表",
|
||
"table_overview.menu.copy_structure": "复制表结构",
|
||
"table_overview.menu.backup_table_sql": "备份表 (SQL)",
|
||
"table_overview.menu.rename_table": "重命名表",
|
||
"table_overview.menu.danger_operations": "危险操作",
|
||
"table_overview.menu.truncate_table": "截断表",
|
||
"table_overview.menu.clear_table": "清空表",
|
||
"table_overview.menu.delete_table": "删除表",
|
||
"table_overview.menu.export_table_data": "导出表数据",
|
||
"table_overview.menu.export_csv": "导出 CSV",
|
||
"table_overview.menu.export_xlsx": "导出 XLSX",
|
||
"table_overview.menu.export_json": "导出 JSON",
|
||
"table_overview.menu.export_markdown": "导出 Markdown",
|
||
"table_overview.menu.export_html": "导出 HTML",
|
||
"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": "设置",
|
||
"app.about.action.check_updates": "检查更新",
|
||
"app.about.action.download_progress": "下载进度",
|
||
"app.about.action.download_update": "下载更新",
|
||
"app.about.action.mute_this_version": "本次不再提示",
|
||
"app.about.community.ai_book": "AI全书",
|
||
"app.about.description": "查看版本信息、仓库地址、更新状态与下载入口。",
|
||
"app.about.field.author": "作者",
|
||
"app.about.field.community": "技术圈",
|
||
"app.about.field.update_status": "更新状态",
|
||
"app.about.field.version": "版本",
|
||
"app.about.message.load_failed": "获取应用信息失败: {{error}}",
|
||
"app.about.project_links": "项目入口",
|
||
"app.about.title": "关于 GoNavi",
|
||
"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.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.current_directory": "当前目录",
|
||
"app.data_root.default_directory": "默认目录",
|
||
"app.data_root.description": "统一管理连接、代理、AI 配置与驱动等文件型数据的根目录。",
|
||
"app.data_root.driver_directory": "驱动目录",
|
||
"app.data_root.backend.dialog.select_directory": "选择 GoNavi 数据目录",
|
||
"app.data_root.backend.error.create_target_failed": "创建目标数据目录失败:{{detail}}",
|
||
"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.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.read_source_failed": "读取源数据失败({{entry}}):{{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.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.proxy.description": "统一配置更新检查、驱动管理与未单独指定代理的连接网络出口。",
|
||
"app.proxy.enable": "启用全局代理",
|
||
"app.proxy.host": "代理地址",
|
||
"app.proxy.host_placeholder": "例如:127.0.0.1",
|
||
"app.proxy.message.invalid_enabled": "全局代理已开启,但地址或端口无效,当前按未启用处理",
|
||
"app.proxy.message.save_failed": "全局代理配置失败: {{error}}",
|
||
"app.proxy.password_optional": "密码(可选)",
|
||
"app.proxy.port": "端口",
|
||
"app.proxy.scope_hint": "* 作用于更新检查、驱动管理网络请求,以及未单独配置代理的数据库连接",
|
||
"app.proxy.section_title": "全局代理",
|
||
"app.proxy.title": "全局代理设置",
|
||
"app.proxy.type": "代理类型",
|
||
"app.proxy.username_optional": "用户名(可选)",
|
||
"proxy.backend.error.unsupported_type": "不支持的代理类型:{{type}}",
|
||
"proxy.backend.error.host_empty": "代理主机为空",
|
||
"proxy.backend.error.port_invalid": "代理端口无效:{{port}}",
|
||
"proxy.backend.error.remote_addr_invalid": "无效的远端地址:{{address}}",
|
||
"proxy.backend.error.listen_failed": "创建本地代理监听失败:{{detail}}",
|
||
"proxy.backend.error.socks5_dialer_failed": "创建 SOCKS5 代理拨号器失败:{{detail}}",
|
||
"proxy.backend.error.socks5_connect_failed": "SOCKS5 代理连接失败:{{detail}}",
|
||
"proxy.backend.error.http_connect_failed": "连接 HTTP 代理失败:{{detail}}",
|
||
"proxy.backend.error.http_connect_write_failed": "发送 HTTP CONNECT 请求失败:{{detail}}",
|
||
"proxy.backend.error.http_connect_read_failed": "读取 HTTP CONNECT 响应失败:{{detail}}",
|
||
"proxy.backend.error.http_connect_status_failed": "HTTP 代理 CONNECT 失败:{{status}}",
|
||
"app.startup_readiness.loading_local_config": "正在加载本地配置...",
|
||
"app.startup_readiness.loading_security_config": "正在加载安全配置...",
|
||
"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": "正在校验更新结果",
|
||
"security_update.banner.title": "已保存配置可进行安全更新",
|
||
"security_update.banner.action.start_now": "立即更新",
|
||
"security_update.banner.action.view_details": "查看详情",
|
||
"security_update.banner.action.restart_update": "重新开始更新",
|
||
"security_update.banner.action.retry_check": "重新检查",
|
||
"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.intro.title": "已保存配置安全更新",
|
||
"security_update.intro.subtitle": "使用新的安全存储方式前,需要先完成一次本地配置更新。",
|
||
"security_update.intro.description": "为了让已保存的连接、代理和相关服务配置使用新的安全存储方式,本次更新需要进行一次本地配置更新。更新前会自动创建本地备份;如果本次未完成,系统会保留当前可用配置,你也可以稍后继续。",
|
||
"security_update.intro.action.details": "查看详情",
|
||
"security_update.intro.action.later": "稍后提醒我",
|
||
"security_update.intro.action.start_now": "立即更新",
|
||
"security_update.progress.default_detail": "更新过程中会保留当前可用配置,请稍候。",
|
||
"security_update.settings.title": "安全更新",
|
||
"security_update.settings.subtitle": "管理已保存配置的安全更新状态与待处理项。",
|
||
"security_update.settings.action.retry_check": "重新检查",
|
||
"security_update.settings.action.restart_update": "重新开始更新",
|
||
"security_update.settings.action.start": "开始更新",
|
||
"security_update.settings.action.close": "关闭",
|
||
"security_update.settings.current_status": "当前状态:{{status}}",
|
||
"security_update.settings.scope_title": "影响范围",
|
||
"security_update.settings.summary.total": "总计",
|
||
"security_update.settings.summary.updated": "已更新",
|
||
"security_update.settings.summary.pending": "待处理",
|
||
"security_update.settings.summary.skipped": "已跳过",
|
||
"security_update.settings.summary.failed": "失败",
|
||
"security_update.settings.pending_list": "待处理清单",
|
||
"security_update.settings.empty_pending": "当前没有待处理项",
|
||
"security_update.settings.item_status": "状态:{{status}}",
|
||
"security_update.settings.item_severity": "级别:{{severity}}",
|
||
"security_update.settings.item_default_message": "当前项需要进一步处理后才能完成安全更新。",
|
||
"security_update.settings.recent_result": "最近一次结果",
|
||
"security_update.settings.backup_path": "备份位置:",
|
||
"security_update.settings.last_error": "最近错误:",
|
||
"security_update.status.pending.label": "待更新",
|
||
"security_update.status.pending.description": "检测到可进行的安全更新,你可以现在开始或稍后继续。",
|
||
"security_update.status.postponed.label": "待更新",
|
||
"security_update.status.postponed.description": "本次安全更新已延后,当前可用配置会继续保留。",
|
||
"security_update.status.in_progress.label": "更新中",
|
||
"security_update.status.in_progress.description": "正在检查并更新已保存配置的安全存储。",
|
||
"security_update.status.needs_attention.label": "待处理",
|
||
"security_update.status.needs_attention.description": "更新尚未完成,有少量配置需要你处理。",
|
||
"security_update.status.completed.label": "已完成",
|
||
"security_update.status.completed.description": "已保存配置已完成安全更新。",
|
||
"security_update.status.rolled_back.label": "已回退",
|
||
"security_update.status.rolled_back.description": "本次更新未完成,系统已保留当前可用配置。",
|
||
"security_update.status.not_detected.label": "未检测到",
|
||
"security_update.status.not_detected.description": "当前没有需要处理的安全更新。",
|
||
"security_update.action.open_connection": "打开连接",
|
||
"security_update.action.open_proxy_settings": "代理设置",
|
||
"security_update.action.open_ai_settings": "AI 设置",
|
||
"security_update.action.retry_update": "重新检查",
|
||
"security_update.action.view_details": "查看详情",
|
||
"security_update.item_status.pending": "待更新",
|
||
"security_update.item_status.updated": "已更新",
|
||
"security_update.item_status.needs_attention": "待处理",
|
||
"security_update.item_status.skipped": "已跳过",
|
||
"security_update.item_status.failed": "失败",
|
||
"security_update.severity.high": "高风险",
|
||
"security_update.severity.medium": "中风险",
|
||
"security_update.severity.low": "低风险",
|
||
"security_update.repair.warning.connection_not_found": "未找到对应连接,请先重新检查最新状态",
|
||
"security_update.bootstrap.legacy.connection.message": "该连接仍保存在当前应用的本地配置中,完成安全更新后会迁入新的安全存储。",
|
||
"security_update.bootstrap.legacy.global_proxy.title": "全局代理",
|
||
"security_update.bootstrap.legacy.global_proxy.message": "全局代理仍保存在当前应用的本地配置中,完成安全更新后会迁入新的安全存储。",
|
||
"security_update.error.capability_unavailable": "安全更新能力不可用",
|
||
"app.settings.description": "集中处理语言、代理、主题、AI 与关于等通用配置入口。",
|
||
"app.settings.entry.about.description": "查看版本信息、仓库地址和更新状态。",
|
||
"app.settings.entry.about.title": "关于 GoNavi",
|
||
"app.settings.entry.ai.description": "管理模型供应商、密钥和默认行为。",
|
||
"app.settings.entry.ai.title": "AI 设置",
|
||
"app.settings.entry.proxy.description": "统一配置更新检查、驱动管理和公共网络出口。",
|
||
"app.settings.entry.proxy.title": "全局代理",
|
||
"app.settings.entry.theme.description": "切换亮暗主题并调整界面观感。",
|
||
"app.settings.entry.theme.title": "主题与外观",
|
||
"app.settings.title": "设置中心",
|
||
"app.shortcuts.action.focusSidebarSearch.description": "定位到左侧连接树搜索框",
|
||
"app.shortcuts.action.focusSidebarSearch.label": "聚焦侧边栏搜索",
|
||
"app.shortcuts.action.newConnection.description": "创建新的数据库、运行时或其他数据源连接",
|
||
"app.shortcuts.action.newConnection.label": "新建数据源",
|
||
"app.shortcuts.action.newQueryTab.description": "创建一个新的 SQL 查询标签页",
|
||
"app.shortcuts.action.newQueryTab.label": "新建查询页",
|
||
"app.shortcuts.action.openShortcutManager.description": "打开快捷键设置面板",
|
||
"app.shortcuts.action.openShortcutManager.label": "打开快捷键管理",
|
||
"app.shortcuts.action.record": "录制",
|
||
"app.shortcuts.action.resetWindowZoom.description": "Windows 任务栏恢复后字体异常变大时主动触发;会切一次最大化让 WebView2 重算字体度量",
|
||
"app.shortcuts.action.resetWindowZoom.label": "重置窗口缩放",
|
||
"app.shortcuts.action.restore_defaults": "恢复默认",
|
||
"app.shortcuts.action.runQuery.description": "在当前查询页执行 SQL",
|
||
"app.shortcuts.action.runQuery.label": "执行 SQL",
|
||
"app.shortcuts.action.saveQuery.description": "保存当前查询页;未命名查询会打开保存弹窗",
|
||
"app.shortcuts.action.saveQuery.label": "保存查询",
|
||
"app.shortcuts.action.selectCurrentStatement.description": "在查询编辑器中选中光标所在 SQL 语句",
|
||
"app.shortcuts.action.selectCurrentStatement.label": "选择当前语句",
|
||
"app.shortcuts.action.sendAIChatMessage.description": "在 AI 输入框中发送当前消息,Shift+Enter 始终换行",
|
||
"app.shortcuts.action.sendAIChatMessage.label": "AI 聊天发送",
|
||
"app.shortcuts.action.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.toggleTheme.description": "在亮色和暗色主题之间切换",
|
||
"app.shortcuts.action.toggleTheme.label": "切换主题",
|
||
"app.shortcuts.action.diagnoseQuery.description": "对当前 SQL 执行 EXPLAIN 并展示执行计划图与索引建议",
|
||
"app.shortcuts.action.diagnoseQuery.label": "SQL 诊断",
|
||
"app.shortcuts.action.showSlowQueries.description": "查看当前连接的慢 SQL 历史记录(默认阈值 500ms)",
|
||
"app.shortcuts.action.showSlowQueries.label": "慢 SQL 历史",
|
||
"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.tools.entry.snippets.description": "管理 SQL 代码片段和前缀补全。",
|
||
"app.tools.entry.snippets.title": "代码片段管理",
|
||
"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.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.title": "数据表显示",
|
||
"app.theme.data_table.vertical_borders": "显示数据表竖向分隔线",
|
||
"app.theme.data_table.vertical_borders_hint": "仅作用于数据表页面 DataGrid,不影响其他表格组件。",
|
||
"app.theme.mac_window.restart_hint": "* 已同步隐藏右上角自定义按钮;如系统窗口样式未立即刷新,可重启应用后再确认",
|
||
"app.theme.mac_window.title": "macOS 窗口控制",
|
||
"app.theme.mac_window.use_native_controls": "使用 macOS 原生窗口控制",
|
||
"app.theme.mac_window.use_native_controls_hint": "启用后显示左上角红黄绿按钮,并优先使用 macOS 原生全屏行为。",
|
||
"app.theme.mode.dark.description": "适合低光环境,视觉更沉稳。",
|
||
"app.theme.mode.dark.label": "暗色主题",
|
||
"app.theme.mode.light.description": "适合明亮环境,层次更轻。",
|
||
"app.theme.mode.light.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.navigation_title": "设置导航",
|
||
"app.theme.startup_window.fullscreen": "启动时全屏",
|
||
"app.theme.startup_window.fullscreen_windows": "启动时全屏(Windows 按最大化处理)",
|
||
"app.theme.startup_window.hint": "* 修改后下次启动生效",
|
||
"app.theme.startup_window.title": "启动窗口",
|
||
"app.theme.startup_window.windows_hint": "* Windows 下该选项按“启动时最大化”处理,修改后下次启动生效",
|
||
"app.theme.theme_settings_description": "切换亮暗主题,保持整体视觉风格统一。",
|
||
"app.theme.theme_settings_title": "主题设置",
|
||
"app.theme.ui_version.badge.new": "NEW",
|
||
"app.theme.ui_version.beta_warning": "新版 UI 仍在 Beta,部分屏幕样式可能与旧版有差异,遇到问题可随时切回。",
|
||
"app.theme.ui_version.description": "在保留全部功能的前提下切换整体外观,新版采用更紧凑的信息层级与更现代的视觉语言。",
|
||
"app.theme.ui_version.legacy.badge": "默认",
|
||
"app.theme.ui_version.legacy.description": "当前稳定界面,所有功能完整可用。",
|
||
"app.theme.ui_version.legacy.label": "旧版 UI",
|
||
"app.theme.ui_version.platform_hint": "Windows、macOS 与 Linux 均可切换;切换后立即生效,部分弹窗会在下次打开时使用新样式。",
|
||
"app.theme.ui_version.sidebar_search.command": "新版命令搜索",
|
||
"app.theme.ui_version.sidebar_search.filter": "旧版侧栏筛选",
|
||
"app.theme.ui_version.sidebar_search.hint": "新版命令搜索适合跳转连接、表和动作,可在面板中开启同步开关持续过滤左侧树;旧版侧栏筛选会直接显示输入框并持久保留筛选内容。",
|
||
"app.theme.ui_version.sidebar_search.title": "新版左侧搜索模式",
|
||
"app.theme.tab_display.title": "Tab 标签展示",
|
||
"app.theme.tab_display.description": "自定义连接名、对象类型、对象名、数据库、Schema 和 Host/IP 的展示顺序;双行模式可把上下文放到副行。",
|
||
"app.theme.tab_display.layout.single": "单行",
|
||
"app.theme.tab_display.layout.double": "双行",
|
||
"app.theme.tab_display.badge.current": "当前",
|
||
"app.theme.tab_display.row.primary": "主行",
|
||
"app.theme.tab_display.row.secondary": "副行",
|
||
"app.theme.tab_display.action.move_up": "上移",
|
||
"app.theme.tab_display.action.move_down": "下移",
|
||
"app.theme.tab_display.preview.prefix": "当前预览:",
|
||
"app.theme.tab_display.preview.default_label": "默认标签",
|
||
"app.theme.tab_display.preview.secondary": ",副行 {{labels}}",
|
||
"app.theme.tab_display.preview.focused": ";当前选中 {{label}}",
|
||
"app.theme.tab_display.element.connection.label": "连接名",
|
||
"app.theme.tab_display.element.connection.description": "连接简称或环境名,例如 DEV",
|
||
"app.theme.tab_display.element.kind.label": "对象类型",
|
||
"app.theme.tab_display.element.kind.description": "SQL / TABLE / VIEW 等类型标签",
|
||
"app.theme.tab_display.element.object.label": "对象名",
|
||
"app.theme.tab_display.element.object.description": "表名、查询名、资源名等核心名称",
|
||
"app.theme.tab_display.element.database.label": "数据库",
|
||
"app.theme.tab_display.element.database.description": "当前 DB / catalog 名称",
|
||
"app.theme.tab_display.element.schema.label": "Schema",
|
||
"app.theme.tab_display.element.schema.description": "schema / owner 前缀",
|
||
"app.theme.tab_display.element.host.label": "Host/IP",
|
||
"app.theme.tab_display.element.host.description": "连接目标地址摘要",
|
||
"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.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.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.security_update.description": "查看已保存配置的安全更新状态。",
|
||
"app.tools.entry.security_update.status_description": "当前状态:{{status}}",
|
||
"app.tools.entry.security_update.title": "安全更新",
|
||
"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 平台生效",
|
||
"app.tools.entry.shortcuts.description": "查看并调整全局快捷键绑定。",
|
||
"app.tools.entry.shortcuts.title": "快捷键管理",
|
||
"app.tools.entry.schema_compare.description": "对比源表与目标表结构差异,只预览不执行。",
|
||
"app.tools.entry.schema_compare.title": "表结构比对",
|
||
"app.tools.entry.data_compare.description": "按主键分析新增、更新、删除和相同行。",
|
||
"app.tools.entry.data_compare.title": "数据比对",
|
||
"app.tools.entry.sync.description": "进入跨源同步工作流。",
|
||
"app.tools.entry.sync.title": "数据同步",
|
||
"app.tools.title": "工具中心",
|
||
"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.message.editable_load_failed": "读取已保存连接详情失败,当前将打开脱敏配置",
|
||
"app.connection.message.editable_load_failed_with_detail": "读取已保存连接详情失败:{{detail}},当前将打开脱敏配置",
|
||
"app.connection_package.message.no_connections_to_export": "没有连接可导出",
|
||
"app.connection_package.message.unsupported_file_format": "文件格式错误:仅支持 GoNavi 恢复包、历史 JSON 连接数组或 MySQL Workbench XML",
|
||
"app.browser_mock.export_sql_unsupported": "浏览器 mock 不支持 SQL 文件导出",
|
||
"app.browser_mock.import_connection_package_unsupported": "浏览器 mock 不支持恢复包导入,仅支持历史 JSON 连接数组",
|
||
"app.browser_mock.export_connection_package_unsupported": "浏览器 mock 不支持恢复包导出",
|
||
"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.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.provider.test_failed_detail": "连接测试失败:{{detail}}",
|
||
"app.browser_mock.provider.test_success": "端点连通性测试成功",
|
||
"app.update.action.hide_to_background": "隐藏到后台",
|
||
"app.update.action.install_update": "安装更新",
|
||
"app.update.action.open_install_directory": "打开安装目录",
|
||
"app.update.backend.error.check_failed": "检查更新失败:{{detail}}",
|
||
"app.update.backend.error.check_http_status": "检查更新失败:HTTP {{status}}",
|
||
"app.update.backend.error.download_failed": "更新下载失败:{{detail}}",
|
||
"app.update.backend.error.install_unsupported": "当前平台暂不支持更新安装:{{platform}}",
|
||
"app.update.backend.error.latest_version_unparseable": "无法解析最新版本号",
|
||
"app.update.backend.error.online_update_unsupported": "当前平台暂不支持在线更新:{{platform}}",
|
||
"app.update.backend.error.package_download_http_failed": "下载更新包失败:HTTP {{status}}",
|
||
"app.update.backend.error.package_file_busy": "更新下载失败,文件被占用:{{detail}}",
|
||
"app.update.backend.error.release_version_unparseable": "无法解析发布版本号",
|
||
"app.update.backend.error.sha256_missing_current_package": "SHA256SUMS 未包含当前平台更新包",
|
||
"app.update.backend.error.sha256sums_download_failed": "下载 SHA256SUMS 失败:HTTP {{status}}",
|
||
"app.update.backend.error.sha256sums_missing": "Release 未提供 SHA256SUMS",
|
||
"app.update.backend.error.update_package_not_found": "未找到更新包:{{name}}",
|
||
"app.update.backend.message.app_directory_unavailable": "无法访问应用目录:{{path}}",
|
||
"app.update.backend.message.app_directory_unresolved_download": "无法确定当前应用目录,无法下载更新",
|
||
"app.update.backend.message.check_first": "请先检查更新",
|
||
"app.update.backend.message.checksum_failed": "更新包校验失败,请重试",
|
||
"app.update.backend.message.checksum_missing": "缺少更新包校验值(SHA256SUMS)",
|
||
"app.update.backend.message.create_workspace_failed": "无法在应用目录创建更新工作目录:{{path}}",
|
||
"app.update.backend.message.download_in_progress": "更新包正在下载中,请稍后重试",
|
||
"app.update.backend.message.install_launch_failed": "启动更新安装程序失败:{{detail}}",
|
||
"app.update.backend.message.install_launch_failed_with_log": "启动更新安装程序失败:{{detail}}(更新日志:{{path}})",
|
||
"app.update.backend.message.install_started": "更新已开始安装",
|
||
"app.update.backend.message.install_started_with_log": "更新已开始安装,日志路径:{{path}}",
|
||
"app.update.backend.message.latest": "已是最新版本",
|
||
"app.update.backend.message.no_downloaded_package": "未找到已下载的更新包",
|
||
"app.update.backend.message.no_update_package": "未找到可用的更新包",
|
||
"app.update.backend.message.open_directory_failed": "打开更新目录失败:{{detail}}",
|
||
"app.update.backend.message.open_directory_unsupported": "当前平台暂不支持打开目录:{{platform}}",
|
||
"app.update.backend.message.opened_install_directory": "已打开安装目录:{{path}}",
|
||
"app.update.backend.message.package_already_downloaded": "更新包已下载完成",
|
||
"app.update.backend.message.package_directory_unavailable": "更新目录不存在或不可访问",
|
||
"app.update.backend.message.package_directory_unresolved": "无法解析更新目录",
|
||
"app.update.backend.message.package_downloaded": "更新包下载完成",
|
||
"app.update.backend.message.package_path_empty": "更新包路径为空",
|
||
"app.update.backend.message.update_found": "发现新版本:{{version}}",
|
||
"app.update.download_title": "下载更新",
|
||
"app.update.download_title_with_version": "下载更新 {{version}}",
|
||
"app.update.message.check_failed": "检查更新失败: {{error}}",
|
||
"app.update.message.download_completed": "更新下载完成",
|
||
"app.update.message.download_completed_with_path": "更新下载完成,更新包路径:{{path}}",
|
||
"app.update.message.download_failed": "更新下载失败: {{error}}",
|
||
"app.update.message.install_failed": "更新安装失败: {{error}}",
|
||
"app.update.message.open_install_directory_failed": "打开安装目录失败: {{error}}",
|
||
"app.update.message.opened_install_directory": "已打开安装目录,请手动完成替换",
|
||
"app.update.message.package_ready": "更新包已就绪({{version}})",
|
||
"app.update.message.package_ready_with_path": "更新包已就绪({{version}}),路径:{{path}}",
|
||
"app.update.message.update_found": "发现新版本 {{version}}",
|
||
"app.update.status.available_downloaded": "发现新版本 {{version}}(已下载,请点击“下载进度”后安装)",
|
||
"app.update.status.available_not_downloaded": "发现新版本 {{version}}(未下载)",
|
||
"app.update.status.check_failed": "检查更新失败: {{error}}",
|
||
"app.update.status.checking": "正在检查更新...",
|
||
"app.update.status.latest": "当前已是最新版本({{version}})",
|
||
"app.update.status.not_checked": "未检查",
|
||
"connection.delete": "删除连接",
|
||
"connection.edit": "编辑连接",
|
||
"connection.new": "新建连接",
|
||
"connection.test": "测试连接",
|
||
"connection.unnamed": "未命名连接",
|
||
"database.unnamed": "未命名数据库",
|
||
"database.label": "数据库",
|
||
"connection.copy_suffix": " - 副本",
|
||
"query.format": "美化 SQL",
|
||
"query.new": "新建查询",
|
||
"query.run": "运行",
|
||
"query.save": "保存查询",
|
||
"saved_query.default_name": "查询-{{index}}",
|
||
"query.stop": "停止",
|
||
"message_publish_modal.title": "测试发送消息",
|
||
"message_publish_modal.title_with_connection": "测试发送消息 · {{connectionName}}",
|
||
"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.exchange.label": "Exchange(可选)",
|
||
"message_publish_modal.field.exchange.extra": "留空使用默认交换机;若填写自定义交换机,请确认目标 Queue 已建立 binding。",
|
||
"message_publish_modal.field.exchange.placeholder": "例如:events.topic",
|
||
"message_publish_modal.field.routing_key.label": "Routing Key(可选)",
|
||
"message_publish_modal.field.routing_key.extra": "留空时默认使用当前 Queue 名。",
|
||
"message_publish_modal.field.routing_key.placeholder": "例如:orders.queue",
|
||
"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.tag.label": "Tag(可选)",
|
||
"message_publish_modal.field.tag.extra": "留空表示不过滤或不写入 Tag。",
|
||
"message_publish_modal.field.delay_level.label": "Delay Level(可选)",
|
||
"message_publish_modal.field.delay_level.extra": "RocketMQ 使用固定延时级别,0 表示立即发送。",
|
||
"message_publish_modal.field.body_mode.label": "消息体类型",
|
||
"message_publish_modal.field.body.label": "消息体",
|
||
"message_publish_modal.field.body.required": "请输入消息体",
|
||
"message_publish_modal.field.body.extra": "JSON 模式下需输入合法 JSON;文本模式按原样发送。",
|
||
"message_publish_modal.field.body.placeholder": "请输入消息体",
|
||
"message_publish_modal.field.headers.label": "Headers(可选)",
|
||
"message_publish_modal.field.headers.extra": "需为 JSON 对象,例如 {{example}}。",
|
||
"message_publish_modal.field.properties.label": "Properties(可选)",
|
||
"message_publish_modal.field.properties.extra": "需为 JSON 对象,例如 {{example}}。",
|
||
"message_publish_modal.option.no_delay": "不延时",
|
||
"message_publish_modal.option.text": "文本",
|
||
"message_publish_modal.footer.success_prefix": "发送成功后会返回",
|
||
"message_publish_modal.footer.success_suffix": ",用于确认本次测试消息是否已提交。",
|
||
"message_publish.field.body": "消息体",
|
||
"message_publish.field.message_key": "消息 Key",
|
||
"message_publish.error.destination_required": "请输入目标 Topic / Queue",
|
||
"message_publish.error.required_field": "请输入{{field}}",
|
||
"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.unsupported_type": "当前数据源暂不支持测试发送消息:{{type}}",
|
||
"message_publish.presentation.rabbitmq.destination_placeholder": "例如:orders.queue",
|
||
"message_publish.presentation.rabbitmq.destination_required": "请输入 Queue",
|
||
"message_publish.presentation.rabbitmq.alert": "当前表单会自动拼装 RabbitMQ publish JSON 命令,并通过 Management API 执行测试发送。",
|
||
"message_publish.presentation.rabbitmq.success_hint": "留空 Exchange 时会使用默认交换机并按 Queue 名作为 routing key。",
|
||
"message_publish.presentation.rocketmq.destination_placeholder": "例如:orders.events",
|
||
"message_publish.presentation.topic_required": "请输入 Topic",
|
||
"message_publish.presentation.rocketmq.alert": "当前表单会自动拼装 RocketMQ publish JSON 命令,并通过 NameServer/Broker 执行测试发送。",
|
||
"message_publish.presentation.rocketmq.success_hint": "Tag、Keys、Delay Level 与 Properties 会一并写入 RocketMQ 消息属性。",
|
||
"message_publish.presentation.keys_label": "消息 Keys(可选)",
|
||
"message_publish.presentation.rocketmq.key_placeholder": "可输入多个 Key,使用逗号分隔",
|
||
"message_publish.presentation.rocketmq.tag_placeholder": "例如:TagA",
|
||
"message_publish.presentation.mqtt.destination_placeholder": "例如:devices/device-001/telemetry",
|
||
"message_publish.presentation.mqtt.alert": "当前表单会自动拼装 MQTT publish JSON 命令,并直接通过 broker 执行测试发送。",
|
||
"message_publish.presentation.mqtt.success_hint": "QoS 与 retain 可单独指定;未填写时沿用当前连接中的默认参数。",
|
||
"message_publish.presentation.kafka.destination_placeholder": "例如:orders.events",
|
||
"message_publish.presentation.kafka.alert": "当前表单会自动拼装 Kafka publish JSON 命令,并直接调用后端执行测试发送。",
|
||
"message_publish.presentation.kafka.success_hint": "Headers 会作为 Kafka Record Headers 一并发送。",
|
||
"message_publish.presentation.key_label": "消息 Key(可选)",
|
||
"message_publish.presentation.kafka.key_placeholder": "可留空;JSON 模式请输入一行合法 JSON",
|
||
"connection_modal.action.browse": "浏览...",
|
||
"connection_modal.action.disable": "禁用",
|
||
"connection_modal.action.discover_members": "自动发现成员",
|
||
"connection_modal.action.enable_and_prefer": "启用并设为首选",
|
||
"connection_modal.badge.current_editing": "当前编辑",
|
||
"connection_modal.badge.preferred": "首选",
|
||
"connection_modal.field.additional_hosts": "附加主机",
|
||
"connection_modal.field.additional_srv_hosts_optional": "附加 SRV 主机(可选)",
|
||
"connection_modal.field.auth_source": "认证库 (authSource)",
|
||
"connection_modal.field.cluster_additional_hosts": "集群附加节点",
|
||
"connection_modal.field.connection_timeout_seconds": "连接超时(秒)",
|
||
"connection_modal.field.connection_timeout_seconds_ascii": "连接超时(秒)",
|
||
"connection_modal.field.default_database_optional": "默认连接数据库(可选)",
|
||
"connection_modal.field.display_databases_optional": "显示数据库(可选)",
|
||
"connection_modal.field.file_path_absolute": "文件路径(绝对路径)",
|
||
"connection_modal.field.host_address": "主机地址",
|
||
"connection_modal.field.password_optional": "密码(可选)",
|
||
"connection_modal.field.port": "端口",
|
||
"connection_modal.field.port_plain": "端口",
|
||
"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.replica_hosts": "从库地址列表",
|
||
"connection_modal.field.replica_password_optional": "从库密码(可选)",
|
||
"connection_modal.field.replica_set_optional": "Replica Set(可选)",
|
||
"connection_modal.field.replica_set_password_optional": "Replica Set 密码(可选)",
|
||
"connection_modal.field.replica_set_username_optional": "Replica Set 用户名(可选)",
|
||
"connection_modal.field.replica_username_optional": "从库用户名(可选)",
|
||
"connection_modal.field.save_password": "保存密码",
|
||
"connection_modal.field.service_name": "服务名",
|
||
"connection_modal.field.defaultDatabase.placeholder": "例如:appdb",
|
||
"connection_modal.field.serviceName.placeholder": "例如:ORCLPDB1",
|
||
"connection_modal.field.clickHouseProtocol.auto": "自动",
|
||
"connection_modal.field.oceanBaseProtocol.label": "OceanBase 协议",
|
||
"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.help.connectionAttributes": "如果 Oracle 租户连接报「Error 1235」或 OBClient 握手失败,可在「连接参数」字段通过 {{attributes}} 覆盖 GoNavi 默认注入的 OBClient capability。",
|
||
"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.username": "用户名",
|
||
"connection_modal.field.username.optional_placeholder": "未开启认证可留空",
|
||
"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.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.transport.agent_bridge": "Agent Bridge",
|
||
"connection_modal.jvm.diagnostic.transport.arthas_tunnel": "Arthas Tunnel",
|
||
"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_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.message.srv_with_ssh_dns_warning": "SRV 与 SSH Tunnel 同时启用时可能依赖本地 DNS 解析;如解析失败,请改用标准主机列表。",
|
||
"connection_modal.messageQueue.kafka.defaultTopic.label": "默认 Topic(可选)",
|
||
"connection_modal.messageQueue.kafka.defaultTopic.help": "留空时必须在 SQL 中显式指定 Topic;填写后可直接执行 SHOW、CONSUME 或 SELECT 预览。",
|
||
"connection_modal.messageQueue.kafka.defaultTopic.placeholder": "例如:orders.events",
|
||
"connection_modal.messageQueue.rocketmq.defaultTopic.label": "默认 Topic(可选)",
|
||
"connection_modal.messageQueue.rocketmq.defaultTopic.help": "留空时必须在 SQL 中显式指定 Topic;连接参数可继续补充 groupId、namespace、tag、pullBatchSize 与 startOffset。",
|
||
"connection_modal.messageQueue.rocketmq.defaultTopic.placeholder": "例如:orders.events",
|
||
"connection_modal.messageQueue.mqtt.defaultTopicFilter.label": "默认 Topic / Filter(可选)",
|
||
"connection_modal.messageQueue.mqtt.defaultTopicFilter.help": "留空时必须在 SQL 中显式指定 Topic;填写后可直接执行 SHOW、CONSUME 或 SELECT 预览。支持使用 /、+、#。",
|
||
"connection_modal.messageQueue.mqtt.defaultTopicFilter.placeholder": "例如:devices/+/telemetry",
|
||
"connection_modal.messageQueue.rabbitmq.defaultVirtualHost.label": "默认 Virtual Host(可选)",
|
||
"connection_modal.messageQueue.rabbitmq.defaultVirtualHost.help": "留空默认使用 /;填写后查询编辑器会以当前 vhost 作为 Queue 浏览与测试发送上下文。",
|
||
"connection_modal.messageQueue.rabbitmq.defaultVirtualHost.placeholder": "例如:/ 或 orders-vhost",
|
||
"connection_modal.messageQueue.topology.cluster.label": "集群模式",
|
||
"connection_modal.messageQueue.kafka.topology.single.label": "单 Broker",
|
||
"connection_modal.messageQueue.kafka.topology.single.description": "只配置一个 bootstrap broker,适合本地或简单环境。",
|
||
"connection_modal.messageQueue.kafka.topology.cluster.description": "配置多个 bootstrap broker,提高发现与故障切换成功率。",
|
||
"connection_modal.messageQueue.rocketmq.topology.single.label": "单 NameServer",
|
||
"connection_modal.messageQueue.rocketmq.topology.single.description": "只配置一个 NameServer,适合本地或简单环境。",
|
||
"connection_modal.messageQueue.rocketmq.topology.cluster.description": "配置多个 NameServer,提高路由发现与故障切换成功率。",
|
||
"connection_modal.messageQueue.mqtt.topology.single.label": "单 Broker",
|
||
"connection_modal.messageQueue.mqtt.topology.single.description": "只配置一个 broker,适合本地或简单环境。",
|
||
"connection_modal.messageQueue.mqtt.topology.cluster.description": "配置多个 broker,提高连接发现与故障切换成功率。",
|
||
"connection_modal.messageQueue.kafka.extraBrokers.label": "额外 Broker 地址",
|
||
"connection_modal.messageQueue.kafka.extraBrokers.help": "可输入多个 broker 地址,格式:host:port(回车确认)",
|
||
"connection_modal.messageQueue.kafka.extraBrokers.placeholder": "例如:10.10.0.12:9092、10.10.0.13:9092",
|
||
"connection_modal.messageQueue.rocketmq.extraNameServers.label": "额外 NameServer 地址",
|
||
"connection_modal.messageQueue.rocketmq.extraNameServers.help": "可输入多个 NameServer 地址,格式:host:port(回车确认)",
|
||
"connection_modal.messageQueue.rocketmq.extraNameServers.placeholder": "例如:10.10.0.12:9876、10.10.0.13:9876",
|
||
"connection_modal.messageQueue.mqtt.extraBrokers.label": "额外 Broker 地址",
|
||
"connection_modal.messageQueue.mqtt.extraBrokers.help": "可输入多个 broker 地址,格式:host:port(回车确认)",
|
||
"connection_modal.messageQueue.mqtt.extraBrokers.placeholder": "例如:10.10.0.12:1883、10.10.0.13:1883",
|
||
"connection_modal.redis.topology.single.label": "单机模式",
|
||
"connection_modal.redis.topology.single.description": "只连接一个 Redis 节点。",
|
||
"connection_modal.redis.topology.cluster.label": "集群模式",
|
||
"connection_modal.redis.topology.cluster.description": "Redis Cluster,配置多个种子节点。",
|
||
"connection_modal.redis.topology.sentinel.label": "哨兵模式",
|
||
"connection_modal.redis.topology.sentinel.description": "通过 Sentinel 发现主节点,适合主从高可用。",
|
||
"connection_modal.redis.hosts.sentinel.label": "Sentinel 附加节点地址",
|
||
"connection_modal.redis.hosts.sentinel.help": "上方主机地址作为第一个 Sentinel;这里填写其他 Sentinel 节点,格式:host:port",
|
||
"connection_modal.redis.hosts.sentinel.placeholder": "例如:10.10.0.12:26379、10.10.0.13:26379",
|
||
"connection_modal.redis.hosts.cluster.label": "集群附加节点地址",
|
||
"connection_modal.redis.hosts.cluster.help": "主节点使用上方主机地址;这里填写其他种子节点,格式:host:port",
|
||
"connection_modal.redis.hosts.cluster.placeholder": "例如:10.10.0.12:6379、10.10.0.13:6379",
|
||
"connection_modal.redis.sentinel.master.label": "Sentinel master 名称",
|
||
"connection_modal.redis.sentinel.master.help": "填写 Sentinel 配置中的 monitor 名称,例如 mymaster。",
|
||
"connection_modal.redis.sentinel.master.required": "请输入 Sentinel master 名称",
|
||
"connection_modal.redis.sentinel.master.placeholder": "例如:mymaster",
|
||
"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.sentinelUser.label": "Sentinel 用户名(可选)",
|
||
"connection_modal.redis.credentials.sentinelUser.placeholder": "留空表示 Sentinel 不使用 ACL 用户名",
|
||
"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.sentinelPassword.clear": "清除已保存 Sentinel 密码",
|
||
"connection_modal.redis.credentials.sentinelPassword.description": "当前已保存 Sentinel 密码。留空表示继续沿用,输入新值表示替换。",
|
||
"connection_modal.redis.databaseScope.label": "显示数据库 (留空显示全部)",
|
||
"connection_modal.redis.databaseScope.help": "连接测试成功后可选择",
|
||
"connection_modal.redis.databaseScope.placeholder": "选择显示的数据库",
|
||
"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.topology.single.label": "单机模式",
|
||
"connection_modal.mongodb.topology.replica.label": "副本集 / 多节点",
|
||
"connection_modal.mongodb.discovery.standard.label": "标准地址",
|
||
"connection_modal.mongodb.discovery.standard.description": "使用 host:port 直连或副本集节点列表。",
|
||
"connection_modal.mongodb.discovery.srv.label": "SRV 地址",
|
||
"connection_modal.mongodb.discovery.srv.description": "使用 mongodb+srv,由 DNS 发现目标节点。",
|
||
"connection_modal.mongodb.discovery.current": "当前",
|
||
"connection_modal.mongodb.discovery.srv_ssh_warning": "SRV 与 SSH 隧道同时启用时,可能依赖本地 DNS 解析能力",
|
||
"connection_modal.mongodb.replica.hosts.srv.label": "附加 SRV 主机(可选)",
|
||
"connection_modal.mongodb.replica.hosts.srv.help": "可输入多个候选主机名,格式:host;若留空则仅使用上方主机。",
|
||
"connection_modal.mongodb.replica.hosts.srv.placeholder": "例如:cluster-a.example.com、cluster-b.example.com",
|
||
"connection_modal.mongodb.replica.hosts.standard.label": "附加节点地址",
|
||
"connection_modal.mongodb.replica.hosts.standard.help": "可输入多个节点地址,格式:host:port(回车确认)",
|
||
"connection_modal.mongodb.replica.hosts.standard.placeholder": "例如:10.10.0.12:27017、10.10.0.13:27017",
|
||
"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.replica.password.label": "副本集密码(可选)",
|
||
"connection_modal.mongodb.replica.password.placeholder.empty": "留空沿用主密码",
|
||
"connection_modal.mongodb.replica.password.placeholder.retained": "已保存副本集密码",
|
||
"connection_modal.mongodb.replica.password.clear": "清除已保存副本集密码",
|
||
"connection_modal.mongodb.replica.password.description": "当前已保存副本集密码。留空表示继续沿用,输入新值表示替换。",
|
||
"connection_modal.mongodb.members.role": "角色",
|
||
"connection_modal.mongodb.members.health": "健康",
|
||
"connection_modal.mongodb.members.health.ok": "正常",
|
||
"connection_modal.mongodb.members.health.error": "异常",
|
||
"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.srv_address": "SRV 地址",
|
||
"connection_modal.mongodb.srv_address_description": "使用 MongoDB SRV 记录发现主机。",
|
||
"connection_modal.mongodb.standard_address": "标准地址",
|
||
"connection_modal.mongodb.standard_address_description": "使用主机、端口和可选成员列表。",
|
||
"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_tls": "SSL/TLS",
|
||
"connection_modal.network.ssl_disabled_hint": "启用 SSL/TLS 后可配置证书策略。",
|
||
"connection_modal.network.ssl_mode": "SSL 模式",
|
||
"connection_modal.network.ssl_mode.preferred_description": "优先尝试 SSL,服务器不要求加密时允许回退。",
|
||
"connection_modal.network.ssl_mode.required_description": "必须使用 SSL,无法建立加密连接时失败。",
|
||
"connection_modal.network.ssl_mode.skip_verify_description": "使用 SSL 但跳过证书校验,仅用于测试或自签证书。",
|
||
"connection_modal.network.ssl_panel_description": "配置此连接的 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.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.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.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.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.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.error.saved_connection_missing": "未找到当前连接对应的已保存密文,请重新填写密码并保存后再试",
|
||
"connection_modal.secret.error.store_unavailable": "系统密文存储当前不可用,请检查系统钥匙串或凭据管理器后再试",
|
||
"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.section.advanced_connection": "高级连接",
|
||
"connection_modal.section.config_sections": "配置分区",
|
||
"connection_modal.status.disabled": "未启用",
|
||
"connection_modal.status.enabled": "已启用",
|
||
"connection_modal.status.healthy": "正常",
|
||
"connection_modal.status.unhealthy": "异常",
|
||
"connection_modal.switch.off": "关",
|
||
"connection_modal.switch.on": "开",
|
||
"connection_modal.table.health": "健康",
|
||
"connection_modal.table.role": "角色",
|
||
"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.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.endpoint_url_required": "请输入 Endpoint 地址",
|
||
"connection_modal.validation.jvm_access_mode_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": "请输入用户名",
|
||
"sidebar.batch_databases": "数据库",
|
||
"sidebar.batch_tables": "表",
|
||
"connection_modal.ssl_hint.mysql_like": "MySQL/MariaDB/Doris/Sphinx 开启安全传输策略时请启用 SSL;本地自签证书可先用 Preferred 或 Skip Verify 验证。",
|
||
"connection_modal.ssl_hint.dameng": "达梦驱动启用 SSL 需要客户端证书与私钥路径(sslCertPath / sslKeyPath)。",
|
||
"connection_modal.ssl_hint.sqlserver": "SQL Server 生产环境建议使用 Required,并关闭 TrustServerCertificate。",
|
||
"connection_modal.ssl_hint.mongodb": "MongoDB 可通过 TLS 保护连接,证书校验异常时可先用 Skip Verify 验证连通性。",
|
||
"connection_modal.ssl_hint.default": "建议优先使用 Required;仅在测试环境或自签证书场景使用 Skip Verify。",
|
||
"connection_modal.secret.new_value_replaces_saved": "已输入新值,保存时会替换当前已保存内容。",
|
||
"connection_modal.badge.current": "当前",
|
||
"connection_modal.message.driver_not_enabled_with_name": "{{name}} 驱动未安装或未启用。请先在驱动管理中安装并启用。",
|
||
"connection_modal.driver.current": "当前",
|
||
"connection_modal.message.driver_unavailable_title": "{{name}} 驱动不可用",
|
||
"connection_modal.action.open_driver_manager": "去驱动管理安装",
|
||
"connection_modal.action.cancel": "取消",
|
||
"connection_modal.placeholder.uri_example_postgres": "postgresql://user:pass@localhost:5432/appdb?sslmode=require",
|
||
"connection_modal.message.uri_generated": "URI 已生成",
|
||
"connection_modal.message.uri_generate_failed": "生成 URI 失败",
|
||
"connection_modal.message.uri_required": "请先输入 URI",
|
||
"connection_modal.message.uri_type_mismatch": "URI 类型与当前数据源不匹配",
|
||
"connection_modal.message.uri_parsed": "URI 已解析到表单",
|
||
"connection_modal.message.uri_parse_failed": "解析 URI 失败",
|
||
"connection_modal.message.uri_empty_copy": "没有可复制的 URI",
|
||
"connection_modal.message.uri_copied": "URI 已复制",
|
||
"connection_modal.message.copy_failed": "复制失败",
|
||
"connection_modal.message.select_ssh_key_failed": "选择 SSH 私钥失败:{{error}}",
|
||
"connection_modal.error.unknown": "未知错误",
|
||
"connection_modal.message.select_database_file_failed": "选择数据库文件失败:{{error}}",
|
||
"connection_modal.message.save_backend_unavailable": "保存功能不可用:后端接口未就绪",
|
||
"connection_modal.message.save_updated_disconnected": "配置已保存(未连接)",
|
||
"connection_modal.message.save_created_disconnected": "配置已保存(未连接)",
|
||
"connection_modal.message.save_security_refresh_failed": "配置已保存,但刷新安全信息失败",
|
||
"connection_modal.message.save_failed": "保存连接失败",
|
||
"connection_modal.message.test_requires_new_password": "请先输入新的连接密码,再测试连接。",
|
||
"connection_modal.secret.blocking.redis_sentinel": "测试连接前请填写新的 Sentinel 密码,或取消清除已保存 Sentinel 密码",
|
||
"connection_modal.test.redis_database_list_timeout": "连接成功但拉取 Redis 数据库列表超时(>{{seconds}} 秒)",
|
||
"connection_modal.test.redis_database_list_failure": "连接成功,但获取 Redis 数据库列表失败:{{detail}}",
|
||
"connection_modal.message.test_requires_new_ssh_password": "请先输入新的 SSH 密码,再测试连接。",
|
||
"connection_modal.message.test_requires_new_proxy_password": "请先输入新的代理密码,再测试连接。",
|
||
"connection_modal.message.test_requires_new_tunnel_password": "请先输入新的 HTTP Tunnel 密码,再测试连接。",
|
||
"connection_modal.message.test_requires_new_replica_password": "请先输入新的从库密码,再测试连接。",
|
||
"connection_modal.message.test_requires_new_mongo_replica_password": "请先输入新的 MongoDB Replica Set 密码,再测试连接。",
|
||
"connection_modal.message.test_requires_new_mongodb_password": "请先输入新的 MongoDB 密码,再测试连接。",
|
||
"connection_modal.message.driver_not_enabled": "驱动未安装或未启用",
|
||
"connection_modal.message.connection_params_incomplete": "连接参数不完整",
|
||
"connection_modal.message.test_timeout": "操作超时({{seconds}} 秒)",
|
||
"connection_modal.message.database_list_timeout": "操作超时({{seconds}} 秒)",
|
||
"connection_modal.message.no_visible_schema": "未获取到可见结构",
|
||
"connection_modal.message.no_visible_databases": "未获取到可见数据库",
|
||
"connection_modal.message.database_list_failed": "加载数据库列表失败:{{error}}",
|
||
"connection_modal.message.connection_rejected": "连接被拒绝",
|
||
"connection_modal.message.required_fields_before_test": "请先填写必填字段,再测试连接",
|
||
"connection_modal.message.test_failed_detail": "测试失败:{{detail}}",
|
||
"connection_modal.error.unknown_exception": "未知错误",
|
||
"connection_modal.message.member_discovery_failed": "发现 MongoDB 成员失败",
|
||
"connection_modal.message.member_discovery_success": "已发现 {{count}} 个成员",
|
||
"connection_modal.message.unsupported_jvm_modes": "当前选择的 JVM 接入模式不受支持",
|
||
"connection_modal.message.unsupported_jvm_diagnostic_transport": "当前选择的 JVM 诊断传输不受支持",
|
||
"connection_modal.message.dameng_ssl_cert_required": "启用达梦 SSL 时必须填写证书和私钥路径",
|
||
"connection_modal.message.http_tunnel_host_required": "请输入 HTTP Tunnel 主机",
|
||
"connection_modal.message.http_tunnel_port_invalid": "HTTP Tunnel 端口无效",
|
||
"connection_modal.message.unsupported_jvm_modes_current": "当前连接包含不受支持的 JVM 接入模式",
|
||
"connection_modal.group.relational": "关系型数据库",
|
||
"connection_modal.group.chinese_databases": "国产数据库",
|
||
"connection_modal.step1.group.nosql": "NoSQL 数据库",
|
||
"connection_modal.step1.group.relational": "关系型数据库",
|
||
"connection_modal.step1.group.domestic": "国产数据库",
|
||
"connection_modal.step1.group.timeseries": "时序数据库",
|
||
"connection_modal.step1.group.other": "其他",
|
||
"connection_modal.group.time_series": "时序数据库",
|
||
"connection_modal.group.other": "其他",
|
||
"connection_modal.db_type.custom": "自定义",
|
||
"connection_modal.layout.mysql_compatible": "MySQL 兼容连接",
|
||
"connection_modal.layout.mongodb": "MongoDB 连接",
|
||
"connection_modal.layout.redis": "Redis 连接",
|
||
"connection_modal.layout.postgres_compatible": "PostgreSQL 兼容连接",
|
||
"connection_modal.layout.oracle": "Oracle 连接",
|
||
"connection_modal.layout.file": "文件数据库连接",
|
||
"connection_modal.layout.custom": "自定义驱动连接",
|
||
"connection_modal.layout.jvm": "JVM 运行时连接",
|
||
"connection_modal.layout.generic_sql": "通用 SQL 连接",
|
||
"connection_modal.db_type_hint.custom": "使用自定义驱动和 DSN 连接数据库。",
|
||
"connection_modal.db_type_hint.redis": "连接 Redis 单机或 Redis Cluster。",
|
||
"connection_modal.db_type_hint.mongodb": "连接 MongoDB 单节点、Replica Set 或 SRV 地址。",
|
||
"connection_modal.db_type_hint.file": "选择本地 SQLite 或 DuckDB 数据库文件。",
|
||
"connection_modal.db_type_hint.standard": "填写主机、端口、认证信息和可选数据库。",
|
||
"connection_modal.step1.hint.jvm": "JMX / Endpoint / Agent",
|
||
"connection_modal.step1.hint.custom": "自定义驱动与 DSN",
|
||
"connection_modal.step1.hint.redis": "单机 / 集群",
|
||
"connection_modal.step1.hint.mongodb": "单机 / 副本集",
|
||
"connection_modal.step1.hint.oceanBase": "MySQL / Oracle 租户",
|
||
"connection_modal.step1.hint.file": "本地文件连接",
|
||
"connection_modal.step1.hint.standard": "标准连接配置",
|
||
"connection_modal.step.select_source": "选择数据源",
|
||
"connection_modal.step.select_source_description": "选择要创建的连接类型。",
|
||
"connection_modal.message.driver_not_enabled_with_name_short": "{{name}} 驱动未安装或未启用,请先在驱动管理中处理。",
|
||
"connection_modal.section.basic.title": "基础信息",
|
||
"connection_modal.section.basic.description": "命名连接,并填写目标地址、驱动和认证信息。",
|
||
"connection_modal.field.connection_name": "连接名称",
|
||
"connection_modal.placeholder.jvm_name": "JVM 连接名称",
|
||
"connection_modal.placeholder.connection_name": "连接名称",
|
||
"connection_modal.field.uri": "URI",
|
||
"connection_modal.help.uri": "可粘贴完整连接 URI,也可从当前表单生成 URI。",
|
||
"connection_modal.action.generate_uri": "生成 URI",
|
||
"connection_modal.action.parse_uri": "解析 URI",
|
||
"connection_modal.action.copy_uri": "复制 URI",
|
||
"connection_modal.secret.clear_saved_uri": "清除已保存的 URI",
|
||
"connection_modal.secret.saved_uri_description": "安全存储中已有连接 URI。留空将继续使用该 URI。",
|
||
"connection_modal.field.driver_name": "驱动名称",
|
||
"connection_modal.field.driver.placeholder": "例如: mysql, postgres",
|
||
"connection_modal.validation.driver_name_required": "请输入驱动名称",
|
||
"connection_modal.placeholder.driver_name": "驱动名称",
|
||
"connection_modal.field.dsn": "DSN",
|
||
"connection_modal.field.dsn.placeholder": "例如: user:pass@tcp(localhost:3306)/dbname?charset=utf8",
|
||
"connection_modal.validation.custom_dsn_required": "请输入连接字符串",
|
||
"connection_modal.validation.custom_dsn_required_when_clearing_saved": "请输入新的连接字符串,或取消清除已保存 DSN",
|
||
"connection_modal.secret.clear_saved_dsn": "清除已保存的 DSN",
|
||
"connection_modal.secret.saved_dsn_description": "安全存储中已有 DSN。留空将继续使用该 DSN。",
|
||
"connection_modal.message.unsupported_jvm_modes_detected": "检测到不受支持的 JVM 接入模式",
|
||
"connection_modal.jvm.target_title": "JVM 目标",
|
||
"connection_modal.jvm.target_description": "配置 JVM 管理端点的主机、端口和访问方式。",
|
||
"connection_modal.field.host": "主机",
|
||
"connection_modal.validation.jvm_host_required": "请输入 JVM 主机",
|
||
"connection_modal.field.primary_port": "主端口",
|
||
"connection_modal.validation.jvm_port_required": "请输入 JVM 端口",
|
||
"connection_modal.section.network.title": "网络与安全",
|
||
"connection_modal.section.network.description": "配置 SSL/TLS、SSH Tunnel、代理和 HTTP Tunnel。",
|
||
"connection_modal.message.current_driver_not_enabled": "当前驱动未安装或未启用",
|
||
"connection_modal.section.basic.jvm_description": "配置 JVM 目标、访问模式和认证信息。",
|
||
"connection_modal.section.basic.sql_description": "配置连接目标、驱动、认证信息和数据库范围。",
|
||
"connection_modal.section.network.nav_description": "配置此连接的网络和安全选项。",
|
||
"connection_modal.section.appearance.title": "外观",
|
||
"connection_modal.section.appearance.description": "设置连接在侧边栏中的图标和颜色。",
|
||
"connection_modal.appearance.icon": "图标",
|
||
"connection_modal.appearance.current_icon": "当前图标:{{icon}}",
|
||
"connection_modal.db_icon_label.custom": "自定义",
|
||
"connection_modal.appearance.color": "颜色",
|
||
"connection_modal.appearance.custom_color": "自定义颜色",
|
||
"connection_modal.appearance.preview": "预览",
|
||
"connection_modal.placeholder.connection_name_fallback": "连接名称",
|
||
"connection_modal.action.reset_default": "恢复默认",
|
||
"connection_modal.message.connection_failed": "连接失败",
|
||
"connection_modal.action.previous_step": "上一步",
|
||
"connection_modal.message.connection_success": "连接成功",
|
||
"connection_modal.action.view_reason": "查看原因",
|
||
"connection_modal.action.test": "测试连接",
|
||
"connection_modal.action.save": "保存",
|
||
"connection_modal.title.select_type": "选择数据源类型",
|
||
"connection_modal.title.select_type_description": "从支持的数据源中选择一种连接类型。",
|
||
"connection_modal.title.edit": "编辑连接",
|
||
"connection_modal.title.edit_description": "编辑 {{type}} 连接配置。",
|
||
"connection_modal.title.create": "新建 {{type}} 连接",
|
||
"connection_modal.title.create_description": "填写连接配置并保存。",
|
||
"connection_modal.test_error.title": "连接测试失败原因",
|
||
"connection_modal.test_error.description": "查看后端返回的完整错误信息。",
|
||
"connection_modal.action.close": "关闭",
|
||
"connection_modal.test_error.empty": "没有错误详情",
|
||
"sidebar.message.duplicate_backend_unavailable": "当前版本不支持复制连接。",
|
||
"sidebar.message.duplicate_empty_result": "未返回复制后的连接。",
|
||
"sidebar.message.duplicated_connection": "已复制连接 {{name}}。",
|
||
"sidebar.message.duplicate_failed": "复制连接失败。",
|
||
"sidebar.message.jvm_provider_probe_failed_with_diagnostic": "JVM Provider 探测失败:{{error}};已保留诊断增强入口",
|
||
"sidebar.message.jvm_provider_probe_failed": "探测 JVM 提供方失败:{{error}}",
|
||
"sidebar.error.unknown": "未知错误",
|
||
"sidebar.message.jvm_provider_probe_exception_with_diagnostic": "JVM Provider 探测异常:{{error}};已保留诊断增强入口",
|
||
"sidebar.message.jvm_provider_probe_exception": "JVM 提供方探测失败:{{error}}",
|
||
"sidebar.message.connection_failed": "连接失败:{{error}}",
|
||
"sidebar.message.load_jvm_resources_failed": "加载 JVM 资源失败:{{error}}",
|
||
"sidebar.message.load_tables_failed": "加载对象失败:{{error}}",
|
||
"sidebar.message.table_pinned": "已置顶表",
|
||
"sidebar.message.table_unpinned": "已取消置顶",
|
||
"sidebar.message.table_structure_copied": "表结构已复制。",
|
||
"sidebar.message.exporting_table_format": "正在将 {{table}} 导出为 {{format}}...",
|
||
"sidebar.message.export_success": "导出成功。",
|
||
"sidebar.message.export_failed": "导出失败:{{error}}",
|
||
"sidebar.message.backing_up_database": "正在备份 {{database}}...",
|
||
"sidebar.message.exporting_database_schema": "正在导出 {{database}} 的结构...",
|
||
"sidebar.message.exporting_database_backup": "正在备份 {{database}}(结构+数据)...",
|
||
"sidebar.message.schema_export_target_missing": "未找到目标模式,无法导出。",
|
||
"sidebar.message.exporting_schema_structure": "正在导出模式 {{schema}} 的结构...",
|
||
"sidebar.message.exporting_schema_backup": "正在备份模式 {{schema}}(结构+数据)...",
|
||
"sidebar.message.export_tables_same_database_required": "请选择同一数据库下的表。",
|
||
"sidebar.message.backing_up_selected_tables": "正在备份 {{count}} 个已选表...",
|
||
"sidebar.message.exporting_selected_table_schema": "正在导出 {{count}} 个已选表的结构...",
|
||
"sidebar.message.load_database_list_failed": "加载数据库失败:{{error}}",
|
||
"sidebar.message.load_table_list_failed": "加载表失败:{{error}}",
|
||
"sidebar.message.locate_external_sql_file_not_found": "未在外部 SQL 目录中找到 SQL 文件:{{path}}",
|
||
"sidebar.message.locate_connection_not_found_for_object": "未找到当前对象对应的连接",
|
||
"sidebar.message.locate_connection_not_in_tree": "未在左侧树找到当前连接",
|
||
"sidebar.message.locate_database_loading": "数据库节点仍在加载中:{{database}},请稍后再试",
|
||
"sidebar.message.locate_database_not_found": "未在左侧树找到数据库:{{database}}",
|
||
"sidebar.message.locate_object_loading": "{{object}}所在数据库对象仍在加载中:{{database}},请稍后再试",
|
||
"sidebar.message.locate_object_not_found": "{{object}}未在左侧树中找到:{{name}},请刷新数据库节点后重试",
|
||
"sidebar.message.select_object_required": "请至少选择一个对象。",
|
||
"sidebar.message.backing_up_selected_objects": "正在备份 {{count}} 个已选对象...",
|
||
"sidebar.message.exporting_selected_object_data": "正在导出 {{count}} 个已选对象的数据({{format}})...",
|
||
"sidebar.message.exporting_selected_object_schema": "正在导出 {{count}} 个已选对象的结构...",
|
||
"sidebar.message.export_success_skipped_views": "导出成功。已跳过 {{count}} 个视图的数据导出。",
|
||
"sidebar.modal.confirm_clear_selected_tables.title": "确认清空已选表",
|
||
"sidebar.modal.confirm_clear_selected_tables.content": "清空 {{connection}} / {{database}} 下已选对象的数据?此操作不可撤销。",
|
||
"sidebar.action.continue": "继续",
|
||
"sidebar.action.cancel": "取消",
|
||
"sidebar.action.delete": "删除",
|
||
"sidebar.message.clearing_selected_tables": "正在清空 {{count}} 个已选表...",
|
||
"sidebar.message.clear_success": "清空成功。",
|
||
"sidebar.message.clear_failed": "清空失败:{{error}}",
|
||
"sidebar.message.select_database_required": "请至少选择一个数据库。",
|
||
"sidebar.message.database_export_success": "已导出 {{database}}。",
|
||
"sidebar.message.database_export_failed": "导出 {{database}} 失败:{{error}}",
|
||
"sidebar.message.connection_config_not_found": "未找到连接配置。",
|
||
"sidebar.sql_file_exec.title": "运行外部 SQL 文件",
|
||
"sidebar.message.read_file_failed": "读取文件失败:{{error}}",
|
||
"sidebar.message.select_connection_or_database_first": "请先选择连接或数据库。",
|
||
"sidebar.message.schema_create_unsupported": "当前数据库不支持创建 schema。",
|
||
"sidebar.message.schema_target_missing": "请选择要创建 schema 的数据库。",
|
||
"sidebar.message.schema_created": "schema 创建成功。",
|
||
"sidebar.message.operation_create_failed": "创建失败:{{error}}",
|
||
"sidebar.sql_file.default_name": "SQL 文件",
|
||
"sidebar.message.sql_file_context_incomplete": "SQL 文件上下文不完整。",
|
||
"sidebar.message.sql_file_path_incomplete": "SQL 文件路径不完整,无法打开。",
|
||
"sidebar.message.select_host_before_large_sql_file": "请先选择一个 Host 后再执行大 SQL 文件。",
|
||
"sidebar.message.read_sql_file_failed": "读取 SQL 文件失败:{{error}}",
|
||
"sidebar.message.external_sql_file_parent_missing": "未找到可新建 SQL 文件的目录。",
|
||
"sidebar.message.external_sql_file_rename_target_missing": "未找到可重命名的 SQL 文件。",
|
||
"sidebar.message.external_sql_file_delete_target_missing": "未找到可删除的 SQL 文件。",
|
||
"sidebar.message.external_sql_directory_parent_missing": "未找到可新建目录的位置。",
|
||
"sidebar.message.external_sql_directory_rename_target_missing": "未找到可重命名的目录。",
|
||
"sidebar.message.external_sql_directory_delete_target_missing": "未找到可删除的 SQL 目录。",
|
||
"sidebar.message.sql_file_name_required": "SQL 文件名不能为空。",
|
||
"sidebar.message.sql_directory_name_required": "目录名不能为空。",
|
||
"sidebar.message.create_sql_file_failed": "新建 SQL 文件失败:{{error}}",
|
||
"sidebar.message.sql_file_created": "SQL 文件已新建。",
|
||
"sidebar.message.rename_sql_file_failed": "重命名 SQL 文件失败:{{error}}",
|
||
"sidebar.message.sql_file_renamed": "SQL 文件已重命名。",
|
||
"sidebar.message.delete_sql_file_failed": "删除 SQL 文件失败:{{error}}",
|
||
"sidebar.message.sql_file_deleted": "SQL 文件已删除。",
|
||
"sidebar.message.create_sql_directory_failed": "新建目录失败:{{error}}",
|
||
"sidebar.message.sql_directory_created": "目录已新建。",
|
||
"sidebar.message.rename_sql_directory_failed": "重命名目录失败:{{error}}",
|
||
"sidebar.message.external_sql_directory_rename_sync_failed": "目录已重命名,但无法同步外部 SQL 目录列表,请重新添加目录。",
|
||
"sidebar.message.sql_directory_renamed": "目录已重命名。",
|
||
"sidebar.message.delete_sql_directory_failed": "删除 SQL 目录失败:{{error}}",
|
||
"sidebar.message.sql_directory_deleted": "SQL 目录已删除。",
|
||
"sidebar.message.add_sql_directory_database_required": "请先选择数据库,再添加 SQL 目录。",
|
||
"sidebar.message.select_sql_directory_failed": "选择 SQL 目录失败:{{error}}",
|
||
"sidebar.message.sql_directory_path_invalid": "SQL 目录路径无效。",
|
||
"sidebar.sql_directory.default_name": "SQL 目录",
|
||
"sidebar.message.external_sql_directory_added": "外部 SQL 目录已添加。",
|
||
"sidebar.message.external_sql_directory_not_found": "未找到 SQL 目录。",
|
||
"sidebar.message.external_sql_directory_removed": "外部 SQL 目录已移除。",
|
||
"sidebar.message.external_sql_directory_context_missing": "SQL 目录上下文缺失。",
|
||
"sidebar.message.external_sql_directory_refreshed": "外部 SQL 目录已刷新。",
|
||
"sidebar.message.database_created": "数据库已创建。",
|
||
"sidebar.message.create_failed": "创建失败:{{error}}",
|
||
"sidebar.modal.confirm_delete_database.title": "删除数据库",
|
||
"sidebar.modal.confirm_delete_database.content": "删除 {{name}}?此操作不可撤销。",
|
||
"sidebar.modal.confirm_delete_sql_file.title": "删除 SQL 文件",
|
||
"sidebar.modal.confirm_delete_sql_file.content": "删除 \"{{name}}\"?此操作会删除本地磁盘文件,无法恢复。",
|
||
"sidebar.modal.confirm_delete_sql_directory.title": "删除 SQL 目录",
|
||
"sidebar.modal.confirm_delete_sql_directory.content": "删除 \"{{name}}\"?此操作会删除本地磁盘目录,且仅支持删除空目录。",
|
||
"sidebar.modal.confirm_delete_table.title": "删除表",
|
||
"sidebar.modal.confirm_delete_table.content": "删除 {{name}}?此操作不可撤销。",
|
||
"sidebar.modal.confirm_table_data_action.title": "确认 {{action}}",
|
||
"sidebar.modal.confirm_table_data_action.content": "{{action}} {{table}}?此操作不可撤销。",
|
||
"sidebar.modal.confirm_delete_view.title": "删除视图",
|
||
"sidebar.modal.confirm_delete_view.content": "删除 {{name}}?此操作不可撤销。",
|
||
"sidebar.modal.confirm_delete_routine.title": "删除 {{type}}",
|
||
"sidebar.modal.confirm_delete_routine.content": "删除 {{type}} {{name}}?此操作不可撤销。",
|
||
"sidebar.search.scope.smart": "智能",
|
||
"sidebar.search.scope_title": "搜索范围",
|
||
"sidebar.search.scope_description": "选择侧边栏搜索的匹配范围。",
|
||
"sidebar.badge.recommended": "推荐",
|
||
"sidebar.search.scope.smart_description": "根据当前选中的节点自动缩小搜索范围。",
|
||
"sidebar.search.manual_scope": "手动范围",
|
||
"sidebar.search.multi_select_supported": "支持多选",
|
||
"sidebar.search.scope_hint": "智能模式会根据上下文搜索名称、主机、数据库和对象。",
|
||
"sidebar.modal.confirm_delete.title": "确认删除",
|
||
"sidebar.modal.confirm_delete_tag.content": "删除 {{name}}?",
|
||
"sidebar.menu.edit_connection": "编辑连接",
|
||
"sidebar.menu.delete_connection": "删除连接",
|
||
"sidebar.modal.confirm_delete_connection.content": "删除连接 {{name}}?",
|
||
"sidebar.message.delete_connection_backend_unavailable": "删除连接后端不可用。",
|
||
"sidebar.message.connection_deleted": "连接已删除。",
|
||
"sidebar.message.delete_connection_failed": "删除连接失败。",
|
||
"sidebar.modal.confirm_delete_saved_query.content": "确定要删除已保存的查询 \"{{name}}\" 吗?此操作不可恢复。",
|
||
"sidebar.search.placeholder": "搜索...",
|
||
"sidebar.punctuation.list_separator": "、",
|
||
"sidebar.command_search.label": "搜索表、连接、动作",
|
||
"sidebar.command_search.placeholder": "搜索表、连接、动作... 或问 AI",
|
||
"sidebar.command_search.sync_to_filter_tooltip": "同步输入内容到左侧筛选",
|
||
"sidebar.command_search.sync_to_filter_aria": "同步到左侧筛选",
|
||
"sidebar.command_search.reset_filter": "重置侧栏筛选",
|
||
"sidebar.command_search.no_synced_filter": "没有已同步的侧栏筛选",
|
||
"sidebar.command_search.no_filter_content": "没有筛选内容",
|
||
"sidebar.command_search.object_kind.all": "全部",
|
||
"sidebar.command_search.object_kind.tables": "表",
|
||
"sidebar.command_search.object_kind.views": "视图",
|
||
"sidebar.command_search.object_kind.routines": "函数",
|
||
"sidebar.command_search.object_kind.events": "事件",
|
||
"sidebar.command_search.object_kind.filter_aria": "对象筛选",
|
||
"sidebar.command_search.scope.smart": "智能",
|
||
"sidebar.command_search.scope.object": "表对象",
|
||
"sidebar.command_search.scope.database": "库",
|
||
"sidebar.command_search.scope.host": "Host",
|
||
"sidebar.command_search.scope.tag": "标签",
|
||
"sidebar.command_search.scope.summary_smart": "智能",
|
||
"sidebar.command_search.scope.title": "搜索范围",
|
||
"sidebar.command_search.scope.description": "“智能”自动匹配最可能的命中项;手动模式支持按维度组合筛选。",
|
||
"sidebar.command_search.scope.recommended": "推荐",
|
||
"sidebar.command_search.scope.smart_help": "适合日常检索,自动覆盖名称、库、Host 和标签等高频维度。",
|
||
"sidebar.command_search.scope.manual_title": "手动范围",
|
||
"sidebar.command_search.scope.multi_select": "支持多选组合",
|
||
"sidebar.command_search.scope.manual_help": "智能与其他项互斥。若你明确知道要搜的是对象、库、Host 或标签,建议切到手动范围以减少噪音结果。",
|
||
"sidebar.command_search.scope.tooltip": "搜索范围:{{scope}}",
|
||
"sidebar.command_search.scope.compact_smart": "智",
|
||
"sidebar.search.scope_tooltip": "当前搜索范围:{{scope}}",
|
||
"sidebar.search.scope.smart_short": "智能",
|
||
"sidebar.rail.object_actions": "对象区快捷操作",
|
||
"sidebar.rail.system_actions": "系统操作",
|
||
"sidebar.action.new_group": "新建分组",
|
||
"sidebar.action.batch_tables": "批量处理表",
|
||
"sidebar.action.batch_databases": "批量处理数据库",
|
||
"sidebar.action.locate_current_table": "定位当前打开表",
|
||
"sidebar.action.pin_table": "置顶表",
|
||
"sidebar.action.unpin_table": "取消置顶",
|
||
"sidebar.status.pinned": "已置顶",
|
||
"sidebar.v2_table_menu.meta.rows_empty": "— 行",
|
||
"sidebar.v2_table_menu.meta.rows": "{{count}} 行",
|
||
"sidebar.v2_table_menu.meta.idle": "点击刷新统计信息读取",
|
||
"sidebar.v2_table_menu.meta.loading": "正在读取统计信息...",
|
||
"sidebar.v2_table_menu.meta.unavailable": "统计信息不可用",
|
||
"sidebar.v2_table_menu.meta.summary": "{{rows}} · {{data}} 数据 · {{indexes}} 索引",
|
||
"sidebar.v2_table_menu.open_data": "查看数据",
|
||
"sidebar.v2_table_menu.design_table_detail": "字段 / 索引 / 外键",
|
||
"sidebar.v2_table_menu.open_in_new_tab": "在新标签打开",
|
||
"sidebar.v2_table_menu.metadata_section": "元信息",
|
||
"sidebar.v2_table_menu.view_in_er": "在 ER 图中查看",
|
||
"sidebar.v2_table_menu.copy_section": "复制",
|
||
"sidebar.v2_table_menu.copy_table_name": "复制表名",
|
||
"sidebar.copy_object_name.label.table": "表名",
|
||
"sidebar.copy_object_name.label.view": "视图名称",
|
||
"sidebar.copy_object_name.label.materialized_view": "物化视图名称",
|
||
"sidebar.copy_object_name.label.event": "事件名称",
|
||
"sidebar.copy_object_name.empty": "{{label}}为空,无法复制",
|
||
"sidebar.copy_object_name.copied": "{{label}}已复制到剪贴板",
|
||
"sidebar.copy_object_name.failed": "复制{{label}}失败: {{error}}",
|
||
"sidebar.v2_table_menu.copy_table_as_insert": "复制全表为 {{keyword}}",
|
||
"sidebar.v2_table_menu.maintenance_section": "维护",
|
||
"sidebar.v2_table_menu.rename_compact": "重命名…",
|
||
"sidebar.v2_table_menu.new_rollup": "新增 {{keyword}}",
|
||
"sidebar.v2_table_menu.backup_sql_dump": "备份 · {{keyword}}",
|
||
"sidebar.v2_table_menu.refresh_stats": "刷新统计信息",
|
||
"sidebar.v2_table_menu.item_with_suffix": "{{label}} · {{suffix}}",
|
||
"sidebar.v2_table_menu.open_export_workbench": "打开导出工作台…",
|
||
"sidebar.v2_table_menu.truncate_table": "截断表",
|
||
"sidebar.v2_table_menu.ai_explain_table": "用 AI 解释这张表",
|
||
"sidebar.v2_table_menu.ai_generate_query": "用 AI 生成查询",
|
||
"sidebar.v2_table_group_menu.title": "表",
|
||
"sidebar.v2_table_group_menu.current_database": "当前数据库",
|
||
"sidebar.v2_table_group_menu.sort_name": "名称",
|
||
"sidebar.v2_table_group_menu.sort_frequency": "使用频率",
|
||
"sidebar.v2_table_group_menu.meta": "{{database}} · {{count}} 张表 · 当前按{{sort}}排序",
|
||
"sidebar.v2_database_menu.meta": "{{dialect}} · 数据库操作",
|
||
"sidebar.v2_database_menu.new_schema": "新建模式",
|
||
"sidebar.v2_database_menu.new_materialized_view": "新建物化视图",
|
||
"sidebar.v2_database_menu.new_external_catalog": "新建外部 Catalog",
|
||
"sidebar.v2_database_menu.refresh_object_tree": "刷新对象树",
|
||
"sidebar.v2_database_menu.export_backup_section": "导出与备份",
|
||
"sidebar.v2_database_menu.export_all_table_schema_sql": "导出全部表结构 · SQL",
|
||
"sidebar.v2_database_menu.backup_all_tables_sql": "备份全部表 · 结构 + 数据 SQL",
|
||
"sidebar.message.locate_current_table_unavailable": "当前标签页没有可定位的表",
|
||
"sidebar.locate.object.table": "表",
|
||
"sidebar.locate.object.view": "视图",
|
||
"sidebar.locate.object.materialized_view": "物化视图",
|
||
"sidebar.locate.object.routine": "函数/存储过程",
|
||
"sidebar.locate.object.trigger": "触发器",
|
||
"sidebar.active_connection.current_host_database": "当前 Host 与数据库",
|
||
"sidebar.active_connection.no_database_selected": "未选择数据库",
|
||
"sidebar.active_connection.no_host_selected": "未选择 Host",
|
||
"sidebar.active_connection.actions": "连接操作",
|
||
"sidebar.modal.tag.edit_title": "编辑分组",
|
||
"sidebar.modal.tag.create_title": "新建分组",
|
||
"sidebar.modal.tag.edit_description": "更新分组名称和包含的连接。",
|
||
"sidebar.modal.tag.create_description": "创建分组以整理连接。",
|
||
"sidebar.field.tag_name": "分组名称",
|
||
"sidebar.validation.tag_name_required": "请输入分组名称。",
|
||
"sidebar.placeholder.tag_name": "分组名称",
|
||
"sidebar.field.select_connections": "选择连接",
|
||
"sidebar.modal.create_database.title": "创建数据库",
|
||
"sidebar.field.database_name": "数据库名称",
|
||
"sidebar.validation.name_required": "请输入名称。",
|
||
"sidebar.modal.rename_database.title": "重命名数据库:{{name}}",
|
||
"sidebar.field.new_database_name": "新数据库名称",
|
||
"sidebar.validation.new_database_name_required": "请输入新数据库名称。",
|
||
"sidebar.field.schema_name": "模式名称",
|
||
"sidebar.validation.schema_name_required": "请输入模式名称。",
|
||
"sidebar.modal.rename_table.title": "重命名表:{{name}}",
|
||
"sidebar.field.new_table_name": "新表名",
|
||
"sidebar.validation.new_table_name_required": "请输入新表名。",
|
||
"sidebar.modal.rename_view.title": "重命名视图:{{name}}",
|
||
"sidebar.field.new_view_name": "新视图名称",
|
||
"sidebar.validation.new_view_name_required": "请输入新视图名称。",
|
||
"sidebar.modal.batch_tables.title": "批量处理表",
|
||
"sidebar.modal.batch_tables.description": "选择表和视图,并在一次操作中导出或清空。",
|
||
"sidebar.action.clear_tables": "清空表",
|
||
"sidebar.action.export_schema": "导出结构",
|
||
"sidebar.action.export_data_only": "仅导出数据",
|
||
"sidebar.action.backup_schema_data": "备份结构和数据",
|
||
"sidebar.field.select_connection": "选择连接",
|
||
"sidebar.placeholder.select_connection": "请选择连接",
|
||
"sidebar.field.select_database": "选择数据库",
|
||
"sidebar.placeholder.select_connection_first": "请先选择连接",
|
||
"sidebar.modal.batch_tables.selection_hint": "选择本次批量处理的表或视图。",
|
||
"sidebar.placeholder.filter_table_view": "筛选表或视图",
|
||
"sidebar.filter.all_objects": "全部对象",
|
||
"sidebar.filter.tables_only": "仅表",
|
||
"sidebar.filter.views_only": "仅视图",
|
||
"sidebar.filter.scope_filtered": "当前筛选",
|
||
"sidebar.filter.scope_all": "全部范围",
|
||
"sidebar.batch.filtered_count": "已筛选 {{filtered}} / {{total}} 个对象",
|
||
"sidebar.action.select_all": "全选",
|
||
"sidebar.action.clear_selection": "清除选择",
|
||
"sidebar.action.invert_selection": "反选",
|
||
"sidebar.batch.selected_objects": "已选择 {{selected}} / {{total}} 个对象",
|
||
"sidebar.modal.batch_databases.title": "批量数据库操作",
|
||
"sidebar.modal.batch_databases.description": "选择数据库,并导出结构或执行完整备份。",
|
||
"sidebar.action.export_database_schema_count": "导出结构({{count}})",
|
||
"sidebar.action.backup_database_count": "备份数据库({{count}})",
|
||
"sidebar.modal.batch_databases.selection_hint": "从所选连接中选择数据库。",
|
||
"sidebar.batch.selected_databases": "已选择 {{selected}} / {{total}} 个数据库",
|
||
"sidebar.sql_file_exec.cancel": "取消执行",
|
||
"sidebar.action.close": "关闭",
|
||
"sidebar.sql_file_exec.file_size": "文件大小:",
|
||
"sidebar.sql_file_exec.status_label": "状态:",
|
||
"sidebar.sql_file_exec.status.running": "运行中",
|
||
"sidebar.sql_file_exec.status.done": "完成",
|
||
"sidebar.sql_file_exec.status.cancelled": "已中止",
|
||
"sidebar.sql_file_exec.status.error": "错误",
|
||
"sidebar.sql_file_exec.executed_label": "已执行:",
|
||
"sidebar.sql_file_exec.rows_separator": " 行 | 失败:",
|
||
"sidebar.sql_file_exec.rows_suffix": " 行",
|
||
"connection_modal.config_section.identity.title": "身份信息",
|
||
"connection_modal.config_section.identity.description": "配置连接名称、图标和基本标识。",
|
||
"connection_modal.config_section.uri.title": "连接 URI",
|
||
"connection_modal.config_section.uri.description": "输入、生成或解析连接 URI。",
|
||
"connection_modal.config_section.target.title": "目标地址",
|
||
"connection_modal.config_section.target.description": "配置主机、端口和连接目标。",
|
||
"connection_modal.config_section.fileTarget.title": "文件数据库",
|
||
"connection_modal.config_section.fileTarget.description": "选择本地数据库文件。",
|
||
"connection_modal.config_section.connectionMode.title": "连接模式",
|
||
"connection_modal.config_section.connectionMode.description": "配置单机、主从、集群或 Replica Set 模式。",
|
||
"connection_modal.config_section.mongoDiscovery.title": "MongoDB 发现",
|
||
"connection_modal.config_section.mongoDiscovery.description": "发现并管理 MongoDB 成员。",
|
||
"connection_modal.config_section.replica.title": "副本/从库",
|
||
"connection_modal.config_section.replica.description": "配置从库或附加节点。",
|
||
"connection_modal.config_section.service.title": "服务与数据库",
|
||
"connection_modal.config_section.service.description": "配置服务名、默认数据库和可见数据库范围。",
|
||
"connection_modal.config_section.mongoPolicy.title": "MongoDB 策略",
|
||
"connection_modal.config_section.mongoPolicy.description": "配置 MongoDB 认证、readPreference 和保存策略。",
|
||
"connection_modal.config_section.credentials.title": "凭据",
|
||
"connection_modal.config_section.credentials.description": "配置用户名、密码和已保存凭据。",
|
||
"connection_modal.config_section.databaseScope.title": "数据库范围",
|
||
"connection_modal.config_section.databaseScope.description": "选择连接后显示的数据库。",
|
||
"connection_modal.config_section.customDriver.title": "自定义驱动",
|
||
"connection_modal.config_section.customDriver.description": "配置自定义驱动名称。",
|
||
"connection_modal.config_section.customDsn.title": "自定义 DSN",
|
||
"connection_modal.config_section.customDsn.description": "配置驱动专用 DSN。",
|
||
"connection_modal.config_section.jvmRuntime.title": "JVM 运行时",
|
||
"connection_modal.config_section.jvmRuntime.description": "配置 JVM 访问模式和诊断能力。",
|
||
"connection_modal.field.password": "密码",
|
||
"sidebar.menu.refresh": "刷新",
|
||
"sidebar.search.scope.object": "对象",
|
||
"sidebar.search.scope.database": "数据库",
|
||
"sidebar.search.scope.host": "主机",
|
||
"sidebar.search.scope.tag": "标签",
|
||
"sidebar.tree.saved_queries": "已存查询",
|
||
"sidebar.tree.untitled_query": "未命名查询",
|
||
"sidebar.tree.default_database": "默认数据库",
|
||
"sidebar.tree.unknown_connection": "未知连接",
|
||
"sidebar.tree.unmatched_saved_queries": "未匹配",
|
||
"sidebar.tree.all_saved_queries": "全部已存查询",
|
||
"sidebar.tree.default_schema": "默认结构",
|
||
"sidebar.object_group.tables": "表",
|
||
"sidebar.object_group.views": "视图",
|
||
"sidebar.object_group.routines": "函数和存储过程",
|
||
"sidebar.object_group.triggers": "触发器",
|
||
"sidebar.object_group.events": "事件",
|
||
"sidebar.object_group.materialized_views": "物化视图",
|
||
"sidebar.table_folder.columns": "列",
|
||
"sidebar.table_folder.indexes": "索引",
|
||
"sidebar.table_folder.foreign_keys": "外键",
|
||
"sidebar.table_folder.triggers": "触发器",
|
||
"sidebar.object.view": "视图",
|
||
"sidebar.object.function": "函数",
|
||
"sidebar.object.procedure": "存储过程",
|
||
"sidebar.table_action.truncate.label": "截断表",
|
||
"sidebar.table_action.truncate.progress": "正在截断",
|
||
"sidebar.table_action.clear.label": "清空表",
|
||
"sidebar.table_action.clear.progress": "正在清空",
|
||
"sidebar.tab.table_structure": "表结构({{table}})",
|
||
"sidebar.tab.design_table": "设计表({{table}})",
|
||
"sidebar.tab.new_table": "新建表 - {{database}}",
|
||
"sidebar.tab.table_overview": "表概览 - {{database}}{{schema}}",
|
||
"sidebar.tab.trigger": "触发器:{{name}}",
|
||
"sidebar.tab.event": "事件:{{name}}",
|
||
"sidebar.tab.edit_event": "编辑事件:{{name}}",
|
||
"sidebar.tab.materialized_view_definition": "物化视图:{{name}}",
|
||
"sidebar.tab.view_definition": "视图:{{name}}",
|
||
"sidebar.tab.edit_view": "编辑视图:{{name}}",
|
||
"sidebar.tab.create_view": "创建视图",
|
||
"sidebar.tab.routine_definition": "{{type}}:{{name}}",
|
||
"sidebar.tab.edit_routine": "编辑 {{type}}:{{name}}",
|
||
"sidebar.tab.create_function": "创建函数",
|
||
"sidebar.tab.create_procedure": "创建存储过程",
|
||
"sidebar.tab.new_query": "新建查询",
|
||
"sidebar.tab.new_query_database": "新建查询({{database}})",
|
||
"sidebar.tab.redis_command": "命令 - {{database}}",
|
||
"sidebar.tab.redis_monitor": "监控 - {{database}}",
|
||
"tab_manager.menu.close_all": "关闭所有页",
|
||
"tab_manager.menu.close_left": "关闭左侧页",
|
||
"tab_manager.menu.close_other": "关闭其他页",
|
||
"tab_manager.menu.close_right": "关闭右侧页",
|
||
"tab_manager.close_aria": "关闭 {{title}}",
|
||
"tab_manager.kind_badge.query": "SQL",
|
||
"tab_manager.kind_badge.table": "表",
|
||
"tab_manager.kind_badge.design": "设计",
|
||
"tab_manager.kind_badge.table_overview": "库",
|
||
"tab_manager.kind_badge.redis": "Redis",
|
||
"tab_manager.kind_badge.jvm": "JVM",
|
||
"tab_manager.kind_badge.trigger": "触发器",
|
||
"tab_manager.kind_badge.materialized_view": "物化视图",
|
||
"tab_manager.kind_badge.view": "视图",
|
||
"tab_manager.kind_badge.event": "事件",
|
||
"tab_manager.kind_badge.routine": "函数",
|
||
"tab_manager.kind_badge.table_export": "导出",
|
||
"tab_manager.kind_badge.sql_analysis": "分析",
|
||
"tab_manager.kind_badge.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.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.table": "表数据",
|
||
"tab_manager.hover.kind.table_export": "导出工作台",
|
||
"tab_manager.hover.kind.sql_analysis": "SQL 分析工作台",
|
||
"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": "类型",
|
||
"sidebar.message.no_visible_databases": "未返回可见数据库或结构。请检查账号权限,或从右键菜单刷新。",
|
||
"sidebar.message.visual_new_table_unsupported": "当前数据源暂不支持可视化新建表。",
|
||
"sidebar.message.jvm_resources_backend_unavailable": "JVM 资源后端不可用。",
|
||
"sidebar.message.external_sql_directory_read_failed": "读取 SQL 目录 {{name}} 失败:{{error}}",
|
||
"sidebar.message.sphinx_unsupported_objects": "此 Sphinx 实例不支持这些对象能力:{{objects}}。已启用兼容模式。",
|
||
"sidebar.message.sidebar_filter_sync_enabled": "已开启左侧筛选同步。",
|
||
"sidebar.message.sidebar_filter_sync_disabled": "已关闭左侧筛选同步。",
|
||
"sidebar.message.sidebar_filter_reset": "已重置侧栏筛选。",
|
||
"sidebar.message.database_name_required": "请输入数据库名称。",
|
||
"sidebar.message.database_name_unchanged": "数据库名称未变化。",
|
||
"sidebar.message.database_renamed": "数据库已重命名。",
|
||
"sidebar.message.database_deleted": "数据库已删除。",
|
||
"sidebar.message.operation_rename_failed": "重命名失败:{{error}}",
|
||
"sidebar.message.operation_drop_failed": "删除失败:{{error}}",
|
||
"sidebar.message.table_name_required": "请输入表名。",
|
||
"sidebar.message.table_name_unchanged": "表名称未变化。",
|
||
"sidebar.message.table_renamed": "表已重命名。",
|
||
"sidebar.message.table_deleted": "表已删除。",
|
||
"sidebar.message.view_name_required": "请输入视图名称。",
|
||
"sidebar.message.view_name_unchanged": "视图名称未变化。",
|
||
"sidebar.message.view_deleted": "视图已删除。",
|
||
"sidebar.message.view_renamed": "视图已重命名。",
|
||
"sidebar.message.routine_deleted": "{{type}} 已删除。",
|
||
"sidebar.message.rename_failed": "重命名失败:{{error}}",
|
||
"sidebar.message.delete_failed": "删除失败:{{error}}",
|
||
"sidebar.message.table_data_action_loading": "{{action}} {{table}}...",
|
||
"sidebar.message.table_data_action_success": "{{action}} 已完成。",
|
||
"sidebar.message.table_data_action_failed": "{{action}} 失败:{{error}}",
|
||
"sidebar.message.disconnected": "已断开。",
|
||
"sidebar.message.database_closed": "数据库已关闭。",
|
||
"sidebar.message.saved_query_deleted": "已存查询已删除。",
|
||
"sidebar.message.saved_query_name_unchanged": "新旧查询名称相同,无需修改。",
|
||
"sidebar.message.saved_query_renamed": "查询已重命名。",
|
||
"sidebar.menu.sort_by_name": "按名称排序",
|
||
"sidebar.menu.sort_by_frequency": "按使用频率排序",
|
||
"sidebar.menu.create_view": "创建视图",
|
||
"sidebar.menu.create_function": "创建函数",
|
||
"sidebar.menu.create_procedure": "创建存储过程",
|
||
"sidebar.menu.edit_tag": "编辑分组",
|
||
"sidebar.menu.delete_tag": "删除分组",
|
||
"sidebar.menu.new_command_window": "新建命令窗口",
|
||
"sidebar.menu.redis_monitor": "Redis 监控",
|
||
"sidebar.menu.duplicate_connection": "复制连接",
|
||
"sidebar.menu.disconnect": "断开连接",
|
||
"sidebar.menu.move_out_of_tag": "移出分组",
|
||
"sidebar.menu.create_database": "创建数据库",
|
||
"sidebar.menu.new_query": "新建查询",
|
||
"sidebar.menu.move_to_tag": "移动到分组",
|
||
"sidebar.menu.browse_keys": "浏览键",
|
||
"sidebar.menu.create_table": "创建表",
|
||
"sidebar.menu.rename_database": "重命名数据库",
|
||
"sidebar.menu.danger_operations": "危险操作",
|
||
"sidebar.menu.delete_database": "删除数据库",
|
||
"sidebar.menu.export_all_table_schema_sql": "导出全部表结构(SQL)",
|
||
"sidebar.menu.backup_all_tables_sql": "备份全部表(结构和数据 SQL)",
|
||
"sidebar.menu.close_database": "关闭数据库",
|
||
"sidebar.menu.browse_view_data": "浏览视图数据",
|
||
"sidebar.menu.view_definition": "视图定义",
|
||
"sidebar.menu.browse_materialized_view_data": "浏览物化视图数据",
|
||
"sidebar.menu.materialized_view_definition": "物化视图定义",
|
||
"sidebar.menu.view_object_definition": "查看定义",
|
||
"sidebar.menu.edit_view": "编辑视图",
|
||
"sidebar.menu.rename_view": "重命名视图",
|
||
"sidebar.menu.delete_view": "删除视图",
|
||
"sidebar.menu.view_routine_definition": "视图例程定义",
|
||
"sidebar.menu.edit_definition": "编辑定义",
|
||
"sidebar.menu.delete_routine": "删除{{type}}",
|
||
"sidebar.menu.design_table": "设计表",
|
||
"sidebar.menu.copy_table_structure": "复制表结构",
|
||
"sidebar.menu.backup_table_sql": "备份表(SQL)",
|
||
"sidebar.menu.rename_table": "重命名表",
|
||
"sidebar.menu.truncate_table": "截断表",
|
||
"sidebar.menu.clear_table": "清空表",
|
||
"sidebar.menu.delete_table": "删除表",
|
||
"sidebar.menu.export_table_data": "导出表数据",
|
||
"sidebar.menu.export_csv": "导出 CSV",
|
||
"sidebar.menu.export_xlsx": "导出 XLSX",
|
||
"sidebar.menu.export_json": "导出 JSON",
|
||
"sidebar.menu.export_markdown": "导出 Markdown",
|
||
"sidebar.menu.export_html": "导出 HTML",
|
||
"sidebar.menu.open_query": "打开查询",
|
||
"sidebar.menu.rename_query": "重命名查询",
|
||
"sidebar.menu.delete_query": "删除查询",
|
||
"sidebar.menu.add_sql_directory": "添加 SQL 目录",
|
||
"sidebar.menu.refresh_directory": "刷新目录",
|
||
"sidebar.menu.remove_directory": "移除目录",
|
||
"sidebar.menu.open_sql_file": "打开 SQL 文件",
|
||
"sidebar.menu.new_sql_file": "新建 SQL 文件",
|
||
"sidebar.menu.new_sql_directory": "新建目录",
|
||
"sidebar.menu.rename_sql_directory": "重命名目录",
|
||
"sidebar.menu.delete_local_directory": "删除本地目录",
|
||
"sidebar.menu.delete_sql_directory": "删除目录",
|
||
"sidebar.menu.rename_sql_file": "重命名 SQL 文件",
|
||
"sidebar.menu.new_sql_file_in_directory": "在此目录新建 SQL 文件",
|
||
"sidebar.menu.new_sql_directory_in_directory": "在此目录新建目录",
|
||
"sidebar.menu.delete_sql_file": "删除 SQL 文件",
|
||
"sidebar.batch.group.tables": "表",
|
||
"sidebar.batch.group.views": "视图",
|
||
"sidebar.batch.no_matching_objects": "无匹配对象",
|
||
"sidebar.sql_template.edit_view": "编辑视图 {{name}}",
|
||
"sidebar.sql_template.modify_then_execute": "修改并执行",
|
||
"sidebar.sql_template.edit_routine": "编辑 {{type}} {{name}}",
|
||
"sidebar.sql_template.duckdb_procedure_unsupported": "DuckDB 暂不支持存储过程",
|
||
"sidebar.sql_template.duckdb_macro_hint": "使用 SQL Macro 实现类似函数的行为",
|
||
"connection_modal.network.ssl_mode.preferred": "首选",
|
||
"connection_modal.network.ssl_mode.required": "必需",
|
||
"connection_modal.network.ssl_mode.skip_verify": "跳过验证",
|
||
"sidebar.external_sql.root": "外部 SQL 文件",
|
||
"sidebar.external_sql.directory_fallback": "SQL 目录",
|
||
"sidebar.external_sql_modal.title.create_file": "新建 SQL 文件",
|
||
"sidebar.external_sql_modal.title.rename_file": "重命名 SQL 文件",
|
||
"sidebar.external_sql_modal.title.create_directory": "新建目录",
|
||
"sidebar.external_sql_modal.title.rename_directory": "重命名目录",
|
||
"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.validation.directory_name_required": "请输入目录名",
|
||
"sidebar.external_sql_modal.validation.sql_file_name_required": "请输入 SQL 文件名",
|
||
"sidebar.external_sql_modal.validation.directory_name_no_separator": "目录名不能包含路径分隔符",
|
||
"sidebar.external_sql_modal.validation.sql_file_name_no_separator": "文件名不能包含路径分隔符",
|
||
"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.jvm.action.monitoring": "持续监控",
|
||
"sidebar.jvm.action.diagnostic": "诊断增强",
|
||
"sidebar.jvm.tab.overview": "JVM 概览",
|
||
"sidebar.jvm.tab.resource": "JVM 资源",
|
||
"sidebar.jvm.tab.audit": "JVM 审计",
|
||
"sidebar.jvm.tab.diagnostic": "JVM 诊断",
|
||
"sidebar.jvm.tab.monitoring": "JVM 监控",
|
||
"jvm.backend.message.connect_success": "JVM 连接成功",
|
||
"jvm.backend.error.preview_confirmation_missing": "预览确认令牌缺失,请重新预览后再提交",
|
||
"jvm.backend.error.confirmation_token_missing": "缺少确认令牌,请先完成预览确认",
|
||
"jvm.backend.error.confirmation_token_invalid": "确认令牌无效,请重新预览并确认",
|
||
"jvm.backend.error.confirmation_token_expired": "确认令牌已过期,请重新预览并确认",
|
||
"jvm.backend.error.preview_context_hash_failed": "生成 JVM 预览上下文失败: {{detail}}",
|
||
"jvm.backend.error.preview_payload_hash_failed": "生成 JVM 预览载荷摘要失败: {{detail}}",
|
||
"jvm.backend.error.change_blocked_by_guard": "当前变更被 Guard 拦截",
|
||
"jvm.backend.error.change_blocked_read_only": "当前连接为只读,禁止写入",
|
||
"jvm.backend.error.change_resource_id_required": "JVM 资源 ID 不能为空",
|
||
"jvm.backend.error.change_action_required": "JVM 变更操作不能为空",
|
||
"jvm.backend.error.change_reason_required": "JVM 变更原因不能为空",
|
||
"jvm.backend.error.change_confirmation_token_failed": "生成 JVM 变更确认令牌失败: {{detail}}",
|
||
"jvm.backend.error.disallowed_mode": "当前连接不允许使用 {{mode}} 模式",
|
||
"jvm.backend.error.resource_path_invalid": "JVM 资源路径无效: {{detail}}",
|
||
"jvm.backend.error.audit_write_blocked": "审计记录写入失败,已阻止 JVM 变更: {{detail}}",
|
||
"jvm.backend.warning.failed_audit_write_failed": "失败审计写入失败: {{detail}}",
|
||
"jvm.backend.warning.terminal_audit_write_failed": "终态审计写入失败: {{detail}}",
|
||
"jvm.backend.separator.message_warning": ";",
|
||
"jvm.backend.capability.reason.read_only": "当前连接只读",
|
||
"jvm.backend.monitoring.error.snapshot_unsupported": "{{provider}} 监控快照暂未支持",
|
||
"jvm.backend.monitoring.error.session_not_found": "未找到 {{connectionId}} {{providerMode}} 的 JVM 监控会话",
|
||
"jvm.backend.monitoring.warning.sample_auto_stopped": "监控采样连续失败 {{count}} 次,已自动停止本次监控会话",
|
||
"jvm.backend.connection_error.suggestion": "建议:{{detail}}",
|
||
"jvm.backend.connection_error.technical_detail": "技术细节:{{detail}}",
|
||
"jvm.backend.connection_error.generic": "JVM 连接失败",
|
||
"jvm.backend.connection_error.endpoint.base_url_required": "Endpoint 连接失败:未填写 Endpoint Base URL。",
|
||
"jvm.backend.connection_error.endpoint.base_url_invalid.summary": "Endpoint 连接失败:Endpoint Base URL 格式不合法。",
|
||
"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.scheme_unsupported.summary": "Endpoint 连接失败:当前只支持 HTTP 或 HTTPS 协议。",
|
||
"jvm.backend.connection_error.endpoint.scheme_unsupported.help": "请把 Endpoint Base URL 改成 `http://` 或 `https://` 开头的地址。",
|
||
"jvm.backend.connection_error.endpoint.not_found.summary": "Endpoint 连接失败:目标地址已响应,但没有找到 GoNavi JVM 管理接口。",
|
||
"jvm.backend.connection_error.endpoint.not_found.help": "请确认 Base URL 指向的是 JVM 管理接口根路径,而不是普通业务接口、健康检查地址或网关首页。",
|
||
"jvm.backend.connection_error.endpoint.connection_refused.summary": "Endpoint 连接失败:目标管理接口未监听,或当前地址不可达。",
|
||
"jvm.backend.connection_error.endpoint.connection_refused.help": "请确认 Base URL 指向实现 GoNavi JVM HTTP 合约的管理接口,并检查服务监听、端口映射和防火墙。",
|
||
"jvm.backend.connection_error.endpoint.unauthorized.summary": "Endpoint 连接失败:目标管理接口已响应,但当前 API Key 无效或缺失。",
|
||
"jvm.backend.connection_error.endpoint.unauthorized.help": "请检查连接中的 Endpoint API Key 是否与目标服务配置一致。",
|
||
"jvm.backend.connection_error.endpoint.forbidden.summary": "Endpoint 连接失败:当前请求被目标管理接口拒绝。",
|
||
"jvm.backend.connection_error.endpoint.forbidden.help": "请确认当前客户端来源、鉴权配置和访问策略允许 GoNavi 访问该管理接口。",
|
||
"jvm.backend.connection_error.endpoint.timeout.summary": "Endpoint 连接失败:访问目标管理接口超时。",
|
||
"jvm.backend.connection_error.endpoint.timeout.help": "请确认 Base URL 可达、目标服务已完成启动,并适当增加连接超时时间。",
|
||
"jvm.backend.connection_error.agent.base_url_required": "Agent 连接失败:未填写 Agent Base URL。",
|
||
"jvm.backend.connection_error.agent.base_url_invalid.summary": "Agent 连接失败:Agent Base URL 格式不合法。",
|
||
"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.scheme_unsupported.summary": "Agent 连接失败:当前只支持 HTTP 或 HTTPS 协议。",
|
||
"jvm.backend.connection_error.agent.scheme_unsupported.help": "请把 Agent Base URL 改成 `http://` 或 `https://` 开头的地址。",
|
||
"jvm.backend.connection_error.agent.connection_refused.summary": "Agent 连接失败:目标 Agent 管理端口未监听,或当前地址不可达。",
|
||
"jvm.backend.connection_error.agent.connection_refused.help": "请确认 Java 服务已通过 `-javaagent` 启动 GoNavi Agent,并检查 Base URL、端口映射和防火墙。",
|
||
"jvm.backend.connection_error.agent.unauthorized.summary": "Agent 连接失败:Agent 已响应,但当前 API Key 无效或缺失。",
|
||
"jvm.backend.connection_error.agent.unauthorized.help": "请检查连接中的 Agent API Key 是否与目标服务启动参数一致。",
|
||
"jvm.backend.connection_error.agent.forbidden.summary": "Agent 连接失败:当前请求被 Agent 拒绝。",
|
||
"jvm.backend.connection_error.agent.forbidden.help": "请确认当前客户端来源、鉴权配置和 Agent 访问策略允许 GoNavi 访问。",
|
||
"jvm.backend.connection_error.agent.timeout.summary": "Agent 连接失败:访问 Agent 管理端口超时。",
|
||
"jvm.backend.connection_error.agent.timeout.help": "请确认目标地址可达、Agent 已完成启动,并适当增加连接超时时间。",
|
||
"jvm.backend.connection_error.jmx.host_required": "JMX 连接失败:未填写主机地址。",
|
||
"jvm.backend.connection_error.jmx.port_invalid": "JMX 连接失败:端口无效,请填写 1-65535 之间的有效端口。",
|
||
"jvm.backend.connection_error.jmx.java_missing.summary": "JMX 连接失败:当前机器未找到 `java` 运行时,GoNavi 无法启动 JMX helper。",
|
||
"jvm.backend.connection_error.jmx.java_missing.help": "请先安装 JRE/JDK,或通过环境变量 `GONAVI_JMX_JAVA_BIN` 指向正确的 `java` 可执行文件。",
|
||
"jvm.backend.connection_error.jmx.non_jrmp.summary": "JMX 连接失败:{{target}} 不是标准 JMX 远程管理端口,当前更像普通业务端口或 HTTP 端口。",
|
||
"jvm.backend.connection_error.jmx.non_jrmp.help": "请改填应用实际暴露的 JMX 端口,而不是业务 `server.port`。如果服务只开启了 `-Dcom.sun.management.jmxremote`,但没有配置 `jmxremote.port`,也无法直接远程连接。",
|
||
"jvm.backend.connection_error.jmx.no_such_object.summary": "JMX 连接失败:{{target}} 上虽然有 RMI 服务,但不是可用的 JMX RMIServer 端口。",
|
||
"jvm.backend.connection_error.jmx.no_such_object.help": "这通常意味着填到了 RMI 注册端口、调试端口或其他 Java 服务端口。请检查 `jmxremote.port` 和 `jmxremote.rmi.port` 配置是否正确。",
|
||
"jvm.backend.connection_error.jmx.connection_reset.summary": "JMX 连接失败:{{target}} 上的服务主动断开了连接,当前端口不是兼容的标准 JMX RMI 端口。",
|
||
"jvm.backend.connection_error.jmx.connection_reset.help": "请确认填写的是 JVM 真正对外暴露的 JMX 端口,而不是业务端口、调试端口或被代理转发的端口。",
|
||
"jvm.backend.connection_error.jmx.connection_refused.summary": "JMX 连接失败:无法连接到 {{target}},对应端口没有监听或当前网络不可达。",
|
||
"jvm.backend.connection_error.jmx.connection_refused.help": "请确认目标 JVM 已开启远程 JMX,并检查主机、防火墙、端口映射和 SSH/代理配置。",
|
||
"jvm.backend.connection_error.jmx.auth.summary": "JMX 连接失败:{{target}} 需要认证,或当前凭据不可用。",
|
||
"jvm.backend.connection_error.jmx.auth.help": "请确认目标 JMX 是否关闭认证;如果必须认证,需要补充用户名/密码后再连接。",
|
||
"jvm.backend.connection_error.jmx.timeout.summary": "JMX 连接失败:连接 {{target}} 超时。",
|
||
"jvm.backend.connection_error.jmx.timeout.help": "请确认端口可达、网络未被拦截,并适当增加连接超时时间。",
|
||
"jvm.backend.diagnostic.error.disabled": "当前连接未启用 JVM 诊断增强模式",
|
||
"jvm.backend.diagnostic.error.session_id_required": "诊断会话 ID 不能为空,请先创建会话",
|
||
"jvm.backend.diagnostic.error.command_required": "诊断命令不能为空",
|
||
"jvm.backend.diagnostic.error.cancel_identifiers_required": "取消命令缺少 sessionId 或 commandId",
|
||
"jvm.backend.diagnostic.error.audit_write_blocked": "诊断审计记录写入失败,已阻止命令执行: {{detail}}",
|
||
"jvm.backend.diagnostic.error.execute_canceled": "诊断执行请求已中止:{{detail}}",
|
||
"jvm.backend.diagnostic.error.transport_unsupported": "不支持的 JVM 诊断传输模式:{{transport}}",
|
||
"jvm.backend.diagnostic.warning.audit_write_failed": "审计记录写入失败: {{detail}}",
|
||
"jvm.backend.diagnostic.message.command_completed": "诊断命令执行完成",
|
||
"jvm.backend.diagnostic.message.cancel_requested": "已发送取消请求,等待诊断桥接端结束命令",
|
||
"jvm.backend.diagnostic.message.arthas_command_completed": "Arthas 命令执行完成",
|
||
"jvm.backend.diagnostic.message.arthas_command_canceled": "Arthas 命令已中止",
|
||
"jvm.backend.diagnostic.policy.observe_not_allowed": "当前连接未开放观察类诊断命令:{{command}}",
|
||
"jvm.backend.diagnostic.policy.trace_not_allowed": "当前连接未开放跟踪类诊断命令:{{command}}",
|
||
"jvm.backend.diagnostic.policy.mutating_not_allowed": "当前连接未开放高风险诊断命令:{{command}}",
|
||
"jvm.backend.diagnostic.policy.read_only_observe_only": "当前连接为只读模式,仅允许观察类诊断命令",
|
||
"jvm.backend.diagnostic.policy.multiline_not_supported": "诊断命令不支持换行或多命令输入",
|
||
"jvm.backend.diagnostic.arthas.base_url_required": "Arthas Tunnel 地址不能为空",
|
||
"jvm.backend.diagnostic.arthas.base_url_invalid": "Arthas Tunnel 地址格式不正确:{{detail}}",
|
||
"jvm.backend.diagnostic.arthas.target_id_required": "Arthas Tunnel 需要填写目标实例标识(targetId / agentId)",
|
||
"jvm.backend.diagnostic.arthas.scheme_unsupported": "Arthas Tunnel 仅支持 http/https/ws/wss 地址:{{scheme}}",
|
||
"jvm.backend.diagnostic.arthas.session_missing": "诊断会话不存在,请重新创建 Arthas Tunnel 会话",
|
||
"jvm.backend.diagnostic.arthas.session_config_changed": "Arthas Tunnel 会话配置已变化,请重新创建诊断会话",
|
||
"jvm.backend.diagnostic.arthas.command_already_running": "当前 Arthas Tunnel 会话已有命令在执行,请先等待完成或取消",
|
||
"jvm.backend.diagnostic.arthas.no_running_command": "当前 Arthas Tunnel 会话没有正在执行的命令",
|
||
"jvm.backend.diagnostic.arthas.cancel_command_mismatch": "当前 Arthas Tunnel 会话的活动命令与待取消命令不一致",
|
||
"jvm.backend.diagnostic.arthas.connection_not_ready": "Arthas Tunnel 连接尚未建立完成,请稍后重试",
|
||
"jvm.backend.diagnostic.arthas.http_failed": "Arthas Tunnel 连接失败:HTTP {{status}}",
|
||
"jvm.backend.diagnostic.arthas.connect_timeout": "建立 Arthas Tunnel WebSocket 连接超时,{{timeout}} 内未收到响应",
|
||
"jvm.backend.diagnostic.arthas.connect_canceled": "建立 Arthas Tunnel WebSocket 连接已中止",
|
||
"jvm.backend.diagnostic.arthas.connect_failed": "建立 Arthas Tunnel WebSocket 连接失败:{{detail}}",
|
||
"jvm.backend.diagnostic.arthas.request_encode_failed": "Arthas Tunnel 请求编码失败:{{detail}}",
|
||
"jvm.backend.diagnostic.arthas.write_deadline_failed": "Arthas Tunnel 写入超时设置失败:{{detail}}",
|
||
"jvm.backend.diagnostic.arthas.send_timeout": "向 Arthas Tunnel 发送终端指令超时,{{timeout}} 内未收到响应",
|
||
"jvm.backend.diagnostic.arthas.send_canceled": "向 Arthas Tunnel 发送终端指令已中止",
|
||
"jvm.backend.diagnostic.arthas.send_failed": "向 Arthas Tunnel 发送终端指令失败:{{detail}}",
|
||
"jvm.backend.diagnostic.arthas.read_deadline_failed": "Arthas Tunnel 读取超时设置失败:{{detail}}",
|
||
"jvm.backend.diagnostic.arthas.read_timeout": "读取 Arthas Tunnel 输出超时,{{timeout}} 内未收到响应",
|
||
"jvm.backend.diagnostic.arthas.read_canceled": "读取 Arthas Tunnel 输出已中止",
|
||
"jvm.backend.diagnostic.arthas.read_failed": "读取 Arthas Tunnel 输出失败:{{detail}}",
|
||
"jvm.backend.diagnostic.arthas.connection_closed": "Arthas Tunnel 连接已关闭:{{detail}}",
|
||
"jvm.backend.diagnostic.arthas.connection_closed_code": "Arthas Tunnel 连接已关闭:code={{code}}",
|
||
"jvm.backend.diagnostic.arthas.command_timeout": "Arthas Tunnel 命令执行超时,{{timeout}} 内未完成",
|
||
"jvm.backend.diagnostic.arthas.command_canceled": "Arthas Tunnel 命令已中止",
|
||
"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_resource.error.connection_missing": "连接不存在或已被删除",
|
||
"jvm_resource.error.resource_path_empty": "资源路径为空",
|
||
"jvm_resource.error.get_value_unavailable": "JVMGetValue 后端方法不可用",
|
||
"jvm_resource.error.read_failed": "读取 JVM 资源失败",
|
||
"jvm_resource.error.ai_plan_missing_context": "AI 计划缺少来源上下文,请在目标 JVM 资源页重新生成后再应用。",
|
||
"jvm_resource.error.ai_plan_context_mismatch": "当前 JVM 页签与 AI 计划的来源上下文不一致,已拒绝自动应用。",
|
||
"jvm_resource.error.ai_plan_to_draft_failed": "AI 计划暂时无法转换为 JVM 预览草稿",
|
||
"jvm_resource.message.ai_plan_draft_filled": "已从 AI 计划填充草稿,目标资源为 {{resourceId}},请先执行“预览变更”再确认写入。",
|
||
"jvm_ai_plan.error.resource_locator_missing": "AI 计划缺少可用的资源定位信息",
|
||
"jvm_ai_plan.error.reason_missing": "AI 计划缺少变更原因",
|
||
"jvm_ai_plan.error.action_missing": "AI 计划缺少可执行 action",
|
||
"jvm_ai_plan.error.payload_json_object_required": "当前 JVM 预览要求 payload 仍然是 JSON 对象",
|
||
"jvm_ai_plan.snapshot.unavailable": "当前资源快照尚未加载成功。",
|
||
"jvm_ai_plan.actions.none": "当前资源未声明支持动作。若要生成计划,请仅在你能从快照内容中明确推断时给出 action,并保持 payload 为 JSON 对象。",
|
||
"jvm_ai_plan.actions.label": " ({{label}})",
|
||
"jvm_ai_plan.actions.description": ":{{description}}",
|
||
"jvm_ai_plan.actions.payload_fields": ";payload 字段:{{fields}}",
|
||
"jvm_ai_plan.actions.field_separator": "、",
|
||
"jvm_ai_plan.actions.required_suffix": "(required)",
|
||
"jvm_ai_plan.prompt.resource_path_missing": "(未提供资源路径)",
|
||
"jvm_ai_plan.prompt.environment_unknown": "unknown",
|
||
"jvm_ai_plan.prompt.intro": "请分析下面这个 JVM 资源,并生成一个可用于 GoNavi “预览变更” 的结构化修改计划。",
|
||
"jvm_ai_plan.prompt.connection_name": "连接名称:{{connectionName}}",
|
||
"jvm_ai_plan.prompt.target_host": "目标主机:{{host}}",
|
||
"jvm_ai_plan.prompt.provider_mode": "Provider 模式:{{providerMode}}",
|
||
"jvm_ai_plan.prompt.environment": "运行环境:{{environmentLabel}}",
|
||
"jvm_ai_plan.prompt.connection_policy.read_only": "只读连接,当前只能生成计划和风险分析,不能假设已执行",
|
||
"jvm_ai_plan.prompt.connection_policy.writable": "可写连接,但仍必须先预览再人工确认",
|
||
"jvm_ai_plan.prompt.connection_policy": "连接策略:{{policy}}",
|
||
"jvm_ai_plan.prompt.resource_path": "当前资源路径:{{resourcePath}}",
|
||
"jvm_ai_plan.prompt.snapshot_title": "当前资源快照:",
|
||
"jvm_ai_plan.prompt.supported_actions_title": "当前资源支持动作:",
|
||
"jvm_ai_plan.prompt.output_requirements_title": "输出要求:",
|
||
"jvm_ai_plan.prompt.requirement.single_json_block": "1. 可以先给一小段分析,但必须包含且只包含一个 ```json 代码块。",
|
||
"jvm_ai_plan.prompt.requirement.fields": "2. 代码块里的 JSON 字段必须严格是:targetType、selector、action、payload、reason。",
|
||
"jvm_ai_plan.prompt.requirement.resource_path": "3. selector.resourcePath 优先使用当前资源路径 {{resourcePath}},不要凭空编造其他路径。",
|
||
"jvm_ai_plan.prompt.requirement.action": "4. action 优先从“当前资源支持动作”里选择;如果当前资源未声明支持动作,才允许基于快照内容推断。",
|
||
"jvm_ai_plan.prompt.requirement.payload": "5. payload 只能使用 JSON 对象包装,不要输出脚本、命令或原始二进制。若需要纯文本值,也请包装成 {\"format\":\"text\",\"value\":\"...\"}。",
|
||
"jvm_ai_plan.prompt.requirement.no_execute": "6. 不要声称已经执行修改,也不要输出脚本或命令。",
|
||
"jvm_ai_plan.prompt.example_title": "JSON 示例:",
|
||
"jvm_ai_plan.prompt.example_reason": "修复缓存脏值",
|
||
"jvm_resource.error.reason_required": "请填写变更原因",
|
||
"jvm_resource.error.payload_object_required": "Payload 必须是 JSON 对象",
|
||
"jvm_resource.error.resource_id_empty": "资源 ID 为空,无法生成变更草稿",
|
||
"jvm_resource.error.preview_unavailable": "JVMPreviewChange 后端方法不可用",
|
||
"jvm_resource.error.draft_invalid": "变更草稿不合法",
|
||
"jvm_resource.error.preview_failed": "预览 JVM 变更失败",
|
||
"jvm_resource.error.preview_result_invalid": "预览结果格式不正确",
|
||
"jvm_resource.error.apply_unavailable": "JVMApplyChange 后端方法不可用",
|
||
"jvm_resource.error.preview_required": "请先预览变更,再确认执行",
|
||
"jvm_resource.error.context_changed": "资源上下文已变化,请重新预览后再执行",
|
||
"jvm_resource.error.confirmation_missing": "确认令牌缺失,请重新预览后再执行",
|
||
"jvm_resource.presentation.action.set.label": "设置属性",
|
||
"jvm_resource.presentation.action.set.description": "更新当前资源暴露的可写属性值。",
|
||
"jvm_resource.presentation.action.invoke.label": "调用操作",
|
||
"jvm_resource.presentation.action.invoke.description": "调用当前资源暴露的管理操作。",
|
||
"jvm_resource.presentation.action.put.label": "写入资源",
|
||
"jvm_resource.presentation.action.put.description": "将 payload 内容写入当前 JVM 资源。",
|
||
"jvm_resource.presentation.action.clear.label": "清空资源",
|
||
"jvm_resource.presentation.action.clear.description": "清空当前 JVM 资源里的数据或状态。",
|
||
"jvm_resource.presentation.action.evict.label": "驱逐缓存",
|
||
"jvm_resource.presentation.action.evict.description": "将目标缓存项从当前 JVM 运行时中驱逐。",
|
||
"jvm_resource.presentation.action.remove.label": "删除条目",
|
||
"jvm_resource.presentation.action.remove.description": "删除当前资源中的指定条目。",
|
||
"jvm_resource.presentation.action.delete.label": "删除资源",
|
||
"jvm_resource.presentation.action.delete.description": "删除或注销当前资源。",
|
||
"jvm_resource.presentation.action.refresh.label": "刷新资源",
|
||
"jvm_resource.presentation.action.refresh.description": "刷新当前资源的运行时状态。",
|
||
"jvm_resource.presentation.action.reload.label": "重新加载",
|
||
"jvm_resource.presentation.action.reload.description": "重新加载当前资源或其配置。",
|
||
"jvm_resource.presentation.action.reset.label": "重置状态",
|
||
"jvm_resource.presentation.action.reset.description": "将当前资源恢复到初始或默认状态。",
|
||
"jvm_resource.presentation.unnamed_action": "未命名动作",
|
||
"jvm_resource.presentation.risk.low": "低",
|
||
"jvm_resource.presentation.risk.medium": "中",
|
||
"jvm_resource.presentation.risk.high": "高",
|
||
"jvm_resource.presentation.risk.unknown": "未知",
|
||
"jvm_resource.presentation.audit_result.unknown": "未知",
|
||
"jvm_resource.presentation.audit_result.applied": "已执行",
|
||
"jvm_resource.presentation.audit_result.success": "成功",
|
||
"jvm_resource.presentation.audit_result.warning": "警告",
|
||
"jvm_resource.presentation.audit_result.blocked": "已阻断",
|
||
"jvm_resource.presentation.audit_result.failed": "失败",
|
||
"jvm_resource.error.apply_failed": "执行 JVM 变更失败",
|
||
"jvm_resource.message.apply_success": "JVM 变更已执行",
|
||
"jvm_resource.title": "JVM 资源工作台",
|
||
"jvm_resource.badge.read_only": "只读连接",
|
||
"jvm_resource.badge.writable": "可写连接",
|
||
"jvm_resource.action.audit": "审计记录",
|
||
"jvm_resource.action.generate_ai_plan": "AI 生成计划",
|
||
"jvm_resource.action.ask_ai_plan": "让 AI 生成计划",
|
||
"jvm_resource.card.snapshot": "资源快照",
|
||
"jvm_resource.field.resource_id": "资源 ID",
|
||
"jvm_resource.field.resource_type": "资源类型",
|
||
"jvm_resource.field.format": "格式",
|
||
"jvm_resource.field.version": "版本",
|
||
"jvm_resource.field.available_actions": "可用动作",
|
||
"jvm_resource.section.resource_value": "资源值",
|
||
"jvm_resource.section.metadata": "元数据",
|
||
"jvm_resource.empty.no_resource_data": "暂无资源数据",
|
||
"jvm_resource.card.change_draft": "变更草稿",
|
||
"jvm_resource.field.resource_path": "资源路径",
|
||
"jvm_resource.field.target_resource": "目标资源",
|
||
"jvm_resource.field.resource_version": "资源版本",
|
||
"jvm_resource.field.draft_source": "草稿来源",
|
||
"jvm_resource.draft_source.ai_plan": "AI 辅助草稿",
|
||
"jvm_resource.draft_source.manual": "手工编辑",
|
||
"jvm_resource.section.supported_actions": "资源支持动作",
|
||
"jvm_resource.field.payload_fields": "Payload 字段:",
|
||
"jvm_resource.marker.required_suffix": "(必填)",
|
||
"jvm_resource.list_separator": "、",
|
||
"jvm_resource.field.action": "动作",
|
||
"jvm_resource.placeholder.action_jmx": "例如 set 或 invoke",
|
||
"jvm_resource.placeholder.action_default": "例如 put / clear / evict",
|
||
"jvm_resource.message.current_action": "当前动作:",
|
||
"jvm_resource.field.reason": "变更原因",
|
||
"jvm_resource.placeholder.reason": "填写本次 JVM 资源变更原因",
|
||
"jvm_resource.field.payload": "Payload(JSON)",
|
||
"jvm_resource.message.payload_hint": "预览会使用当前草稿;确认执行会使用最近一次成功预览的请求,修改草稿后请重新预览。",
|
||
"jvm_resource.message.payload_template_applied": "已按当前动作填充推荐模板。",
|
||
"jvm_resource.action.preview_change": "预览变更",
|
||
"jvm_overview.connection_missing.message": "连接不存在或已被删除",
|
||
"jvm_overview.error.capability_load_failed": "读取 JVM 模式能力失败",
|
||
"jvm_overview.eyebrow": "JVM 运行时",
|
||
"jvm_overview.title": "JVM 运行时概览",
|
||
"jvm_overview.badge.read_only": "只读连接",
|
||
"jvm_overview.badge.writable": "可写连接",
|
||
"jvm_overview.card.connection_summary": "连接摘要",
|
||
"jvm_overview.card.mode_capability": "模式能力",
|
||
"jvm_overview.field.current_mode": "当前模式",
|
||
"jvm_overview.field.allowed_modes": "允许模式",
|
||
"jvm_overview.field.jmx_address": "JMX 地址",
|
||
"jvm_overview.field.endpoint": "Endpoint",
|
||
"jvm_overview.field.agent": "Agent",
|
||
"jvm_overview.field.resource_browse": "资源浏览",
|
||
"jvm_overview.value.enabled": "已启用",
|
||
"jvm_overview.value.not_configured": "未配置",
|
||
"jvm_overview.value.resource_browse_lazy_load": "通过侧边栏展开模式节点后懒加载",
|
||
"jvm_overview.empty.capabilities": "暂无模式能力数据",
|
||
"jvm_overview.capability.can_browse": "可浏览",
|
||
"jvm_overview.capability.cannot_browse": "不可浏览",
|
||
"jvm_overview.capability.writable": "可写",
|
||
"jvm_overview.capability.read_only": "只读",
|
||
"jvm_overview.capability.preview_supported": "支持预览",
|
||
"jvm_overview.capability.preview_unsupported": "不支持预览",
|
||
"jvm_monitoring_dashboard.connection_missing.message": "连接不存在或已被删除",
|
||
"jvm_monitoring_dashboard.error.history_unavailable": "JVMGetMonitoringHistory 后端方法不可用",
|
||
"jvm_monitoring_dashboard.error.history_load_failed": "读取监控历史失败",
|
||
"jvm_monitoring_dashboard.error.start_unavailable": "JVMStartMonitoring 后端方法不可用",
|
||
"jvm_monitoring_dashboard.error.start_failed": "开始监控失败",
|
||
"jvm_monitoring_dashboard.error.stop_unavailable": "JVMStopMonitoring 后端方法不可用",
|
||
"jvm_monitoring_dashboard.error.stop_failed": "停止监控失败",
|
||
"jvm_monitoring_dashboard.title": "JVM 持续监控",
|
||
"jvm_monitoring_dashboard.status.sampling": "采样中",
|
||
"jvm_monitoring_dashboard.status.stopped": "未运行",
|
||
"jvm_monitoring_dashboard.action.refresh": "刷新",
|
||
"jvm_monitoring_dashboard.action.start": "开始监控",
|
||
"jvm_monitoring_dashboard.action.stop": "停止监控",
|
||
"jvm_monitoring_dashboard.degraded.message": "监控能力存在降级",
|
||
"jvm_monitoring_dashboard.empty.title": "当前尚未开始持续监控",
|
||
"jvm_monitoring_dashboard.empty.description": "点击“开始监控”后,GoNavi 会在当前会话内持续保留该连接的采样结果;切换页签不会停止采样。",
|
||
"jvm_diagnostic.workbench.eyebrow": "JVM 诊断",
|
||
"jvm_diagnostic.workbench.title": "JVM 诊断工作台",
|
||
"jvm_diagnostic.workbench.status.session_established": "会话已建立",
|
||
"jvm_diagnostic.workbench.status.no_session": "未建会话",
|
||
"jvm_diagnostic.workbench.status.command_running": "命令执行中",
|
||
"jvm_diagnostic.workbench.action.probe": "检查能力",
|
||
"jvm_diagnostic.workbench.action.restart_session": "重建会话",
|
||
"jvm_diagnostic.workbench.action.start_session": "新建会话",
|
||
"jvm_diagnostic.workbench.action.execute_command": "执行命令",
|
||
"jvm_diagnostic.workbench.action.cancel_command": "取消命令",
|
||
"jvm_diagnostic.connection_missing.message": "连接不存在或已被删除",
|
||
"jvm_diagnostic.error.probe_unavailable": "JVMProbeDiagnosticCapabilities 后端方法不可用",
|
||
"jvm_diagnostic.error.probe_failed": "检查诊断能力失败",
|
||
"jvm_diagnostic.error.start_unavailable": "JVMStartDiagnosticSession 后端方法不可用",
|
||
"jvm_diagnostic.error.start_failed": "创建诊断会话失败",
|
||
"jvm_diagnostic.error.history_load_failed": "加载诊断历史失败",
|
||
"jvm_diagnostic.error.execute_unavailable": "JVMExecuteDiagnosticCommand 后端方法不可用",
|
||
"jvm_diagnostic.error.execute_session_required": "请先创建诊断会话,再执行命令",
|
||
"jvm_diagnostic.error.execute_command_required": "诊断命令不能为空",
|
||
"jvm_diagnostic.error.execute_failed": "执行诊断命令失败",
|
||
"jvm_diagnostic.error.cancel_unavailable": "JVMCancelDiagnosticCommand 后端方法不可用",
|
||
"jvm_diagnostic.error.cancel_failed": "取消诊断命令失败",
|
||
"jvm_diagnostic.message.cancel_sent": "已发送取消请求",
|
||
"jvm_diagnostic.session.default_title": "JVM 诊断控制台",
|
||
"jvm_diagnostic.session.default_reason": "控制台启动会话",
|
||
"jvm_diagnostic.ai_plan.error.transport_mismatch": "AI 计划的诊断 transport 为 {{planTransport}},与当前控制台 {{currentTransport}} 不一致,请重新生成计划后再应用。",
|
||
"jvm_diagnostic.ai_plan.message.filled": "AI 诊断计划已回填到控制台",
|
||
"jvm_diagnostic.session_capability.title": "会话与能力",
|
||
"jvm_diagnostic.session_capability.description": "当前通道、权限与快捷维护",
|
||
"jvm_diagnostic.session_capability.status.session_established": "会话已建立",
|
||
"jvm_diagnostic.session_capability.status.no_session": "未建会话",
|
||
"jvm_diagnostic.session_capability.status.command_running": "命令执行中",
|
||
"jvm_diagnostic.session_capability.status.idle": "空闲",
|
||
"jvm_diagnostic.session_capability.session_id_hint": "创建会话后会在这里显示会话 ID。",
|
||
"jvm_diagnostic.session_capability.note": "检查能力不会执行命令;执行命令前必须先建会话。审计历史展示最近命令记录,未建会话时也可能包含过去会话的记录。",
|
||
"jvm_diagnostic.session_capability.action.clear_output": "清空输出",
|
||
"jvm_diagnostic.session_capability.action.refresh_history": "刷新历史",
|
||
"jvm_diagnostic.workflow.probe.title": "检查能力",
|
||
"jvm_diagnostic.workflow.probe.description": "只读取诊断通道、流式输出与命令权限,不创建会话。",
|
||
"jvm_diagnostic.workflow.session.title": "新建会话",
|
||
"jvm_diagnostic.workflow.session.description": "创建诊断上下文,后续命令都会绑定到这个会话。",
|
||
"jvm_diagnostic.workflow.command.title": "执行命令",
|
||
"jvm_diagnostic.workflow.command.description": "会话建立后显示命令编辑器、原因输入与模板。",
|
||
"jvm_diagnostic.capability.empty.title": "尚未检查能力",
|
||
"jvm_diagnostic.capability.empty.description": "能力检查只读取通道权限和命令策略,不会创建会话或执行命令。",
|
||
"jvm_diagnostic.capability_result.title": "能力检查结果",
|
||
"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.observe_allowed": "观察命令",
|
||
"jvm_diagnostic.capability_result.observe_denied": "禁止观察",
|
||
"jvm_diagnostic.capability_result.trace_allowed": "跟踪命令",
|
||
"jvm_diagnostic.capability_result.mutating_allowed": "高风险命令",
|
||
"jvm_diagnostic.no_session.title": "开始一次诊断",
|
||
"jvm_diagnostic.no_session.description": "先建立会话,再显示命令编辑器和模板",
|
||
"jvm_diagnostic.no_session.alert.title": "命令输入将在会话建立后显示",
|
||
"jvm_diagnostic.no_session.alert.description": "这样可以避免未绑定会话时误以为命令已经可执行,也能保证审计记录、输出流和取消命令都绑定到同一个会话。",
|
||
"jvm_diagnostic.no_session.action.start": "新建诊断会话",
|
||
"jvm_diagnostic.no_session.action.probe": "先检查能力",
|
||
"jvm_diagnostic.command_input.title": "命令输入",
|
||
"jvm_diagnostic.command_input.description": "支持自动补全,按 Ctrl/Cmd + Enter 执行",
|
||
"jvm_diagnostic.command_input.command_label": "诊断命令",
|
||
"jvm_diagnostic.command_input.command_description": "输入 Arthas/诊断命令,例如 thread -n 5、dashboard、jvm;也可以从下方模板一键回填。",
|
||
"jvm_diagnostic.command_input.reason_label": "诊断原因(可选)",
|
||
"jvm_diagnostic.command_input.reason_placeholder": "例如:排查 CPU 飙高、确认线程阻塞、定位慢方法",
|
||
"jvm_diagnostic.command_input.reason_help": "用于审计记录和 AI 上下文理解,不会作为 Arthas 命令发送到目标 JVM。",
|
||
"jvm_diagnostic.command_templates.title": "命令模板",
|
||
"jvm_diagnostic.output.title": "实时输出",
|
||
"jvm_diagnostic.output.description": "按后端事件流追加显示",
|
||
"jvm_diagnostic.output.empty.description": "暂无实时输出。命令执行后,这里会按时间顺序追加后端返回内容。",
|
||
"jvm_diagnostic.output.local_pending": "已提交诊断命令,等待后端输出:{{command}}",
|
||
"jvm_diagnostic.output.frontend_completed_fallback": "诊断命令调用已返回,但未收到后端终态事件,前端已兜底结束等待状态。",
|
||
"jvm_diagnostic.presentation.category.observe": "观察类命令",
|
||
"jvm_diagnostic.presentation.category.trace": "跟踪类命令",
|
||
"jvm_diagnostic.presentation.category.mutating": "高风险命令",
|
||
"jvm_diagnostic.presentation.phase.running": "执行中",
|
||
"jvm_diagnostic.presentation.phase.completed": "已完成",
|
||
"jvm_diagnostic.presentation.phase.failed": "失败",
|
||
"jvm_diagnostic.presentation.phase.canceling": "取消中",
|
||
"jvm_diagnostic.presentation.phase.diagnostic": "诊断事件",
|
||
"jvm_diagnostic.presentation.event.diagnostic": "诊断输出",
|
||
"jvm_diagnostic.presentation.event.chunk": "输出片段",
|
||
"jvm_diagnostic.presentation.event.done": "执行结束",
|
||
"jvm_diagnostic.presentation.chunk.empty_event": "空事件",
|
||
"jvm_diagnostic.history.title": "审计历史",
|
||
"jvm_diagnostic.history.description": "最近命令和执行状态",
|
||
"jvm_diagnostic.history.current_session": "当前会话",
|
||
"jvm_diagnostic.history.no_session": "尚未建立诊断会话",
|
||
"jvm_diagnostic.history.recent_records": "最近记录",
|
||
"jvm_diagnostic.history.reason_missing": "未填写诊断原因",
|
||
"jvm_diagnostic.history.no_records": "尚无诊断历史",
|
||
"jvm_audit.eyebrow": "JVM 审计",
|
||
"jvm_audit.title": "JVM 变更审计",
|
||
"jvm_audit.card.records": "审计记录",
|
||
"jvm_audit.description.current_range": "当前范围:最近 {{limit}} 条",
|
||
"jvm_audit.option.last_records": "最近 {{limit}} 条",
|
||
"jvm_audit.action.refresh": "刷新",
|
||
"jvm_audit.column.time": "时间",
|
||
"jvm_audit.column.mode": "模式",
|
||
"jvm_audit.column.action": "动作",
|
||
"jvm_audit.column.resource": "资源",
|
||
"jvm_audit.column.reason": "原因",
|
||
"jvm_audit.column.source": "来源",
|
||
"jvm_audit.column.result": "结果",
|
||
"jvm_audit.source.ai_plan": "AI 辅助",
|
||
"jvm_audit.source.manual": "手工",
|
||
"jvm_audit.error.connection_missing": "连接不存在或已被删除",
|
||
"jvm_audit.error.backend_unavailable": "JVMListAuditRecords 后端方法不可用",
|
||
"jvm_audit.error.load_failed": "读取 JVM 审计记录失败{{separator}}{{detail}}",
|
||
"jvm_audit.empty.load_failed": "当前无法加载审计记录",
|
||
"jvm_audit.empty.no_records": "暂无审计记录",
|
||
"query_editor.placeholder.connection": "选择连接",
|
||
"query_editor.placeholder.database": "选择数据库",
|
||
"query_editor.max_rows.tooltip": "最大返回行数。会对 SELECT 自动加 LIMIT,防止大结果集卡死界面。",
|
||
"query_editor.max_rows.option_500": "最大行数:500",
|
||
"query_editor.max_rows.option_1000": "最大行数:1000",
|
||
"query_editor.max_rows.option_5000": "最大行数:5000",
|
||
"query_editor.max_rows.option_20000": "最大行数:20000",
|
||
"query_editor.max_rows.option_unlimited": "最大行数:不限",
|
||
"query_editor.action.run": "运行",
|
||
"query_editor.action.run_with_shortcut": "运行({{shortcut}})",
|
||
"query_editor.action.stop": "停止",
|
||
"query_editor.action.save": "保存",
|
||
"query_editor.action.save_with_shortcut": "保存({{shortcut}})",
|
||
"query_editor.completion.documentation.comment": "备注:{{comment}}",
|
||
"query_editor.hover.switch_database_with_shortcut": "{{shortcut}} + 点击切换到该数据库",
|
||
"query_editor.hover.open_table_with_shortcut": "{{shortcut}} + 点击打开该表",
|
||
"query_editor.hover.open_view_with_shortcut": "{{shortcut}} + 点击打开该视图",
|
||
"query_editor.hover.open_materialized_view_with_shortcut": "{{shortcut}} + 点击打开该物化视图",
|
||
"query_editor.hover.open_trigger_with_shortcut": "{{shortcut}} + 点击打开该触发器",
|
||
"query_editor.hover.open_procedure_with_shortcut": "{{shortcut}} + 点击打开该存储过程",
|
||
"query_editor.hover.open_function_with_shortcut": "{{shortcut}} + 点击打开该函数",
|
||
"query_editor.object_info.database": "数据库",
|
||
"query_editor.object_info.table": "表",
|
||
"query_editor.object_info.column": "字段",
|
||
"query_editor.object_info.materialized_view": "物化视图",
|
||
"query_editor.object_info.label.database": "库",
|
||
"query_editor.object_info.label.table": "表",
|
||
"query_editor.object_info.label.type": "类型",
|
||
"query_editor.object_info.label.schema": "Schema",
|
||
"query_editor.object_info.label.separator": ":",
|
||
"query_editor.action.more": "更多",
|
||
"query_editor.action.format": "美化",
|
||
"query_editor.action.format_sql": "美化 SQL",
|
||
"query_editor.action.resize_editor": "拖动调整高度",
|
||
"query_editor.action.ai_generate_sql": "AI 生成 SQL",
|
||
"query_editor.action.ai_explain_sql": "AI 解释 SQL",
|
||
"query_editor.action.ai_optimize_sql": "AI 优化 SQL",
|
||
"query_editor.action.ai_generate_sql_menu": "生成 SQL",
|
||
"query_editor.action.ai_explain_sql_menu": "解释 SQL",
|
||
"query_editor.action.ai_optimize_sql_menu": "优化 SQL",
|
||
"query_editor.action.ai_schema_analysis": "Schema 分析",
|
||
"query_editor.action.show_results_panel": "显示结果区",
|
||
"query_editor.action.hide_results_panel": "隐藏结果区",
|
||
"query_editor.action.show_results_panel_with_shortcut": "显示结果区({{shortcut}})",
|
||
"query_editor.action.hide_results_panel_with_shortcut": "隐藏结果区({{shortcut}})",
|
||
"query_editor.action.results": "结果",
|
||
"query_editor.transaction.delay.immediate": "立即",
|
||
"query_editor.transaction.mode.tooltip": "参考 DBeaver:SQL 编辑器执行 INSERT/UPDATE/DELETE/MERGE/REPLACE 等 DML 时先进入 GoNavi 托管事务;手动提交需要手动提交/回滚,自动提交会在执行成功后自动 COMMIT。",
|
||
"query_editor.transaction.mode.manual": "手动",
|
||
"query_editor.transaction.mode.auto": "自动",
|
||
"query_editor.transaction.status.auto_commit_countdown": "{{seconds}}s 后自动提交",
|
||
"query_editor.transaction.status.auto_committing": "自动提交中",
|
||
"query_editor.transaction.action.commit": "提交",
|
||
"query_editor.transaction.action.commit_with_count": "提交 ({{count}})",
|
||
"query_editor.transaction.action.rollback": "回滚",
|
||
"query_editor.transaction.message.pending_managed_transaction": "当前 SQL 编辑器已有未提交事务,请先提交或回滚后再执行新的增删改语句。",
|
||
"query_editor.action.show_object_info": "查看对象信息",
|
||
"query_editor.action.rename_query": "重命名查询",
|
||
"query_editor.action.export_sql_file": "导出 SQL 文件",
|
||
"query_editor.format.keyword_upper": "关键字大写",
|
||
"query_editor.format.keyword_lower": "关键字小写",
|
||
"query_editor.format.restore_last_format": "还原上次美化",
|
||
"query_editor.format.snippet_settings": "代码片段管理...",
|
||
"query_editor.format.shortcut_settings": "快捷键管理...",
|
||
"query_editor.message.format_failed": "格式化失败:SQL 语法可能有误。",
|
||
"query_editor.message.no_format_restore_snapshot": "没有可还原的美化前 SQL",
|
||
"query_editor.message.format_restore_success": "已还原到美化前 SQL",
|
||
"query_editor.message.page_query_failed": "翻页失败:{{error}}",
|
||
"query_editor.message.page_query_empty": "翻页未返回结果集",
|
||
"query_editor.message.refresh_failed": "刷新失败:{{error}}",
|
||
"query_editor.message.select_database_first": "请先选择数据库。",
|
||
"query_editor.message.connection_not_found": "未找到连接。",
|
||
"query_editor.message.unsupported_source": "当前数据源不支持 SQL 查询编辑器,请使用对应专用页面。",
|
||
"query_editor.message.no_executable_sql": "没有可执行的 SQL。",
|
||
"query_editor.message.no_selectable_sql": "没有可选择的 SQL 语句。",
|
||
"query_editor.message.statement_failed_prefix": "第 {{index}} 条语句执行失败:",
|
||
"query_editor.message.execution_success": "执行成功。",
|
||
"query_editor.message.execution_multi_success": "已执行 {{statements}} 条语句,生成 {{results}} 个结果集。",
|
||
"query_editor.message.execution_result_sets_success": "已执行完成,生成 {{results}} 个结果集。",
|
||
"query_editor.message.execution_failed_with_error": "查询执行失败:{{error}}",
|
||
"query_editor.message.cancel_no_running": "没有正在运行的查询可取消。",
|
||
"query_editor.message.cancel_success": "查询已中止。",
|
||
"query_editor.message.cancel_failed": "取消查询失败:{{error}}",
|
||
"query_editor.message.read_only_no_safe_locator": "未检测到主键或可用唯一索引,无法安全提交修改。",
|
||
"query_editor.message.read_only_index_metadata_unavailable": "无法加载唯一索引元数据,无法安全提交修改。",
|
||
"query_editor.message.read_only_table_locator_metadata_unavailable": "无法加载 {{table}} 的主键/唯一索引元数据,无法安全提交修改。",
|
||
"query_editor.message.read_only_system_metadata": "系统元数据查询结果保持只读。",
|
||
"query_editor.message.read_only_oracle_rowid_injection_unavailable": "Oracle 查询使用 * 时无法自动注入 ROWID 定位列,已保持只读。",
|
||
"query_editor.message.read_only_warning_with_detail": "查询结果保持只读:{{detail}}",
|
||
"query_editor.message.object_info_target_not_found": "当前光标未定位到可识别的表或字段。",
|
||
"query_editor.message.insert_success": "代码已在当前光标处成功插入。",
|
||
"query_editor.message.append_success": "代码已追加。",
|
||
"query_editor.message.saved": "查询已保存。",
|
||
"query_editor.message.sql_file_saved": "SQL 文件已保存。",
|
||
"query_editor.message.save_sql_file_failed": "保存 SQL 文件失败:{{error}}",
|
||
"query_editor.message.save_query_failed": "保存查询失败:{{error}}",
|
||
"query_editor.message.export_sql_file_success": "SQL 文件已导出。",
|
||
"query_editor.message.export_sql_file_failed": "导出 SQL 文件失败:{{error}}",
|
||
"query_editor.message.save_first_before_rename": "请先保存查询后再重命名。",
|
||
"query_editor.message.renamed": "查询已重命名。",
|
||
"query_editor.empty_state.title": "等待执行 SQL",
|
||
"query_editor.empty_state.description": "运行查询后,结果会在下方以新版数据网格展示。",
|
||
"query_editor.result.tab_title": "结果 {{index}}({{count}})",
|
||
"query_editor.result.tab_title_success": "结果 {{index}} ✓",
|
||
"query_editor.result.close": "关闭结果",
|
||
"query_editor.result.execution_success": "执行成功",
|
||
"query_editor.result.affected_rows": "影响行数:{{count}}",
|
||
"query_editor.result.execution_failed": "执行失败",
|
||
"query_editor.result.ai_diagnose": "一键 AI 诊断",
|
||
"query_editor.results_panel.tooltip.hide": "隐藏结果区",
|
||
"query_editor.results_panel.tooltip.hide_with_shortcut": "隐藏结果区({{shortcut}})",
|
||
"query_editor.results_panel.menu.close_other": "关闭其他页",
|
||
"query_editor.results_panel.menu.close_left": "关闭左侧",
|
||
"query_editor.results_panel.menu.close_right": "关闭右侧",
|
||
"query_editor.results_panel.menu.close_all": "关闭所有",
|
||
"query_editor.results_panel.action.hide": "隐藏",
|
||
"query_editor.results_panel.aria.hide": "隐藏结果区",
|
||
"query_editor.results_panel.tab.message": "消息 {{index}}",
|
||
"query_editor.results_panel.tab.result": "结果 {{index}}",
|
||
"query_editor.results_panel.message.title": "执行消息",
|
||
"query_editor.results_panel.message.action.copy": "复制",
|
||
"query_editor.results_panel.message.copy_unsupported": "当前环境不支持复制到剪贴板",
|
||
"query_editor.results_panel.message.copy_failed": "复制消息失败:{{detail}}",
|
||
"query_editor.results_panel.panel.title": "结果区",
|
||
"query_editor.save_modal.title": "保存查询",
|
||
"query_editor.save_modal.rename_title": "重命名查询",
|
||
"query_editor.save_modal.rename_ok": "重命名",
|
||
"query_editor.save_modal.name_label": "查询名称",
|
||
"query_editor.save_modal.name_required": "请输入查询名称。",
|
||
"query_editor.save_modal.name_placeholder": "例如:查询所有用户",
|
||
"query_editor.save_modal.unnamed": "未命名查询",
|
||
"query_editor.ai_prompt.default_source": "数据库",
|
||
"query_editor.ai_prompt.default_database": "默认",
|
||
"query_editor.ai_prompt.context": "上下文环境:{{type}} {{name}},当前库选定为 {{database}}。\n",
|
||
"query_editor.ai_prompt.generate": "请根据当前数据库表结构生成查询语句。",
|
||
"query_editor.ai_prompt.explain": "请解释以下 SQL 语句的执行逻辑:\n```sql\n{{sql}}\n```",
|
||
"query_editor.ai_prompt.optimize": "请分析以下 SQL 语句的性能并给出优化建议:\n```sql\n{{sql}}\n```",
|
||
"query_editor.ai_prompt.schema": "请针对当前数据库的表结构进行系统分析,并给出性能和设计上的优化建议。",
|
||
"query_editor.ai_prompt.diagnose": "我在执行以下 SQL 时遇到了错误:\n```sql\n{{sql}}\n```\n\n数据库报错信息如下:\n```text\n{{error}}\n```\n\n请帮我分析错误原因,并给出修改建议。",
|
||
"query_editor.slash_command.query.label": "自然语言查询",
|
||
"query_editor.slash_command.query.description": "描述你想查什么",
|
||
"query_editor.slash_command.query.prompt": "帮我写一条 SQL 查询:",
|
||
"query_editor.slash_command.sql.label": "生成 SQL",
|
||
"query_editor.slash_command.sql.description": "描述需求自动生成语句",
|
||
"query_editor.slash_command.sql.prompt": "请根据以下需求生成 SQL:",
|
||
"query_editor.slash_command.explain.label": "解释 SQL",
|
||
"query_editor.slash_command.explain.description": "解释选中 SQL 的逻辑",
|
||
"query_editor.slash_command.explain.prompt": "请解释以下 SQL 语句的执行逻辑:\n```sql\n{{sql}}\n```",
|
||
"query_editor.slash_command.optimize.label": "优化分析",
|
||
"query_editor.slash_command.optimize.description": "分析 SQL 性能瓶颈",
|
||
"query_editor.slash_command.optimize.prompt": "请分析以下 SQL 语句的性能并给出优化建议:\n```sql\n{{sql}}\n```",
|
||
"query_editor.slash_command.schema.label": "表设计评审",
|
||
"query_editor.slash_command.schema.description": "评审表结构设计质量",
|
||
"query_editor.slash_command.schema.prompt": "请全面评审当前关联表的设计,包括字段类型、范式、索引策略等方面的改进建议。",
|
||
"query_editor.slash_command.index.label": "索引建议",
|
||
"query_editor.slash_command.index.description": "推荐最优索引方案",
|
||
"query_editor.slash_command.index.prompt": "请基于当前表结构和常见查询场景,推荐最优的索引方案并给出可用 SQL。",
|
||
"query_editor.slash_command.diff.label": "表对比",
|
||
"query_editor.slash_command.diff.description": "对比两表差异生成变更",
|
||
"query_editor.slash_command.diff.prompt": "请对比以下两张表的结构差异,并生成从旧版本迁移到新版本的 ALTER 语句。",
|
||
"query_editor.slash_command.mock.label": "造测试数据",
|
||
"query_editor.slash_command.mock.description": "生成 INSERT 测试数据",
|
||
"query_editor.slash_command.mock.prompt": "请为当前关联的表生成 10 条符合业务语义的 INSERT 测试数据。",
|
||
"query_editor.completion.detail.aggregate": "聚合函数",
|
||
"query_editor.completion.detail.string": "字符串函数",
|
||
"query_editor.completion.detail.math": "数学函数",
|
||
"query_editor.completion.detail.date_time": "日期时间函数",
|
||
"query_editor.completion.detail.conditional": "条件函数",
|
||
"query_editor.completion.detail.conversion": "类型转换函数",
|
||
"query_editor.completion.detail.json": "JSON 函数",
|
||
"query_editor.completion.detail.utility": "工具函数",
|
||
"query_editor.completion.detail.info": "信息函数",
|
||
"query_editor.completion.detail.window": "窗口函数",
|
||
"query_editor.completion.detail.sql_function": "SQL 函数",
|
||
"query_editor.completion.detail.aggregate_count": "聚合 - 计数",
|
||
"query_editor.completion.detail.string_concat": "字符串 - 拼接",
|
||
"query_editor.completion.detail.math_abs": "数学 - 绝对值",
|
||
"query_editor.completion.detail.date_now": "日期 - 当前日期时间",
|
||
"query_editor.completion.detail.conditional_if": "条件 - 如果",
|
||
"query_editor.completion.detail.conversion_cast": "转换 - 类型转换",
|
||
"query_editor.completion.detail.json_extract": "JSON - 提取值",
|
||
"query_editor.completion.detail.crypto_md5": "哈希 - MD5",
|
||
"query_editor.completion.detail.info_database": "信息 - 当前数据库",
|
||
"query_editor.completion.detail.window_row_number": "窗口 - 行号",
|
||
"query_editor.completion.detail.modifier_distinct": "修饰 - 去重",
|
||
"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": "版本",
|
||
"data_grid.action.apply": "应用",
|
||
"data_grid.ai_prompt.analyze_page": "请分析以下查询结果数据(前 {{count}} 行样本):\n```json\n{{json}}\n```\n\n请分析数据特征、发现规律,或提供业务洞察。",
|
||
"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": "输入字段名,回车或点定位按钮即可跳到对应列",
|
||
"data_grid.ai_insight.prompt": "请帮我分析以下查询结果数据(取前 {{count}} 条示例):\n```json\n{{json}}\n```\n\n请分析数据特征、发现规律,或者给出一些业务上的洞察。",
|
||
"data_grid.datetime_picker.now": "此刻",
|
||
"data_grid.column_settings.column_visibility": "列显示",
|
||
"data_grid.column_settings.display_settings": "显示设置",
|
||
"data_grid.column_settings.field_info": "字段信息",
|
||
"data_grid.column_settings.hide_all": "全隐藏",
|
||
"data_grid.column_settings.remember_column_order": "记住自定义列顺序",
|
||
"data_grid.column_settings.remember_hidden_columns": "记住隐藏列设置",
|
||
"data_grid.column_settings.reset_hidden": "重置隐藏",
|
||
"data_grid.column_settings.reset_hidden_success": "已恢复全列显示",
|
||
"data_grid.column_settings.reset_order": "重置顺序",
|
||
"data_grid.column_settings.reset_order_success": "已恢复默认列排序",
|
||
"data_grid.column_settings.search_columns_placeholder": "搜索列名...",
|
||
"data_grid.column_settings.show_all": "全显示",
|
||
"data_grid.column_settings.show_comments": "在表头显示列注释",
|
||
"data_grid.column_settings.show_types": "在表头显示列类型",
|
||
"data_grid.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_data": "复制行数据",
|
||
"data_grid.context_menu.current_marker": "当前",
|
||
"data_grid.context_menu.current_row": "当前行",
|
||
"data_grid.context_menu.current_cell": "当前单元格",
|
||
"data_grid.context_menu.edit_section": "编辑",
|
||
"data_grid.context_menu.edit_row": "编辑此行",
|
||
"data_grid.context_menu.copy_row_as_new": "复制本行为新增行",
|
||
"data_grid.context_menu.undo_cell_change": "撤销此单元格修改",
|
||
"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.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.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.error_boundary.description": "数据表格渲染时发生错误,数据格式可能无效。",
|
||
"data_grid.error_boundary.retry": "重试",
|
||
"data_grid.error_boundary.title": "渲染错误",
|
||
"data_grid.export.all_data": "导出全部数据",
|
||
"data_grid.export.all_rows": "导出全部行({{count}} 行)",
|
||
"data_grid.export.all_rows_requery": "导出全部(重新查询)",
|
||
"data_grid.export.current_page": "导出当前页({{count}} 行)",
|
||
"data_grid.export.current_page_rows": "导出当前页({{count}} 行)",
|
||
"data_grid.export.group_filtered_results": "筛选结果",
|
||
"data_grid.export.group_full_table": "全表",
|
||
"data_grid.export.no_selection_prompt": "未选择行,请选择导出范围:",
|
||
"data_grid.export.options_title": "导出选项",
|
||
"data_grid.export.query_result_title": "导出查询结果",
|
||
"data_grid.export.scope_prompt": "请选择导出范围:",
|
||
"data_grid.export.selected_rows": "导出选中行({{count}} 行)",
|
||
"data_grid.table_fallback.query_result": "查询结果",
|
||
"data_grid.metadata_view.fields_badge": "字段",
|
||
"data_grid.metadata_view.er_table_badge": "表",
|
||
"data_grid.metadata_view.er_field_badge": "字段",
|
||
"data_grid.metadata_view.er_current_badge": "当前表",
|
||
"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_hidden_columns": "还有 {{count}} 个字段",
|
||
"data_grid.metadata_view.er_expand_hidden_columns": "展开剩余 {{count}} 个字段",
|
||
"data_grid.metadata_view.er_expand_fields": "展开全部字段",
|
||
"data_grid.metadata_view.er_collapse_fields": "收起字段摘要",
|
||
"data_grid.metadata_view.er_relation_depth": "{{count}} 层关系",
|
||
"data_grid.metadata_view.er_expand_relations": "展开下一层关系",
|
||
"data_grid.metadata_view.er_reset_relations": "重置为一层",
|
||
"data_grid.metadata_view.er_empty": "当前表未发现外键关系",
|
||
"data_grid.metadata_view.er_partial_warning": "部分关系未能完整加载,图中结果可能不完整",
|
||
"data_grid.metadata_view.er_open_table": "打开表",
|
||
"data_grid.metadata_view.field_count": "{{count}} 个字段",
|
||
"data_grid.metadata_view.column_name": "名称",
|
||
"data_grid.metadata_view.column_type": "类型",
|
||
"data_grid.metadata_view.default_value": "默认值",
|
||
"data_grid.metadata_view.comment": "注释",
|
||
"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.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.auto_commit_failed": "自动提交失败:{{detail}}",
|
||
"data_grid.message.auto_commit_success": "自动提交成功",
|
||
"data_grid.message.commit_failed": "提交失败:{{detail}}",
|
||
"data_grid.message.undo_added_row_hint": "新增行请使用删除选中或整表回滚撤销",
|
||
"data_grid.message.undo_cell_original_missing": "未找到该单元格的原始数据,无法撤销",
|
||
"data_grid.message.undo_cell_success": "已撤销单元格修改",
|
||
"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_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.current_field_not_editable": "当前字段不可编辑",
|
||
"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_safe_locator": "当前结果没有可用的安全行定位方式,无法提交修改。",
|
||
"data_grid.message.no_filter_applied": "当前未应用筛选条件",
|
||
"data_grid.message.no_rows_selected": "当前未选中任何行",
|
||
"data_grid.message.no_other_rows_to_fill": "没有其他选中行可填充",
|
||
"data_grid.message.no_pasteable_editable_fields": "没有可粘贴的可编辑字段",
|
||
"data_grid.message.no_pasteable_rows": "没有可粘贴的行",
|
||
"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.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.message.result_set_no_copyable_content": "当前结果集没有可复制内容",
|
||
"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_viewer.message.result_not_ready": "当前结果集尚未就绪,请先执行一次加载",
|
||
"data_viewer.message.query_failed": "查询失败",
|
||
"data_viewer.message.query_timeout": "查询超过连接超时时间,已中断。请调大连接超时时间,或减少查询范围后重试。",
|
||
"data_viewer.message.duckdb_query_timeout": "DuckDB 查询超过连接超时时间,已中断。请调大连接超时时间,或减少排序/筛选范围后重试。",
|
||
"data_viewer.message.connection_not_found": "未找到连接",
|
||
"data_viewer.message.fetch_data_failed_detail": "获取数据失败:{{detail}}",
|
||
"data_viewer.message.total_count_failed": "统计总数失败",
|
||
"data_viewer.message.total_count_failed_detail": "统计总数失败:{{detail}}",
|
||
"data_viewer.message.total_count_parse_failed": "统计结果解析失败",
|
||
"data_viewer.message.mongo_filter_invalid_detail": "Mongo 筛选条件无效:{{detail}}",
|
||
"data_viewer.message.mongo_filter_parse_failed": "解析失败",
|
||
"data_viewer.message.sort_buffer_retry_succeeded": "已自动提升排序缓冲并重试成功。",
|
||
"data_viewer.read_only.reason.mongo_id_missing": "MongoDB 结果集中缺少 _id,无法安全提交修改。",
|
||
"data_viewer.read_only.reason.metadata_unavailable": "无法加载主键/唯一索引元数据,无法安全提交修改。",
|
||
"data_viewer.read_only.reason.index_metadata_unavailable": "无法加载唯一索引元数据,无法安全提交修改。",
|
||
"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.table": "表 {{target}} 保持只读:{{reason}}",
|
||
"data_viewer.read_only.warning.collection": "集合 {{target}} 保持只读:{{reason}}",
|
||
"data_viewer.sql_log.phase.main_query": "主查询",
|
||
"data_viewer.sql_log.phase.complex_type_fallback_retry": "复杂类型降级重试",
|
||
"data_viewer.sql_log.phase.sort_buffer_retry": "重试({{size}} sort_buffer)",
|
||
"definition_viewer.object.view": "视图",
|
||
"definition_viewer.object.materialized_view": "物化视图",
|
||
"definition_viewer.object.routine": "函数/存储过程",
|
||
"definition_viewer.object.event": "事件",
|
||
"definition_viewer.loading.view_definition": "加载视图定义...",
|
||
"definition_viewer.loading.routine_definition": "加载函数/存储过程定义...",
|
||
"definition_viewer.loading.event_definition": "加载事件定义...",
|
||
"definition_viewer.error.load_failed": "加载失败",
|
||
"definition_viewer.error.connection_not_found": "未找到数据库连接",
|
||
"definition_viewer.error.view_name_empty": "视图名称为空",
|
||
"definition_viewer.error.event_name_empty": "事件名称为空",
|
||
"definition_viewer.error.routine_name_empty": "函数/存储过程名称为空",
|
||
"definition_viewer.error.query_failed": "查询定义失败",
|
||
"definition_viewer.error.query_failed_detail": "查询定义失败:{{detail}}",
|
||
"definition_viewer.field.database": "数据库",
|
||
"definition_viewer.field.type": "类型",
|
||
"definition_viewer.editor.unsupported_view_definition": "暂不支持该数据库类型的视图定义查看",
|
||
"definition_viewer.editor.unsupported_sqlite_routine_definition": "SQLite 不支持函数/存储过程定义管理",
|
||
"definition_viewer.editor.unsupported_routine_definition": "暂不支持该数据库类型的函数/存储过程定义查看",
|
||
"definition_viewer.editor.unsupported_event_definition": "暂不支持该数据库类型的事件定义查看",
|
||
"definition_viewer.editor.unsupported_object_definition": "暂不支持该对象定义查看",
|
||
"definition_viewer.editor.view_definition_not_found": "未找到视图定义",
|
||
"definition_viewer.editor.routine_definition_not_found": "未找到函数/存储过程定义",
|
||
"definition_viewer.editor.event_definition_not_found": "未找到事件定义",
|
||
"definition_viewer.editor.object_definition_not_found": "未找到{{object}}定义",
|
||
"definition_viewer.editor.metadata_fallback.header": "当前数据源未返回可执行定义文本,已返回元数据",
|
||
"definition_viewer.editor.metadata_fallback.name_label": "名称",
|
||
"definition_viewer.editor.metadata_fallback.type_label": "类型",
|
||
"definition_viewer.editor.event_fragment_fallback.header": "当前数据源未返回完整 CREATE EVENT 语句,已返回事件定义片段",
|
||
"definition_viewer.editor.sphinx.empty_result": "当前 Sphinx 实例{{version}}未返回{{object}}定义。",
|
||
"definition_viewer.editor.sphinx.compat_queries_hint": "已执行多套兼容查询,可能是版本能力限制或对象类型不支持。",
|
||
"definition_viewer.editor.sphinx.unsupported_query": "当前 Sphinx 实例{{version}}不支持{{object}}定义查询。",
|
||
"definition_viewer.editor.sphinx.failed_message_label": "返回失败信息",
|
||
"definition_viewer.editor.sphinx.failed_message_unknown": "返回失败信息:未知错误",
|
||
"definition_viewer.editor.sphinx.version_suffix": "(版本: {{version}})",
|
||
"trigger_viewer.loading.definition": "加载触发器定义...",
|
||
"trigger_viewer.error.load_failed": "加载失败",
|
||
"trigger_viewer.error.connection_not_found": "未找到数据库连接",
|
||
"trigger_viewer.error.trigger_name_empty": "触发器名称为空",
|
||
"trigger_viewer.error.query_failed": "查询触发器定义失败",
|
||
"trigger_viewer.error.query_failed_detail": "查询触发器定义失败:{{detail}}",
|
||
"trigger_viewer.field.trigger": "触发器",
|
||
"trigger_viewer.field.database": "数据库",
|
||
"trigger_viewer.editor.unsupported.duckdb": "DuckDB 不支持触发器",
|
||
"trigger_viewer.editor.unsupported.tdengine": "TDengine 不支持触发器",
|
||
"trigger_viewer.editor.unsupported.mongodb": "MongoDB 不支持触发器",
|
||
"trigger_viewer.editor.unsupported.generic": "暂不支持该数据库类型的触发器定义查看",
|
||
"trigger_viewer.editor.definition_not_found": "未找到触发器定义",
|
||
"trigger_viewer.editor.sphinx.version_suffix": "(版本: {{version}})",
|
||
"trigger_viewer.editor.sphinx.empty_result": "当前 Sphinx 实例{{version}}未返回触发器定义。",
|
||
"trigger_viewer.editor.sphinx.compat_queries_hint": "已执行多套兼容查询,可能是版本能力限制或对象类型不支持。",
|
||
"trigger_viewer.editor.sphinx.unsupported_query": "当前 Sphinx 实例{{version}}不支持触发器定义查询。",
|
||
"trigger_viewer.editor.sphinx.failed_message_label": "返回失败信息",
|
||
"trigger_viewer.editor.sphinx.failed_message_unknown": "返回失败信息:未知错误",
|
||
"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.preview_panel.no_cell_description": "点击表格中的单元格以预览完整数据",
|
||
"data_grid.preview_panel.no_cell_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.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.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.embedded_designer.title": "设计表({{tableName}})",
|
||
"data_grid.secondary.pending_changes": "未提交 {{count}}",
|
||
"data_grid.secondary.row_count": "{{count}} 行",
|
||
"data_grid.secondary.view_ddl": "查看 DDL",
|
||
"data_grid.row_editor.popup_edit": "弹窗编辑",
|
||
"data_grid.row_editor.title": "编辑行",
|
||
"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_label": "提交事务",
|
||
"data_grid.toolbar.commit_delay.seconds": "{{seconds}} 秒",
|
||
"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": "文本",
|
||
"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.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_created": "索引新增成功",
|
||
"table_designer.message.index_create_sql_unavailable": "无法获取索引创建 SQL",
|
||
"table_designer.message.index_create_sql_placeholder": "索引创建 SQL 暂不可用",
|
||
"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.duckdb.comment_hint": "-- DuckDB 不支持通过 COMMENT ON COLUMN 持久化字段备注,字段 {{column}} 的备注仅保留在设计器预览中。",
|
||
"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.starrocks.table_kind.olap": "OLAP 表",
|
||
"table_designer.starrocks.table_kind.external": "外部表",
|
||
"table_designer.starrocks.key_model.duplicate": "明细键",
|
||
"table_designer.starrocks.key_model.unique": "唯一键",
|
||
"table_designer.starrocks.key_model.aggregate": "聚合键",
|
||
"table_designer.starrocks.placeholder.key_columns": "键列,例如 id, date",
|
||
"table_designer.starrocks.placeholder.partition_clause": "分区子句,例如 PARTITION BY RANGE(date_col)(...)",
|
||
"table_designer.starrocks.distribution.hash": "哈希分布",
|
||
"table_designer.starrocks.distribution.random": "随机分布",
|
||
"table_designer.starrocks.distribution.none": "不设置分布",
|
||
"table_designer.starrocks.placeholder.distribution_columns": "分布列,例如 user_id",
|
||
"table_designer.starrocks.bucket_mode.auto": "自动分桶数",
|
||
"table_designer.starrocks.bucket_mode.number": "固定分桶数",
|
||
"table_designer.starrocks.placeholder.bucket_count": "分桶数",
|
||
"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.drop": "删除变更",
|
||
"table_designer.sql_preview.change.modify": "字段属性变更",
|
||
"table_designer.sql_preview.change.rename": "重命名变更",
|
||
"table_designer.summary.indexes": "索引数:{{count}},索引字段:{{fields}}",
|
||
"table_designer.summary.columns": "{{count}} 个字段",
|
||
"table_designer.status.read_only": "只读",
|
||
"table_designer.title.untitled_table": "未命名表",
|
||
"table_designer.title.default_database": "默认库",
|
||
"table_designer.title.schema_designer": "结构设计器",
|
||
"table_designer.tab.columns": "字段",
|
||
"table_designer.tab.foreign_keys": "外键",
|
||
"table_designer.tab.indexes": "索引",
|
||
"table_designer.tab.triggers": "触发器",
|
||
"table_designer.table_comment.current": "当前备注:{{comment}}",
|
||
"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 语句",
|
||
"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.backend.message.connect_success": "连接成功",
|
||
"redis.backend.message.set_success": "设置成功",
|
||
"redis.backend.message.select_db_success": "切换成功",
|
||
"redis.backend.message.rename_success": "重命名成功",
|
||
"redis.backend.message.delete_success": "删除成功",
|
||
"redis.backend.message.add_success": "添加成功",
|
||
"redis.backend.message.flush_success": "清空成功",
|
||
"redis.backend.error.command_required": "命令不能为空",
|
||
"redis.backend.error.argument_required": "{{name}} 不能为空",
|
||
"redis.backend.error.argument_invalid_type": "{{name}} 类型无效",
|
||
"redis.backend.error.address_required": "Redis 连接地址不能为空",
|
||
"redis.backend.error.node_address_required": "Redis 节点地址不能为空",
|
||
"redis.backend.error.invalid_node_address": "无效 Redis 节点地址:{{address}}",
|
||
"redis.backend.error.invalid_port": "无效 Redis 端口:{{address}}",
|
||
"redis_monitor.action.pause_refresh": "暂停刷新",
|
||
"redis_monitor.action.refresh_now": "立即刷新",
|
||
"redis_monitor.action.resume_refresh": "继续刷新",
|
||
"redis_monitor.chart.clients_keys": "连接信息(客户端与 Keys)",
|
||
"redis_monitor.chart.cpu_usage": "CPU 使用率",
|
||
"redis_monitor.chart.memory": "内存开销",
|
||
"redis_monitor.chart.qps": "请求吞吐(QPS)",
|
||
"redis_monitor.message.fetch_failed": "获取 Redis 信息失败:{{detail}}",
|
||
"redis_monitor.metric.blocked_clients": "阻塞:{{value}}",
|
||
"redis_monitor.metric.clients": "客户端",
|
||
"redis_monitor.metric.days": "天数:{{value}}",
|
||
"redis_monitor.metric.memory_peak": "峰值:{{value}}",
|
||
"redis_monitor.metric.memory_used": "已用内存",
|
||
"redis_monitor.metric.ops": "吞吐(OPS)",
|
||
"redis_monitor.metric.uptime": "运行时间",
|
||
"redis_monitor.series.clients": "客户端",
|
||
"redis_monitor.series.rss_memory": "RSS 内存",
|
||
"redis_monitor.series.system": "系统",
|
||
"redis_monitor.series.total_keys": "Key 总数",
|
||
"redis_monitor.series.used_memory": "已用内存",
|
||
"redis_monitor.series.user": "用户",
|
||
"redis_monitor.server_details.title": "服务器详细参数",
|
||
"redis_monitor.state.connection_not_found": "未找到连接",
|
||
"redis_monitor.title.instance": "Redis 实例监控",
|
||
"redis_viewer.action.add_field": "新增字段",
|
||
"redis_viewer.action.add_list_head": "推入头部",
|
||
"redis_viewer.action.add_list_tail": "推入尾部",
|
||
"redis_viewer.action.add_member": "新增成员",
|
||
"redis_viewer.action.add_stream_entry": "新增条目",
|
||
"redis_viewer.action.clear_group_selection": "清除选择",
|
||
"redis_viewer.action.clear_selection": "清除选择",
|
||
"redis_viewer.action.copy": "复制",
|
||
"redis_viewer.action.copy_key_name": "复制 Key 名称",
|
||
"redis_viewer.action.copy_value": "复制值",
|
||
"redis_viewer.action.delete_key": "删除 Key",
|
||
"redis_viewer.action.delete_selected": "删除选中项({{count}})",
|
||
"redis_viewer.action.edit": "编辑",
|
||
"redis_viewer.action.load_more": "加载更多",
|
||
"redis_viewer.action.new_key": "新建",
|
||
"redis_viewer.action.refresh": "刷新",
|
||
"redis_viewer.action.rename_key": "重命名 Key",
|
||
"redis_viewer.action.select_all_loaded": "全选已加载",
|
||
"redis_viewer.action.select_group": "选择",
|
||
"redis_viewer.action.set_ttl": "设置 TTL",
|
||
"redis_viewer.aria.collapse_group": "折叠分组",
|
||
"redis_viewer.aria.expand_group": "展开分组",
|
||
"redis_viewer.confirm.delete_field": "删除此字段?",
|
||
"redis_viewer.confirm.delete_key": "删除 Key \"{{key}}\"?",
|
||
"redis_viewer.confirm.delete_member": "删除此成员?",
|
||
"redis_viewer.confirm.delete_selected": "删除选中的 {{count}} 个 Key?",
|
||
"redis_viewer.confirm.delete_stream_entry": "删除此 Stream 条目?",
|
||
"redis_viewer.field.field_name": "字段名称",
|
||
"redis_viewer.field.fields_json": "字段 JSON:",
|
||
"redis_viewer.field.key": "Key",
|
||
"redis_viewer.field.member": "成员:",
|
||
"redis_viewer.field.new_key_name": "新 Key 名称",
|
||
"redis_viewer.field.new_score": "新分数:",
|
||
"redis_viewer.field.score": "分数:",
|
||
"redis_viewer.field.stream_id": "ID(可选,默认 *):",
|
||
"redis_viewer.field.ttl_seconds": "TTL(秒)",
|
||
"redis_viewer.field.value": "值",
|
||
"redis_viewer.help.ttl_forever": "-1 表示永不过期",
|
||
"redis_viewer.hint.binary_readonly": "二进制数据无法编辑",
|
||
"redis_viewer.hint.switch_auto_to_edit": "切换到 Auto 模式后编辑",
|
||
"redis_viewer.label.encoding": "编码:{{encoding}}",
|
||
"redis_viewer.label.keys_count": "{{count}} 个 Key",
|
||
"redis_viewer.label.node_count": "{{count}} 个节点",
|
||
"redis_viewer.label.length": "长度:{{count}}",
|
||
"redis_viewer.label.original_key": "原 Key:{{key}}",
|
||
"redis_viewer.message.add_failed": "新增失败:{{detail}}",
|
||
"redis_viewer.message.add_success": "已新增",
|
||
"redis_viewer.message.add_success_with_id": "已新增 {{id}}",
|
||
"redis_viewer.message.copied": "已复制",
|
||
"redis_viewer.message.copy_failed": "复制失败",
|
||
"redis_viewer.message.create_failed": "创建失败:{{detail}}",
|
||
"redis_viewer.message.create_success": "已创建",
|
||
"redis_viewer.message.delete_failed": "删除失败:{{detail}}",
|
||
"redis_viewer.message.delete_success": "已删除",
|
||
"redis_viewer.message.deleted_keys": "已删除 {{count}} 个 Key",
|
||
"redis_viewer.message.fields_json_invalid": "字段 JSON 无效",
|
||
"redis_viewer.message.fields_must_be_json_object": "字段必须是 JSON 对象",
|
||
"redis_viewer.message.fields_required": "请至少提供一个字段",
|
||
"redis_viewer.message.key_check_failed": "检查目标 Key 失败:{{detail}}",
|
||
"redis_viewer.message.key_missing_removed": "Key 不再存在或已过期,已从列表中移除",
|
||
"redis_viewer.message.key_name_copied": "Key 名称已复制",
|
||
"redis_viewer.message.load_keys_failed": "加载 Key 失败:{{detail}}",
|
||
"redis_viewer.message.new_key_name_required": "请输入新的 Key 名称",
|
||
"redis_viewer.message.rename_failed": "重命名失败:{{detail}}",
|
||
"redis_viewer.message.rename_same_key": "新的 Key 名称必须与原名称不同",
|
||
"redis_viewer.message.rename_success": "Key 已重命名",
|
||
"redis_viewer.message.save_failed": "保存失败:{{detail}}",
|
||
"redis_viewer.message.save_success": "已保存",
|
||
"redis_viewer.message.set_failed": "设置失败:{{detail}}",
|
||
"redis_viewer.message.stream_entry_not_deleted": "未删除任何 Stream 条目,可能已不存在",
|
||
"redis_viewer.message.target_key_exists": "目标 Key 已存在:{{key}}",
|
||
"redis_viewer.message.ttl_set_success": "TTL 已更新",
|
||
"redis_viewer.message.update_failed": "更新失败:{{detail}}",
|
||
"redis_viewer.message.update_success": "已更新",
|
||
"redis_viewer.message.value_load_failed": "获取值失败:{{detail}}",
|
||
"redis_viewer.modal.add_element": "新增元素",
|
||
"redis_viewer.modal.add_element_head": "向头部新增元素",
|
||
"redis_viewer.modal.add_field": "新增字段",
|
||
"redis_viewer.modal.add_member": "新增成员",
|
||
"redis_viewer.modal.add_stream_entry": "新增 Stream 条目",
|
||
"redis_viewer.modal.edit_field": "编辑字段:{{field}}",
|
||
"redis_viewer.modal.edit_index": "编辑索引 {{index}}",
|
||
"redis_viewer.modal.edit_value": "编辑值",
|
||
"redis_viewer.modal.new_key": "新建 Key",
|
||
"redis_viewer.modal.rename_key": "重命名 Key",
|
||
"redis_viewer.modal.set_ttl": "设置 TTL",
|
||
"redis_viewer.modal.update_score": "更新分数",
|
||
"redis_viewer.notice.large_keyspace_mode": "大 Keyspace 性能模式已启用。节点渲染已简化,最多保留 {{count}} 个展开分组。",
|
||
"redis_viewer.placeholder.key_name": "Key 名称",
|
||
"redis_viewer.placeholder.member_value": "输入成员值",
|
||
"redis_viewer.placeholder.new_element_value": "输入新元素值",
|
||
"redis_viewer.placeholder.new_key_name": "new:key:name",
|
||
"redis_viewer.placeholder.new_member_value": "输入新成员值",
|
||
"redis_viewer.placeholder.search_exact": "输入完整 Key 或命名空间进行精确搜索",
|
||
"redis_viewer.placeholder.search_fuzzy": "搜索 Key(模糊匹配)",
|
||
"redis_viewer.placeholder.stream_id": "例如:* 或 1723110000000-0",
|
||
"redis_viewer.placeholder.value": "值",
|
||
"redis_viewer.search.exact": "精确",
|
||
"redis_viewer.search.fuzzy": "模糊",
|
||
"redis_viewer.topology.cluster": "Cluster",
|
||
"redis_viewer.topology.sentinel": "Sentinel",
|
||
"redis_viewer.topology.single": "单机",
|
||
"redis_viewer.state.connection_not_found": "未找到连接",
|
||
"redis_viewer.state.empty_selection": "选择一个 Key 查看详情",
|
||
"redis_viewer.table.action": "操作",
|
||
"redis_viewer.table.field": "字段",
|
||
"redis_viewer.table.fields": "字段",
|
||
"redis_viewer.table.index": "索引",
|
||
"redis_viewer.table.member": "成员",
|
||
"redis_viewer.table.score": "分数",
|
||
"redis_viewer.table.value": "值",
|
||
"redis_viewer.title.active_key": "当前 Key",
|
||
"redis_viewer.title.key_explorer": "Key 浏览器",
|
||
"redis_viewer.title.namespace_key": "命名空间 / Key",
|
||
"redis_viewer.title.type_ttl": "类型 / TTL",
|
||
"redis_viewer.tooltip.copy_fields_json": "复制字段 JSON",
|
||
"redis_viewer.tooltip.copy_id": "复制 ID",
|
||
"redis_viewer.tooltip.copy_key_name": "复制 Key 名称",
|
||
"redis_viewer.tooltip.copy_value": "复制值",
|
||
"redis_viewer.tooltip.resize_panels": "拖动调整大小",
|
||
"redis_viewer.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": "查看模式",
|
||
"ai_chat.header.default_session_title": "新对话",
|
||
"ai_chat.header.export_time": "导出时间:",
|
||
"ai_chat.header.export_user": "你",
|
||
"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.header.session.connected": "{{title}} · 已连接",
|
||
"ai_chat.header.mode_tabs.aria_label": "AI 工作模式",
|
||
"ai_chat.header.mode.chat": "对话",
|
||
"ai_chat.header.mode.insights": "自动洞察",
|
||
"ai_chat.header.mode.history": "历史",
|
||
"ai_chat.header.action.export": "导出",
|
||
"ai_chat.history.action.new_chat": "开启新对话",
|
||
"ai_chat.history.default_session_title": "新对话",
|
||
"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.welcome.description.default": "我是你的智能数据库助手。我可以帮你生成 SQL 查询、分析表结构、解释执行逻辑以及优化数据库性能。",
|
||
"ai_chat.welcome.description.with_context": "已自动关联 {{count}} 张表结构,点击下方按钮快速开始分析。",
|
||
"ai_chat.welcome.title": "你好,我是 GoNavi AI",
|
||
"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.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.input.action.send": "发送",
|
||
"ai_chat.input.action.stop": "停止生成",
|
||
"ai_chat.input.context.connection_tooltip": "当前数据查询上下文",
|
||
"ai_chat.input.context.memory_tooltip": "当前会话记忆已用字符。达到 {{limit}} 限制时将触发自动压缩。",
|
||
"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_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": "输入消息...(Enter 发送,Shift+Enter 换行,/ 快捷命令)",
|
||
"ai_chat.input.slash.diff.desc": "对比两表差异生成变更",
|
||
"ai_chat.input.slash.diff.label": "🔄 表对比",
|
||
"ai_chat.input.slash.diff.prompt": "请对比以下两张表的结构差异,并生成从旧版本迁移到新版本的 ALTER 语句:",
|
||
"ai_chat.input.slash.explain.desc": "解释选中 SQL 的逻辑",
|
||
"ai_chat.input.slash.explain.label": "💡 解释 SQL",
|
||
"ai_chat.input.slash.explain.prompt": "请解释以下 SQL 的执行逻辑和每一步的作用:\n```sql\n\n```",
|
||
"ai_chat.input.slash.index.desc": "推荐最优索引方案",
|
||
"ai_chat.input.slash.index.label": "📊 索引建议",
|
||
"ai_chat.input.slash.index.prompt": "请基于当前表结构和常见查询场景,推荐最优的索引方案并给出建表语句:",
|
||
"ai_chat.input.slash.mock.desc": "生成 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.label": "⚡ 优化分析",
|
||
"ai_chat.input.slash.optimize.prompt": "请分析以下 SQL 的性能问题,并给出优化后的版本:\n```sql\n\n```",
|
||
"ai_chat.input.slash.query.desc": "用自然语言描述你想查什么",
|
||
"ai_chat.input.slash.query.label": "🔍 自然语言查询",
|
||
"ai_chat.input.slash.query.prompt": "帮我写一条 SQL 查询:",
|
||
"ai_chat.input.slash.schema.desc": "评审表结构设计质量",
|
||
"ai_chat.input.slash.schema.label": "🏗️ 表设计评审",
|
||
"ai_chat.input.slash.schema.prompt": "请全面评审当前关联表的设计,包括字段类型、范式、索引策略等方面的改进建议:",
|
||
"ai_chat.input.slash.sql.desc": "描述需求自动生成语句",
|
||
"ai_chat.input.slash.sql.label": "📝 生成 SQL",
|
||
"ai_chat.input.slash.sql.prompt": "请根据以下需求生成 SQL:",
|
||
"ai_chat.input.tooltip.attach_table_context": "关联附带数据库表上下文",
|
||
"ai_chat.input.tooltip.upload_image": "上传图片/截图",
|
||
"ai_chat.tools.mcp_fallback_description": "{{serverName}} 提供的 MCP 工具 {{toolName}}",
|
||
"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.message.action.copy_full": "复制全文",
|
||
"ai_chat.message.action.copied": "已复制",
|
||
"ai_chat.message.action.delete": "删除单条消息",
|
||
"ai_chat.message.action.edit": "编辑此条消息(移除其后所有记录并重新发送)",
|
||
"ai_chat.message.action.retry": "重新生成(移除此条并触发上次用户输入重发)",
|
||
"ai_chat.message.action.copy_error_raw": "复制报错原文",
|
||
"ai_chat.message.action.copied_error_raw": "已复制报错原文",
|
||
"ai_chat.message.role.user": "你",
|
||
"ai_chat.message.image_alt": "附件图片 {{index}}",
|
||
"ai_chat.message.code.copy": "复制代码",
|
||
"ai_chat.message.code.copied": "已复制",
|
||
"ai_chat.message.code.insert": "插入",
|
||
"ai_chat.message.code.insert_tooltip": "将该段 SQL 注入查询工作区(可快捷修改或执行)",
|
||
"ai_chat.message.code.execute": "执行",
|
||
"ai_chat.message.code.execute_tooltip": "立即执行(受 AI 安全策略管控)",
|
||
"ai_chat.message.code.executing": "执行中...",
|
||
"ai_chat.message.code.preview": "预览",
|
||
"ai_chat.message.code.preview_tooltip": "在聊天内预览查询结果(最多 20 行)",
|
||
"ai_chat.message.code.expand_all": "展开全部代码",
|
||
"ai_chat.message.code.collapse": "收起代码",
|
||
"ai_chat.message.code.preview_result": "预览结果({{rows}} 行 × {{columns}} 列)",
|
||
"ai_chat.message.code.preview_collapse": "收起",
|
||
"ai_chat.message.code.view_result": "查看结果({{rows}} 行)",
|
||
"ai_chat.message.code.query_no_result": "查询无结果",
|
||
"ai_chat.message.code.execute_failed": "执行失败",
|
||
"ai_chat.message.security.blocked": "🔒 安全策略拦截:当前安全级别不允许执行 {{operationType}} 类型的 SQL。请在 AI 设置中调整安全级别。",
|
||
"ai_chat.message.security.confirm_title": "⚠️ 安全确认",
|
||
"ai_chat.message.security.default_warning": "此 SQL 为 {{operationType}} 操作,确定要执行吗?",
|
||
"ai_chat.message.security.confirm_execute": "确认执行",
|
||
"ai_chat.message.thinking.title": "思考过程",
|
||
"ai_chat.message.thinking.active": "思考中...",
|
||
"ai_chat.message.thinking.count": "({{count}} 字)",
|
||
"ai_chat.message.tool_result.title": "探针执行结果 ({{name}})",
|
||
"ai_chat.message.tool_result.char_count": "{{count}} 个字符",
|
||
"ai_chat.message.tool_result.no_data": "无数据",
|
||
"ai_chat.message.tool_call.get_connections": "获取可用连接信息",
|
||
"ai_chat.message.tool_call.get_databases": "扫描数据库列表",
|
||
"ai_chat.message.tool_call.get_tables": "分析表结构信息",
|
||
"ai_chat.message.tool_call.get_columns": "读取字段列表",
|
||
"ai_chat.message.tool_call.get_table_ddl": "读取建表语句",
|
||
"ai_chat.message.tool_call.execute_sql": "执行 SQL 查询",
|
||
"ai_chat.message.tool_call.running": "正在执行数据探针...",
|
||
"ai_chat.message.tool_call.done": "数据探针执行完毕 ({{count}} 项)",
|
||
"ai_chat.message.wait.connecting": "正在建立连接",
|
||
"ai_chat.message.jvm.apply_preview": "应用到 JVM 预览",
|
||
"ai_chat.message.jvm.apply_diagnostic": "应用到诊断控制台",
|
||
"ai_chat.message.jvm.missing_plan_context": "这条 JVM 计划缺少来源页签上下文,请在目标 JVM 资源页重新生成。",
|
||
"ai_chat.message.jvm.plan_target_not_found": "未找到与该 JVM 计划匹配的资源页签,请先打开原目标资源后再应用。",
|
||
"ai_chat.message.jvm.missing_diagnostic_context": "这条诊断计划缺少来源页签上下文,请在目标诊断控制台重新生成。",
|
||
"ai_chat.message.jvm.diagnostic_target_not_found": "未找到与该诊断计划匹配的诊断控制台页签,请先打开原目标控制台后再应用。",
|
||
"ai_chat.message.mermaid.parse_failed": "Mermaid 解析失败:{{detail}}",
|
||
"ai_chat.message.mermaid.render_failed": "Mermaid 渲染异常:{{detail}}",
|
||
"ai_chat.panel.history.empty": "暂无历史会话",
|
||
"ai_chat.panel.insight.context.linked_title": "已关联 {{count}} 张表",
|
||
"ai_chat.panel.insight.context.empty_title": "尚未关联表结构",
|
||
"ai_chat.panel.insight.context.linked_body": "当前对话会带上 {{tables}} 的结构上下文。",
|
||
"ai_chat.panel.insight.context.empty_body": "在表页打开 AI 后会自动关联当前表,也可以在输入框上方手动添加上下文。",
|
||
"ai_chat.panel.insight.context.table_separator": "、",
|
||
"ai_chat.panel.insight.context.more_tables_suffix": " 等表",
|
||
"ai_chat.panel.insight.query.slowest_title": "最近最慢查询 {{duration}}ms",
|
||
"ai_chat.panel.insight.query.empty_title": "暂无查询耗时样本",
|
||
"ai_chat.panel.insight.query.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.status.empty_body": "暂无 SQL 日志。",
|
||
"ai_chat.panel.insight.write.detected_title": "检测到 {{count}} 条写操作",
|
||
"ai_chat.panel.insight.write.readonly_title": "当前以只读分析为主",
|
||
"ai_chat.panel.insight.write.detected_body": "涉及写入的 SQL 建议先生成预览与回滚语句,再执行提交。",
|
||
"ai_chat.panel.insight.write.readonly_body": "AI 默认优先解释、生成 SELECT、分析 Schema 与优化索引。",
|
||
"ai_chat.panel.render_error.title": "这条 AI 消息渲染失败,已自动隔离",
|
||
"ai_chat.panel.render_error.description": "其余对话仍可继续使用。你可以先删除这条异常消息,再继续操作。",
|
||
"ai_chat.panel.render_error.unknown": "未知渲染错误",
|
||
"ai_chat.panel.render_error.retry": "重试渲染",
|
||
"ai_chat.panel.render_error.delete": "删除这条消息",
|
||
"ai_chat.panel.status.memory_compressing": "⚙️ 对话已超载,正在启动记忆压缩...",
|
||
"ai_chat.panel.status.memory_compress_failed": "❌ 记忆压缩失败,将尝试原样接续...",
|
||
"ai_chat.panel.status.memory_summary": "【自动记忆重塑】已将超长历史压缩为摘要:\n\n{{summary}}",
|
||
"ai_chat.panel.status.memory_probe_summary": "【自动记忆重塑】已将超长历史探针数据和对话压缩为摘要:\n\n{{summary}}",
|
||
"ai_chat.panel.prompt.memory_summary": "这是一段超长对话的历史记录。为了释放上下文空间同时保留你的记忆核心,请你仔细阅读并以“技术事实、已探索出的数据结构状态、用户的中心诉求、当前进展”为准则,进行高度浓缩的结构化总结。\n注意:\n1. 客观准确,不能遗漏关键业务逻辑或探索出的表名/字段。\n2. 剔除无效执行过程、客套话、JSON 返回值本身。\n3. 请控制在 1000-2000 字左右,输出纯干货 Markdown。\n4. 开头直接输出总结,不要带寒暄。",
|
||
"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.jvm_diagnostic.policy.read_only": "默认按只读诊断思路回答,只生成 observe、trace、排障命令,不要假设已经执行。",
|
||
"ai_chat.panel.jvm_diagnostic.policy.plan_first": "允许生成诊断命令,但仍然必须先给计划,再由用户决定是否执行。",
|
||
"ai_chat.panel.jvm_diagnostic.permission.allowed": "允许",
|
||
"ai_chat.panel.jvm_diagnostic.permission.forbidden": "禁止",
|
||
"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.jvm_runtime.policy.read_only": "只读连接,只能分析和生成变更计划,绝不能假设已执行写入。",
|
||
"ai_chat.panel.jvm_runtime.policy.preview_required": "可写连接,但任何修改都必须先生成预览并等待人工确认。",
|
||
"ai_chat.panel.jvm_runtime.resource_path.current": "当前 resourcePath:{{resourcePath}}",
|
||
"ai_chat.panel.jvm_runtime.resource_path.missing": "当前未选中具体 resourcePath。",
|
||
"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_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.prompt.sql.no_connections": "你是一个专业的数据库助手。当前应用中没有可用数据库连接。\n\n如果用户的问题需要数据库结构或 SQL,请先说明无法调用 get_connections、get_databases、get_tables、get_columns 获取真实数据库信息,并引导用户创建连接后重试。不要猜测 connectionId、dbName、表名或字段名。\n\n如果是常规问答(不涉及数据库查询)则正常作答即可。",
|
||
"ai_chat.panel.model_control.force_tool_call": "请直接使用 function call 调用工具执行操作,不要只用文字描述计划。",
|
||
"ai_chat.panel.model_control.continue_after_summary": "请根据上述最新状态与探索结果,继续完成你先前未竟的分析或执行下一步。",
|
||
"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_tables.description": "当已经确定了目标连接和 dbName 后,如果用户询问或隐式提到了表但你不知道确切 tableName,调用此工具获取该数据库下的所有表名列表(只含表名,帮助你推断目标表)。",
|
||
"ai_chat.panel.local_tool.get_columns.description": "获取指定表的 field 列表(field 名、类型、是否可空、默认值、注释等)。在生成 SQL 之前必须先调用此工具确认真实 field 名,禁止猜测 field 名。",
|
||
"ai_chat.panel.local_tool.get_table_ddl.description": "获取指定表的完整 CREATE TABLE DDL,包含 field、索引、约束等完整结构信息。",
|
||
"ai_chat.panel.local_tool.execute_sql.description": "在指定连接和数据库上执行 SQL 查询并返回结果。受安全级别控制,只读模式下只能执行 SELECT/SHOW/DESCRIBE 等查询操作。结果最多返回 50 行。",
|
||
"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.table_name": "tableName(表名)",
|
||
"ai_chat.panel.local_tool.param.sql": "要执行的 SQL 语句",
|
||
"ai_chat.panel.tool_error.connection_not_found": "未找到连接",
|
||
"ai_chat.panel.tool_error.unknown_function": "未知函数:{{functionName}}",
|
||
"ai_chat.panel.tool_error.fetch_databases_failed": "获取数据库列表失败:{{detail}}",
|
||
"ai_chat.panel.tool_error.fetch_tables_failed": "获取表列表失败:{{detail}}",
|
||
"ai_chat.panel.tool_result.columns_exact_fields": "⚠️ 以下为 {{tableName}} 表的真实字段列表。生成 SQL 时只能使用这些 field 值作为列名,必须原样使用,禁止修改、缩写或自行拼凑字段名。\n可用字段:{{fieldNames}}\n详细信息:{{detailJson}}",
|
||
"ai_chat.panel.tool_error.fetch_columns_failed": "获取字段列表失败:{{detail}}",
|
||
"ai_chat.panel.tool_error.fetch_table_ddl_failed": "获取 CREATE TABLE 语句失败:{{detail}}",
|
||
"ai_chat.panel.tool_error.sql_blocked": "安全策略已拦截此请求:当前安全级别不允许执行 {{operationType}} SQL。请向用户展示该 SQL,并请用户手动执行。",
|
||
"ai_chat.panel.tool_error.sql_execute_failed": "SQL 执行失败",
|
||
"ai_chat.panel.tool_error.sql_execute_exception": "SQL 执行异常:{{detail}}",
|
||
"ai_chat.panel.error.unknown": "未知错误",
|
||
"ai_chat.panel.error.http_server": "HTTP {{code}} 服务端错误",
|
||
"ai_chat.panel.error.html_response": "服务端返回了异常 HTML 响应(可能是网关超时或服务不可用)",
|
||
"ai_chat.panel.error.truncated_suffix": "...(已截断)",
|
||
"ai_chat.panel.notice.fetch_models_failed": "获取模型列表失败:{{detail}}",
|
||
"ai_chat.panel.message.error": "❌ 错误: {{detail}}",
|
||
"ai_chat.panel.message.empty_response": "❌ 模型未能成功响应任何内容,可能遭遇频控、上下文超载或理解拒绝。",
|
||
"ai_chat.panel.message.request_interrupted": "❌ 请求中断:未收到任何具体回复。",
|
||
"ai_chat.panel.message.service_not_ready": "❌ AI Service 未就绪",
|
||
"ai_chat.panel.message.send_failed": "❌ 发送失败: {{detail}}",
|
||
"ai_chat.panel.probe.max_rounds": "⚠️ 工具调用已达 {{count}} 轮上限,自动终止循环。如需继续探索,请发送新的消息。",
|
||
"ai_chat.panel.probe.consecutive_failed": "⚠️ 探针连续 3 轮执行失败,自动终止。请检查连接状态后重试。",
|
||
"ai_chat.panel.status.summarizing_probe": "汇总探针执行结果中",
|
||
"ai_chat.panel.status.returning_runtime_data": "向模型回传运行时数据",
|
||
"ai_chat.panel.status.deep_reasoning": "模型大脑深度推理中",
|
||
"ai_chat.panel.status.waiting_instruction": "等待下发操作指令",
|
||
"ai_chat.panel.status.analyzing_chain": "正在深度思考链路与逻辑",
|
||
"ai_chat.panel.status.model_connecting": "模型接入中",
|
||
"ai_chat.panel.status.waking_engine": "唤醒推理引擎中",
|
||
"ai_chat.panel.status.waiting_response": "等待模型响应",
|
||
"ai_chat.panel.session.default_title": "新对话",
|
||
"ai_settings.title": "AI 设置",
|
||
"ai_settings.subtitle": "配置 AI 模型、安全级别和上下文选项",
|
||
"ai_settings.nav.title": "设置导航",
|
||
"ai_settings.nav.providers.title": "模型供应商",
|
||
"ai_settings.nav.providers.description": "配置大模型接口与密钥",
|
||
"ai_settings.nav.safety.title": "安全控制",
|
||
"ai_settings.nav.safety.description": "限制 AI 操作风险级别",
|
||
"ai_settings.nav.context.title": "上下文",
|
||
"ai_settings.nav.context.description": "配置携带的数据库架构信息",
|
||
"ai_settings.nav.tools.title": "内置工具",
|
||
"ai_settings.nav.tools.description": "查看 AI 可调用的数据探针",
|
||
"ai_settings.nav.prompts.title": "内置提示词",
|
||
"ai_settings.nav.prompts.description": "查看系统预设的底层要求",
|
||
"ai_settings.provider.empty.title": "暂未配置模型供应商",
|
||
"ai_settings.provider.empty.description": "添加一个以开始使用 AI 助手",
|
||
"ai_settings.provider.no_model": "未选择模型",
|
||
"ai_settings.provider.next_provider": "下一个供应商",
|
||
"ai_settings.provider.action.add": "添加模型供应商",
|
||
"ai_settings.provider.action.edit": "编辑",
|
||
"ai_settings.provider.action.delete": "删除",
|
||
"ai_settings.provider.confirm_delete": "确认删除?",
|
||
"ai_settings.provider.editor.add_title": "添加模型供应商",
|
||
"ai_settings.provider.editor.edit_title": "编辑模型供应商",
|
||
"ai_settings.provider_preset.openai.label": "OpenAI",
|
||
"ai_settings.provider_preset.openai.desc": "GPT-5.4 / 5.3 系列",
|
||
"ai_settings.provider_preset.deepseek.label": "DeepSeek",
|
||
"ai_settings.provider_preset.deepseek.desc": "DeepSeek-V4 / R1 模型",
|
||
"ai_settings.provider_preset.qwen_bailian.label": "通义千问(百炼通用)",
|
||
"ai_settings.provider_preset.qwen_bailian.desc": "百炼 Anthropic 兼容端点 / 模型从远端拉取",
|
||
"ai_settings.provider_preset.qwen_coding_plan.label": "通义千问(Coding Plan)",
|
||
"ai_settings.provider_preset.qwen_coding_plan.desc": "Claude Code CLI 代理链路 / 使用官方支持模型清单",
|
||
"ai_settings.provider_preset.zhipu.label": "智谱 GLM",
|
||
"ai_settings.provider_preset.zhipu.desc": "GLM-5 / GLM-5-Turbo 模型",
|
||
"ai_settings.provider_preset.moonshot.label": "Kimi",
|
||
"ai_settings.provider_preset.moonshot.desc": "Kimi K2.5(Anthropic 兼容)",
|
||
"ai_settings.provider_preset.anthropic.label": "Claude",
|
||
"ai_settings.provider_preset.anthropic.desc": "Claude Opus/Sonnet 模型",
|
||
"ai_settings.provider_preset.gemini.label": "Gemini",
|
||
"ai_settings.provider_preset.gemini.desc": "Gemini 3.1 / 2.5 系列",
|
||
"ai_settings.provider_preset.volcengine_ark.label": "火山方舟",
|
||
"ai_settings.provider_preset.volcengine_ark.desc": "Ark 通用推理 / 豆包模型",
|
||
"ai_settings.provider_preset.volcengine_coding.label": "火山 Coding Plan",
|
||
"ai_settings.provider_preset.volcengine_coding.desc": "Ark Code / Coding Plan 链路",
|
||
"ai_settings.provider_preset.minimax.label": "MiniMax",
|
||
"ai_settings.provider_preset.minimax.desc": "M2.7 / M2.5 系列(Anthropic 兼容)",
|
||
"ai_settings.provider_preset.ollama.label": "Ollama",
|
||
"ai_settings.provider_preset.ollama.desc": "本地部署开源模型",
|
||
"ai_settings.provider_preset.custom.label": "自定义",
|
||
"ai_settings.provider_preset.custom.desc": "自定义 API 端点",
|
||
"ai_settings.form.section.service_type": "服务类型",
|
||
"ai_settings.form.section.basic": "基本信息",
|
||
"ai_settings.form.section.auth_connection": "认证与连接",
|
||
"ai_settings.form.provider_name": "供应商名称",
|
||
"ai_settings.form.provider_name_required": "请输入名称",
|
||
"ai_settings.form.provider_name_placeholder": "例如:我的自建 OpenAI / 专属大模型",
|
||
"ai_settings.form.api_format": "API 格式",
|
||
"ai_settings.form.model_list": "可用模型列表(可选配置)",
|
||
"ai_settings.form.model_list_placeholder": "配置指定的模型 ID,留空则默认从服务端拉取",
|
||
"ai_settings.form.api_key": "API Key",
|
||
"ai_settings.form.api_key_required": "请输入 API Key",
|
||
"ai_settings.form.api_key_keep_placeholder": "留空表示继续沿用已保存密钥",
|
||
"ai_settings.form.api_key_placeholder": "sk-... / 你的 API Key",
|
||
"ai_settings.form.api_key_saved_hint": "当前已保存 API Key。留空表示继续沿用,输入新值表示替换。",
|
||
"ai_settings.form.clear_saved_api_key": "清除已保存 API Key",
|
||
"ai_settings.form.api_endpoint": "API Endpoint (URL)",
|
||
"ai_settings.form.api_endpoint_required": "请输入有效的接口地址",
|
||
"ai_settings.action.back": "返回",
|
||
"ai_settings.action.save": "保存",
|
||
"ai_settings.action.test": "测试连接",
|
||
"ai_settings.action.retest": "重新测试",
|
||
"ai_settings.action.connection_ok": "连接正常",
|
||
"ai_settings.message.deleted": "已删除",
|
||
"ai_settings.message.deleted_and_switched": "已删除,自动切换到「{{name}}」",
|
||
"ai_settings.message.delete_failed": "删除失败",
|
||
"ai_settings.message.delete_failed_detail": "删除失败:{{detail}}",
|
||
"ai_settings.message.saved": "已保存",
|
||
"ai_settings.message.save_failed": "保存失败",
|
||
"ai_settings.message.save_failed_detail": "保存失败:{{detail}}",
|
||
"ai_settings.message.switched": "已切换",
|
||
"ai_settings.message.switch_failed": "切换失败",
|
||
"ai_settings.message.switch_failed_detail": "切换失败:{{detail}}",
|
||
"ai_settings.message.test_requires_new_api_key": "测试连接前请填写新的 API Key,或取消清除已保存密钥",
|
||
"ai_settings.message.test_success": "连接成功",
|
||
"ai_settings.message.test_failed": "测试失败",
|
||
"ai_settings.message.test_failed_detail": "测试失败:{{detail}}",
|
||
"ai_settings.message.unknown_error": "未知错误",
|
||
"ai_settings.safety.description": "控制 AI 可执行的 SQL 操作类型,保护数据安全",
|
||
"ai_settings.safety.readonly.label": "只读模式",
|
||
"ai_settings.safety.readonly.desc": "AI 仅可执行 SELECT 等查询操作,最安全。",
|
||
"ai_settings.safety.readwrite.label": "读写模式",
|
||
"ai_settings.safety.readwrite.desc": "AI 可执行 INSERT/UPDATE/DELETE,危险操作需二次确认。",
|
||
"ai_settings.safety.full.label": "完全模式",
|
||
"ai_settings.safety.full.desc": "AI 可执行所有操作(含 DDL),高危操作自动告警。",
|
||
"ai_settings.context.description": "控制发送给 AI 的数据库上下文信息量",
|
||
"ai_settings.context.schema_only.label": "仅结构",
|
||
"ai_settings.context.schema_only.desc": "只传递表和列结构信息给 AI",
|
||
"ai_settings.context.with_samples.label": "含采样数据",
|
||
"ai_settings.context.with_samples.desc": "包含少量采样数据,帮助 AI 理解数据特征",
|
||
"ai_settings.context.with_results.label": "含查询结果",
|
||
"ai_settings.context.with_results.desc": "传递最近的查询结果作为上下文",
|
||
"ai_settings.prompts.description": "以下为当前版本 GoNavi 预设的底层 AI 提示词(只读)。它们会被动态注入到对应场景的请求上下文中。",
|
||
"ai_settings.prompts.message.saved": "自定义提示词已保存",
|
||
"ai_settings.prompts.message.save_failed": "保存自定义提示词失败",
|
||
"ai_settings.mcp_server.message.saved": "MCP 服务已保存",
|
||
"ai_settings.mcp_server.message.save_failed": "保存 MCP 服务失败",
|
||
"ai_settings.mcp_server.message.deleted": "MCP 服务已删除",
|
||
"ai_settings.mcp_server.message.delete_failed": "删除 MCP 服务失败",
|
||
"ai_settings.mcp_server.message.test_success": "MCP 服务连接成功",
|
||
"ai_settings.mcp_server.message.test_failed": "MCP 服务测试失败",
|
||
"ai_settings.mcp_server.message.test_request_failed": "测试 MCP 服务失败",
|
||
"ai_settings.clipboard.error.unsupported": "当前环境不支持复制到剪贴板",
|
||
"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.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_unavailable": "当前没有可复制的 MCP HTTP URL",
|
||
"ai_settings.mcp_http.message.url_copied": "MCP HTTP URL 已复制",
|
||
"ai_settings.mcp_http.message.authorization_header_required": "请先启动 MCP HTTP 服务生成 Authorization Header",
|
||
"ai_settings.mcp_http.message.authorization_header_copied": "Authorization Header 已复制",
|
||
"ai_settings.mcp_http.status.not_running": "GoNavi MCP HTTP 服务未启动",
|
||
"ai_settings.skill.message.saved": "Skill 已保存",
|
||
"ai_settings.skill.message.save_failed": "保存 Skill 失败",
|
||
"ai_settings.skill.message.deleted": "Skill 已删除",
|
||
"ai_settings.skill.message.delete_failed": "删除 Skill 失败",
|
||
"ai_settings.tools.description": "AI 助手在处理数据库相关问题时,可以自动调用以下内置工具获取真实数据,全程无需人工干预。",
|
||
"ai_settings.tools.workflow": "💡 工作流程:get_connections → get_databases → get_tables → get_columns → 生成 SQL",
|
||
"ai_settings.tools.params_label": "参数:",
|
||
"ai_settings.tools.builtin_tool_label": "内置工具",
|
||
"ai_settings.tools.search.aria_label": "搜索内置工具",
|
||
"ai_settings.tools.search.placeholder": "搜索工具、流程或参数,例如 mcp / lineLimit / allowMutating / 事务",
|
||
"ai_settings.tools.search.clear": "清除",
|
||
"ai_settings.tools.summary": "当前显示 {{flowVisible}}/{{flowTotal}} 条推荐流程,{{toolVisible}}/{{toolTotal}} 个内置工具。",
|
||
"ai_settings.tools.empty.no_matches": "没有匹配的内置工具。可以改搜更宽泛的关键词,例如 mcp、日志、连接、事务、快捷键、schema。",
|
||
"ai_settings.tools.parameters.hint_title": "参数提示",
|
||
"ai_settings.tools.parameters.type_label": "类型:{{type}}",
|
||
"ai_settings.tools.parameters.required": "必填",
|
||
"ai_settings.tools.parameters.optional": "可选",
|
||
"ai_settings.tools.parameters.enum_values": "可选值:{{values}}",
|
||
"ai_settings.tools.parameters.default_value": "默认:{{value}}",
|
||
"ai_settings.tools.parameters.example": "示例:",
|
||
"ai_settings.tools.params.none": "无参数",
|
||
"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_tables.desc": "获取指定数据库下的所有表名",
|
||
"ai_settings.tools.get_tables.detail": "传入 connectionId 和 dbName,返回表名列表。AI 用它来定位用户提到的目标表。",
|
||
"ai_settings.tools.get_columns.desc": "获取指定表的字段结构",
|
||
"ai_settings.tools.get_columns.detail": "传入 connectionId、dbName 和 tableName,返回每个字段的名称、类型、是否可空、默认值和注释。AI 在生成 SQL 前必须调用此工具确认真实字段名。",
|
||
"ai_settings.tools.get_table_ddl.desc": "获取表的建表语句",
|
||
"ai_settings.tools.get_table_ddl.detail": "传入 connectionId、dbName 和 tableName,返回完整的 CREATE TABLE 语句,包含字段定义、索引、约束等信息。",
|
||
"ai_settings.tools.execute_sql.desc": "执行 SQL 查询并返回结果",
|
||
"ai_settings.tools.execute_sql.detail": "传入 connectionId、dbName 和 sql,在目标数据库上执行 SQL 并返回结果(最多 50 行)。受安全级别控制,只读模式下仅允许 SELECT/SHOW/DESCRIBE。",
|
||
"driver_manager.title": "驱动管理",
|
||
"driver_manager.action.refresh": "刷新",
|
||
"driver_manager.action.network_check": "网络检测",
|
||
"driver_manager.action.close": "关闭",
|
||
"driver_manager.action.open_global_proxy_settings": "打开全局代理设置",
|
||
"driver_manager.action.open_directory": "打开驱动目录",
|
||
"driver_manager.action.import_directory": "导入驱动目录",
|
||
"driver_manager.action.import_package": "导入驱动包",
|
||
"driver_manager.action.install_enable": "安装启用",
|
||
"driver_manager.action.remove": "移除",
|
||
"driver_manager.action.logs": "日志",
|
||
"driver_manager.column.data_source": "数据源",
|
||
"driver_manager.column.package_size": "安装包大小",
|
||
"driver_manager.column.status": "状态",
|
||
"driver_manager.column.progress": "安装进度",
|
||
"driver_manager.column.version": "驱动版本",
|
||
"driver_manager.column.actions": "操作",
|
||
"driver_manager.description.install_required": "除 MySQL / Redis / Oracle / PostgreSQL 外,其他数据源需先安装启用后再连接。",
|
||
"driver_manager.directory_info.title": "驱动目录与复用说明",
|
||
"driver_manager.directory_info.details_label": "查看驱动目录与复用说明",
|
||
"driver_manager.directory_info.reuse_help": "自动下载和手动导入的驱动都会落盘到以下目录;后续版本升级可重复复用已下载驱动。",
|
||
"driver_manager.directory_info.root_dir": "驱动根目录:{{path}}",
|
||
"driver_manager.directory_info.log_file": "运行日志文件:{{path}}",
|
||
"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.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.local_source.file": "文件",
|
||
"driver_manager.local_source.directory": "目录",
|
||
"driver_manager.log.start_auto_install": "开始自动安装",
|
||
"driver_manager.log.done_auto_install": "自动安装完成{{version}}",
|
||
"driver_manager.log.start_local_import": "开始本地导入{{version}}({{source}}):{{path}}",
|
||
"driver_manager.log.done_local_import": "本地导入安装完成{{version}}",
|
||
"driver_manager.log.skip_installed_dedupe": "已检测到驱动已安装,目录导入去重跳过",
|
||
"driver_manager.log.force_overwrite_reinstall": "已启用覆盖已安装模式,执行重装导入",
|
||
"driver_manager.log.skip_slim_build": "当前发行包为精简构建,已跳过目录导入",
|
||
"driver_manager.log.start_remove": "开始移除驱动",
|
||
"driver_manager.log.done_remove": "驱动移除完成",
|
||
"driver_manager.log.progress_line": "【{{status}}】{{message}}({{percent}}%)",
|
||
"driver_manager.log_modal.title": "驱动日志 - {{name}}",
|
||
"driver_manager.log_modal.install_dir": "安装目录:{{path}}",
|
||
"driver_manager.log_modal.executable_path": "驱动可执行文件:{{path}}",
|
||
"driver_manager.log_modal.empty": "当前驱动暂无操作日志。",
|
||
"driver_manager.message.load_status_failed": "拉取驱动状态失败",
|
||
"driver_manager.message.load_status_failed_detail": "拉取驱动状态失败:{{detail}}",
|
||
"driver_manager.message.network_check_failed": "驱动网络检测失败",
|
||
"driver_manager.message.network_check_failed_detail": "驱动网络检测失败:{{detail}}",
|
||
"driver_manager.message.network_check_completed": "驱动网络检测已完成",
|
||
"driver_manager.message.load_version_failed": "{{name}} 版本列表加载失败",
|
||
"driver_manager.message.load_version_failed_detail": "加载 {{name}} 版本列表失败:{{detail}}",
|
||
"driver_manager.message.install_start": "开始安装",
|
||
"driver_manager.message.install_failed": "安装 {{name}} 失败",
|
||
"driver_manager.message.install_failed_detail": "安装 {{name}} 失败:{{detail}}",
|
||
"driver_manager.message.install_success": "{{name}}{{version}} 已安装启用",
|
||
"driver_manager.message.local_path_required": "未选择有效的本地导入{{source}}",
|
||
"driver_manager.message.local_import_start": "开始导入本地驱动包",
|
||
"driver_manager.message.local_import_failed": "导入 {{name}} 本地驱动包失败",
|
||
"driver_manager.message.local_import_failed_detail": "导入 {{name}} 本地驱动包失败:{{detail}}",
|
||
"driver_manager.message.local_import_success": "{{name}}{{version}} 本地驱动包已安装启用",
|
||
"driver_manager.message.select_local_file_failed": "选择本地驱动包文件失败",
|
||
"driver_manager.message.select_local_file_failed_detail": "选择本地驱动包文件失败:{{detail}}",
|
||
"driver_manager.message.local_file_required": "未选择有效的驱动包文件",
|
||
"driver_manager.message.select_local_directory_failed": "选择本地驱动包目录失败",
|
||
"driver_manager.message.select_local_directory_failed_detail": "选择本地驱动包目录失败:{{detail}}",
|
||
"driver_manager.message.local_directory_required": "未选择有效的驱动包目录",
|
||
"driver_manager.message.no_external_drivers_to_import": "当前没有可导入的外置驱动",
|
||
"driver_manager.message.skip.dedupe": "去重跳过 {{count}}",
|
||
"driver_manager.message.skip.slim": "精简版跳过 {{count}}",
|
||
"driver_manager.message.skip_suffix": ",{{items}}",
|
||
"driver_manager.message.overwrite_suffix": "(覆盖已安装)",
|
||
"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.open_directory_failed": "打开驱动目录失败",
|
||
"driver_manager.message.open_directory_failed_detail": "打开驱动目录失败:{{detail}}",
|
||
"driver_manager.message.remove_failed": "移除 {{name}} 失败",
|
||
"driver_manager.message.remove_failed_detail": "移除 {{name}} 失败:{{detail}}",
|
||
"driver_manager.message.remove_success": "{{name}} 已移除",
|
||
"driver_manager.network.alert.download_chain_unreachable": "重要提醒:驱动下载链路域名不可达",
|
||
"driver_manager.network.alert.download_network_unreachable": "重要提醒:驱动下载网络不可达",
|
||
"driver_manager.network.summary.download_chain_unreachable": "GitHub API 可达,但驱动下载资产域名不可达。",
|
||
"driver_manager.network.summary.unreachable_proxy_configured": "检测到部分驱动下载地址不可达,请确认已配置代理有效后重试。",
|
||
"driver_manager.network.summary.proxy_recommended": "检测到部分驱动下载地址不可达,建议先配置 HTTP/HTTPS/SOCKS5 代理后再安装驱动。",
|
||
"driver_manager.network.summary.unreachable": "检测到部分驱动下载地址不可达,请检查网络后重试。",
|
||
"driver_manager.network.summary.reachable_with_proxy": "驱动下载网络已通过当前代理连通。",
|
||
"driver_manager.network.summary.reachable": "驱动下载网络检测通过,可直接安装驱动。",
|
||
"driver_manager.network.chain_alert.description": "当前可能能访问 GitHub 页面,但驱动包下载会跳转到资产域名。请优先在 GoNavi 顶部“代理”中启用全局代理(填写代理应用本地地址和端口)。",
|
||
"driver_manager.network.chain_alert.allow_hosts": "若仍失败,请在代理规则放行:{{hosts}};仍无法调整规则时,再考虑开启 TUN 模式。",
|
||
"driver_manager.network.proxy_env_detected": "检测到代理环境变量:{{keys}}",
|
||
"driver_manager.network.details_label": "查看网络检测明细",
|
||
"driver_manager.network.github_latency": "代理链路到 GitHub 连通性延迟:{{status}}{{latency}}{{detail}}",
|
||
"driver_manager.network.reachable": "可达",
|
||
"driver_manager.network.unreachable": "不可达",
|
||
"driver_manager.network.no_result": "暂无结果",
|
||
"driver_manager.network.latency_value": ",{{latency}}ms",
|
||
"driver_manager.network.error_value": ",{{detail}}",
|
||
"driver_manager.network.no_proxy_env": "未检测到系统代理环境变量。",
|
||
"driver_manager.network.checking": "正在检测驱动下载网络...",
|
||
"driver_manager.network.not_checked": "尚未完成网络检测",
|
||
"driver_manager.progress.local_package_start": "开始安装本地驱动包",
|
||
"driver_manager.progress.metadata_write": "写入驱动元数据",
|
||
"driver_manager.progress.local_package_done": "本地驱动包导入完成",
|
||
"driver_manager.progress.install_start": "开始安装",
|
||
"driver_manager.progress.pure_go_enabled": "安装完成,纯 Go 驱动已启用",
|
||
"driver_manager.progress.agent_install_start": "开始安装 {{name}} 驱动代理",
|
||
"driver_manager.progress.agent_install_done": "{{name}} 驱动代理安装完成",
|
||
"driver_manager.progress.download_prebuilt_agent": "下载预编译 {{name}} 驱动代理",
|
||
"driver_manager.progress.download_bundle": "下载 {{name}} 驱动总包",
|
||
"driver_manager.progress.extract_agent_from_bundle": "从驱动总包提取 {{name}} 代理",
|
||
"driver_manager.progress.unzip_agent": "解压 {{name}} 驱动代理",
|
||
"driver_manager.progress.source_build_preferred": "优先使用本地源码构建 {{name}} 驱动代理",
|
||
"driver_manager.progress.dev_build_fallback": "未命中预编译包,尝试开发态本地构建",
|
||
"driver_manager.progress.plan.source_only": "准备安装 {{name}} 驱动代理(版本 {{version}});当前版本仅允许本地源码构建",
|
||
"driver_manager.progress.plan.source_first": "准备安装 {{name}} 驱动代理(版本 {{version}});先尝试本地源码构建,失败后继续下载兜底",
|
||
"driver_manager.progress.plan.direct_then_bundle": "准备安装 {{name}} 驱动代理(版本 {{version}});先尝试 {{direct}} 个预编译直链,失败后转入 {{bundle}} 个驱动总包源",
|
||
"driver_manager.progress.plan.explicit_direct": "准备安装 {{name}} 驱动代理(版本 {{version}});仅允许显式版本资产,先尝试 {{direct}} 个预编译直链",
|
||
"driver_manager.progress.plan.direct_only": "准备安装 {{name}} 驱动代理(版本 {{version}});先尝试 {{direct}} 个预编译直链",
|
||
"driver_manager.progress.plan.bundle_only": "准备安装 {{name}} 驱动代理(版本 {{version}});未提供预编译直链,直接尝试 {{bundle}} 个驱动总包源",
|
||
"driver_manager.progress.plan.source_fallback": "准备安装 {{name}} 驱动代理(版本 {{version}});未命中发布资产时将回退到本地源码构建",
|
||
"driver_manager.progress.fallback.direct_to_bundle": "预编译直链未命中,转入驱动总包兜底({{name}},剩余 {{bundle}} 个总包源)",
|
||
"driver_manager.progress.fallback.explicit_skip_bundle": "预编译直链未命中;当前版本仅允许显式资产,跳过驱动总包({{name}})",
|
||
"driver_manager.progress.fallback.bundle_available": "直链不可用,转入驱动总包兜底({{name}},剩余 {{bundle}} 个总包源)",
|
||
"driver_manager.progress.fallback.source_build": "发布资产未命中,准备回退到本地源码构建({{name}})",
|
||
"driver_manager.progress.backend_empty": "后端未返回进度说明",
|
||
"driver_manager.progress.backend_detail": "后端详情:{{detail}}",
|
||
"driver_manager.progress.status.start": "开始",
|
||
"driver_manager.progress.status.downloading": "下载中",
|
||
"driver_manager.progress.status.done": "完成",
|
||
"driver_manager.progress.status.error": "错误",
|
||
"driver_manager.progress.status.unknown": "未知",
|
||
"driver_manager.option.force_overwrite_installed": "覆盖已安装",
|
||
"driver_manager.punctuation.list_separator": "、",
|
||
"driver_manager.search.placeholder": "搜索驱动名称/类型(如 DuckDB、clickhouse)",
|
||
"driver_manager.search.built_in": "内置",
|
||
"driver_manager.search.external": "外置",
|
||
"driver_manager.status.calculating": "计算中...",
|
||
"driver_manager.status.built_in_available": "内置可用",
|
||
"driver_manager.status.installing_percent": "安装中 {{percent}}%",
|
||
"driver_manager.status.enabled": "已启用",
|
||
"driver_manager.status.installed": "已安装",
|
||
"driver_manager.status.disabled": "未启用",
|
||
"driver_manager.status.full_required": "需 Full 版",
|
||
"driver_manager.version.default": "默认版本",
|
||
"driver_manager.version.inline_suffix": "({{version}})",
|
||
"driver_manager.version.group.year": "{{year}} 年",
|
||
"driver_manager.version.group.other": "其他",
|
||
"driver_manager.version.placeholder.select": "选择驱动版本",
|
||
"driver_manager.version.placeholder.load_on_expand": "点击展开加载版本",
|
||
"driver_manager.version.installed_locked_with_version": "{{version}}(已安装,移除后可更换)",
|
||
"driver_manager.version.installed_locked": "已安装(移除后可更换)",
|
||
"driver_manager.version.mongodb_hint": "当前仅支持 MongoDB 1.17.x 和 2.x;更老 1.x 暂不提供安装。",
|
||
"driver_manager.backend.dialog.select_download_directory": "选择驱动下载目录",
|
||
"driver_manager.backend.dialog.select_package_file": "选择驱动包文件(非 JDBC Jar)",
|
||
"driver_manager.backend.dialog.select_package_directory": "选择驱动包目录",
|
||
"driver_manager.backend.driver_fallback_name": "驱动",
|
||
"driver_manager.backend.package_size.built_in": "内置",
|
||
"driver_manager.backend.package_size.to_be_published": "待发布",
|
||
"driver_manager.backend.version.unlabeled": "未标注版本",
|
||
"driver_manager.backend.version.latest_suffix": "(最新)",
|
||
"driver_manager.backend.version.recommended_suffix": "(推荐)",
|
||
"driver_manager.backend.message.unsupported_builtin_manifest_url": "不支持的内置驱动清单地址:{{url}}",
|
||
"driver_manager.backend.message.jdbc_jar_unsupported": "当前驱动管理不支持直接导入 JDBC Jar。GoNavi 使用 Go 驱动与可选 driver-agent;请改用驱动包或驱动目录。如需连接 Kingbase,请优先使用 Kingbase 连接类型,或在自定义连接中填写 kingbase / kingbase8。",
|
||
"driver_manager.backend.message.runtime_directory_configured": "驱动运行时目录已生效",
|
||
"driver_manager.backend.message.opened_directory": "已打开驱动目录:{{path}}",
|
||
"driver_manager.backend.message.log_hint": "(详细日志:{{path}})",
|
||
"driver_manager.backend.message.local_import_failed_detail": "导入本地驱动包失败:{{detail}}",
|
||
"driver_manager.backend.message.metadata_write_failed_detail": "写入驱动元数据失败:{{detail}}",
|
||
"driver_manager.backend.message.driver_install_success": "驱动安装成功",
|
||
"driver_manager.backend.message.download_failed_detail": "驱动下载安装失败:{{detail}}",
|
||
"driver_manager.backend.message.package_removed": "驱动包已移除",
|
||
"driver_manager.backend.error.unknown": "未知错误",
|
||
"driver_manager.backend.error.unsupported_driver_type": "不支持的驱动类型",
|
||
"driver_manager.backend.error.builtin_download_not_required": "内置驱动无需下载扩展包",
|
||
"driver_manager.backend.error.builtin_install_not_required": "内置驱动无需安装扩展包",
|
||
"driver_manager.backend.error.builtin_version_not_required": "内置驱动无需选择版本",
|
||
"driver_manager.backend.error.builtin_package_not_required": "内置驱动无需安装包",
|
||
"driver_manager.backend.error.builtin_remove_not_allowed": "内置驱动不可移除",
|
||
"driver_manager.backend.error.optional_go_only": "当前仅支持纯 Go 可选驱动的安装启用",
|
||
"driver_manager.backend.error.package_size_unsupported": "当前驱动不支持安装包查询",
|
||
"driver_manager.backend.error.version_empty": "版本号为空",
|
||
"driver_manager.backend.error.asset_name_empty": "驱动资产名称为空",
|
||
"driver_manager.backend.error.mongo_version_unsupported": "MongoDB 版本 {{version}} 当前不受支持;仅支持 1.17.x 和 2.x",
|
||
"driver_manager.backend.error.open_directory_unsupported": "当前平台暂不支持打开目录:{{platform}}",
|
||
"driver_manager.backend.error.open_directory_failed": "打开驱动目录失败:{{detail}}",
|
||
"driver_manager.backend.error.create_directory_failed": "创建驱动目录失败:{{detail}}",
|
||
"driver_manager.backend.error.remove_package_failed": "移除驱动包失败:{{detail}}",
|
||
"driver_manager.backend.error.manifest_scheme_unsupported": "不支持的驱动清单地址协议:{{scheme}}",
|
||
"driver_manager.backend.error.manifest_fetch_failed": "拉取驱动清单失败:{{detail}}",
|
||
"driver_manager.backend.error.manifest_parse_failed": "解析驱动清单失败:{{detail}}",
|
||
"driver_manager.backend.error.manifest_url_empty": "驱动清单地址为空",
|
||
"driver_manager.backend.error.manifest_too_large": "驱动清单超过大小限制",
|
||
"driver_manager.backend.error.local_manifest_url_invalid": "无效的本地驱动清单地址",
|
||
"driver_manager.backend.error.file_manifest_url_invalid": "无效的文件驱动清单地址",
|
||
"driver_manager.backend.error.driver_type_empty": "驱动类型为空",
|
||
"driver_manager.backend.error.no_driver_versions": "未找到可用驱动版本",
|
||
"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.driver_version_list_fetch_failed": "拉取驱动版本列表失败:{{detail}}",
|
||
"driver_manager.backend.error.driver_version_list_parse_failed": "解析驱动版本列表失败:{{detail}}",
|
||
"driver_manager.backend.error.cache_key_empty": "缓存 key 为空",
|
||
"driver_manager.backend.error.release_empty": "Release 为空",
|
||
"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.tag_empty": "Tag 为空",
|
||
"driver_manager.backend.error.api_url_empty": "API 地址为空",
|
||
"driver_manager.backend.error.release_info_fetch_failed": "拉取 Release 信息失败:{{detail}}",
|
||
"driver_manager.backend.error.local_package_path_empty": "本地驱动包路径为空",
|
||
"driver_manager.backend.error.local_directory_path_empty": "本地驱动目录路径为空",
|
||
"driver_manager.backend.error.file_path_empty": "文件路径为空",
|
||
"driver_manager.backend.error.download_url_empty": "下载地址为空",
|
||
"driver_manager.backend.error.bundle_url_empty": "驱动总包下载地址为空",
|
||
"driver_manager.backend.error.read_local_package_failed": "读取本地驱动包失败:{{detail}}",
|
||
"driver_manager.backend.error.read_local_directory_failed": "读取本地驱动目录失败:{{detail}}",
|
||
"driver_manager.backend.error.scan_local_directory_failed": "扫描本地驱动目录失败:{{detail}}",
|
||
"driver_manager.backend.error.open_local_package_failed": "打开本地驱动包失败:{{detail}}",
|
||
"driver_manager.backend.error.read_local_package_entry_failed": "读取本地驱动包条目失败:{{detail}}",
|
||
"driver_manager.backend.error.download_failed": "下载失败:{{detail}}",
|
||
"driver_manager.backend.error.bundle_download_failed": "下载驱动总包失败:{{detail}}",
|
||
"driver_manager.backend.error.open_bundle_failed": "打开驱动总包失败:{{detail}}",
|
||
"driver_manager.backend.error.read_bundle_entry_failed": "读取驱动总包条目失败:{{detail}}",
|
||
"driver_manager.backend.error.source_build_failed": "本地构建失败:{{detail}}",
|
||
"driver_manager.backend.error.prebuilt_downloads_failed": "预编译包下载失败:{{detail}}",
|
||
"driver_manager.backend.status.built_in_available": "内置驱动,可直接连接",
|
||
"driver_manager.backend.status.optional_enabled": "纯 Go 驱动已启用,可直接连接",
|
||
"driver_manager.backend.status.installed_pending_with_version": "驱动已安装(版本:{{version}}),待生效",
|
||
"driver_manager.backend.status.installed_pending": "驱动已安装,待生效",
|
||
"driver_manager.backend.status.optional_disabled_with_version": "未启用(版本:{{version}})",
|
||
"driver_manager.backend.status.optional_disabled_generic": "未启用",
|
||
"driver_manager.backend.status.needs_update": "需要重装以应用驱动侧更新。",
|
||
"driver_manager.backend.status.installed_revision": "已安装 revision {{revision}}。",
|
||
"driver_manager.backend.status.expected_revision": "当前需要 revision {{revision}}。",
|
||
"driver_manager.backend.status.affected_connections": "影响 {{count}} 个已保存连接",
|
||
"driver_manager.backend.status.unrecognized_driver_type": "未识别的数据源类型",
|
||
"driver_manager.backend.status.slim_build_required": "{{name}} 当前发行包为精简构建,未内置该驱动;如需使用请安装 Full 版",
|
||
"driver_manager.backend.status.agent_path_failed": "{{name}} 驱动代理路径解析失败,请在驱动管理中重新安装启用",
|
||
"driver_manager.backend.status.agent_missing": "{{name}} 驱动代理缺失,请在驱动管理中重新安装启用",
|
||
"driver_manager.backend.status.optional_disabled": "{{name}} 纯 Go 驱动未启用,请先在驱动管理中点击安装启用",
|
||
"driver_manager.backend.status.agent_unavailable_reinstall": "{{name}} 驱动代理不可用:{{detail}}。请在驱动管理中重新安装启用",
|
||
"driver_manager.backend.status.agent_arch_incompatible_detail": "{{name}} 驱动代理架构不兼容:文件={{file}},当前进程={{process}}。请在驱动管理中重新安装启用",
|
||
"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.error.probe_url_empty": "检测地址为空",
|
||
"driver_manager.backend.network.error.probe_host_missing": "检测地址缺少主机",
|
||
"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.progress.plan.source_only": "准备安装 {{name}} 驱动代理(版本 {{version}});当前版本仅允许本地源码构建",
|
||
"driver_manager.backend.progress.plan.source_first": "准备安装 {{name}} 驱动代理(版本 {{version}});先尝试本地源码构建,失败后继续下载兜底",
|
||
"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.direct_only": "准备安装 {{name}} 驱动代理(版本 {{version}});先尝试 {{direct}} 个预编译直链",
|
||
"driver_manager.backend.progress.plan.bundle_only": "准备安装 {{name}} 驱动代理(版本 {{version}});未提供预编译直链,直接尝试 {{bundle}} 个驱动总包源",
|
||
"driver_manager.backend.progress.plan.source_fallback": "准备安装 {{name}} 驱动代理(版本 {{version}});未命中发布资产时将回退到本地源码构建",
|
||
"driver_manager.backend.progress.fallback.direct_to_bundle": "预编译直链未命中,转入驱动总包兜底({{name}},剩余 {{bundle}} 个总包源)",
|
||
"driver_manager.backend.progress.fallback.explicit_skip_bundle": "预编译直链未命中;当前版本仅允许显式资产,跳过驱动总包({{name}})",
|
||
"driver_manager.backend.progress.fallback.bundle_available": "直链不可用,转入驱动总包兜底({{name}},剩余 {{bundle}} 个总包源)",
|
||
"driver_manager.backend.progress.fallback.source_build": "发布资产未命中,准备回退到本地源码构建({{name}})",
|
||
"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.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.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.alert.auto_create_scope": "自动建表当前仅支持 MySQL 到 Kingbase。会迁移字段、主键、普通索引、唯一索引和联合索引,并明确跳过全文、空间、前缀和函数类索引。",
|
||
"data_sync.alert.auto_create_planner_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.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.backend.error.restore_source_secret_failed": "恢复源数据库连接密文失败:{{detail}}",
|
||
"data_sync.backend.error.restore_target_secret_failed": "恢复目标数据库连接密文失败:{{detail}}",
|
||
"data_sync.backend.error.connect_source_failed": "源数据库连接失败:{{detail}}",
|
||
"data_sync.backend.error.connect_target_failed": "目标数据库连接失败:{{detail}}",
|
||
"data_sync.backend.error.init_source_driver_failed": "初始化源数据库驱动失败:{{detail}}",
|
||
"data_sync.backend.error.init_target_driver_failed": "初始化目标数据库驱动失败:{{detail}}",
|
||
"data_sync.backend.error.preview_composite_pk_unsupported": "复合主键({{columns}})暂不支持数据预览",
|
||
"data_sync.backend.error.preview_pk_required": "无主键,不支持数据预览",
|
||
"data_sync.backend.error.target_pk_required_for_query_diff": "目标表无主键,不支持基于 SQL 结果集的差异分析",
|
||
"data_sync.backend.result.analyzed_tables": "已完成 {{count}} 张表的差异分析",
|
||
"data_sync.backend.result.analyzed_target_tables": "已完成 {{count}} 个目标表的差异分析",
|
||
"data_sync.backend.summary.diff_completed": "差异分析完成",
|
||
"data_sync.backend.summary.source_query_diff_completed": "SQL 结果集差异分析完成",
|
||
"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.index_columns_missing": "索引 {{name}} 缺少列定义,已跳过",
|
||
"data_sync.backend.warning.index_prefix_length_unsupported": "索引 {{name}} 使用前缀长度,当前暂不支持迁移",
|
||
"data_sync.backend.warning.index_type_unsupported": "索引 {{name}} 类型={{type}},当前暂不支持自动迁移",
|
||
"data_sync.confirm.full_overwrite.content": "全量覆盖会先清空目标表数据再插入,请确认目标库已完成备份。",
|
||
"data_sync.confirm.full_overwrite.ok": "继续执行",
|
||
"data_sync.confirm.full_overwrite.title": "确认全量覆盖",
|
||
"data_sync.modal.full_overwrite_title": "确认全量覆盖",
|
||
"data_sync.modal.full_overwrite_content": "全量覆盖会先清空目标表数据再插入,请确认目标库已完成备份。",
|
||
"data_sync.modal.full_overwrite_ok": "继续执行",
|
||
"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.message.precheck_warnings": "预检发现风险或降级项,请在执行前确认。",
|
||
"data_sync.message.more_items_collapsed": "还有 {{count}} 项未展开",
|
||
"data_sync.table.table_name": "表名",
|
||
"data_sync.table.target_table": "目标表",
|
||
"data_sync.table.target_exists": "已存在",
|
||
"data_sync.table.target_missing": "不存在",
|
||
"data_sync.table.plan": "计划",
|
||
"data_sync.table.insert": "插入",
|
||
"data_sync.table.update": "更新",
|
||
"data_sync.table.delete": "删除",
|
||
"data_sync.table.same": "相同",
|
||
"data_sync.table.risk": "风险",
|
||
"data_sync.table.preview": "预览",
|
||
"data_sync.title.compare_result": "对比结果",
|
||
"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.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.workflow_type": "先选择本次是同步已有目标表,还是执行跨库迁移。页面会按功能类型调整更安全的默认策略。",
|
||
"data_sync.help.select_tables": "请选择需要同步的表:",
|
||
"data_sync.help.source_query_mode": "请输入源查询 SQL,并选择一个目标表。差异分析会直接基于该结果集与目标表对比。",
|
||
"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.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.sync_execution_failed": "同步执行失败",
|
||
"data_sync.message.sync_execution_failed_detail": "同步执行失败:{{detail}}",
|
||
"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.source_dataset.query": "按 SQL 结果集同步",
|
||
"data_sync.option.source_dataset.table": "按表同步",
|
||
"data_sync.option.show_same_tables": "显示相同表",
|
||
"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.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.plan.use_existing_target": "使用已有目标表导入",
|
||
"data_sync.plan.target_missing_manual_create": "目标表不存在,需先手工创建",
|
||
"data_sync.plan.target_missing_auto_create": "目标表不存在,将自动建表后导入",
|
||
"data_sync.plan.target_missing_cannot_sync": "目标表不存在,无法执行同步",
|
||
"data_sync.plan.target_missing_auto_create_all": "目标表不存在,执行时将自动建表并导入全部源数据",
|
||
"data_sync.plan.schema_changes_detected": "检测到 {{count}} 条结构变更",
|
||
"data_sync.plan.add_missing_columns_before_import": "补齐 {{count}} 个缺失字段后导入",
|
||
"data_sync.plan.missing_columns_no_executable_sql": "目标表缺失 {{count}} 个字段,但未生成可执行补齐 SQL",
|
||
"data_sync.plan.missing_columns_auto_add_unsupported": "目标表缺失 {{count}} 个字段,当前库对暂不支持自动补齐",
|
||
"data_sync.plan.missing_columns_auto_add_disabled": "目标表缺失 {{count}} 个字段,未开启自动补齐",
|
||
"data_sync.plan.schema_only_no_data_diff": "仅同步结构,未执行数据差异分析",
|
||
"data_sync.plan.schema_only": "仅同步结构",
|
||
"data_sync.plan.schema_preview": "结构预览",
|
||
"data_sync.plan.schema_aligned": "表结构已一致",
|
||
"data_sync.plan.auto_create_unsupported": "当前库对暂不支持自动建表",
|
||
"data_sync.plan.tdengine_time_column_missing": "源表未识别到可映射为 TDengine 首列的时间列,无法自动建表",
|
||
"data_sync.plan.use_existing_target_collection": "使用已有目标集合导入",
|
||
"data_sync.plan.target_collection_missing_manual_create": "目标集合不存在,需先手工创建",
|
||
"data_sync.plan.target_collection_missing_auto_create": "目标集合不存在,将自动创建集合后导入",
|
||
"data_sync.plan.redis_key_to_mongodb_document": "按 Redis Key 生成 MongoDB 文档导入",
|
||
"data_sync.plan.migrate_to_collection": "迁移到集合 {{collection}}",
|
||
"data_sync.plan.migrate_to_target": "迁移到 {{target}}",
|
||
"data_sync.plan.source_query_preview": "SQL 结果集同步预览",
|
||
"data_sync.plan.migration_kernel_planning": "当前库对已进入迁移规划阶段,等待结构推断和目标方言生成支持",
|
||
"data_sync.plan.backend_summary": "后端计划摘要",
|
||
"data_sync.progress.stage.analysis_started": "差异分析开始",
|
||
"data_sync.progress.stage.analysis_completed": "差异分析完成",
|
||
"data_sync.progress.stage.sync_started": "开始同步",
|
||
"data_sync.progress.stage.connecting_source": "连接源数据库",
|
||
"data_sync.progress.stage.connecting_target": "连接目标数据库",
|
||
"data_sync.progress.stage.analyzing_table": "分析表({{current}}/{{total}})",
|
||
"data_sync.progress.stage.syncing_table": "同步表({{current}}/{{total}})",
|
||
"data_sync.progress.stage.table_completed": "表处理完成",
|
||
"data_sync.progress.stage.creating_target_table": "创建目标表",
|
||
"data_sync.progress.stage.syncing_schema": "同步表结构",
|
||
"data_sync.progress.stage.creating_indexes": "创建索引",
|
||
"data_sync.progress.stage.reading_source": "读取源表数据",
|
||
"data_sync.progress.stage.reading_target": "读取目标表数据",
|
||
"data_sync.progress.stage.comparing_diff": "对比差异",
|
||
"data_sync.progress.stage.clearing_target": "清空目标表",
|
||
"data_sync.progress.stage.checking_columns": "检查字段一致性",
|
||
"data_sync.progress.stage.applying_changes": "应用变更",
|
||
"data_sync.progress.stage.completed": "同步完成",
|
||
"data_sync.progress.stage.failed": "同步失败",
|
||
"data_sync.progress.stage.redis_keyspace_started": "开始 Redis 键空间迁移",
|
||
"data_sync.progress.stage.creating_target_collection": "创建目标集合",
|
||
"data_sync.progress.stage.migrating_key": "迁移 Key({{current}}/{{total}})",
|
||
"data_sync.progress.stage.mongodb_keyspace_started": "开始 MongoDB 键空间迁移",
|
||
"data_sync.progress.stage.migrating_collection": "迁移集合({{current}}/{{total}})",
|
||
"data_sync.progress.stage.collection_completed": "集合处理完成",
|
||
"data_sync.progress.stage.backend_update": "正在处理后端进度",
|
||
"data_sync.progress.stage.analyzing_diff": "差异分析",
|
||
"data_sync.progress.stage.executing": "执行中",
|
||
"data_sync.progress.stage.preparing": "准备开始",
|
||
"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.section.migration_options": "迁移选项",
|
||
"data_sync.section.source_database": "源数据库",
|
||
"data_sync.section.sync_options": "同步选项",
|
||
"data_sync.section.target_database": "目标数据库",
|
||
"data_sync.title.source_database": "源数据库",
|
||
"data_sync.title.target_database": "目标数据库",
|
||
"data_sync.title.migration_options": "迁移选项",
|
||
"data_sync.title.sync_options": "同步选项",
|
||
"data_sync.title.execution_log": "执行日志",
|
||
"data_sync.step.configure": "配置源与目标",
|
||
"data_sync.step.result": "执行结果",
|
||
"data_sync.step.select_tables": "选择表",
|
||
"data_sync.table_picker.help": "请选择需要同步的表:",
|
||
"data_sync.table_picker.item_unit": "项",
|
||
"data_sync.table_picker.items_unit": "项",
|
||
"data_sync.table_picker.not_found": "暂无数据",
|
||
"data_sync.table_picker.search_placeholder": "搜索表...",
|
||
"data_sync.table_picker.selected_title": "已选表",
|
||
"data_sync.table_picker.show_same": "显示相同表",
|
||
"data_sync.table_picker.source_title": "源表",
|
||
"data_sync.transfer.source_tables": "??",
|
||
"data_sync.transfer.selected_tables": "已选表",
|
||
"data_sync.transfer.item_unit": "项",
|
||
"data_sync.transfer.items_unit": "项",
|
||
"data_sync.transfer.search_placeholder": "搜索表...",
|
||
"data_sync.transfer.empty": "暂无数据",
|
||
"data_sync.title.migration_description": "按源库到目标库完成建表、导入与风险预检。",
|
||
"data_sync.title.migration_workbench": "跨库迁移工作台",
|
||
"data_sync.title.sync_description": "按已有目标表完成差异对比、同步执行与结果确认。",
|
||
"data_sync.title.sync_workbench": "数据同步工作台",
|
||
"data_sync.title.migration": "跨数据源迁移",
|
||
"data_sync.title.sync": "数据同步",
|
||
"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.plan.use_existing_target_table": "使用已有目标表导入",
|
||
"data_sync.plan.missing_columns_auto_add": "补齐 {{count}} 个缺失字段后导入",
|
||
"data_sync.plan.tdengine_target_missing_timestamp_auto_create_unavailable": "源表未识别到可映射为 TDengine 首列的时间列,无法自动建表",
|
||
"data_sync.plan.redis_mongo_keyspace_import": "按 Redis Key 生成 MongoDB 文档导入",
|
||
"data_sync.plan.redis_mongo_target_collection_missing_manual": "目标集合不存在,需先手工创建",
|
||
"data_sync.plan.redis_mongo_target_collection_auto_create": "目标集合不存在,将自动创建集合后导入",
|
||
"data_sync.backend.summary.redis_mongo_planned_action": "迁移到集合 {{collection}}",
|
||
"data_sync.backend.summary.mongo_redis_planned_action": "迁移到 {{target}}",
|
||
"data_sync.plan.mongo_relational_kernel_planned": "当前库对已进入迁移规划阶段,等待结构推断和目标方言生成支持",
|
||
"data_sync.progress.stage.redis_mongo_creating_collection": "创建目标集合",
|
||
"data_sync.progress.stage.redis_mongo_migrating_key": "迁移 Key({{current}}/{{total}})",
|
||
"data_sync.progress.stage.mongo_redis_migrating_collection": "迁移集合({{current}}/{{total}})",
|
||
"data_sync.progress.stage.mongo_redis_collection_completed": "集合处理完成",
|
||
"data_sync.backend.error.apply_changes_unsupported": "目标驱动不支持应用数据变更",
|
||
"data_sync.backend.error.apply_source_query_changes_failed": "应用 SQL 结果集变更失败: {{detail}}",
|
||
"data_sync.backend.error.clear_target_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_mongodb_failed": "目标 MongoDB 连接失败: {{detail}}",
|
||
"data_sync.backend.error.connect_target_redis_failed": "目标 Redis 连接失败: {{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.execute_source_query_failed": "执行源查询失败: {{detail}}",
|
||
"data_sync.backend.error.init_source_mongodb_driver_failed": "初始化源 MongoDB 驱动失败: {{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_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.read_redis_key_failed": "读取 Redis Key {{key}} 失败: {{detail}}",
|
||
"data_sync.backend.error.read_source_table_failed": "读取源表失败: {{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.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.scan_redis_keys_failed": "扫描 Redis Key 失败: {{detail}}",
|
||
"data_sync.backend.error.target_composite_pk_query_diff_unsupported": "目标表为复合主键 ({{columns}}),不支持 SQL 结果集差异分析",
|
||
"data_sync.backend.error.target_table_columns_missing": "目标表 {{table}} 不存在或无法读取字段定义",
|
||
"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.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.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_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_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.plan.data_import_without_diff": "当前模式不进行差异对比,直接导入源表数据。",
|
||
"data_sync.plan.mongo_relational_entry_warning": "{{objectKind}} 从 {{sourceType}} 到 {{targetType}} 的迁移目前仅提供结构推断规划提示",
|
||
"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_existing_only_warning": "当前策略要求目标 MongoDB collection 已存在,执行时不会自动创建",
|
||
"data_sync.plan.redis_mongo_unsupported_objects": "Redis Consumer Group / PubSub / Lua scripts / transaction state 尚未迁移",
|
||
"data_sync.plan.target_missing_preview_unavailable": "目标表不存在,差异预览不可用。",
|
||
"data_sync.progress.stage.redis_mongo_started": "Redis 到 MongoDB keyspace 迁移开始",
|
||
"data_sync.progress.stage.mongo_redis_started": "MongoDB 到 Redis keyspace 迁移开始",
|
||
"data_sync.schema_inference.mongo_relational_issue": "{{sourceType}} -> {{targetType}} 的结构推断仍在开发中;目前仅提供迁移规划提示。",
|
||
"data_sync.schema_inference.mongo_relational_resolution": "后续迭代将从采样数据生成字段定义和类型降级策略。",
|
||
"data_sync.backend.unsupported.clickhouse_objects_to_pg_like": "ClickHouse ORDER BY/PARTITION/TTL/Projection/materialized-view 语义尚未自动迁移到 PG-like 目标",
|
||
"data_sync.backend.warning.auto_create_pair_unsupported": "自动建表目前仅支持 MySQL -> Kingbase;当前组合={{sourceType}} -> {{targetType}}",
|
||
"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_type_degraded_clickhouse_string": "字段 {{column}} 类型 {{type}} 已降级为 String",
|
||
"data_sync.backend.warning.column_type_empty_clickhouse_string": "字段 {{column}} 类型为空,已降级为 String",
|
||
"data_sync.backend.warning.column_user_defined_degraded_clickhouse_string": "字段 {{column}} 为用户自定义类型,已降级为 String",
|
||
"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.pg_like_identity_not_preserved_clickhouse": "字段 {{column}} 的 identity/自增语义不会保留到 ClickHouse",
|
||
"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_table_existing_only_required": "当前策略要求目标表已存在,执行时不会自动创建。",
|
||
"data_sync.unsupported.clickhouse_to_tdengine_schema_semantics": "源 ORDER BY/PARTITION/TTL/Projection/materialized-view 语义尚未自动迁移到 TDengine",
|
||
"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.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_sync.backend.error.analyze_prepare_secrets_failed": "准备数据同步分析密钥失败: {{detail}}",
|
||
"data_sync.backend.error.apply_changes_failed": "应用变更失败: {{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.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.exec_ddl_statement_failed": "{{stage}}失败: SQL={{sql}}, 错误={{detail}}",
|
||
"data_sync.backend.error.mongo_read_source_samples_failed": "读取源 MongoDB collection 样本失败: {{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_failed": "数据同步预览失败: {{detail}}",
|
||
"data_sync.backend.error.preview_prepare_secrets_failed": "准备数据同步预览密钥失败: {{detail}}",
|
||
"data_sync.backend.error.read_source_table_failed_with_table": "读取源表 {{table}} 失败: {{detail}}",
|
||
"data_sync.backend.error.read_target_table_failed_with_table": "读取目标表 {{table}} 失败: {{detail}}",
|
||
"data_sync.backend.error.refresh_columns_after_create_failed": "创建目标表后加载字段失败: 表={{table}}, 错误={{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_table_columns_failed": "获取目标表字段失败: {{detail}}",
|
||
"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.preview_ready": "数据同步预览已就绪",
|
||
"data_sync.backend.result.sync_completed": "同步完成: 表={{tables}}, 插入={{rowsInserted}}, 更新={{rowsUpdated}}, 删除={{rowsDeleted}}",
|
||
"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_increment_not_preserved_existing_target_add_column": "字段 {{column}} 为自增列,补齐到已有目标表时不会自动补建 {{feature}}",
|
||
"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_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.composite_pk_skipped": "表 {{table}} 为复合主键 ({{columns}}),暂不支持差异同步,已跳过",
|
||
"data_sync.backend.warning.full_overwrite_clearing_target": "全量覆盖模式:即将清空目标表 {{table}}",
|
||
"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_unsigned_bigint_auto_increment_degraded": "字段 {{column}} 为 unsigned bigint auto_increment,已降级为 {{targetType}},且不保留自增语义",
|
||
"data_sync.backend.warning.refresh_columns_after_add_failed": "补齐字段后刷新目标字段失败: 表={{table}}, 错误={{detail}}",
|
||
"data_sync.backend.warning.redis_mongo_full_overwrite_downgrade": "Redis 到 MongoDB 迁移会将全量覆盖降级为增量同步",
|
||
"data_sync.backend.warning.source_indexes_read_failed": "读取源表索引失败,已跳过索引迁移: {{detail}}",
|
||
"data_sync.backend.warning.table_pk_required_skipped": "表 {{table}} 未找到主键,当前模式需要差异对比,已跳过",
|
||
"data_sync.backend.warning.target_missing_skip_auto_create_disabled": "表 {{table}} 的目标表不存在,当前策略不允许自动建表,已跳过",
|
||
"data_sync.backend.warning.unknown_content_default_data": "未知同步内容 {{content}},已自动使用仅同步数据",
|
||
"data_sync.backend.warning.unknown_mode_default_insert_update": "未知同步模式 {{mode}},已自动使用增量同步",
|
||
"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.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.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.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 为准,不执行目标列检查",
|
||
"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_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.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.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)。",
|
||
"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.database_name_required": "数据库名称不能为空",
|
||
"file.backend.error.directory_path_required": "目录路径不能为空",
|
||
"file.backend.error.export_unsupported_format": "不支持的导出格式: {{format}}",
|
||
"file.backend.error.file_path_empty": "文件路径为空",
|
||
"file.backend.error.file_path_required": "文件路径不能为空",
|
||
"file.backend.error.import_file_empty": "文件路径不能为空",
|
||
"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_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.open_file_failed": "无法打开文件: {{detail}}",
|
||
"file.backend.error.query_required": "查询语句不能为空",
|
||
"file.backend.error.read_file_error_summary": "文件读取错误: {{detail}}。已执行 {{count}} 条。",
|
||
"file.backend.error.read_file_info_failed": "无法读取文件信息: {{detail}}",
|
||
"file.backend.error.selected_path_not_directory": "所选路径不是目录",
|
||
"file.backend.error.selected_path_not_sql_file": "所选路径不是 SQL 文件",
|
||
"file.backend.error.select_with_query_required": "仅支持 SELECT/WITH 查询导出",
|
||
"file.backend.error.task_not_found": "未找到该任务",
|
||
"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.write_failed": "写入失败: {{detail}}",
|
||
"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.filter.all_files": "所有文件",
|
||
"file.backend.filter.all_files_pattern": "所有文件 (*.*)",
|
||
"file.backend.filter.connection_package": "GoNavi 连接包 (*.gonavi-conn)",
|
||
"file.backend.filter.database_files": "数据库文件",
|
||
"file.backend.filter.data_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 文件",
|
||
"ai_service.backend.message.provider_test_success": "端点连通性测试成功",
|
||
"ai_service.backend.error.provider_test_failed": "连接测试失败: {{detail}}",
|
||
"ai_service.backend.error.provider_auth_failed": "API Key 无效或请求被拒绝 (HTTP {{status}}){{body}}",
|
||
"ai_service.backend.error.provider_http_status_failed": "接口返回异常状态 (HTTP {{status}}){{body}}",
|
||
"ai_service.backend.error.provider_http_server_error": "上游服务器返回内部错误 (HTTP {{status}}){{body}}",
|
||
"ai_service.backend.error.provider_request_create_failed": "创建请求失败: {{detail}}",
|
||
"ai_service.backend.error.provider_request_serialize_failed": "序列化请求失败: {{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_secret_delete_failed": "删除 Provider secret 失败: {{detail}}",
|
||
"ai_service.backend.error.provider_secret_load_failed": "加载 AI Provider secret 失败(provider={{provider}}): {{detail}}",
|
||
"ai_service.backend.error.config_rewrite_failed": "重写 AI 配置失败: {{detail}}",
|
||
"ai_service.backend.error.config_read_failed": "读取 AI 配置失败: {{detail}}",
|
||
"ai_service.backend.error.config_load_failed": "加载 AI 配置失败: {{detail}}",
|
||
"ai_service.backend.error.config_serialize_failed": "序列化 AI 配置失败: {{detail}}",
|
||
"ai_service.backend.error.config_dir_create_failed": "创建配置目录失败: {{detail}}",
|
||
"ai_service.backend.error.config_write_failed": "写入 AI 配置失败: {{detail}}",
|
||
"ai_service.backend.error.daily_secret_store_unavailable": "日常密文存储不可用: {{detail}}",
|
||
"ai_service.backend.error.secret_store_unavailable": "密文存储不可用: {{detail}}",
|
||
"ai_service.backend.error.provider_secret_bundle_parse_failed": "解析 provider secret bundle 失败: {{detail}}",
|
||
"ai_service.backend.error.models_request_create_failed": "创建模型列表请求失败: {{detail}}",
|
||
"ai_service.backend.error.models_request_failed": "请求模型列表失败: {{detail}}",
|
||
"ai_service.backend.error.models_http_status_failed": "模型列表接口返回异常状态 (HTTP {{status}}){{body}}",
|
||
"ai_service.backend.error.models_parse_failed": "解析模型列表失败: {{detail}}",
|
||
"ai_service.backend.error.active_provider_not_found": "未找到活跃 AI Provider",
|
||
"ai_service.backend.error.editable_provider_not_found": "未找到要编辑的 AI Provider: {{detail}}",
|
||
"ai_service.backend.error.provider_not_configured": "未配置 AI Provider,请先在设置中配置。",
|
||
"ai_service.backend.error.volcengine_coding_models_empty": "当前接口未返回可用的火山 Coding Plan 模型,请检查账号权限或切换到“火山方舟”供应商",
|
||
"ai_service.backend.error.session_missing": "会话不存在",
|
||
"ai_service.backend.error.session_corrupt": "会话数据损坏",
|
||
"ai_service.backend.error.sessions_dir_create_failed": "创建 sessions 目录失败: {{detail}}",
|
||
"ai_service.backend.error.session_serialize_failed": "序列化会话数据失败: {{detail}}",
|
||
"ai_service.backend.error.session_write_failed": "保存会话失败: {{detail}}",
|
||
"ai_service.backend.error.session_delete_failed": "删除会话失败: {{detail}}",
|
||
"ai_service.backend.warning.sql_drop": "高危 SQL:DROP 语句将永久删除数据库对象",
|
||
"ai_service.backend.warning.sql_truncate": "高危 SQL:TRUNCATE 将清空表中所有数据",
|
||
"ai_service.backend.warning.sql_delete_without_where": "高危 SQL:DELETE 语句缺少 WHERE 条件,将删除所有数据",
|
||
"ai_service.backend.warning.sql_update_without_where": "高危 SQL:UPDATE 语句缺少 WHERE 条件,将更新所有记录",
|
||
"jvm_monitoring_charts.title.heap": "堆内存",
|
||
"jvm_monitoring_charts.title.gc": "垃圾回收",
|
||
"jvm_monitoring_charts.title.threads": "线程",
|
||
"jvm_monitoring_charts.title.classes": "类加载",
|
||
"jvm_monitoring_charts.empty.heap.no_samples": "暂无堆内存采样数据",
|
||
"jvm_monitoring_charts.empty.heap.metric_unavailable": "当前监控来源未提供堆内存指标",
|
||
"jvm_monitoring_charts.empty.gc.no_samples": "暂无垃圾回收采样数据",
|
||
"jvm_monitoring_charts.empty.gc.metric_unavailable": "当前监控来源未提供垃圾回收指标",
|
||
"jvm_monitoring_charts.empty.threads.no_samples": "暂无线程采样数据",
|
||
"jvm_monitoring_charts.empty.threads.metric_unavailable": "当前监控来源未提供线程指标",
|
||
"jvm_monitoring_charts.empty.classes.no_samples": "暂无类加载采样数据",
|
||
"jvm_monitoring_charts.empty.classes.metric_unavailable": "当前监控来源未提供类加载指标",
|
||
"jvm_monitoring_charts.legend.heap_used": "堆内存已使用",
|
||
"jvm_monitoring_charts.legend.heap_committed": "堆内存已提交",
|
||
"jvm_monitoring_charts.legend.gc_count": "垃圾回收次数",
|
||
"jvm_monitoring_charts.legend.gc_time_ms": "垃圾回收耗时(ms)",
|
||
"jvm_monitoring_charts.legend.thread_count": "线程数",
|
||
"jvm_monitoring_charts.legend.daemon_thread_count": "守护线程数",
|
||
"jvm_monitoring_charts.legend.peak_thread_count": "线程峰值",
|
||
"jvm_monitoring_charts.legend.loaded_classes": "已加载类",
|
||
"jvm_monitoring_charts.legend.unloaded_classes": "已卸载类",
|
||
"jvm_monitoring_status_cards.title.heap": "堆内存",
|
||
"jvm_monitoring_status_cards.title.gc_pressure": "垃圾回收压力",
|
||
"jvm_monitoring_status_cards.title.threads": "线程",
|
||
"jvm_monitoring_status_cards.title.classes": "类加载",
|
||
"jvm_monitoring_status_cards.meta.heap_committed": "已提交 {{value}}",
|
||
"jvm_monitoring_status_cards.meta.waiting_samples": "等待采样",
|
||
"jvm_monitoring_status_cards.meta.gc_total_time": "累计 {{value}}",
|
||
"jvm_monitoring_status_cards.meta.thread_peak": "峰值 {{value}}",
|
||
"jvm_monitoring_status_cards.status.sampling": "采样中",
|
||
"jvm_monitoring_status_cards.status.stopped": "未运行",
|
||
"jvm_monitoring_status_cards.thread_state.runnable_count": "可运行 {{count}}",
|
||
"jvm_monitoring_detail_panel.title.troubleshooting_metrics": "排障指标",
|
||
"jvm_monitoring_detail_panel.title.thread_state_distribution": "线程状态分布",
|
||
"jvm_monitoring_detail_panel.title.recent_gc_details": "最近垃圾回收明细",
|
||
"jvm_monitoring_detail_panel.title.capabilities_and_degradation": "能力与降级",
|
||
"jvm_monitoring_detail_panel.field.process_cpu": "进程 CPU",
|
||
"jvm_monitoring_detail_panel.field.system_cpu": "系统 CPU",
|
||
"jvm_monitoring_detail_panel.field.process_physical_memory": "进程物理内存",
|
||
"jvm_monitoring_detail_panel.field.process_virtual_memory": "进程虚拟内存",
|
||
"jvm_monitoring_detail_panel.memory_missing.title": "进程物理内存缺失原因",
|
||
"jvm_monitoring_detail_panel.memory_missing.jmx": "JMX 连接未暴露进程驻留物理内存属性,当前只能读取进程虚拟内存指标;如需进程物理内存,请切换到 HTTP 端点或增强代理采集。",
|
||
"jvm_monitoring_detail_panel.memory_missing.default": "当前监控来源未返回进程驻留物理内存指标;请确认 HTTP 端点或增强代理已采集并上报进程物理内存。",
|
||
"jvm_monitoring_detail_panel.empty.thread_states": "暂无线程状态采样",
|
||
"jvm_monitoring_detail_panel.empty.gc_events_unavailable": "当前监控来源未提供事件级垃圾回收数据",
|
||
"jvm_monitoring_detail_panel.empty.recent_gc_events": "最近窗口暂无垃圾回收事件",
|
||
"jvm_monitoring_detail_panel.gc.before": "回收前",
|
||
"jvm_monitoring_detail_panel.gc.after": "回收后",
|
||
"jvm_monitoring_presentation.metric.heap_used": "堆内存",
|
||
"jvm_monitoring_presentation.metric.heap_non_heap": "非堆内存",
|
||
"jvm_monitoring_presentation.metric.gc_count": "垃圾回收次数",
|
||
"jvm_monitoring_presentation.metric.gc_time": "垃圾回收耗时",
|
||
"jvm_monitoring_presentation.metric.gc_events": "最近垃圾回收事件",
|
||
"jvm_monitoring_presentation.metric.thread_count": "线程数",
|
||
"jvm_monitoring_presentation.metric.thread_states": "线程状态",
|
||
"jvm_monitoring_presentation.metric.class_loading": "类加载",
|
||
"jvm_monitoring_presentation.metric.cpu_process": "进程 CPU",
|
||
"jvm_monitoring_presentation.metric.cpu_system": "系统 CPU",
|
||
"jvm_monitoring_presentation.metric.memory_rss": "进程物理内存",
|
||
"jvm_monitoring_presentation.metric.memory_virtual": "进程虚拟内存",
|
||
"jvm_monitoring_presentation.thread_state.new": "新建",
|
||
"jvm_monitoring_presentation.thread_state.runnable": "可运行",
|
||
"jvm_monitoring_presentation.thread_state.blocked": "阻塞",
|
||
"jvm_monitoring_presentation.thread_state.waiting": "等待中",
|
||
"jvm_monitoring_presentation.thread_state.timed_waiting": "限时等待",
|
||
"jvm_monitoring_presentation.thread_state.terminated": "已终止",
|
||
"jvm_monitoring_presentation.availability.missing_metrics": "缺失指标:{{metrics}}",
|
||
"jvm_monitoring_presentation.availability.provider_warnings": "监控来源告警:{{warnings}}",
|
||
"jvm_monitoring_presentation.availability.no_obvious_degradation": "当前监控会话未发现明显降级。",
|
||
"jvm_change_preview_modal.title": "JVM 变更预览",
|
||
"jvm_change_preview_modal.status.no_preview": "暂无预览结果",
|
||
"jvm_change_preview_modal.status.generated": "预览已生成",
|
||
"jvm_change_preview_modal.action.confirm_execute": "确认执行",
|
||
"jvm_change_preview_modal.action.close": "关闭",
|
||
"jvm_change_preview_modal.section.summary": "变更摘要",
|
||
"jvm_change_preview_modal.section.before": "变更前",
|
||
"jvm_change_preview_modal.section.after": "变更后",
|
||
"jvm_change_preview_modal.field.resource_id": "资源 ID",
|
||
"jvm_change_preview_modal.field.version": "版本",
|
||
"jvm_change_preview_modal.field.format": "格式",
|
||
"jvm_change_preview_modal.risk.label": "风险 {{level}}",
|
||
"jvm_change_preview_modal.risk.low": "低",
|
||
"jvm_change_preview_modal.risk.medium": "中",
|
||
"jvm_change_preview_modal.risk.high": "高",
|
||
"jvm_change_preview_modal.risk.unknown": "未知",
|
||
"jvm_change_preview_modal.permission.requires_confirmation": "需要确认",
|
||
"jvm_change_preview_modal.permission.allowed": "允许执行",
|
||
"jvm_change_preview_modal.permission.forbidden": "禁止执行",
|
||
"jvm_change_preview_modal.blocking.label": "阻断原因",
|
||
"jvm_change_preview_modal.blocking.alert_message": "当前变更不可执行",
|
||
"jvm_diagnostic.completion.category.observe": "观察类命令",
|
||
"jvm_diagnostic.completion.category.trace": "跟踪类命令",
|
||
"jvm_diagnostic.completion.category.mutating": "高风险命令",
|
||
"jvm_diagnostic.completion.category.control": "控制命令",
|
||
"jvm_diagnostic.completion.preset.category.observe": "观察类命令",
|
||
"jvm_diagnostic.completion.preset.category.trace": "跟踪类命令",
|
||
"jvm_diagnostic.completion.preset.category.mutating": "高风险命令",
|
||
"jvm_diagnostic.completion.preset.thread-top.documentation": "查看最繁忙线程,快速定位阻塞或高 CPU 线程。",
|
||
"jvm_diagnostic.completion.preset.dashboard.documentation": "查看 JVM 运行总览。",
|
||
"jvm_diagnostic.completion.preset.trace-slow-method.documentation": "跟踪慢方法调用路径。",
|
||
"jvm_diagnostic.completion.preset.watch-return.documentation": "观察入参与返回值。",
|
||
"jvm_diagnostic.completion.preset.ognl-sample.documentation": "高风险表达式命令,默认只作示意。",
|
||
"jvm_diagnostic.completion.command.dashboard.documentation": "查看 JVM 运行总览。",
|
||
"jvm_diagnostic.completion.command.jvm.documentation": "查看 JVM 内存、线程、类加载、GC 和运行参数信息。",
|
||
"jvm_diagnostic.completion.command.thread.documentation": "查看热点线程、线程栈和阻塞线程。",
|
||
"jvm_diagnostic.completion.command.sc.documentation": "搜索匹配类信息。",
|
||
"jvm_diagnostic.completion.command.sm.documentation": "查看类的方法签名。",
|
||
"jvm_diagnostic.completion.command.jad.documentation": "反编译指定类。",
|
||
"jvm_diagnostic.completion.command.sysprop.documentation": "查看系统属性。",
|
||
"jvm_diagnostic.completion.command.sysenv.documentation": "查看环境变量。",
|
||
"jvm_diagnostic.completion.command.classloader.documentation": "查看类加载器信息。",
|
||
"jvm_diagnostic.completion.command.trace.documentation": "跟踪方法调用耗时路径。",
|
||
"jvm_diagnostic.completion.command.watch.documentation": "观察入参、返回值或异常。",
|
||
"jvm_diagnostic.completion.command.stack.documentation": "输出方法调用栈。",
|
||
"jvm_diagnostic.completion.command.monitor.documentation": "周期性统计方法调用。",
|
||
"jvm_diagnostic.completion.command.tt.documentation": "方法时光隧道,记录和回放调用。",
|
||
"jvm_diagnostic.completion.command.ognl.documentation": "执行 OGNL 表达式,默认需要额外授权。",
|
||
"jvm_diagnostic.completion.command.vmtool.documentation": "直接操作 JVM 对象或执行 VMTool 动作。",
|
||
"jvm_diagnostic.completion.command.redefine.documentation": "重新定义类字节码。",
|
||
"jvm_diagnostic.completion.command.retransform.documentation": "重新触发类转换。",
|
||
"jvm_diagnostic.completion.command.stop.documentation": "停止当前后台任务。",
|
||
"jvm_diagnostic.completion.detail.execute_directly": "直接执行",
|
||
"jvm_diagnostic.completion.detail.thread_option": "线程参数",
|
||
"jvm_diagnostic.completion.detail.class_search_template": "类搜索模板",
|
||
"jvm_diagnostic.completion.detail.method_search_template": "方法搜索模板",
|
||
"jvm_diagnostic.completion.detail.decompile_template": "反编译模板",
|
||
"jvm_diagnostic.completion.detail.system_property_template": "系统属性模板",
|
||
"jvm_diagnostic.completion.detail.environment_variable_template": "环境变量模板",
|
||
"jvm_diagnostic.completion.detail.classloader_template": "类加载器模板",
|
||
"jvm_diagnostic.completion.detail.trace_template": "跟踪模板",
|
||
"jvm_diagnostic.completion.detail.trace_option": "跟踪参数",
|
||
"jvm_diagnostic.completion.detail.watch_template": "观察模板",
|
||
"jvm_diagnostic.completion.detail.watch_option": "观察参数",
|
||
"jvm_diagnostic.completion.detail.stack_template": "调用栈模板",
|
||
"jvm_diagnostic.completion.detail.monitor_template": "监控模板",
|
||
"jvm_diagnostic.completion.detail.time_tunnel_template": "时光隧道模板",
|
||
"jvm_diagnostic.completion.detail.high_risk_template": "高风险模板",
|
||
"jvm_diagnostic.completion.argument.command_template.label": "{{command}} 模板",
|
||
"jvm_diagnostic.completion.argument.detail_mode_d.label": "详细模式 (-d)",
|
||
"jvm_diagnostic.completion.argument.dashboard.direct.label": "dashboard",
|
||
"jvm_diagnostic.completion.argument.dashboard.direct.documentation": "查看当前 JVM 运行总览。",
|
||
"jvm_diagnostic.completion.argument.jvm.direct.label": "jvm",
|
||
"jvm_diagnostic.completion.argument.jvm.direct.documentation": "查看 JVM 内存、线程、类加载、GC 和运行参数信息。",
|
||
"jvm_diagnostic.completion.argument.thread.busy_top.label": "繁忙线程 TOP N (-n)",
|
||
"jvm_diagnostic.completion.argument.thread.busy_top.documentation": "查看 CPU 最繁忙的前 N 个线程。",
|
||
"jvm_diagnostic.completion.argument.thread.blocking.label": "阻塞线程 (-b)",
|
||
"jvm_diagnostic.completion.argument.thread.blocking.documentation": "查找当前阻塞其他线程的线程。",
|
||
"jvm_diagnostic.completion.argument.thread.thread_id.label": "指定线程 ID",
|
||
"jvm_diagnostic.completion.argument.thread.thread_id.documentation": "查看指定线程的详细栈信息。",
|
||
"jvm_diagnostic.completion.argument.sc.class_pattern.label": "类匹配模板",
|
||
"jvm_diagnostic.completion.argument.sc.class_pattern.documentation": "按类名模式搜索。",
|
||
"jvm_diagnostic.completion.argument.sc.detail.documentation": "输出类的详细信息。",
|
||
"jvm_diagnostic.completion.argument.sm.method_signature.label": "方法签名模板",
|
||
"jvm_diagnostic.completion.argument.sm.method_signature.documentation": "查看类的方法签名。",
|
||
"jvm_diagnostic.completion.argument.sm.detail.documentation": "输出方法详细签名。",
|
||
"jvm_diagnostic.completion.argument.jad.template.label": "反编译模板",
|
||
"jvm_diagnostic.completion.argument.jad.template.documentation": "反编译指定类。",
|
||
"jvm_diagnostic.completion.argument.sysprop.property.label": "查看属性",
|
||
"jvm_diagnostic.completion.argument.sysprop.property.documentation": "读取指定系统属性。",
|
||
"jvm_diagnostic.completion.argument.sysenv.variable.label": "查看环境变量",
|
||
"jvm_diagnostic.completion.argument.sysenv.variable.documentation": "读取指定环境变量。",
|
||
"jvm_diagnostic.completion.argument.classloader.tree.label": "树形视图 (-t)",
|
||
"jvm_diagnostic.completion.argument.classloader.tree.documentation": "输出类加载器树形结构。",
|
||
"jvm_diagnostic.completion.argument.classloader.url_stat.label": "全部 URL 统计 (--url-stat)",
|
||
"jvm_diagnostic.completion.argument.classloader.url_stat.documentation": "查看类加载器 URL 统计。",
|
||
"jvm_diagnostic.completion.argument.classloader.hash.label": "指定类加载器 Hash",
|
||
"jvm_diagnostic.completion.argument.classloader.hash.documentation": "查看指定类加载器详情。",
|
||
"jvm_diagnostic.completion.argument.trace.template.documentation": "跟踪慢方法调用链路。",
|
||
"jvm_diagnostic.completion.argument.trace.condition.label": "条件过滤 '#cost > 100'",
|
||
"jvm_diagnostic.completion.argument.trace.condition.documentation": "追加 trace 条件表达式。",
|
||
"jvm_diagnostic.completion.argument.watch.template.documentation": "观察入参、返回值或异常。",
|
||
"jvm_diagnostic.completion.argument.watch.expand_depth.label": "展开层级 -x 2",
|
||
"jvm_diagnostic.completion.argument.watch.expand_depth.documentation": "设置对象展开层级。",
|
||
"jvm_diagnostic.completion.argument.stack.template.documentation": "输出方法调用栈。",
|
||
"jvm_diagnostic.completion.argument.monitor.template.documentation": "按周期统计方法调用情况。",
|
||
"jvm_diagnostic.completion.argument.tt.record.label": "tt 录制模板",
|
||
"jvm_diagnostic.completion.argument.tt.record.documentation": "录制指定方法调用。",
|
||
"jvm_diagnostic.completion.argument.tt.list.label": "查看记录列表 (-l)",
|
||
"jvm_diagnostic.completion.argument.tt.list.documentation": "查看当前录制列表。",
|
||
"jvm_diagnostic.completion.argument.tt.replay.label": "回放记录 (-i)",
|
||
"jvm_diagnostic.completion.argument.tt.replay.documentation": "查看指定记录详情。",
|
||
"jvm_diagnostic.completion.argument.ognl.template.documentation": "执行 OGNL 表达式,高风险命令默认受策略限制。",
|
||
"jvm_diagnostic.completion.argument.vmtool.get_instances.label": "vmtool getInstances",
|
||
"jvm_diagnostic.completion.argument.vmtool.get_instances.documentation": "获取指定类实例,高风险命令默认受策略限制。",
|
||
"jvm_diagnostic.completion.argument.redefine.template.documentation": "重新定义类字节码文件路径。",
|
||
"jvm_diagnostic.completion.argument.retransform.template.documentation": "重新转换指定类。",
|
||
"jvm_diagnostic.completion.argument.stop.direct.label": "stop",
|
||
"jvm_diagnostic.completion.argument.stop.direct.documentation": "停止当前后台任务。",
|
||
"app.about.action.open_install_directory": "打开安装目录",
|
||
"app.about.action.install_update": "安装更新",
|
||
"app.about.action.hide_to_background": "隐藏到后台",
|
||
"app.about.download_progress.title": "下载更新",
|
||
"app.about.download_progress.title_with_version": "下载更新 {{version}}",
|
||
"app.about.update_status.not_checked": "未检查",
|
||
"app.about.update_status.checking": "正在检查更新...",
|
||
"app.about.update_status.check_failed": "检查更新失败: {{error}}",
|
||
"app.about.update_status.new_version_downloaded": "发现新版本 {{version}}(已下载,请点击“下载进度”后安装)",
|
||
"app.about.update_status.new_version_not_downloaded": "发现新版本 {{version}}(未下载)",
|
||
"app.about.update_status.latest": "当前已是最新版本({{version}})",
|
||
"app.about.message.update_package_ready": "更新包已就绪({{version}})",
|
||
"app.about.message.update_package_ready_with_path": "更新包已就绪({{version}}),路径:{{path}}",
|
||
"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.open_install_directory_failed_with_error": "打开安装目录失败: {{error}}",
|
||
"app.about.message.install_failed_with_error": "更新安装失败: {{error}}",
|
||
"app.about.message.check_failed_with_error": "检查更新失败: {{error}}",
|
||
"app.about.message.new_version_found": "发现新版本 {{version}}",
|
||
"app.theme.font_family.title": "字体族",
|
||
"app.theme.font_family.ui_title": "界面字体 (UI Font Family)",
|
||
"app.theme.font_family.mono_title": "代码字体 (Mono Font Family)",
|
||
"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.linux_cjk_install_prefix": "Ubuntu/Linux 未检测到中文 CJK 字体,界面可能显示方框。请安装:",
|
||
"app.theme.font_family.linux_cjk_install_suffix": ",然后重启 GoNavi。",
|
||
"app.linux_cjk_font_banner.title": "Linux CJK 字体缺失",
|
||
"app.linux_cjk_font_banner.description": "中文可能显示为方框。请安装字体后重启 GoNavi:",
|
||
"app.linux_cjk_font_banner.action.open_font_settings": "字体设置",
|
||
"app.theme.data_table.density": "表格密度",
|
||
"app.theme.data_table.density.comfortable": "舒适",
|
||
"app.theme.data_table.density.standard": "标准",
|
||
"app.theme.data_table.density.compact": "紧凑",
|
||
"app.theme.data_table.density_hint": "控制行高、列宽和内边距。舒适适合大屏细看;紧凑适合最大化信息密度。已手动拖拽的列宽优先保留。",
|
||
"app.theme.data_table.font_size": "数据表字体大小",
|
||
"app.theme.data_table.sidebar_tree_font_size": "左侧库表字体大小",
|
||
"app.theme.data_table.follow_global": "跟随全局",
|
||
"ai_settings.message.load_provider_failed": "读取供应商配置失败",
|
||
"data_sync.field.schema": "模式",
|
||
"data_sync.message.fetch_target_schemas_failed_detail": "获取目标模式失败: {{detail}}",
|
||
"data_sync.message.select_target_schema": "请选择目标模式"
|
||
}
|