{ "columns": { "common": { "name": "Name", "description": "Description", "createdAt": "Created At", "updatedAt": "Updated At", "status": "Status", "actions": "Actions", "type": "Type", "url": "URL" }, "scanHistory": { "target": "Target", "summary": "Summary", "engineName": "Engine Name", "workerName": "Worker Node", "progress": "Progress", "subdomains": "Subdomains", "websites": "Websites", "ipAddresses": "IP Addresses", "endpoints": "Endpoints", "vulnerabilities": "Vulnerabilities" }, "vulnerability": { "severity": "Severity", "source": "Source", "vulnType": "Vuln Type" }, "organization": { "organization": "Organization", "totalTargets": "Total Targets", "added": "Added" }, "target": { "target": "Target", "addedOn": "Added On", "lastScanned": "Last Scanned" }, "subdomain": { "subdomain": "Subdomain" }, "ipAddress": { "ipAddress": "IP Address", "hosts": "Hosts", "openPorts": "Open Ports", "allHosts": "All Hosts", "allOpenPorts": "All Open Ports" }, "endpoint": { "title": "Title", "host": "Host", "contentLength": "Content Length", "location": "Location", "webServer": "Web Server", "contentType": "Content Type", "technologies": "Technologies", "responseBody": "Response Body", "vhost": "VHost", "gfPatterns": "GF Patterns", "responseHeaders": "Response Headers", "responseTime": "Response Time" }, "website": { "host": "Host", "responseHeaders": "Response Headers" }, "directory": { "length": "Length", "words": "Words", "lines": "Lines", "duration": "Duration" }, "engine": { "engineName": "Engine Name", "subdomainDiscovery": "Subdomain Discovery", "portScan": "Port Scan", "siteScan": "Site Scan", "directoryScan": "Directory Scan", "urlFetch": "URL Fetch", "osint": "OSINT", "vulnerabilityScan": "Vulnerability Scan", "wafDetection": "WAF Detection", "screenshot": "Screenshot" }, "scheduledScan": { "taskName": "Task Name", "scanEngine": "Scan Engine", "cronExpression": "Cron Expression", "scope": "Scope", "nextRun": "Next Run", "runCount": "Run Count", "lastRun": "Last Run" }, "fingerprint": { "name": "Name", "cats": "Categories", "rules": "Rules", "implies": "Implies", "website": "Website", "cpe": "CPE", "created": "Created", "logic": "Logic", "ruleDetails": "Rule Details", "cms": "CMS", "method": "Method", "keyword": "Keyword", "type": "Type", "important": "Important" }, "command": { "tool": "Tool", "commandTemplate": "Command Template" } }, "tooltips": { "targetDetails": "目标详情", "viewProgress": "点击查看进度详情", "targetSummary": "目标摘要", "initiateScan": "发起扫描", "scheduleScan": "计划扫描", "editEngine": "编辑引擎", "viewDetails": "查看详情", "unlinkTarget": "解除关联", "clickToCopy": "点击复制", "expand": "展开", "collapse": "收起", "vulnDetails": "漏洞详情", "copied": "已复制", "allHosts": "所有主机", "allOpenPorts": "所有开放端口" }, "severity": { "critical": "严重", "high": "高危", "medium": "中危", "low": "低危", "info": "信息" }, "common": { "actions": { "save": "保存", "saving": "保存中...", "cancel": "取消", "delete": "删除", "edit": "编辑", "add": "添加", "create": "创建", "update": "更新", "search": "搜索", "refresh": "刷新", "export": "导出", "import": "导入", "confirm": "确认", "close": "关闭", "submit": "提交", "reset": "重置", "copy": "复制", "download": "下载", "upload": "上传", "view": "查看", "details": "详情", "back": "返回", "next": "下一步", "previous": "上一步", "start": "开始", "stop": "停止", "pause": "暂停", "resume": "继续", "retry": "重试", "snapshot": "详情", "openMenu": "打开菜单", "selectAll": "全选", "deselectAll": "取消全选", "selectRow": "选择行", "website": "官网", "description": "描述", "processing": "处理中...", "confirmDelete": "确认删除", "deleteConfirmMessage": "确定要删除选中的 {count} 条记录吗?此操作不可撤销。" }, "yamlEditor": { "syntaxError": "语法错误", "syntaxValid": "语法正确", "errorLocation": "第 {line} 行,第 {column} 列", "loading": "加载编辑器...", "duplicateKey": "发现重复的配置项 '{key}',后面的配置会覆盖前面的,请删除重复项" }, "theme": { "switchToLight": "切换到亮色模式", "switchToDark": "切换到暗色模式", "switchLanguage": "切换语言", "switchColor": "切换主题色" }, "download": { "all": "下载全部", "selected": "下载选中", "important": "下载重点" }, "ui": { "toggleSidebar": "切换侧边栏", "loading": "加载中", "commandDialog": "命令对话框" }, "dropzone": { "uploadFile": "上传文件", "uploadFiles": "上传文件", "dragOrClick": "拖拽文件到此处或点击选择", "dragOrClickReplace": "拖拽或点击替换文件", "moreFiles": "{files} 等 {count} 个文件", "supports": "支持", "minimum": "最小", "maximum": "最大", "sizeBetween": "大小在 {min} 到 {max} 之间" }, "status": { "loading": "加载中...", "pageLoading": "页面加载中...", "success": "操作成功", "error": "操作失败", "noData": "暂无数据", "pending": "等待中", "running": "运行中", "completed": "已完成", "failed": "失败", "cancelled": "已取消", "active": "活跃", "inactive": "未激活", "enabled": "已启用", "disabled": "已禁用", "creating": "正在创建...", "updating": "正在更新...", "deleting": "正在删除...", "removing": "正在移除...", "unlinking": "正在解除关联...", "batchCreating": "正在批量创建...", "batchDeleting": "正在批量删除...", "batchRemoving": "正在批量移除...", "updateSuccess": "更新成功", "updateFailed": "更新失败", "uploading": "正在上传..." }, "pagination": { "page": "第 {current} 页,共 {total} 页", "rowsPerPage": "每页显示", "total": "共 {count} 条", "first": "首页", "last": "末页", "previous": "上一页", "next": "下一页", "goTo": "跳转到" }, "time": { "justNow": "刚刚", "minutesAgo": "{count} 分钟前", "hoursAgo": "{count} 小时前", "daysAgo": "{count} 天前", "weeksAgo": "{count} 周前", "monthsAgo": "{count} 个月前", "yearsAgo": "{count} 年前" }, "confirm": { "title": "确认操作", "deleteTitle": "确认删除", "deleteMessage": "确定要删除吗?此操作不可撤销。", "bulkDeleteTitle": "确认批量删除", "bulkDeleteMessage": "确定要删除选中的 {count} 项吗?此操作不可撤销。", "unlinkTitle": "确认解除关联", "unlinkMessage": "确定要解除关联吗?此操作只会解除关联关系,数据本身不会被删除。", "bulkUnlinkTitle": "确认批量解除关联", "bulkUnlinkMessage": "确定要解除选中的 {count} 项的关联吗?数据本身不会被删除。", "stopTitle": "确认停止", "stopMessage": "确定要停止此任务吗?", "yes": "是", "no": "否", "deleteVulnMessage": "此操作无法撤销。这将永久删除漏洞 \"{name}\" 及其相关数据。", "bulkDeleteVulnMessage": "此操作无法撤销。这将永久删除以下 {count} 个漏洞及其相关数据。", "deleteVulnCount": "删除 {count} 个漏洞", "deleteScanMessage": "此操作无法撤销。这将永久删除扫描记录 \"{name}\" 及其相关数据。", "bulkDeleteScanMessage": "此操作无法撤销。这将永久删除以下 {count} 个扫描记录及其相关数据。", "deleteScanCount": "删除 {count} 个记录", "stopScanTitle": "确认停止扫描", "stopScanMessage": "确定要停止扫描任务 \"{name}\" 吗?扫描将会中止,已收集的数据将会保留。", "stopScanAction": "停止扫描", "deleteOrgMessage": "此操作将永久删除组织 \"{name}\" 并解除其与域名的关联。域名本身不会被删除,仍可正常使用。", "bulkDeleteOrgMessage": "此操作将永久删除以下 {count} 个组织并解除其与域名的关联。域名本身不会被删除,仍可正常使用。", "deleteOrgCount": "删除 {count} 个组织", "deleting": "删除中...", "deleteToolMessage": "此操作无法撤销。这将永久删除开源工具 \"{name}\" 及其相关配置。", "deleteCustomToolMessage": "此操作无法撤销。这将永久删除自定义工具 \"{name}\" 及其相关配置。", "deleteTargetTitle": "确认删除目标", "deleteTargetMessage": "此操作无法撤销。这将永久删除目标 \"{name}\" 及其所有关联数据。", "bulkDeleteTargetTitle": "确认批量删除目标", "bulkDeleteTargetMessage": "此操作无法撤销。这将永久删除以下 {count} 个目标及其所有关联数据。", "deleteTargetCount": "确认删除 {count} 个目标", "confirmDelete": "确认删除", "confirmUnlink": "确认解除", "confirmUnlinkCount": "确认解除 {count} 个关联", "unlinkTargetMessage": "确定要解除目标 \"{name}\" 与此组织的关联吗?此操作只会解除关联关系,目标本身不会被删除。", "bulkUnlinkTargetMessage": "此操作将解除以下 {count} 个目标与此组织的关联。目标本身不会被删除,仍可正常使用。", "deleteScheduledScanMessage": "确定要删除定时扫描任务 \"{name}\" 吗?此操作无法撤销。", "deleteEngineMessage": "确定要删除引擎「{name}」吗?此操作无法撤销。", "deleteNucleiRepoMessage": "确定要删除仓库「{name}」吗?此操作无法撤销。", "deleteWordlistMessage": "确定要删除字典「{name}」吗?此操作无法撤销。" } }, "navigation": { "mainFeatures": "主要功能", "dashboard": "仪表盘", "search": "搜索", "organization": "组织", "target": "目标", "vulnerabilities": "漏洞", "scan": "扫描", "scanHistory": "扫描历史", "scheduledScan": "定时扫描", "scanEngine": "扫描引擎", "tools": "工具", "wordlists": "字典管理", "fingerprints": "指纹管理", "nucleiTemplates": "Nuclei 模板", "settings": "系统设置", "workers": "扫描节点", "systemLogs": "系统日志", "notifications": "通知设置", "apiKeys": "API 密钥", "globalBlacklist": "全局黑名单", "help": "获取帮助", "feedback": "反馈建议" }, "search": { "title": "资产搜索", "hint": "点击搜索框查看可用字段和语法,直接输入文本默认搜索主机名", "searching": "搜索中...", "loading": "加载中...", "resultsCount": "找到 {count} 条结果", "error": "搜索失败,请稍后重试", "noResults": "未找到匹配的资产", "noResultsHint": "请尝试调整搜索条件", "vulnLoadError": "加载漏洞详情失败", "recentSearches": "最近搜索", "export": "导出", "exporting": "导出中...", "exportSuccess": "导出成功", "exportFailed": "导出失败", "stats": { "vulnerabilities": "漏洞" }, "assetTypes": { "website": "网站", "endpoint": "URL" }, "fields": { "host": "主机名", "url": "URL 地址", "title": "页面标题", "tech": "技术栈", "status": "HTTP 状态码", "body": "响应体内容", "header": "响应头内容" }, "table": { "url": "URL", "host": "主机名", "title": "标题", "status": "状态码", "technologies": "技术栈", "contentLength": "内容长度", "location": "跳转地址", "webserver": "Web 服务器", "contentType": "内容类型", "responseBody": "响应体", "responseHeaders": "响应头", "vhost": "VHost", "createdAt": "创建时间", "gfPatterns": "GF 模式" }, "card": { "title": "标题", "expand": "展开", "collapse": "收起", "vulnerabilities": "关联漏洞 ({count})", "vulnName": "漏洞名称", "severity": "严重程度", "source": "来源", "vulnType": "漏洞类型" }, "vulnDetail": { "title": "漏洞详情", "name": "漏洞名称", "source": "来源", "type": "漏洞类型", "url": "漏洞 URL" } }, "dashboard": { "title": "仪表盘", "stats": { "totalTargets": "目标总数", "totalVulnerabilities": "漏洞总数", "activeScans": "进行中扫描", "completedScans": "已完成扫描", "totalOrganizations": "组织总数", "totalSubdomains": "子域名总数", "totalEndpoints": "端点总数", "totalWebsites": "网站总数" }, "statCards": { "assetsFound": "发现资产", "vulnsFound": "发现漏洞", "monitoredTargets": "监控目标", "runningScans": "正在扫描", "assetsFooter": "子域名 + IP + 端点 + 网站", "vulnsFooter": "所有扫描发现的漏洞", "targetsFooter": "已添加的目标总数", "scansFooter": "当前运行中的任务", "updatedAt": "统计更新于 {time}", "noData": "暂无数据" }, "assetTrend": { "title": "资产趋势", "description": "每小时更新 · 点击折线或图例可隐藏/显示", "noData": "暂无历史数据", "current": "当前", "subdomains": "子域名", "ips": "IP", "endpoints": "端点", "websites": "网站" }, "assetDistribution": { "title": "资产分布", "description": "各类资产数量统计", "totalAssets": "资产总计", "subdomains": "子域名", "ipAddresses": "IP地址", "endpoints": "端点", "websites": "网站", "count": "数量" }, "vulnDistribution": { "title": "漏洞分布", "description": "按严重程度统计", "noData": "暂无漏洞数据", "vulns": "漏洞" }, "recentVulns": { "title": "最近漏洞", "description": "最近发现的安全漏洞", "viewAll": "查看全部", "noData": "暂无漏洞数据" } }, "dataTable": { "columns": "列", "filter": "筛选", "selected": "已选择 {count} 项", "noResults": "没有找到结果", "selectAll": "全选", "deselectAll": "取消全选", "showColumns": "显示列", "hideColumns": "隐藏列", "sortAsc": "升序", "sortDesc": "降序", "clearSort": "清除排序", "clearFilter": "清除筛选" }, "filter": { "fields": { "ip": "IP 地址", "port": "端口号", "host": "主机名", "domain": "域名", "url": "完整 URL", "status": "HTTP 状态码", "title": "页面标题", "source": "数据来源", "path": "URL 路径", "severity": "漏洞严重程度", "name": "名称", "type": "类型" }, "syntax": { "operators": "操作符", "containsFuzzy": "包含(模糊)", "exactMatch": "精确匹配", "notEquals": "不等于", "logic": "逻辑", "matchAny": "匹配任意", "matchAll": "匹配全部" }, "groups": { "activeFilters": "当前过滤条件", "availableFields": "可用字段", "syntax": "语法", "examples": "示例" }, "empty": "输入以过滤...", "descriptions": { "directoryUrl": "目录 URL", "subdomainName": "子域名", "endpointUrl": "端点 URL", "vulnType": "漏洞类型", "scannerSource": "扫描器来源" } }, "validation": { "required": "此字段为必填项", "invalidEmail": "请输入有效的邮箱地址", "invalidUrl": "请输入有效的 URL", "invalidDomain": "请输入有效的域名", "invalidIp": "请输入有效的 IP 地址", "minLength": "最少需要 {min} 个字符", "maxLength": "最多允许 {max} 个字符", "minValue": "最小值为 {min}", "maxValue": "最大值为 {max}", "pattern": "格式不正确" }, "auth": { "title": "XingRin - 星环", "subtitle": "自动化资产发现与漏洞扫描平台", "login": "登录", "pageTitle": "登录 - 星环 | 攻击面管理平台", "pageDescription": "星环 (XingRin) - 攻击面管理平台 (ASM),提供自动化资产发现与漏洞扫描", "loggingIn": "登录中...", "logout": "退出登录", "username": "用户名", "usernamePlaceholder": "请输入账户名", "password": "密码", "passwordPlaceholder": "请输入密码", "rememberMe": "记住我", "forgotPassword": "忘记密码", "loginSuccess": "登录成功", "loginFailed": "登录失败", "logoutSuccess": "已退出登录", "sessionExpired": "会话已过期,请重新登录", "changePassword": { "title": "修改密码", "desc": "请输入当前密码和新密码", "currentPassword": "当前密码", "newPassword": "新密码", "confirmPassword": "确认新密码", "passwordMismatch": "新密码与确认密码不一致", "passwordTooShort": "新密码长度至少 {min} 位", "cancel": "取消", "save": "保存", "saving": "保存中..." } }, "organization": { "title": "组织管理", "name": "组织名称", "description": "描述", "addOrganization": "添加组织", "createOrganization": "创建组织", "editOrganization": "编辑组织", "deleteOrganization": "删除组织", "searchPlaceholder": "搜索组织名称...", "noResults": "暂无组织", "targetCount": "目标数量", "notFound": "组织不存在", "notFoundDesc": "未找到ID为 {id} 的组织", "noDescription": "暂无描述", "createdAt": "创建于 {date}", "targetCountLabel": "{count} 个目标", "dialog": { "addTitle": "添加新组织", "addDesc": "填写组织信息以添加到系统中。可以同时添加目标。标有 * 的字段为必填项。", "editTitle": "编辑组织", "editDesc": "修改组织的基本信息。标有 * 的字段为必填项。", "addButton": "添加组织", "orgName": "组织名称", "orgNamePlaceholder": "请输入组织名称", "orgDesc": "组织描述", "orgDescPlaceholder": "请输入组织描述(可选)", "addTargets": "添加目标(可选)", "targetsPlaceholder": "请输入目标,每行一个\n支持域名、IP、CIDR\n例如:\nexample.com\n192.168.1.1\n10.0.0.0/8", "targetCount": "{count} 个目标", "invalidCount": "{count} 个无效", "invalidExample": "例如 第 {line} 行: \"{target}\" - {error}", "cancel": "取消", "create": "创建组织", "creating": "创建组织中...", "creatingTargets": "批量创建目标中...", "update": "更新组织", "updating": "更新中...", "reset": "重置", "changesDetected": "检测到变更,点击更新保存修改", "characters": "{count}/{max} 字符" }, "validation": { "nameMin": "组织名称至少需要 {min} 个字符", "nameMax": "组织名称不能超过 {max} 个字符", "descMax": "描述不能超过 {max} 个字符", "targetInvalid": "目标格式无效" }, "linkTarget": { "title": "添加目标到组织", "description": "输入目标并关联到 \"{name}\"。支持批量添加,每行一个目标。标有 * 的字段为必填项。", "targetLabel": "目标", "organizationLabel": "所属组织", "placeholder": "请输入目标,每行一个\n支持域名、IP、CIDR\n例如:\nexample.com\n192.168.1.1\n10.0.0.0/8", "targetCount": "{count} 个目标", "invalidCount": "{count} 个无效", "invalidExample": "例如 第 {line} 行: \"{target}\" - {error}", "creating": "创建中...", "createTarget": "创建目标", "validation": { "required": "请输入至少一个目标", "invalidFormat": "目标格式无效" } } }, "target": { "title": "目标管理", "name": "目标名称", "domain": "域名", "description": "描述", "addTarget": "添加目标", "createTarget": "创建目标", "editTarget": "编辑目标", "deleteTarget": "删除目标", "organization": "所属组织", "types": { "domain": "域名", "ip": "IP", "cidr": "CIDR" }, "dialog": { "addTitle": "添加目标", "addDesc": "输入目标并关联到组织。支持批量添加,每行一个目标。标有 * 的字段为必填项。", "targetList": "目标列表", "targetPlaceholder": "请输入目标,每行一个\n支持域名、IP、CIDR\n例如:\nexample.com\n192.168.1.1\n10.0.0.0/8", "targetCount": "{count} 个目标", "invalidCount": "{count} 个无效目标,例如 第 {line} 行: \"{target}\" - {error}", "invalidFormat": "目标格式无效", "linkOrganization": "关联组织(可选)", "selectOrganization": "请选择组织", "searchOrganization": "搜索组织...", "noOrganization": "未找到组织", "loading": "加载中...", "orgPagination": "共 {total} 个组织 · 第 {page} / {totalPages} 页", "perPage": "每页:", "creating": "创建中...", "addTarget": "添加目标" } }, "scan": { "title": "扫描", "startScan": "开始扫描", "stopScan": "停止扫描", "scanType": "扫描类型", "scanStatus": "扫描状态", "scanProgress": "扫描进度", "scanResult": "扫描结果", "editTask": "编辑任务", "initiate": { "title": "发起扫描", "targetDesc": "为目标", "orgDesc": "为组织", "selectEngine": "选择扫描引擎", "selectEngineTitle": "选择引擎", "selectEngineHint": "选择左侧引擎查看配置详情", "loading": "加载中...", "loadFailed": "加载失败", "noEngines": "暂无可用引擎", "capabilities": "{count} 项能力", "noConfig": "无配置", "initiating": "发起中...", "startScan": "开始扫描", "selectedCount": "已选择 {count} 个引擎", "configTitle": "扫描配置", "configEdited": "已编辑", "stepIndicator": "步骤 {current}/{total}", "back": "上一步", "next": "下一步", "steps": { "selectEngine": "选择引擎", "editConfig": "编辑配置" }, "presets": { "title": "推荐组合", "fullScan": "全量扫描", "fullScanDesc": "完整的安全评估,覆盖资产发现到漏洞检测的全部流程", "recon": "信息收集", "reconDesc": "发现和识别目标资产,包括子域名、端口、站点和指纹", "vulnScan": "漏洞扫描", "vulnScanDesc": "对已知资产进行安全漏洞检测", "custom": "自定义", "customDesc": "手动选择引擎组合", "customHint": "点击选择后手动勾选引擎", "selectHint": "请选择一个扫描方案", "selectEngines": "选择引擎", "enginesCount": "个引擎", "capabilities": "涉及能力", "usedEngines": "使用引擎", "noCapabilities": "请选择引擎" }, "overwriteConfirm": { "title": "覆盖配置确认", "description": "您已手动编辑过配置,切换引擎将覆盖当前配置。是否继续?", "cancel": "取消", "confirm": "确认覆盖" } }, "cron": { "everyMinute": "每分钟", "everyNMinutes": "每 {n} 分钟", "everyHour": "每小时 {minute}分", "everyNHours": "每 {n} 小时 {minute}分", "everyDay": "每天 {time}", "everyWeek": "每{day} {time}", "everyMonth": "每月{day}号 {time}", "weekdays": ["周日", "周一", "周二", "周三", "周四", "周五", "周六"] }, "history": { "title": "扫描历史", "description": "查看和管理所有扫描任务记录", "startTime": "开始时间", "endTime": "结束时间", "duration": "耗时", "status": "状态", "searchPlaceholder": "搜索目标名称...", "loadFailed": "加载扫描历史失败", "retry": "重试", "taskId": "扫描任务 ID:{id}", "breadcrumb": { "scanHistory": "扫描历史" }, "tabs": { "overview": "概览", "assets": "资产", "screenshots": "截图", "vulnerabilities": "漏洞" }, "status": { "completed": "已完成", "running": "扫描中", "failed": "失败", "pending": "等待中", "cancelled": "已取消", "initiated": "等待中" }, "overview": { "loadError": "加载扫描数据失败", "startedAt": "开始时间", "duration": "耗时", "assetsTitle": "发现的资产", "vulnerabilitiesTitle": "漏洞统计", "stagesTitle": "扫描进度", "stagesCompleted": "完成", "logsTitle": "扫描日志", "noStages": "暂无阶段进度", "totalFound": "个漏洞", "totalVulns": "共 {count} 个", "viewAll": "查看全部", "cards": { "websites": "网站", "subdomains": "子域名", "ips": "IP 地址", "urls": "URLs", "directories": "目录", "vulnerabilities": "漏洞" }, "severity": { "critical": "严重", "high": "高危", "medium": "中危", "low": "低危" } }, "stats": { "totalScans": "总扫描数", "running": "进行中", "vulnsFound": "发现漏洞", "assetsFound": "发现资产", "allScanTasks": "所有扫描任务", "runningScans": "正在执行的扫描", "completedScansFound": "已完成扫描发现", "assetTypes": "子域名 + IP + 端点 + 网站", "all": "全部" } }, "progress": { "title": "扫描进度", "target": "目标", "engine": "引擎", "startTime": "开始时间", "status": "状态", "errorReason": "错误原因", "totalProgress": "总进度", "tab_stages": "阶段", "tab_logs": "日志", "status_running": "扫描中", "status_cancelled": "已取消", "status_completed": "已完成", "status_failed": "失败", "status_initiated": "等待中", "stage_running": "进行中", "stage_pending": "等待中", "stage_failed": "失败", "stage_cancelled": "已取消", "stages": { "subdomainDiscovery": "子域名发现", "portScan": "端口扫描", "siteScan": "站点扫描", "fingerprintDetect": "指纹识别", "directoryScan": "目录扫描", "urlFetch": "URL 抓取", "vulnScan": "漏洞扫描", "subdomain_discovery": "子域名发现", "port_scan": "端口扫描", "site_scan": "站点扫描", "fingerprint_detect": "指纹识别", "directory_scan": "目录扫描", "url_fetch": "URL 抓取", "vuln_scan": "漏洞扫描", "screenshot": "截图" } }, "scheduled": { "title": "定时扫描", "description": "配置和管理定时扫描任务", "searchPlaceholder": "搜索任务名称...", "cronExpression": "Cron 表达式", "nextRun": "下次执行", "lastRun": "上次执行", "enabled": "已启用", "disabled": "已禁用", "createTitle": "新建定时扫描", "createDesc": "配置定时扫描任务,设置执行计划", "editTitle": "编辑定时扫描", "editDesc": "修改定时扫描任务配置", "stepIndicator": "步骤 {current}/{total}", "steps": { "basicInfo": "基本信息", "scanMode": "扫描模式", "selectTarget": "选择目标", "selectEngine": "选择引擎", "editConfig": "编辑配置", "scheduleSettings": "调度设置" }, "form": { "taskName": "任务名称", "taskNamePlaceholder": "例如:每日安全巡检", "taskNameDesc": "为定时任务设置一个易于识别的名称", "taskNameRequired": "请输入任务名称", "scanEngine": "扫描引擎", "scanEnginePlaceholder": "选择扫描引擎", "scanEngineDesc": "选择引擎可快速填充配置,也可直接编辑配置", "scanEngineRequired": "请选择扫描引擎", "configuration": "扫描配置", "configurationPlaceholder": "请输入 YAML 格式的扫描配置...", "configurationDesc": "YAML 格式的扫描配置,可选择引擎自动填充或手动编辑", "configurationRequired": "请输入扫描配置", "yamlInvalid": "YAML 配置格式错误,请检查语法", "configEdited": "已编辑", "selectScanMode": "选择扫描模式", "organizationScan": "组织扫描", "organizationScanDesc": "选择组织,执行时动态获取其下所有目标", "targetScan": "目标扫描", "targetScanDesc": "选择固定的目标列表进行扫描", "organizationScanHint": "组织扫描:每次执行时会动态获取组织下的所有目标,新增的目标也会被扫描", "targetScanHint": "目标扫描:扫描固定的目标列表,后续新增的目标不会被扫描", "selectOrganization": "选择组织", "selectTarget": "选择扫描目标", "searchOrganization": "搜索组织名称...", "searchTarget": "搜索目标名称...", "noOrganization": "未找到组织", "noTarget": "未找到目标", "targetCount": "{count} 个目标", "selectedOrganization": "已选择组织,执行时将动态扫描该组织下所有目标", "selectedTarget": "已选择目标", "cronExpression": "Cron 表达式", "cronPlaceholder": "分 时 日 月 周(如:0 2 * * *)", "cronFormat": "格式:分(0-59) 时(0-23) 日(1-31) 月(1-12) 周(0-6,0=周日)", "cronRequired": "Cron 表达式格式错误,需要 5 个部分:分 时 日 月 周", "quickSelect": "快捷选择", "executionPreview": "执行预览", "valid": "有效", "nextExecutionTime": "下次执行时间:", "upcoming": "(即将执行)", "invalidExpression": "无效的表达式", "scanScope": "扫描范围", "organizationMode": "组织扫描", "organizationModeHint": "组织扫描模式下,执行时将动态获取该组织下所有目标", "noAvailableTarget": "暂无可用目标", "noEngine": "暂无可用引擎", "noConfig": "无配置", "capabilitiesCount": "{count} 项能力", "selected": "已选择", "selectedEngines": "已选择 {count} 个引擎", "scanTarget": "扫描目标", "presetTargetHint": "目标已预设,无法更改。如需扫描其他目标,请从全局定时扫描页面创建。" }, "presets": { "everyHour": "每小时", "daily2am": "每天凌晨2点", "daily4am": "每天凌晨4点", "weekly": "每周一凌晨2点", "monthly": "每月1号凌晨2点", "everyMinute": "每分钟", "every5Minutes": "每5分钟" }, "buttons": { "previous": "上一步", "next": "下一步", "createTask": "创建任务", "saveChanges": "保存修改", "cancel": "取消" }, "toast": { "selectOrganization": "请选择一个组织", "selectTarget": "请选择一个扫描目标", "configConflict": "配置冲突" }, "overwriteConfirm": { "title": "覆盖配置确认", "description": "您已手动编辑了配置,切换引擎将覆盖当前配置。确定要继续吗?", "cancel": "取消", "confirm": "确定覆盖" } }, "engine": { "title": "扫描引擎", "name": "引擎名称", "type": "引擎类型", "config": "配置", "searchPlaceholder": "搜索引擎...", "createEngine": "新建引擎", "engineList": "引擎列表", "noMatchingEngine": "未找到匹配的引擎", "noEngines": "暂无引擎,请先新建", "featuresEnabled": "{count} 个功能已启用", "featuresCount": "{count} 个功能", "updatedAt": "更新于", "enabledFeatures": "已启用功能", "configPreview": "配置预览", "editConfig": "编辑配置", "selectEngineHint": "选择左侧引擎查看详情", "features": { "subdomain_discovery": "子域名发现", "port_scan": "端口扫描", "site_scan": "站点扫描", "fingerprint_detect": "指纹识别", "directory_scan": "目录扫描", "screenshot": "网站截图", "url_fetch": "URL 抓取", "vuln_scan": "漏洞扫描" }, "create": { "title": "新建扫描引擎", "desc": "创建新的扫描引擎配置,使用 Monaco Editor 编辑 YAML 配置文件,支持语法高亮、自动补全和错误提示。", "engineName": "引擎名称", "engineNamePlaceholder": "请输入引擎名称,例如:全面扫描引擎", "yamlConfig": "YAML 配置", "syntaxError": "语法错误", "syntaxValid": "语法正确", "loadingEditor": "加载编辑器...", "errorLocation": "第 {line} 行,第 {column} 列", "confirmClose": "您有未保存的更改,确定要关闭吗?", "creating": "创建中...", "createEngine": "创建引擎" }, "edit": { "title": "编辑引擎配置 - {name}", "desc": "使用 Monaco Editor 编辑引擎的 YAML 配置文件,支持语法高亮、自动补全和错误提示。", "yamlConfig": "YAML 配置", "syntaxError": "语法错误", "syntaxValid": "语法正确", "loadingEditor": "加载编辑器...", "errorLocation": "第 {line} 行,第 {column} 列", "unsavedChanges": "您有未保存的更改", "confirmClose": "您有未保存的更改,确定要关闭吗?", "saving": "保存中...", "saveConfig": "保存配置" } } }, "vulnerability": { "title": "漏洞", "name": "漏洞名称", "severity": "严重程度", "critical": "严重", "high": "高危", "medium": "中危", "low": "低危", "info": "信息", "status": "状态", "open": "待处理", "confirmed": "已确认", "fixed": "已修复", "falsePositive": "误报", "description": "描述", "solution": "解决方案", "reference": "参考链接" }, "tools": { "title": "工具", "wordlists": { "title": "字典管理", "name": "字典名称", "type": "类型", "count": "条目数", "upload": "上传字典", "download": "下载字典", "uploadDialog": { "title": "上传字典", "desc": "上传字典文件,后端保存后由各个 Worker 按需下载使用", "dragHint": "拖拽文件到此处", "selectFile": "选择文件", "fileHint": "支持 .txt 文件,最大 50MB", "namePlaceholder": "例如:常用目录字典", "descPlaceholder": "例如:基于 dirsearch", "descLabel": "描述(可选)", "cancel": "取消", "uploading": "上传中...", "uploadButton": "上传字典" }, "editDialog": { "title": "编辑字典 - {name}", "desc": "编辑字典内容,每行一个条目。保存后会自动更新行数、文件大小和 Hash 值。", "content": "字典内容", "lines": "共 {count} 行", "hash": "Hash", "loading": "加载字典内容...", "loadingEditor": "加载编辑器...", "unsavedChanges": "您有未保存的更改", "confirmClose": "您有未保存的更改,确定要关闭吗?", "cancel": "取消", "saving": "保存中...", "save": "保存字典" } }, "fingerprints": { "title": "指纹管理", "name": "指纹名称", "category": "分类", "import": "导入指纹", "export": "导出指纹", "pageDescription": "Web 指纹识别规则管理", "helpText": "• EHole: 红队资产识别工具,支持关键词、favicon hash 等识别方式\n• Goby: 攻击面测绘工具,包含大量 Web 应用和设备指纹\n• Wappalyzer: 浏览器扩展,可识别网站使用的技术栈\n• Fingers: HTTP 指纹库,包含详细的规则匹配\n• FingerPrintHub: Nuclei 风格指纹模板,使用 HTTP 匹配器\n• ARL: 资产侦察灯塔指纹规则,YAML 格式", "actions": { "operations": "操作", "exportAll": "导出所有指纹", "deleteSelected": "删除选中", "deleteAll": "删除所有", "addFingerprint": "添加指纹", "addSingle": "单条添加", "importFile": "文件导入" }, "dialogs": { "exportTitle": "导出所有指纹", "exportDesc": "将导出所有 {count} 条指纹数据为 JSON 文件。", "deleteSelectedTitle": "删除选中指纹", "deleteSelectedDesc": "确定要删除选中的 {count} 条指纹吗?此操作不可撤销。", "deleteAllTitle": "删除所有指纹", "deleteAllDesc": "确定要删除所有 {count} 条指纹吗?此操作不可撤销。", "confirmExport": "确认导出", "confirmDelete": "确认删除" }, "ehole": { "addTitle": "添加 EHole 指纹", "editTitle": "编辑 EHole 指纹", "addDesc": "添加新的指纹规则", "editDesc": "修改指纹规则配置" }, "goby": { "addTitle": "添加 Goby 指纹", "editTitle": "编辑 Goby 指纹", "addDesc": "添加新的指纹规则", "editDesc": "修改指纹规则配置" }, "wappalyzer": { "addTitle": "添加 Wappalyzer 指纹", "editTitle": "编辑 Wappalyzer 指纹", "addDesc": "添加新的指纹规则", "editDesc": "修改指纹规则配置" }, "fingers": { "addTitle": "添加 Fingers 指纹", "editTitle": "编辑 Fingers 指纹", "addDesc": "添加新的 HTTP 指纹规则", "editDesc": "修改指纹规则配置" }, "fingerprinthub": { "addTitle": "添加 FingerPrintHub 指纹", "editTitle": "编辑 FingerPrintHub 指纹", "addDesc": "添加新的 Nuclei 风格指纹模板", "editDesc": "修改指纹模板配置" }, "arl": { "addTitle": "添加 ARL 指纹", "editTitle": "编辑 ARL 指纹", "addDesc": "添加新的 ARL 指纹规则", "editDesc": "修改指纹规则配置" }, "toast": { "createSuccess": "创建成功", "updateSuccess": "更新成功", "createFailed": "创建失败", "updateFailed": "更新失败", "exportSuccess": "导出成功", "exportFailed": "导出失败", "deleteSuccess": "删除成功:{count} 条", "deleteFailed": "删除失败" }, "form": { "cmsPlaceholder": "如:WordPress、Nginx", "cmsRequired": "CMS 名称不能为空", "keywordPlaceholder": "多个关键词用逗号分隔", "keywordRequired": "关键词不能为空", "typePlaceholder": "如:CMS、Server", "namePlaceholder": "如:Apache、Nginx", "nameRequired": "产品名称不能为空", "logicPlaceholder": "如:a||b、(a&&b)||c", "logicRequired": "逻辑表达式不能为空", "featurePlaceholder": "匹配特征", "appNamePlaceholder": "如:WordPress、React", "appNameRequired": "应用名称不能为空", "catsPlaceholder": "如:1, 6, 12", "descPlaceholder": "应用描述", "detectionRules": "检测规则", "detectionRulesHint": "JSON 格式使用对象,数组格式用逗号分隔", "jsVariables": "JS 变量", "metaTags": "Meta 标签", "htmlContent": "HTML 内容", "implies": "依赖", "cookies": "Cookies (JSON)", "headers": "Headers (JSON)", "scriptUrl": "脚本 URL", "location": "位置", "mark": "标记", "name": "名称", "fpId": "指纹 ID", "fpIdPlaceholder": "如:wordpress-detect", "fpIdRequired": "指纹 ID 不能为空", "author": "作者", "authorPlaceholder": "如:security-team", "severity": "严重程度", "tags": "标签", "tagsPlaceholder": "如:cms, wordpress, php", "http": "HTTP 匹配规则", "httpPlaceholder": "JSON 数组格式的 HTTP 匹配规则", "httpRequired": "HTTP 匹配规则不能为空", "httpArrayRequired": "HTTP 必须是数组格式", "httpJsonInvalid": "HTTP JSON 格式无效", "metadata": "元数据", "metadataPlaceholder": "JSON 对象格式的元数据", "metadataObjectRequired": "元数据必须是对象格式", "metadataJsonInvalid": "元数据 JSON 格式无效", "sourceFile": "来源文件", "sourceFilePlaceholder": "如:wordpress.yaml", "link": "参考链接", "linkPlaceholder": "如:https://example.com/docs", "rule": "匹配规则", "rulePlaceholder": "JSON 数组格式的匹配规则", "ruleRequired": "匹配规则不能为空", "ruleArrayRequired": "规则必须是数组格式", "ruleJsonInvalid": "规则 JSON 格式无效", "tag": "标签", "tagPlaceholder": "如:cms, framework(逗号分隔)", "focusLabel": "标记为重点", "defaultPort": "默认端口", "defaultPortPlaceholder": "如:80, 443, 8080(逗号分隔)", "arlNamePlaceholder": "如:Nginx、Apache", "arlRule": "ARL 规则", "arlRulePlaceholder": "body=\"nginx\" || header=\"nginx\"", "arlRuleRequired": "ARL 规则不能为空", "arlRuleHint": "支持 body、header、title 等匹配方式,使用 || 和 && 组合条件" }, "loadFailed": "加载失败", "loadError": "加载指纹数据时出现错误", "reload": "重新加载", "filter": { "ehole": { "cms": "产品/CMS名称", "method": "匹配方式 (keyword, faviconhash...)", "location": "匹配位置 (body, header, title)", "type": "分类", "isImportant": "是否重点资产 (true/false)" }, "goby": { "product": "产品名称", "logic": "逻辑表达式" }, "wappalyzer": { "name": "应用名称", "description": "应用描述", "website": "官网地址", "cpe": "CPE 标识符", "implies": "依赖项 (如 PHP, MySQL)" }, "fingers": { "name": "指纹名称", "link": "参考链接", "tag": "标签", "focus": "重点标记 (true/false)", "defaultPort": "默认端口" }, "fingerprinthub": { "fpId": "指纹 ID", "name": "指纹名称", "author": "作者", "tags": "标签", "severity": "严重程度" }, "arl": { "name": "指纹名称", "rule": "规则内容" } }, "import": { "eholeTitle": "导入 EHole 指纹", "eholeDesc": "上传 EHole 格式的指纹文件", "eholeFormatHint": "{\"fingerprint\": [...]}", "eholeInvalidMissing": "无效的 EHole 格式:缺少 fingerprint 字段", "eholeInvalidArray": "无效的 EHole 格式:fingerprint 必须是数组", "eholeInvalidFields": "无效的 EHole 格式:指纹缺少必要字段 (cms, keyword)", "gobyTitle": "导入 Goby 指纹", "gobyDesc": "上传 Goby 格式的指纹文件", "gobyFormatHint": "[{...}] 或 {...}", "gobyInvalidFields": "无效的 Goby 格式:指纹缺少必要字段 (product, rule)", "gobyInvalidFormat": "无效的 Goby 格式:必须是数组或对象", "wappalyzerTitle": "导入 Wappalyzer 指纹", "wappalyzerDesc": "上传 Wappalyzer 格式的指纹文件", "wappalyzerFormatHint": "{\"apps\": {...}} 或 [{...}]", "wappalyzerInvalidApps": "无效的 Wappalyzer 格式:apps/technologies 必须是对象", "wappalyzerInvalidFormat": "无效的 Wappalyzer 格式", "fingersTitle": "导入 Fingers 指纹", "fingersDesc": "上传 Fingers 格式的指纹文件", "fingersFormatHint": "[{\"name\": ..., \"rule\": [...]}]", "fingersInvalidFormat": "无效的 Fingers 格式:必须是数组", "fingersInvalidArray": "无效的 Fingers 格式:必须是数组", "fingersInvalidFields": "无效的 Fingers 格式:指纹缺少必要字段 (name, rule)", "fingerprinthubTitle": "导入 FingerPrintHub 指纹", "fingerprinthubDesc": "上传 FingerPrintHub 格式的指纹文件", "fingerprinthubFormatHint": "[{\"id\": ..., \"info\": {...}, \"http\": [...]}]", "fingerprinthubInvalidFormat": "无效的 FingerPrintHub 格式:必须是数组", "fingerprinthubInvalidArray": "无效的 FingerPrintHub 格式:必须是数组", "fingerprinthubInvalidFields": "无效的 FingerPrintHub 格式:指纹缺少必要字段", "arlTitle": "导入 ARL 指纹", "arlDesc": "上传 ARL 格式的指纹文件", "arlFormatHint": "YAML 格式,包含 name 和 rule 字段", "arlInvalidFormat": "无效的 ARL 格式", "arlInvalidArray": "无效的 ARL 格式:必须是数组", "arlInvalidFields": "无效的 ARL 格式:指纹缺少必要字段 (name, rule)", "emptyData": "指纹数据为空", "supportedFormat": "支持的格式:", "importing": "导入中...", "importSuccessDetail": "导入成功:创建 {created} 条,失败 {failed} 条" } }, "nuclei": { "title": "Nuclei 模板", "templateName": "模板名称", "author": "作者", "severity": "严重程度", "tags": "标签", "selectTemplate": "选择左侧模板查看内容", "useSearch": "或使用搜索快速定位", "back": "返回", "searchPlaceholder": "搜索模板...", "syncing": "同步中...", "sync": "同步", "templateDirectory": "模板目录", "templateCount": "{count} 个模板", "noMatchingTemplate": "未找到匹配的模板", "noTemplateOrLoadFailed": "暂无模板或加载失败", "repoName": "仓库 #{id}" }, "config": { "addTool": "添加工具", "editTool": "编辑工具", "addNewTool": "添加新工具", "addCustomTool": "添加自定义工具", "editCustomTool": "编辑自定义工具", "dialogDesc": "配置扫描工具的基本信息和执行命令。标有 * 的字段为必填项。", "customDialogDesc": "配置自定义扫描工具的基本信息。标有 * 的字段为必填项。", "basicInfo": "基本信息", "commandConfig": "命令配置", "toolName": "工具名称", "toolNamePlaceholder": "例如: Nuclei, Subfinder, HTTPX", "toolNameMin": "工具名称至少需要 2 个字符", "toolNameMax": "工具名称不能超过 255 个字符", "repoUrl": "仓库地址", "repoUrlPlaceholder": "https://github.com/projectdiscovery/nuclei", "currentVersion": "当前安装版本", "versionPlaceholder": "v3.0.0", "toolDesc": "工具描述", "toolDescPlaceholder": "描述工具的功能、特点和使用场景...", "categoryTags": "分类标签", "noCategories": "暂无可用分类", "installCommand": "安装命令", "installCommandPlaceholder": "git clone https://github.com/user/tool\n或\ngo install -v github.com/tool@latest", "installCommandRequired": "安装命令不能为空", "installCommandHint": "示例:", "installCommandGit": "使用 git:", "installCommandGo": "使用 go:", "installCommandNote": "注意:go get 已不再支持,请使用 go install", "updateCommand": "更新命令", "updateCommandPlaceholder": "git pull\n或\ngo install -v github.com/tool@latest", "updateCommandRequired": "更新命令不能为空", "updateCommandGitHint": "使用 git clone 安装的工具,推荐使用", "updateCommandGoHint": "使用 go install 安装的工具,推荐使用相同的安装命令", "versionCommand": "版本查询命令", "versionCommandPlaceholder": "toolname --version", "versionCommandRequired": "版本查询命令不能为空", "versionCommandAutoGenerated": "已自动生成", "versionCommandHint": "系统会使用此命令检查工具版本并提示更新。常见格式:", "characters": "{count}/{max} 字符", "cancel": "取消", "creating": "创建中...", "saving": "保存中...", "createTool": "创建工具", "saveChanges": "保存修改", "customToolNamePlaceholder": "例如:自定义端口扫描", "customToolDescPlaceholder": "描述工具的功能和用途...", "toolPath": "工具路径", "toolPathPlaceholder": "例如:/opt/security-tools/port-scanner", "toolPathHint": "脚本或工具所在的目录路径", "repository": "仓库", "uncategorized": "未分类", "noDescription": "暂无描述", "checking": "检查中...", "checkUpdate": "检查更新", "noTools": "暂无工具", "noCustomTools": "暂无自定义工具", "directory": "目录" }, "commands": { "searchPlaceholder": "搜索命令名称..." } }, "settings": { "title": "设置", "workers": { "title": "扫描节点", "name": "节点名称", "status": "状态", "online": "在线", "offline": "离线", "lastSeen": "最后在线", "addWorker": "添加节点", "editWorker": "编辑扫描节点", "addWorkerTitle": "添加扫描节点", "addWorkerDesc": "输入远程 VPS 的 SSH 连接信息,添加后可通过「管理部署」一键部署扫描环境", "editWorkerDesc": "修改节点的 SSH 连接信息", "noWorkers": "暂无扫描节点", "noWorkersDesc": "添加远程 VPS 服务器作为扫描节点,开始使用分布式扫描功能,提升扫描效率", "addFirstWorker": "添加第一个节点", "confirmDelete": "确认删除", "confirmDeleteDesc": "确定要删除 Worker 节点 \"{name}\" 吗?此操作不可恢复。", "confirmUninstall": "确认卸载", "confirmUninstallDesc": "确定要在远程主机上卸载 Agent 并删除相关容器吗?此操作不会卸载 Docker。", "workerNodes": "Worker 节点", "workerNodesDesc": "管理分布式扫描节点,支持远程部署和监控", "local": "本地", "memory": "内存", "manageDeploy": "管理部署", "edit": "编辑", "delete": "删除", "learnMore": "了解更多", "gotIt": "知道了", "stats": { "total": "总节点", "online": "在线", "offline": "离线", "pending": "等待部署" }, "status": { "online": "在线", "offline": "离线", "pending": "等待部署", "deploying": "部署中", "updating": "更新中", "outdated": "版本过低" }, "helpDialog": { "title": "什么是分布式扫描?", "desc": "分布式扫描允许你将扫描任务分发到多个远程服务器(扫描节点)上并行执行,显著提高扫描效率。" }, "banner": { "title": "分布式扫描:", "desc": "添加 VPS 节点 → 一键部署 → 任务自动分发" }, "steps": { "step1Title": "添加扫描节点", "step1Desc": "点击\"添加节点\"按钮,填写 VPS 服务器的 SSH 连接信息(IP、端口、用户名、密码)", "step2Title": "部署扫描环境", "step2Desc": "点击\"管理部署\"按钮,系统会自动通过 SSH 在远程服务器上安装 Docker 和心跳agent", "step3Title": "自动任务分发", "step3Desc": "部署完成后节点会自动上报心跳,扫描任务将根据负载自动分发到各节点并行执行" }, "form": { "workerName": "节点名称", "workerNamePlaceholder": "例如: 扫描节点-1", "workerNameDesc": "用于识别节点的名称", "nameRequired": "请输入节点名称", "nameTooLong": "名称不能超过100个字符", "hostIp": "IP 地址", "hostIpPlaceholder": "例如: 192.168.1.100", "ipRequired": "请输入 IP 地址", "ipInvalid": "请输入有效的 IP 地址", "ipNotEditable": "IP 地址不可修改", "sshPort": "SSH 端口", "username": "用户名", "usernameRequired": "请输入用户名", "usernamePlaceholder": "例如: root", "password": "SSH 密码", "passwordPlaceholder": "输入 SSH 密码", "passwordRequired": "请输入 SSH 密码", "passwordKeepEmpty": "留空保持不变", "passwordHint": "密码仅用于部署,不会明文存储", "passwordEditHint": "如需修改密码请输入新密码", "creating": "创建中...", "saving": "保存中...", "createWorker": "创建节点", "saveChanges": "保存修改" }, "loadFailed": "加载失败", "loadError": "加载节点数据时出现错误", "terminal": { "connected": "已连接", "disconnected": "未连接", "connecting": "正在建立 SSH 连接...", "wsConnected": "WebSocket 已连接", "connectionClosed": "连接已关闭", "connectionFailed": "连接失败", "wsConnectionFailed": "WebSocket 连接失败", "waitingConnection": "等待连接...", "pendingHint": "节点未部署,点击右侧按钮开始部署扫描环境", "deployingHint": "正在部署中,点击查看进度", "onlineHint": "节点运行正常", "offlineHint": "节点离线,可尝试重新部署", "updatingHint": "正在自动更新 Agent...", "outdatedHint": "版本过低,需要更新", "reconnect": "重新连接", "startDeploy": "开始部署", "viewProgress": "查看进度", "redeploy": "重新部署", "uninstall": "卸载" } }, "systemLogs": { "title": "系统日志", "description": "每 2 秒自动刷新一次(轮询模式)", "level": "级别", "message": "消息", "timestamp": "时间", "source": "来源", "noContent": "(暂无日志内容)", "toolbar": { "logFile": "日志", "selectFile": "选择日志文件", "lines": "行数", "linesUnit": "行", "searchPlaceholder": "搜索日志...", "download": "下载", "levelAll": "全部级别", "autoRefresh": "自动刷新", "systemLogsGroup": "系统日志", "containerLogsGroup": "容器日志" } }, "notifications": { "title": "通知设置", "email": "邮件通知", "webhook": "Webhook", "enabled": "启用", "disabled": "禁用", "pageTitle": "通知设置", "pageDesc": "配置系统通知的推送渠道和接收偏好", "tabs": { "channels": "推送渠道", "preferences": "通知偏好" }, "discord": { "title": "Discord", "description": "将通知推送到你的 Discord 频道", "webhookLabel": "Webhook URL", "webhookPlaceholder": "https://discord.com/api/webhooks/...", "webhookHelp": "在 Discord 频道设置中创建 Webhook 并粘贴地址", "requiredError": "启用 Discord 时必须填写 Webhook URL", "urlInvalid": "请输入有效的 Discord Webhook URL" }, "emailChannel": { "title": "邮件", "description": "通过邮件接收通知", "comingSoon": "即将支持" }, "enterprise": { "title": "飞书 / 钉钉 / 企微", "description": "推送到企业协作平台" }, "categories": { "title": "通知分类", "description": "选择你想要接收的通知类型", "scan": "扫描任务", "scanDesc": "扫描启动、进度、完成、失败等通知", "vulnerability": "漏洞发现", "vulnerabilityDesc": "发现安全漏洞时通知", "asset": "资产发现", "assetDesc": "发现新子域名、IP、端口等资产", "system": "系统消息", "systemDesc": "系统级通知和公告" }, "saveSettings": "保存设置" } }, "toast": { "copied": "已复制", "copyFailed": "复制失败", "downloadFailed": "下载失败", "deleteSuccess": "删除成功:{count} 条", "deleteFailed": "删除失败,请重试", "deletedScanRecord": "已删除扫描记录: {name}", "stoppedScan": "已停止扫描任务: {name}", "stopFailed": "停止失败,请重试", "bulkDeleteSuccess": "已删除 {count} 个扫描记录", "bulkDeleteFailed": "批量删除失败,请重试", "paramError": "参数错误", "paramErrorDesc": "必须提供组织ID或目标ID", "scanInitiated": "扫描已发起", "scanInitiatedDesc": "成功创建 {count} 个扫描任务", "initiateScanFailed": "发起扫描失败", "noScansCreated": "未创建任何扫描任务", "unknownError": "未知错误", "noEngineSelected": "请选择至少一个扫描引擎", "emptyConfig": "扫描配置不能为空", "engineNameRequired": "请输入引擎名称", "configRequired": "配置内容不能为空", "yamlSyntaxError": "YAML 语法错误", "engineCreateSuccess": "引擎创建成功", "engineCreateSuccessDesc": "引擎 \"{name}\" 已成功创建", "engineCreateFailed": "引擎创建失败", "configSaveSuccess": "配置保存成功", "configSaveSuccessDesc": "引擎 \"{name}\" 的配置已更新", "configSaveFailed": "配置保存失败", "selectFileFirst": "请先选择文件", "invalidJsonFile": "无效的 JSON 文件", "importSuccess": "导入成功", "importFailed": "导入失败", "loadScanHistoryFailed": "加载扫描历史失败", "scan": { "quick": { "success": "已启动 {count} 个扫描任务", "error": "启动扫描失败" }, "stop": { "success": "扫描已停止,已撤销 {count} 个任务" }, "delete": { "success": "已删除扫描任务: {name}", "bulkSuccess": "已删除 {count} 个扫描任务" }, "initiate": { "success": "扫描发起成功", "error": "发起扫描失败" } }, "scheduledScan": { "create": { "success": "定时扫描创建成功", "error": "创建定时扫描失败" }, "update": { "success": "定时扫描更新成功", "error": "更新定时扫描失败" }, "delete": { "success": "定时扫描删除成功", "error": "删除定时扫描失败" }, "toggle": { "enabled": "定时扫描已启用", "disabled": "定时扫描已禁用", "error": "切换定时扫描状态失败" } }, "target": { "create": { "success": "目标创建成功", "bulkSuccess": "已创建 {count} 个目标", "error": "创建目标失败" }, "update": { "success": "目标更新成功", "error": "更新目标失败" }, "delete": { "success": "目标 \"{name}\" 已删除", "bulkSuccess": "已删除 {count} 个目标", "error": "删除目标失败" }, "link": { "success": "目标已关联到组织", "error": "关联目标失败" }, "unlink": { "success": "目标已从组织解除关联", "bulkSuccess": "已解除 {count} 个目标的关联", "error": "解除关联失败" } }, "organization": { "create": { "success": "组织创建成功", "error": "创建组织失败" }, "update": { "success": "组织更新成功", "error": "更新组织失败" }, "delete": { "success": "组织 \"{name}\" 已删除", "bulkSuccess": "已删除 {count} 个组织", "error": "删除组织失败" } }, "asset": { "subdomain": { "create": { "success": "已创建 {count} 个子域名", "partialSuccess": "已创建 {success} 个子域名,跳过 {skipped} 个", "error": "创建子域名失败" }, "delete": { "success": "子域名已删除", "bulkSuccess": "已删除 {count} 个子域名", "error": "删除子域名失败" } }, "website": { "create": { "success": "已创建 {count} 个网站", "partialSuccess": "已创建 {success} 个网站,跳过 {skipped} 个", "error": "创建网站失败" }, "delete": { "success": "网站已删除", "bulkSuccess": "已删除 {count} 个网站", "error": "删除网站失败" } }, "endpoint": { "create": { "success": "已创建 {count} 个端点", "partialSuccess": "已创建 {success} 个端点,跳过 {skipped} 个", "error": "创建端点失败" }, "delete": { "success": "端点已删除", "bulkSuccess": "已删除 {count} 个端点", "error": "删除端点失败" } }, "directory": { "create": { "success": "已创建 {count} 个目录", "partialSuccess": "已创建 {success} 个目录,跳过 {skipped} 个", "error": "创建目录失败" }, "delete": { "success": "目录已删除", "bulkSuccess": "已删除 {count} 个目录", "error": "删除目录失败" } } }, "auth": { "login": { "success": "登录成功" }, "logout": { "success": "已登出" }, "changePassword": { "success": "密码修改成功", "error": "修改密码失败" } }, "worker": { "create": { "success": "节点创建成功", "error": "创建节点失败" }, "update": { "success": "节点更新成功", "error": "更新节点失败" }, "delete": { "success": "节点删除成功", "error": "删除节点失败" }, "deploy": { "success": "节点部署已启动", "error": "部署节点失败" }, "restart": { "success": "节点正在重启", "error": "重启节点失败" }, "stop": { "success": "节点已停止", "error": "停止节点失败" } }, "nucleiRepo": { "create": { "success": "仓库添加成功", "error": "添加仓库失败" }, "update": { "success": "仓库更新成功", "error": "更新仓库失败" }, "delete": { "success": "仓库删除成功", "error": "删除仓库失败" }, "sync": { "success": "仓库同步成功", "error": "同步仓库失败" } }, "wordlist": { "upload": { "success": "字典上传成功", "error": "上传字典失败" }, "update": { "success": "字典更新成功", "error": "更新字典失败" }, "delete": { "success": "字典删除成功", "error": "删除字典失败" } }, "notification": { "settings": { "success": "通知设置已保存", "error": "保存通知设置失败" }, "markRead": { "success": "已标记为已读", "error": "标记已读失败" }, "connection": { "error": "通知连接错误: {message}" } }, "apiKeys": { "settings": { "success": "API 密钥配置已保存", "error": "保存 API 密钥配置失败" } }, "tool": { "create": { "success": "工具创建成功", "error": "创建工具失败" }, "update": { "success": "工具更新成功", "error": "更新工具失败" }, "delete": { "success": "工具删除成功", "error": "删除工具失败" } }, "engine": { "create": { "success": "引擎创建成功", "error": "创建引擎失败" }, "update": { "success": "引擎更新成功", "error": "更新引擎失败" }, "delete": { "success": "引擎删除成功", "error": "删除引擎失败" } }, "command": { "create": { "success": "命令创建成功", "error": "创建命令失败" }, "update": { "success": "命令更新成功", "error": "更新命令失败" }, "delete": { "success": "命令删除成功", "bulkSuccess": "已删除 {count} 个命令", "error": "删除命令失败" } }, "nucleiTemplate": { "refresh": { "loading": "正在同步模板...", "success": "模板同步成功", "error": "同步模板失败" }, "upload": { "success": "模板上传成功", "error": "上传模板失败" }, "save": { "success": "模板保存成功", "error": "保存模板失败" } }, "nucleiGit": { "settings": { "success": "Git 设置保存成功", "error": "保存 Git 设置失败" } }, "systemLog": { "fetch": { "error": "系统日志获取失败,请检查后端接口", "recovered": "系统日志连接已恢复" } }, "blacklist": { "save": { "success": "黑名单规则已保存", "error": "保存黑名单规则失败" } } }, "quickScan": { "title": "快速扫描", "description": "快速创建扫描任务,批量扫描多个目标", "steps": { "enterTargets": "输入目标", "selectEngine": "选择引擎", "confirmScan": "确认扫描" }, "step1Title": "输入目标", "step2Title": "选择引擎", "step3Title": "编辑配置", "stepIndicator": "步骤 {current}/{total}", "step1Hint": "在左侧输入框中输入扫描目标,每行一个", "step": "步骤 {current}/{total} · {title}", "targetPlaceholder": "每行输入一个目标,支持以下格式:\n\n域名: example.com, sub.example.com\nIP地址: 192.168.1.1, 10.0.0.1\nCIDR网段: 192.168.1.0/24, 10.0.0.0/8\nURL: https://example.com/api/v1", "supportedFormats": "支持 域名、IP、CIDR、URL", "validTargets": "{count} 个有效目标", "invalidTargets": "{count} 个无效", "selectEngine": "选择引擎", "noEngines": "暂无可用引擎", "capabilities": "{count} 项能力", "noConfig": "无配置", "scanTargets": "扫描目标", "totalTargets": "共 {count} 个目标", "previous": "上一步", "back": "上一步", "next": "下一步", "startScan": "开始扫描", "creating": "创建中...", "selectEngineHint": "选择左侧引擎查看配置详情", "moreErrors": "还有 {count} 个错误...", "lineError": "行 {lineNumber}: {error}", "loading": "加载中...", "loadFailed": "加载失败", "selectedCount": "已选择 {count} 个", "confirmTargets": "共 {count} 个扫描目标", "andMore": "还有 {count} 个...", "selectedEngines": "已选引擎", "confirmSummary": "将使用 {engineCount} 个引擎扫描 {targetCount} 个目标", "configTitle": "扫描配置", "configEdited": "已编辑", "overwriteConfirm": { "title": "覆盖配置确认", "description": "您已手动编辑过配置,切换引擎将覆盖当前配置。是否继续?", "cancel": "取消", "confirm": "确认覆盖" }, "toast": { "noValidTarget": "请输入至少一个有效目标", "hasInvalidInputs": "存在 {count} 个无效输入,请修正后继续", "selectEngine": "请选择扫描引擎", "emptyConfig": "扫描配置不能为空", "getEnginesFailed": "获取引擎列表失败", "createFailed": "创建扫描任务失败", "createSuccess": "已创建 {count} 个扫描任务", "createSuccessDesc": "{created} 个目标成功,{failed} 个失败", "targetsFailed": "{count} 个目标处理失败", "configConflict": "引擎配置冲突" } }, "notificationDrawer": { "title": "通知", "markAllRead": "全部已读", "markAllAsRead": "全部标记为已读", "empty": "暂无通知", "noNotifications": "暂无通知", "filters": { "all": "全部", "scan": "扫描", "vulnerability": "漏洞", "asset": "资产", "system": "系统" }, "categories": { "scan": "扫描任务", "vulnerability": "漏洞发现", "asset": "资产发现", "system": "系统消息" }, "timeGroups": { "today": "今天", "yesterday": "昨天", "earlier": "更早" }, "status": { "realtime": "实时", "offline": "离线" }, "connection": { "live": "实时", "offline": "离线" } }, "disk": { "totalCapacity": "总容量", "used": "已使用", "available": "可用空间" }, "subdomains": { "loadFailed": "加载失败", "loadError": "加载域名数据时出现错误,请重试", "reload": "重新加载" }, "vulnerabilities": { "title": "漏洞管理", "description": "查看和管理所有扫描发现的漏洞", "detail": { "vulnUrl": "漏洞 URL", "tabs": { "overview": "概览", "requestResponse": "请求/响应", "evidence": "证据", "reproduce": "复现", "rawData": "原始数据" }, "basicInfo": "基本信息", "createdAt": "创建时间", "severity": "严重性", "source": "来源", "httpMethod": "HTTP 方法", "param": "参数", "classification": "漏洞分类", "noClassification": "暂无分类信息", "detailedDesc": "详细描述", "references": "参考链接", "noEvidence": "暂无证据数据", "curlCommand": "CURL 命令", "curlHint": "复制以下命令到终端执行,即可复现此漏洞", "rawOutput": "原始输出 (JSON)", "rawOutputHint": "扫描工具的完整输出数据", "evidence": { "payload": "Payload", "evidence": "证据", "httpRequest": "HTTP 请求", "httpResponse": "HTTP 响应" } }, "severity": { "critical": "严重", "high": "高危", "medium": "中危", "low": "低危", "info": "信息" } }, "pages": { "organization": { "title": "组织", "description": "管理和查看系统中的所有组织信息" }, "target": { "title": "目标", "description": "管理系统中的所有目标信息" }, "workers": { "title": "扫描节点", "description": "管理分布式扫描节点,支持远程 VPS 自动部署" }, "wordlists": { "title": "字典管理", "searchPlaceholder": "搜索字典...", "listTitle": "字典列表", "loading": "加载中...", "noMatch": "未找到匹配的字典", "noData": "暂无字典,请先上传", "lines": "行", "rows": "行数", "size": "大小", "id": "ID", "updatedAt": "更新时间", "hash": "Hash", "editContent": "编辑内容", "delete": "删除", "selectHint": "选择左侧字典查看详情", "idCopied": "ID 已复制到剪贴板" }, "nuclei": { "title": "Nuclei 模板仓库", "searchPlaceholder": "搜索仓库...", "addRepo": "新增仓库", "listTitle": "仓库列表", "loading": "加载中...", "loadFailed": "加载失败", "noMatch": "未找到匹配的仓库", "noData": "暂无仓库,请先新增", "synced": "已同步", "notSynced": "未同步", "syncedAt": "同步于", "notSyncedYet": "尚未同步", "status": "状态", "lastSync": "最后同步", "gitUrl": "Git 地址", "localPath": "本地路径", "commit": "Commit", "syncRepo": "同步仓库", "syncing": "同步中...", "editConfig": "编辑配置", "manageTemplates": "管理模板", "delete": "删除", "selectHint": "选择左侧仓库查看详情", "addDialog": { "title": "新增 Nuclei 模板仓库", "repoName": "仓库名称", "repoNamePlaceholder": "例如:默认 Nuclei 官方模板", "gitUrl": "Git 仓库地址", "gitUrlPlaceholder": "例如:https://github.com/projectdiscovery/nuclei-templates.git", "cancel": "取消", "creating": "创建中...", "confirm": "确认新增" }, "editDialog": { "title": "编辑 Nuclei 仓库配置", "repoName": "仓库名称:", "gitUrl": "Git 仓库地址", "gitUrlPlaceholder": "例如:https://github.com/projectdiscovery/nuclei-templates.git", "cancel": "取消", "saving": "保存中...", "save": "保存配置" } }, "tools": { "title": "工具", "description": "管理与扫描相关的辅助资源,如字典等", "wordlists": { "title": "字典管理", "description": "管理目录扫描等使用的字典文件" }, "nuclei": { "title": "Nuclei 模板", "description": "浏览本地 Nuclei 模板结构及内容" }, "comingSoon": "敬请期待", "stats": { "total": "总数:", "active": "活跃:" }, "enterManagement": "进入管理", "quickActions": { "title": "快速操作", "description": "常用的工具操作" } }, "screenshots": { "filterPlaceholder": "按 URL 过滤...", "loadError": "加载截图失败", "noResults": "没有匹配的截图", "lightboxTitle": "截图预览", "empty": { "title": "暂无截图", "description": "启用截图功能进行站点扫描后,截图将显示在这里。" } }, "targetDetail": { "noDescription": "暂无描述", "breadcrumb": { "targetDetail": "目标详情" }, "error": { "title": "加载失败", "message": "获取目标数据时出现错误" }, "notFound": { "title": "目标不存在", "message": "未找到ID为 {id} 的目标" }, "tabs": { "overview": "概览", "assets": "资产", "screenshots": "截图", "vulnerabilities": "漏洞", "settings": "设置" }, "settings": { "loadError": "加载设置失败", "blacklist": { "title": "黑名单规则", "description": "扫描时将自动排除匹配以下规则的资产。", "rulesTitle": "支持的规则类型", "rules": { "domain": "域名通配符,匹配指定后缀", "domainShort": "域名", "keyword": "关键词匹配,包含指定字符串", "keywordShort": "关键词", "ip": "精确匹配 IP 地址", "ipShort": "IP", "cidr": "匹配 IP 网段范围", "cidrShort": "CIDR" }, "placeholder": "输入规则,每行一个\n\n示例:\n*.gov\n*.edu\n*cdn*\n192.168.0.0/16\n10.0.0.1", "save": "保存规则" }, "scheduledScans": { "title": "定时扫描", "description": "为该目标配置自动执行的扫描任务", "create": "新建定时扫描", "empty": "暂无定时扫描任务", "emptyHint": "点击上方按钮创建定时扫描任务", "enabled": "已启用", "disabled": "已禁用", "nextRun": "下次执行", "runCount": "执行次数", "edit": "编辑", "delete": "删除", "cronDaily": "每天 {time}", "cronWeekly": "每周{day} {time}", "cronMonthly": "每月{day}日 {time}", "weekdays": { "sun": "日", "mon": "一", "tue": "二", "wed": "三", "thu": "四", "fri": "五", "sat": "六" }, "deleteConfirm": { "title": "确认删除", "description": "确定要删除定时扫描任务「{name}」吗?此操作无法撤销。", "cancel": "取消", "confirm": "删除" } } }, "overview": { "loadError": "加载目标数据失败", "createdAt": "创建时间", "lastScanned": "最后扫描", "assetsTitle": "资产统计", "vulnerabilitiesTitle": "漏洞统计", "scanHistoryTitle": "扫描历史", "recentScans": "最近扫描", "noScans": "暂无扫描记录", "viewAll": "查看全部", "cards": { "websites": "网站", "subdomains": "子域名", "ips": "IP 地址", "urls": "URL", "directories": "目录", "vulnerabilities": "漏洞总数" }, "severity": { "critical": "严重", "high": "高危", "medium": "中危", "low": "低危" }, "scanStatus": { "completed": "已完成", "running": "运行中", "failed": "失败", "cancelled": "已取消", "initiated": "等待中" }, "scheduledScans": { "title": "定时扫描", "manage": "管理", "empty": "暂无定时扫描任务", "createFirst": "创建第一个定时扫描", "configured": "已配置", "enabled": "已启用", "nextRun": "下次执行", "today": "今天", "tomorrow": "明天", "more": "+{count} 更多" }, "initiateScan": "发起扫描" } }, "nav": { "scanEngine": "扫描引擎", "wordlists": "字典管理" }, "settings": { "blacklist": { "title": "全局黑名单", "description": "配置全局黑名单规则,扫描时将自动排除匹配的资产", "loadError": "加载黑名单规则失败", "card": { "title": "黑名单规则", "description": "这些规则将应用于所有目标的扫描任务。如需为特定目标配置黑名单,请前往目标设置页面。" }, "rules": { "title": "支持的规则类型", "domain": "域名", "keyword": "关键词", "ip": "IP", "cidr": "CIDR" }, "scopeHint": "全局规则对所有目标生效。目标级规则可在「目标 → 设置」中单独配置。", "placeholder": "输入规则,每行一个\n\n示例:\n*.gov\n*.edu\n*cdn*\n192.168.0.0/16\n10.0.0.1", "save": "保存规则", "toast": { "saveSuccess": "黑名单规则已保存", "saveError": "保存黑名单规则失败" } } } }, "metadata": { "title": "星环 (Xingrin) - 攻击面管理平台 | ASM", "description": "星环 - 攻击面管理平台 (ASM),提供自动化资产发现、漏洞扫描、子域名枚举、端口扫描等功能。支持分布式扫描、Nuclei 集成、定时任务。", "keywords": "ASM, 攻击面管理, 漏洞扫描, 资产发现, Bug Bounty, 渗透测试, Nuclei, 子域名枚举, 安全工具, EASM, 安全", "ogTitle": "星环 (Xingrin) - 攻击面管理平台", "ogDescription": "攻击面管理平台 (ASM),提供自动化资产发现与漏洞扫描" }, "bulkAdd": { "subdomain": { "title": "批量添加子域名", "description": "输入子域名列表,每行一个。", "belongsTo": "子域名必须属于", "label": "子域名列表", "placeholder": "请输入子域名,每行一个\n例如:\napi.example.com\nwww.example.com\nmail.example.com", "valid": "有效: {count} 个", "duplicate": "重复: {count} 个", "invalid": "无效: {count} 个", "lineError": "第 {line} 行: \"{value}\" - {error}", "formatInvalid": "格式无效", "creating": "创建中...", "bulkAdd": "批量添加" }, "common": { "cancel": "取消", "bulkAdd": "批量添加", "formatInvalid": "格式无效" } }, "globalSearch": { "search": "搜索", "placeholder": "搜索资产... (host=\"api\" && tech=\"nginx\")", "noResults": "未找到结果", "searchFor": "搜索", "recent": "最近搜索", "quickSearch": "快捷搜索", "hint": "支持 FOFA 风格语法", "toSearch": "搜索" }, "errors": { "unknown": "操作失败,请稍后重试", "validation": "输入数据无效", "notFound": "资源未找到", "permissionDenied": "权限不足", "serverError": "服务器错误,请稍后重试", "badRequest": "请求格式错误", "conflict": "资源冲突,请检查后重试", "unauthorized": "请先登录", "rateLimited": "请求过于频繁,请稍后重试" } }