mirror of
https://github.com/hansjone/netx.git
synced 2026-10-09 03:10:46 +08:00
2680 lines
106 KiB
TypeScript
2680 lines
106 KiB
TypeScript
const zh = {
|
||
common: {
|
||
help: "帮助说明",
|
||
refresh: "刷新",
|
||
refreshing: "刷新中…",
|
||
query: "查询",
|
||
clearFilters: "清除筛选",
|
||
prevPage: "上一页",
|
||
nextPage: "下一页",
|
||
perPage: "{{n}}/页",
|
||
pagerMeta: "共 {{total}} 条 · 第 {{page}}/{{pages}} 页",
|
||
jumpPage: "跳转到页",
|
||
pageSize: "每页条数",
|
||
exportCsv: "导出 CSV",
|
||
exporting: "导出中…",
|
||
exportOk: "已导出 {{count}} 条",
|
||
exportTruncated: "已导出前 {{count}} 条(共 {{total}},已截断)",
|
||
exportFailed: "导出失败",
|
||
opFailed: "操作失败",
|
||
empty: "-",
|
||
cancel: "取消",
|
||
copy: "复制",
|
||
copied: "已复制",
|
||
},
|
||
workbench: {
|
||
title: "工作台",
|
||
modules: "可用模块",
|
||
sections: "功能分区",
|
||
moduleCount: "{{count}} 个模块",
|
||
backToWorkbench: "返回工作台",
|
||
openInNewTab: "在新标签页中打开",
|
||
openModule: "打开或切换到该模块页签",
|
||
monitoring: "系统对接",
|
||
operations: "运维",
|
||
system: "系统管理",
|
||
welcomeEyebrow: "Workbench",
|
||
welcomeTitle: "欢迎回来,{{name}}",
|
||
welcomeSub: "在此总览同步、拓扑与后台任务状态。",
|
||
today: "今天 · {{date}}",
|
||
kpi: {
|
||
uptime: "API 运行时长",
|
||
health: "系统健康",
|
||
tasks: "进行中任务",
|
||
healthOk: "OK",
|
||
healthWarn: "CHECK",
|
||
healthUnknown: "N/A",
|
||
},
|
||
statusTitle: "运行状态",
|
||
hostHealth: "HOST",
|
||
platformCapacity: "平台容量",
|
||
channels: "CHANNELS",
|
||
fleet: "FLEET",
|
||
fleetNe: "网元",
|
||
fleetNeUnit: "台",
|
||
fleetNeKnown: "已知",
|
||
fleetNePass: "已连通",
|
||
fleetNeFail: "失败",
|
||
fleetNeTesting: "测试中",
|
||
fleetNeUnknown: "未测试",
|
||
fleetNeNoTag: "无标签",
|
||
fleetNeTags: "热门标签",
|
||
fleetTopo: "拓扑",
|
||
fleetTopoNodes: "节点",
|
||
fleetTopoEdges: "边",
|
||
fleetTopoOther: "其他区域",
|
||
fleetTopoUnassigned: "未分区",
|
||
fleetTopoNoRegion: "暂无区域",
|
||
fleetTopoDiscover: "最近发现",
|
||
fleetTopoUpdated: "摘要更新",
|
||
fleetSched: "调度",
|
||
fleetSchedConfig: "配置同步",
|
||
fleetSchedLldp: "LLDP",
|
||
fleetSchedPort: "端口流量",
|
||
fleetSchedNeCollect: "网元采集",
|
||
fleetSchedFabric: "拓扑对账",
|
||
fleetSchedOn: "ON",
|
||
fleetSchedOff: "OFF",
|
||
fleetSchedMode: "模式",
|
||
fleetSchedHeartbeat: "心跳",
|
||
fleetSchedFresh: "新鲜",
|
||
fleetSchedStale: "过期",
|
||
|
||
sidePanel: "控制台侧栏",
|
||
consoleId: "OPS CONSOLE",
|
||
refreshedAt: "更新于 {{time}}",
|
||
taskRail: "ACTIVE TASKS",
|
||
taskRailAll: "ALL",
|
||
taskRailEmpty: "No active tasks",
|
||
taskTotal: "POOL {{count}}",
|
||
announceTitle: "系统公告",
|
||
recentTitle: "最近操作",
|
||
recentMore: "查看全部",
|
||
quickTitle: "快捷操作",
|
||
emptyRecent: "暂无操作记录。",
|
||
gauge: {
|
||
cpu: "CPU",
|
||
mem: "内存",
|
||
storage: "存储",
|
||
storageUsed: "已用",
|
||
storageUnavailable: "不可用",
|
||
cli: "CLI 并发",
|
||
db: "数据库连接",
|
||
webcrt: "WebCRT",
|
||
tasks: "活跃任务",
|
||
low: "低负载",
|
||
normal: "正常",
|
||
high: "繁忙",
|
||
},
|
||
quick: {
|
||
tasks: "任务概览",
|
||
logs: "操作日志",
|
||
users: "用户管理",
|
||
apiKeys: "API Key",
|
||
sessions: "登录会话",
|
||
},
|
||
announce: {
|
||
a1: "深色工作台已上线,其它模块将沿用同一套深色体系。",
|
||
a1Date: "2026-08-04",
|
||
a2: "LLDP 采集支持暂停/继续/停止;进程重启后会自动续跑。",
|
||
a2Date: "2026-08-04",
|
||
a3: "配置同步与 LLDP 看板在任务运行中可实时刷新 KPI。",
|
||
a3Date: "2026-08-03",
|
||
},
|
||
recentCols: {
|
||
action: "操作内容",
|
||
module: "模块",
|
||
time: "时间",
|
||
user: "用户",
|
||
},
|
||
cards: {
|
||
umeSync: "UME同步",
|
||
network: "网络管理",
|
||
managedNe: "网元管理",
|
||
collect: "批量采集",
|
||
webcrt: "WebCRT",
|
||
topology: "拓扑管理",
|
||
portTrafficWall: "流量大屏",
|
||
users: "用户管理",
|
||
audit: "操作审计",
|
||
apiKeys: "API Key",
|
||
sessions: "登录会话",
|
||
},
|
||
},
|
||
network: {
|
||
title: "网络管理",
|
||
nav: {
|
||
detail: "网络详情",
|
||
tasks: "监控任务",
|
||
cutoverCompare: "割接对比",
|
||
topologyMgmt: "拓扑管理",
|
||
devices: "设备列表",
|
||
topology: "拓扑信息",
|
||
lldpLinks: "LLDP",
|
||
topoClassify: "分类",
|
||
alarms: "告警信息",
|
||
configs: "配置信息",
|
||
webcrt: "WebCRT",
|
||
collectTasks: "采集任务",
|
||
configSync: "配置同步",
|
||
portTraffic: "流量监控",
|
||
portTrafficWall: "流量大屏",
|
||
bizState: "业务监控",
|
||
bizCompare: "业务对比",
|
||
bizMigration: "割接监控",
|
||
compareTemplates: "对比模板",
|
||
monitorTemplates: "监控模板",
|
||
},
|
||
collapseNav: "折叠侧栏",
|
||
expandNav: "展开侧栏",
|
||
placeholder: {
|
||
title: "功能规划中",
|
||
body: "该能力尚未开放。",
|
||
},
|
||
},
|
||
bizState: {
|
||
title: "业务监控",
|
||
create: "创建任务",
|
||
createHint: "从托管 / UME 等有效网元中选择(支持查找)",
|
||
created: "已创建任务",
|
||
createFailed: "创建失败",
|
||
empty: "暂无业务监控任务。",
|
||
pickNe: "选择网元…",
|
||
neKeywordPh: "名称 / IP / ID",
|
||
allSource: "全部来源",
|
||
selectedNe: "已选",
|
||
neEmpty: "无匹配网元。",
|
||
colSource: "来源",
|
||
colVendor: "厂商",
|
||
colConnect: "连通",
|
||
start: "启动周期",
|
||
pause: "暂停",
|
||
statusPaused: "已暂停",
|
||
scheduleEnabled: "启用周期调度",
|
||
scheduleOn: "周期",
|
||
scheduleOff: "手动",
|
||
scheduleHint: "勾选后按周期自动采集;不勾选则仅支持「立即采集」。",
|
||
collectNow: "立即采集",
|
||
delete: "删除",
|
||
confirmDelete: "删除该业务监控任务及所有批次?",
|
||
deleted: "已删除",
|
||
started: "已启用周期采集",
|
||
paused: "已暂停周期(仅手动采集)",
|
||
collecting: "采集中",
|
||
detail: "详情",
|
||
interval: "采集周期",
|
||
intervalUnitDays: "天",
|
||
intervalUnitHours: "小时",
|
||
intervalUnitSeconds: "秒",
|
||
retention: "保留天数",
|
||
retentionHint: "超过天数的批次会自动清理;基线与比对/割接引用的批次不会删除。",
|
||
dailyKeepEnabled: "每日保留策略",
|
||
dailyKeepCount: "每天保留次数",
|
||
dailyKeepHint: "开启后:过去每一天只保留最近 N 次,多余在次日清理(默认关闭)。",
|
||
markBaseline: "标为基线",
|
||
unmarkBaseline: "撤销基线",
|
||
baseline: "基线",
|
||
protected: "已保护",
|
||
deleteBatch: "删除",
|
||
bulkDelete: "批量删除",
|
||
confirmDeleteBatch: "删除该采集批次?受保护的批次无法删除。",
|
||
confirmBulkDelete: "删除选中的 {{count}} 个批次?受保护的会自动跳过。",
|
||
batchDeleted: "已删除批次",
|
||
bulkDeleted: "已删除 {{deleted}} 个,跳过 {{skipped}} 个",
|
||
purgeNow: "立即清理",
|
||
purgeOk: "清理完成:删除 {{dropped}} 个批次",
|
||
selectAll: "全选可删",
|
||
colProtect: "保护",
|
||
saveSchedule: "保存周期",
|
||
scheduleSaved: "周期配置已保存",
|
||
colInterval: "周期",
|
||
profiles: "监控项",
|
||
enable: "启用",
|
||
command: "命令模板",
|
||
params: "参数关联",
|
||
discoverVrf: "发现 VRF",
|
||
discoverBind: "发现 / 关联",
|
||
saveBindings: "保存关联",
|
||
cancel: "关闭",
|
||
bindTitle: "选择参数关联",
|
||
unbound: "未关联",
|
||
bindHintRequired: "需关联参数后才可采集",
|
||
paramsDblClickHint: "单击查看全部关联明细",
|
||
paramsClickHint: "单击查看全部关联明细",
|
||
paramsDetailTitle: "参数关联明细",
|
||
paramsDetailCount: "共 {{n}} 条",
|
||
discoverLoading: "正在发现…",
|
||
discoverEmpty: "未发现可用选项",
|
||
discoverCacheHit: "已复用(未重新登录)",
|
||
discoverRefresh: "重新从设备拉取",
|
||
selectAllVrfs: "全选",
|
||
deselectAllVrfs: "取消全选",
|
||
batches: "采集批次",
|
||
viewBatch: "查看",
|
||
export: "导出",
|
||
noBatches: "尚无批次",
|
||
batchDetail: "批次详情",
|
||
batchWorkbook: "批次工作簿",
|
||
batchId: "批次 ID",
|
||
copyBatchId: "复制批次 ID",
|
||
sheetCommands: "命令",
|
||
sheetLldp: "LLDP 邻居",
|
||
sheetVrfRoute: "VRF 路由摘要",
|
||
sheetIsis: "ISIS 邻居",
|
||
sheetIfaceBrief: "接口 Brief",
|
||
sheetArp: "ARP",
|
||
sheetNd6: "ND6 Cache",
|
||
sheetBgpPeer: "BGP 对等体",
|
||
sheetConfigIface: "接口 Intent",
|
||
sheetConfigVrf: "VRF Intent",
|
||
sheetConfigBgp: "BGP Intent",
|
||
sheetFilterPh: "筛选当前表…",
|
||
sheetEmpty: "本表无数据",
|
||
sheetLoading: "加载中…",
|
||
collectCommand: "采集命令",
|
||
viewRawLog: "原始日志",
|
||
rawLogTitle: "原始采集日志",
|
||
rawLogEmpty: "无原始输出",
|
||
filterColumn: "筛选列",
|
||
filterAllCols: "全部列",
|
||
listFilterPh: "筛选网元 / IP / 厂商 / 状态",
|
||
purposeFilter: "任务用途",
|
||
purposeAll: "全部用途",
|
||
purposePortrait: "画像",
|
||
purposeCutoverHf: "割接高频",
|
||
colPurpose: "用途",
|
||
colNe: "网元",
|
||
colStatus: "状态",
|
||
colLast: "最近采集",
|
||
colTime: "时间",
|
||
colRows: "行数",
|
||
colActions: "操作",
|
||
colCommand: "命令",
|
||
colMessage: "说明",
|
||
pickTask: "打开详情查看任务",
|
||
noNeedBind: "该监控项无需参数关联",
|
||
discoverFailed: "发现失败",
|
||
bindingsSaved: "参数关联已保存",
|
||
},
|
||
bizCompare: {
|
||
title: "业务对比",
|
||
templates: "比对模板",
|
||
newTemplate: "新建模板",
|
||
editTemplate: "编辑模板",
|
||
saveTemplate: "保存模板",
|
||
templateSaved: "模板已保存",
|
||
templateDeleted: "模板已删除",
|
||
confirmDeleteTemplate: "删除该比对模板?",
|
||
confirmDeleteJob: "删除该比对任务及全部比对记录?",
|
||
confirmDeleteRun: "删除本次比对结果?任务配置将保留。",
|
||
deleteJob: "删除任务",
|
||
deleteRun: "删除本次",
|
||
runDeleted: "比对记录已删除",
|
||
emptyTemplates: "暂无模板。可新建,或从 JSON 文件导入。",
|
||
exportTemplate: "导出",
|
||
importTemplate: "导入",
|
||
templateExported: "模板已导出",
|
||
templateImported: "模板已导入",
|
||
templateImportInvalid: "导入文件无效:需要 name 与 metrics",
|
||
templateImportHint: "导入/导出 JSON,便于私下传递模板(不含任务/批次数据)",
|
||
templateHint:
|
||
"先勾选监控项,再配置 Key / 接口 / 比对 / 展示。比对可设完全相等、绝对容差或相对偏差%;展示列可含不参与比对的上下文。不勾比对字段则只校验条目存在性。",
|
||
stepPickMetrics: "① 选择监控项",
|
||
stepConfigRules: "② 配置比对规则",
|
||
pickMetricsHint: "勾选后加入模板;可多选。选好后在下方按表配置参数。",
|
||
pickMetricsHintShort: "点选加入 / 取消;配置在下方左侧表列表中切换。",
|
||
showMetrics: "展开选表",
|
||
hideMetrics: "收起选表",
|
||
noMetricsYet: "请先勾选至少一个监控项",
|
||
selectedCount: "已选 {{n}} 项",
|
||
tabFields: "字段规则",
|
||
tabFilters: "行过滤",
|
||
fieldsHintShort: "Key 对齐行;比对勾选参与值 diff;不勾比对则只看存在性。",
|
||
tagCompareN: "{{n}} 比对",
|
||
colFields: "字段数",
|
||
keyFields: "Key",
|
||
ifaceFields: "接口",
|
||
compareFields: "比对",
|
||
compareMode: "方式",
|
||
tolerance: "容差",
|
||
displayField: "展示",
|
||
keyAlwaysDisplay: "Key 列始终展示",
|
||
modeEq: "完全相等",
|
||
modeNumeric: "绝对偏差",
|
||
modePercent: "相对偏差 %",
|
||
normalizeField: "归一",
|
||
ignoreFields: "忽略",
|
||
field: "字段",
|
||
note: "备注",
|
||
keyRequired: "至少选择一个 Key 字段",
|
||
keyIsIdentity: "Key 用于对齐行,不作为值比对字段",
|
||
metricsRequired: "请至少添加一张监控表",
|
||
noMetricFields: "该 metric 无字段定义",
|
||
rowFilters: "行过滤规则",
|
||
rowFiltersHint:
|
||
"比对前按规则筛选行。组内条件为「且」,组与组之间为「或」。勾选 ARP 等监控项时会带上默认可编辑规则,可按需改删。",
|
||
rowFiltersHintShort: "组内且 · 组间或 · 无过滤则比对全部行",
|
||
rowFiltersEmpty: "无过滤则比对全部行。",
|
||
filterClear: "清空",
|
||
filterAddOr: "添加条件组(或)",
|
||
filterAddAnd: "组内加条件(且)",
|
||
filterAddOrShort: "+ 或组",
|
||
filterAddAndShort: "+ 且",
|
||
filterRemoveGroup: "删除本组",
|
||
filterGroupN: "组 {{n}}",
|
||
filterOr: "或",
|
||
filterAnd: "且",
|
||
filterField: "字段",
|
||
filterOp: "运算",
|
||
filterValue: "值",
|
||
normalizeNone: "无",
|
||
normalizeLower: "小写",
|
||
normalizeUpper: "大写",
|
||
normalizeMac: "MAC",
|
||
normalizeEmpty: "空值归一",
|
||
templateFilterPh: "筛选模板名 / metric",
|
||
jobFilterPh: "筛选任务名 / 模板 / 状态",
|
||
addMetric: "添加监控项",
|
||
pickMetric: "选择监控项…",
|
||
addSheet: "加入模板",
|
||
removeSheet: "移出本表",
|
||
sheetIdRequired: "请填写 sheet_id(拆表唯一标识)",
|
||
duplicateSheetId: "sheet_id 不能重复",
|
||
sheetTitle: "表标题",
|
||
sheetId: "sheet_id",
|
||
splitSheet: "拆表复制",
|
||
colSheets: "监控表",
|
||
sheetsUnit: "张表",
|
||
presenceShort: "仅条目",
|
||
modeFields: "模式:按比对字段检查值",
|
||
modeFieldsShort: "字段比对",
|
||
modePresence: "模式:仅校验前后条目一致(不比具体值)",
|
||
mapping: "端口映射(可选)",
|
||
newMapping: "新建映射…",
|
||
mapName: "映射名称",
|
||
saveMapping: "保存映射",
|
||
validateMapping: "校验映射",
|
||
validateNeed: "请先选择映射与前后批次",
|
||
mapHint:
|
||
"每行一对:操作前接口,操作后接口(逗号/Tab/竖线分隔)。例:\ngei-0/1/1,gei-0/1/2\nxgei-0/1/0,xgei-0/2/0\n# 井号开头为注释。不是 A,B/C,D 这种斜杠分组。",
|
||
mappingSaved: "映射已保存",
|
||
mappingOptionalHint:
|
||
"可选。留空=忽略本端端口改名,按非接口 Key 对齐。填写后才做端口映射校验。主接口映射会自动覆盖 .子接口(后缀不变)。",
|
||
ifaceNormalize: "接口归一化",
|
||
ifaceNormalizeHint:
|
||
"模板级规则,每行:简写,规范名。先归一化再端口映射。例:\nGE,gei\nSG,smartgroup\nXGE,xgei",
|
||
createJob: "建立比对任务",
|
||
defaultJobName: "割接比对",
|
||
jobName: "名称",
|
||
template: "模板",
|
||
mode: "模式",
|
||
modeManual: "手工选批次",
|
||
modeAuto: "自动(钉死操作前,操作后取最新)",
|
||
beforeTask: "操作前任务",
|
||
beforeBatch: "操作前批次",
|
||
afterTask: "操作后任务",
|
||
afterBatch: "操作后批次",
|
||
sideBefore: "操作前",
|
||
sideAfter: "操作后",
|
||
sidesVs: "比对",
|
||
sidesTitle: "比对双方",
|
||
pick: "选择…",
|
||
sameAsBefore: "同操作前 / 选择…",
|
||
autoHint: "auto:操作后任务新批次到达会自动跑比对",
|
||
createCompare: "创建比对任务",
|
||
createSteps: "创建步骤",
|
||
stepBasics: "基本信息",
|
||
stepSheets: "对比项",
|
||
stepBatches: "批次",
|
||
stepMapping: "端口映射",
|
||
next: "下一步",
|
||
back: "上一步",
|
||
enabledSheets: "对比项",
|
||
enabledSheetsHint: "点击开关;默认全部开启。关闭的项不参与本次比对。",
|
||
noTemplateSheets: "该模板暂无对比表",
|
||
needJobName: "请填写任务名称",
|
||
needTemplate: "请选择比对模板",
|
||
needSheets: "请至少开启一项对比",
|
||
needBeforeBatch: "请选择操作前任务与批次",
|
||
needAfterBatch: "请选择操作后批次",
|
||
runNow: "立即比对",
|
||
saveJob: "保存配置",
|
||
jobSaved: "任务配置已保存",
|
||
jobDeleted: "比对任务已删除",
|
||
jobList: "比对任务",
|
||
detail: "详情",
|
||
edit: "编辑",
|
||
delete: "删除",
|
||
tabConfig: "任务配置",
|
||
tabResult: "比对结果",
|
||
runs: "历史比对",
|
||
noRuns: "尚无比对记录,请先执行比对",
|
||
result: "比对结果",
|
||
pickBatchRun: "选择比对记录",
|
||
pickRun: "选择比对记录…",
|
||
runCount: "{{n}} 次",
|
||
resultEmpty: "无匹配失败/结果行",
|
||
resultFilterPh: "筛选身份 / 字段值…",
|
||
kindAll: "全部",
|
||
kindDiff: "失败",
|
||
kindAdded: "新增",
|
||
kindRemoved: "仅缺失",
|
||
kindChanged: "仅不一致",
|
||
kindUnchanged: "成功",
|
||
kindAddedShort: "新增",
|
||
kindRemovedShort: "缺失",
|
||
kindChangedShort: "不一致",
|
||
kindUnchangedShort: "成功",
|
||
kindFail: "失败",
|
||
kindPass: "成功",
|
||
kindSuccess: "成功",
|
||
successCount: "成功",
|
||
passRateShort: "通过率",
|
||
verdictPass: "通过",
|
||
verdictFail: "不通过",
|
||
failCount: "失败条目",
|
||
missCount: "缺失",
|
||
extraCount: "多余",
|
||
mismatchCount: "不一致",
|
||
matchCount: "一致",
|
||
failFields: "失败项",
|
||
failFieldsEmpty: "—",
|
||
failWholeRow: "整行",
|
||
pairBefore: "pre",
|
||
pairAfter: "post",
|
||
sheetAllPass: "全部一致",
|
||
filterFailField: "失败比对项",
|
||
filterFailFieldAll: "全部失败项",
|
||
diffCount: "失败 {{n}}",
|
||
passRate: "通过率",
|
||
passOk: "全部通过",
|
||
passWarn: "存在失败",
|
||
runOverview: "总裁决",
|
||
sheetCurrent: "当前检查项",
|
||
diffCountLabel: "失败条目",
|
||
diffRate: "失败率",
|
||
beforeCount: "操作前行数",
|
||
afterCount: "操作后行数",
|
||
matchedRows: "对齐条目",
|
||
totalRows: "合计条目",
|
||
sheetCount: "监控表",
|
||
sheetNavTitle: "检查项",
|
||
sheetNavHint: "共 {{n}} 项 · 点击切换",
|
||
collapseSheetNav: "折叠检查项",
|
||
expandSheetNav: "展开检查项",
|
||
sheetFailCount: "{{n}} 项失败",
|
||
topChangedFields: "失败字段 Top",
|
||
exportTables: "下载表格",
|
||
exportOk: "已导出比对表格",
|
||
fullscreen: "大屏全屏",
|
||
exitFullscreen: "退出全屏",
|
||
emptyJobs: "暂无比对任务",
|
||
created: "比对任务已创建",
|
||
ran: "比对完成",
|
||
colName: "名称",
|
||
colMode: "模式",
|
||
colStatus: "状态",
|
||
colKind: "结论",
|
||
colResult: "结果",
|
||
colDetail: "明细",
|
||
colFailFields: "失败项",
|
||
colActions: "操作",
|
||
colKey: "身份",
|
||
colChange: "变更",
|
||
},
|
||
bizMigration: {
|
||
title: "割接监控",
|
||
hint: "与业务对比独立:相对基线漂移 + 本批预期 + 老/新双端判定。复用采集任务与端口映射。",
|
||
hintPort: "当前监控项:端口状态(interface_brief / admin·phy·prot)。选基线 → 勾选本批端口 → 判定看板。",
|
||
hintShort: "选老/新设备与监控模板,创建后自动高频采集;基线来自业务监控画像。",
|
||
create: "创建任务",
|
||
createHint:
|
||
"除画像基线外,整条割接流程在本页完成;创建后自动生成业务监控高频任务并按计划执行。",
|
||
createHintShort:
|
||
"选老/新设备 → 监控模板与采集项 → 周期/窗口 → 基线(画像)→ 端口映射 → 创建。后台自动建高频任务。",
|
||
pickOldNe: "老设备",
|
||
pickNewNe: "新设备",
|
||
pickNe: "选择设备",
|
||
pickNeHint: "点击选择网元",
|
||
hideNePicker: "收起列表",
|
||
nePairReady: "老/新设备已选好,可进入下一步;点击上方卡片可重新选择。",
|
||
needNePair: "请填写任务名并选择老/新设备",
|
||
needProjectName: "请填写任务名称",
|
||
needMonitorTemplate: "请选择监控模板",
|
||
needMetrics: "请至少勾选一项监控项",
|
||
noPortraitBaseline: "该设备尚无画像采集任务或批次,请先在业务监控跑通画像后再选基线(可稍后补)。",
|
||
baselineOptionalHint: "基线可稍后在详情里补;有画像批次时可在此直接选定。",
|
||
metricInterval: "分项周期(秒)",
|
||
metricIntervalOptional: "分项周期(可选)",
|
||
metricIntervalHint: "留空则使用上方全局周期;填写后该监控项会单独建高频任务。",
|
||
scheduleHint: "按本机时间填写窗口,入库为 UTC;窗口外调度器自动暂停高频任务。",
|
||
sectionSchedule: "采集周期与窗口",
|
||
sectionBaseline: "基线与映射",
|
||
sectionDevices: "老 / 新设备",
|
||
sectionMetrics: "监控项",
|
||
createSteps: "创建步骤",
|
||
stepDevices: "设备",
|
||
stepTemplate: "模板",
|
||
stepSchedule: "周期",
|
||
stepBaseline: "基线",
|
||
next: "下一步",
|
||
back: "上一步",
|
||
colHf: "高频",
|
||
hfReady: "已建",
|
||
hfMissing: "未建",
|
||
showCreateMore: "更多:模板 / 映射 / 基线",
|
||
hideCreateMore: "收起更多",
|
||
setupHintShort: "画像任务用于基线;高频任务用于窗口内采集。此处配置模板、采集项、窗口与双基线。",
|
||
createProject: "创建任务",
|
||
projectName: "任务名称",
|
||
projectNamePh: "例如:PE-A / PE-B 割接-1",
|
||
sectionName: "1. 任务名称",
|
||
sectionTasks: "2. 绑定采集任务(必填)",
|
||
sectionTasksHint: "分别选择老设备、新设备上的业务监控任务;两侧不能为空。",
|
||
sectionOptional: "3. 监控模板、映射与基线(可选)",
|
||
sectionOptionalHint: "可先跳过,创建后再到「基线配置」里设置。未选监控模板时使用系统默认。",
|
||
sectionPair: "已绑定采集任务",
|
||
sectionPairHint: "采集任务在创建时绑定;此处可调整监控模板、映射与基线。",
|
||
sectionBaselineHint: "老侧与新侧基线均必填;老侧用于列出本批预期对象,新侧参与双端判定。",
|
||
optionalNone: "不选",
|
||
monitorTemplate: "监控模板",
|
||
monitorTemplateHint: "决定对比哪些 metric 与双端成功语义;默认绑定系统默认监控模板。",
|
||
compareTemplate: "对比模板",
|
||
compareTemplateBound: "绑定对比模板:{{name}}",
|
||
portMappingHint:
|
||
"有映射时,带接口字段的监控项只比映射内的口(这些口必须在割接后出现)。映射外的同名口不参与迁移对比;老口 down、新口同名 up 记为异常。未配映射则按同名直比。BGP/PW 仍用本批预期勾选。",
|
||
baselineNeedTask: "请先选择对应采集任务",
|
||
baselinePickHint: "从该任务的历史采集批次中选择",
|
||
oldTask: "老设备画像任务",
|
||
newTask: "新设备画像任务",
|
||
portMapping: "端口映射",
|
||
oldBaseline: "老设备基线批次",
|
||
newBaseline: "新设备基线批次",
|
||
needProjectFields: "请填写任务名并选择老/新画像任务",
|
||
needExpectPorts: "请先勾选本批预期迁移的对象",
|
||
needBaselineFirst: "先设基线",
|
||
needBothBaselines: "请先保存老、新两侧基线批次后再评估",
|
||
errOldBaselineRequired: "缺少老设备基线批次",
|
||
errNewBaselineRequired: "缺少新设备基线批次",
|
||
needBizStateTasks: "尚无业务监控(画像)任务,请先创建:",
|
||
projectCreated: "任务已创建",
|
||
projects: "任务",
|
||
empty: "暂无割接任务。",
|
||
emptyProjects: "暂无割接任务",
|
||
listFilterPh: "筛选任务名 / 网元 / IP / 状态",
|
||
kpiProjects: "任务数",
|
||
kpiActive: "进行中",
|
||
detail: "详情",
|
||
cancel: "关闭",
|
||
colName: "任务",
|
||
colPair: "老 → 新",
|
||
colBaseline: "基线",
|
||
colCreated: "创建时间",
|
||
colActions: "操作",
|
||
baselineSet: "已设",
|
||
baselineUnset: "未设",
|
||
statusActive: "进行中",
|
||
statusDone: "已完成",
|
||
statusPaused: "已暂停",
|
||
statusPending: "待开始",
|
||
statusReview: "验收中",
|
||
tabSetup: "基线配置",
|
||
tabBatches: "割接批次",
|
||
tabBoard: "判定看板",
|
||
saveBaseline: "保存配置",
|
||
baselineSaved: "基线已保存",
|
||
pickExpectPorts: "本批预期",
|
||
portFilterPh: "筛选",
|
||
emptyBaselinePorts: "基线无数据",
|
||
batchLabel: "批次标签",
|
||
batchId: "批次 ID",
|
||
copyBatchId: "复制批次 ID",
|
||
defaultBatchLabel: "第N晚",
|
||
expectPorts: "本批预期端口(老侧)",
|
||
expectPortsPh: "逗号或换行分隔",
|
||
createBatch: "新建",
|
||
batchCreated: "批次已创建",
|
||
batches: "批次",
|
||
startBatch: "启动",
|
||
finishBatch: "收工",
|
||
evaluate: "立即判定",
|
||
evaluated: "判定完成",
|
||
statusUpdated: "状态已更新",
|
||
board: "进度看板",
|
||
metricPort: "端口状态",
|
||
progress: "进度",
|
||
anomaly: "异常",
|
||
onlyExpect: "仅预期",
|
||
onlyExpectHint: "默认显示全部漂移;勾选后只看本批预期",
|
||
pinCurrentBatches: "当前采集批次",
|
||
pinOldBatch: "老侧当前",
|
||
pinNewBatch: "新侧当前",
|
||
pinLatest: "最新",
|
||
runHistory: "判定历史",
|
||
runLatest: "最新一次",
|
||
colRuleHit: "命中规则",
|
||
colCommand: "采集命令",
|
||
mappingBound: "映射已保存并绑定到本任务",
|
||
allMetrics: "全部监控项",
|
||
colMetric: "监控项",
|
||
colKey: "对象",
|
||
colPort: "老侧端口",
|
||
openRedChip: "红单 {{n}}",
|
||
metaPortrait: "画像",
|
||
metaHf: "HF",
|
||
metaBaseline: "基线",
|
||
baselineOk: "已设",
|
||
baselineMissing: "缺",
|
||
needBaselineFirst: "先设基线",
|
||
enableHighfreq: "开启高频",
|
||
highfreqReady: "高频已就绪",
|
||
collectNow: "立即采集",
|
||
collectTriggered: "已触发采集",
|
||
openBizState: "业务监控",
|
||
hfNotBound: "未绑定",
|
||
projectCollectMetrics: "采集项",
|
||
hfInterval: "周期(秒)",
|
||
hfStart: "开始",
|
||
hfEnd: "结束",
|
||
markProjectDone: "完成并停HF",
|
||
confirmProjectDone: "确认完成项目并暂停全部高频?",
|
||
projectMarkedDone: "已完成,高频已停",
|
||
deleteProject: "删除",
|
||
confirmDeleteProject: "确认删除项目?将停高频并清批次记录。",
|
||
projectDeleted: "已删除",
|
||
acceptPassedShort: "通过",
|
||
acceptFailedShort: "未过",
|
||
colMapped: "映射新口",
|
||
colDesc: "描述",
|
||
colOldPort: "老端口",
|
||
colNewPort: "新端口",
|
||
colOldStatus: "老状态 admin/phy/prot",
|
||
colNewStatus: "新状态 admin/phy/prot",
|
||
colOld: "老侧",
|
||
colNew: "新侧",
|
||
colVerdict: "判定",
|
||
emptyDiffs: "暂无明细,请先「立即判定」",
|
||
emptyRed: "暂无红单",
|
||
verdictMigrated: "已迁移",
|
||
verdictMigrating: "迁移中",
|
||
verdictLost: "丢失",
|
||
verdictAnomaly: "异常",
|
||
verdictNotInvolved: "未涉及",
|
||
verdictUnexpected: "意外新增",
|
||
verdictOk: "正常",
|
||
highfreqHint: "",
|
||
boundTasks: "绑定任务",
|
||
oldPortraitTask: "老画像",
|
||
newPortraitTask: "新画像",
|
||
oldHfTask: "老HF",
|
||
newHfTask: "新HF",
|
||
projectCollectHint: "",
|
||
hfWindowInactive: "高频窗口未到/已结束,或项目已完成,当前不可采集",
|
||
baselinePortraitOnly: "",
|
||
collectSkipped: "未采",
|
||
collectSkippedBanner: "未采:{{metrics}}",
|
||
currentMissing: "缺当前",
|
||
currentMissingBanner: "缺当前批次:{{metrics}}",
|
||
highfreqReadyInactive: "高频已绑定(窗口未开,未立即采集)",
|
||
collectPartial: "部分失败(成功 {{ok}} / 失败 {{fail}})",
|
||
confirmProjectDone: "确认完成项目并暂停全部高频?",
|
||
projectMarkedDone: "已完成,高频已停",
|
||
confirmDeleteProject: "确认删除项目?将停高频并清批次记录。",
|
||
projectDeleted: "已删除",
|
||
errMetricNeedsBindings: "监控项「{{metric}}」需要参数绑定({{params}}),割接高频暂不支持,请去掉该项",
|
||
errNoProfileForMetric: "监控项「{{metric}}」在当前设备厂商下无可用采集 profile",
|
||
acceptTitle: "本批验收",
|
||
acceptPassed: "验收通过",
|
||
acceptFailed: "验收未过(红单 {{n}})",
|
||
newBaselineMissingBanner: "缺新基线:{{metrics}}",
|
||
acceptCarryHint: "可带红开下一批",
|
||
openRedHint: "红单 {{n}}",
|
||
redTitle: "红单",
|
||
redOpen: "未关闭",
|
||
resolveRed: "关闭",
|
||
redResolved: "已关闭",
|
||
batchCreatedWithRed: "已建批(红单 {{n}})",
|
||
colStatus: "状态",
|
||
verdictUnfinished: "未完成",
|
||
},
|
||
bizMonitorTpl: {
|
||
title: "监控模板",
|
||
hint: "对比模板定义「怎么对齐/比对」;监控模板按同样的表(sheet)定义「怎样算搬迁成功/失败」。",
|
||
create: "新建监控模板",
|
||
edit: "编辑",
|
||
save: "保存",
|
||
cancel: "关闭",
|
||
created: "已创建",
|
||
saved: "已保存",
|
||
deleted: "已删除",
|
||
confirmDelete: "删除该监控模板?",
|
||
delete: "删除",
|
||
empty: "暂无监控模板。",
|
||
listFilterPh: "筛选名称 / 对比模板 / 备注",
|
||
kpiTotal: "模板数",
|
||
colName: "名称",
|
||
namePh: "例如:状态割接监控",
|
||
colCompare: "对比模板",
|
||
colCollect: "高频采集项",
|
||
colNote: "备注",
|
||
colActions: "操作",
|
||
needName: "请填写名称",
|
||
defaultsInvalid: "defaults JSON 无效",
|
||
overridesInvalid: "sheet_overrides JSON 无效",
|
||
exportTemplate: "导出",
|
||
importTemplate: "导入",
|
||
templateExported: "模板已导出",
|
||
templateImported: "模板已导入",
|
||
templateImportInvalid: "导入文件无效:需要 name 与 compare_template_id(或 compare_template_name)",
|
||
templateImportHint: "导入/导出 JSON,便于私下传递监控模板(不含任务/批次数据)",
|
||
templateImportCompareMissing: "未找到对应对比模板,请先导入或创建同名对比模板",
|
||
formHint: "先选对比模板 → 出现与对比模板相同的表页签 → 为每张表配置成功条件。",
|
||
compareHint: "决定有哪些表以及 Key/比对字段;此处只配置双端判定。",
|
||
pickCompare: "选择对比模板…",
|
||
openCompare: "管理对比模板",
|
||
collectAll: "模板全量",
|
||
collectPh: "interface_brief, bgp_peer(空=全量)",
|
||
collectHint: "勾选高频采集的 metric;全不勾或点「模板全量」表示对比模板全部 sheets。",
|
||
collectTitle: "高频采集子集",
|
||
defaults: "defaults(JSON)",
|
||
overrides: "sheet_overrides(JSON)",
|
||
overridesHint: "可按 metric 声明 status_fields / success 模式。",
|
||
globalPolicy: "全局策略",
|
||
outOfExpect: "预期外对象",
|
||
outOfExpectHint: "不在本批预期内的漂移如何处理。",
|
||
ooeStrict: "严格(异常标红)",
|
||
ooeWarn: "警告(仅标黄,不记红单)",
|
||
ooeIgnore: "忽略(一律未涉及)",
|
||
sheetRules: "各表搬迁判定",
|
||
applyAllPresets: "全部套用推荐预设",
|
||
applyAllPresetsShort: "全部预设",
|
||
sheetsUnit: "张表",
|
||
sheetHowReadonly: "对比模板(只读)",
|
||
iface: "接口",
|
||
compare: "比对",
|
||
presenceOnly: "仅存在性",
|
||
editInCompare: "改 HOW",
|
||
presetAuto: "推荐预设",
|
||
presetSkip: "跳过本表",
|
||
skipDual: "本表不参与双端判定",
|
||
skipDualHint: "该表在割接判定中跳过(计数器等请用业务对比 Job)。",
|
||
statusFields: "用哪些字段判断 up/down",
|
||
statusFieldsHint: "端口勾选 admin/phy/prot;BGP 勾选 state;ARP 可不勾(只看条目有无)。",
|
||
statusOptionalHint: "未勾选状态字段时,只按「消失 / 新增」等存在性判定。",
|
||
downValues: "算 down 的取值",
|
||
upValues: "算 up 的取值",
|
||
noFields: "无可用字段(先在对比模板勾选 metric)",
|
||
successPatterns: "成功规则(老侧组间或 × 新侧组间或)",
|
||
successPatternsShort: "成功规则",
|
||
successPatternsHint: "存在性看条目有无;值变更绑定字段并选择怎么变。组内是且,组之间是或。",
|
||
successPatternsHintShort: "组内且 · 组间或 · 老侧命中一组且新侧命中一组 → 成功",
|
||
successPatternsHintFree:
|
||
"每侧只有两种条件:存在性(不绑字段)或值变更(必须绑字段)。同一组内全部满足(且),组与组之间满足一组即可(或)。",
|
||
anomalyPatternsShort: "异常规则",
|
||
anomalyPatternsHint:
|
||
"与成功同结构。命中后标红。某一侧可勾「不限制」表示只看另一侧(如新侧现网消失/down)。未成功≠异常,中间态仍是迁移动态。",
|
||
anomalyPatternsHintShort: "先匹配成功;未命中再看异常。可勾「不限制」只盯一侧。中间态≠异常。",
|
||
successRow: "成功 {{n}}",
|
||
anomalyRow: "异常 {{n}}",
|
||
removeRow: "删除",
|
||
oldSideAny: "老设备",
|
||
newSideAny: "新设备",
|
||
groupLogicHint: "组内且,组之间或",
|
||
sideDontCare: "不限制此侧",
|
||
sideDontCareHint: "只按另一侧条件判定。",
|
||
groupN: "组 {{n}}",
|
||
addAnd: "组内再加一条(且)",
|
||
addOr: "再加一组(或)",
|
||
addAndShort: "+ 且",
|
||
addOrShort: "+ 或组",
|
||
addSuccessRow: "+ 成功规则",
|
||
addAnomalyRow: "+ 异常规则",
|
||
modeAny: "满足任一即可",
|
||
modeAll: "全部同时满足",
|
||
addCond: "添加条件",
|
||
pickField: "选择字段…",
|
||
condValue: "取值",
|
||
opEmpty: "为空",
|
||
opNotEmpty: "非空",
|
||
opChanged: "相对基线变了",
|
||
opUnchanged: "相对基线没变",
|
||
op_eq: "等于",
|
||
op_ne: "不等于",
|
||
op_in: "属于",
|
||
op_not_in: "不属于",
|
||
op_empty: "为空",
|
||
op_not_empty: "非空",
|
||
op_changed: "相对基线变了",
|
||
op_unchanged: "相对基线没变",
|
||
and: "且",
|
||
groupPresence: "存在性",
|
||
groupValue: "值变更",
|
||
groupStatus: "状态类",
|
||
groupField: "字段条件",
|
||
tokRemoved: "消失",
|
||
tokAdded: "新增",
|
||
tokUnchanged: "未变",
|
||
tokChanged: "有变化",
|
||
tokUp: "up",
|
||
tokDown: "down",
|
||
tokOther: "其它状态",
|
||
or: "或",
|
||
tagSkip: "跳过",
|
||
tagRules: "{{n}} 条",
|
||
tagEmpty: "未配",
|
||
needCompareFirst: "请先选择带 sheets 的对比模板。",
|
||
showMore: "更多:备注 / 高频采集 / JSON",
|
||
hideMore: "收起更多",
|
||
showJson: "高级:编辑 JSON",
|
||
hideJson: "回到可视化编辑",
|
||
},
|
||
portTraffic: {
|
||
title: "端口流量监控",
|
||
create: "添加设备监控",
|
||
backList: "返回列表",
|
||
created: "已添加设备监控",
|
||
createFailed: "创建失败",
|
||
updated: "已保存",
|
||
interfacesSaved: "接口已更新",
|
||
started: "已启动",
|
||
paused: "已暂停",
|
||
stopped: "已停止",
|
||
statusRunning: "运行中",
|
||
statusPaused: "已暂停",
|
||
statusStopped: "已停止",
|
||
statusDraft: "草稿",
|
||
collecting: "采集中",
|
||
deleted: "已删除",
|
||
confirmDelete: "删除该设备监控及其采样数据?",
|
||
empty: "暂无设备监控。请先选择网元并勾选接口。",
|
||
keywordPh: "名称 / IP / 备注 / ID",
|
||
allStatus: "全部状态",
|
||
exportDevicesName: "port-traffic-devices",
|
||
exportEventsName: "port-traffic-events",
|
||
wall: "监控大屏",
|
||
wallTitle: "端口流量大屏",
|
||
toDevices: "设备管理",
|
||
wallEmpty: "暂无监控设备。请先添加设备并勾选接口。",
|
||
fullscreen: "全屏",
|
||
exitFullscreen: "退出全屏",
|
||
board: "大屏",
|
||
boardPick: "选择大屏",
|
||
boardPickHint: "请选择或新建一张流量大屏。",
|
||
boardEmpty: "还没有大屏。可新建一张用于割接/值班监控。",
|
||
boardDefaultName: "未命名大屏",
|
||
boardName: "名称",
|
||
boardCols: "列数",
|
||
boardCreate: "新建大屏",
|
||
boardEdit: "编辑布局",
|
||
boardSave: "保存",
|
||
boardCancel: "取消",
|
||
boardSaved: "大屏已保存",
|
||
boardCreated: "大屏已创建",
|
||
boardDeleted: "大屏已删除",
|
||
boardConfirmDelete: "删除该大屏及其图格配置?",
|
||
boardUnsavedLeave: "有未保存的修改,确定离开?",
|
||
boardOpenTab: "新页签打开",
|
||
boardOpen: "打开大屏",
|
||
boardListHint: "点击条目在独立页签打开大屏;从工作台打开网络管理不会刷新已打开的大屏。",
|
||
boardPanelCount: "图格数",
|
||
boardUpdated: "更新时间",
|
||
boardClosedHint: "可关闭本页签;也可回到网络管理 → 流量大屏列表重新打开。",
|
||
boardAddPanel: "添加图格",
|
||
boardNoPanels: "该大屏还没有图格,请编辑并添加监控接口。",
|
||
boardPickDevice: "选择设备",
|
||
boardPanelSettings: "图格设置",
|
||
boardPanelTitle: "标题(可选)",
|
||
boardColSpan: "跨列",
|
||
boardPanelStale: "接口已失效或不存在,请重新选择。",
|
||
boardRetarget: "重选接口",
|
||
edit: "编辑",
|
||
save: "保存",
|
||
start: "启动",
|
||
pause: "暂停",
|
||
stop: "停止",
|
||
delete: "删除",
|
||
wizStep1: "选设备",
|
||
wizStep2: "选接口",
|
||
wizStep3: "参数",
|
||
step1: "参数",
|
||
step2: "选网元",
|
||
step3: "选接口",
|
||
step4: "确认",
|
||
prev: "上一步",
|
||
next: "下一步",
|
||
fieldTitle: "任务名称",
|
||
titlePh: "例如:上联链路组",
|
||
titleRequired: "请填写任务名称",
|
||
portsRequired: "请至少选择一个接口",
|
||
interval: "周期(秒)",
|
||
retention: "保留(天)",
|
||
retentionHintWizard: "若需上周同日对比,建议 ≥8 天",
|
||
concurrency: "并发",
|
||
note: "备注",
|
||
notePh: "可选",
|
||
startNow: "创建后立即启动",
|
||
neKeywordPh: "名称 / IP / 厂商",
|
||
deepLinkHint: "已从拓扑跳转:网元 {{ne}}{{ifname}}。请确认选中后继续。",
|
||
deepLinkIfname: ",接口 {{ifname}}",
|
||
selectedNe: "已选 {{count}} 台网元",
|
||
selectedOneNe: "已选",
|
||
selectedPorts: "已选 {{count}} 个接口",
|
||
pickNeFirst: "请先选择一台网元",
|
||
discover: "拉取接口",
|
||
discoverDetail: "拉取详情",
|
||
discoverCommand: "命令",
|
||
discoverRaw: "原始日志",
|
||
discoverOk: "拉取成功",
|
||
discoverFail: "拉取失败",
|
||
confirmCreate: "开始监控",
|
||
wallTask: "任务",
|
||
wallDevice: "设备",
|
||
wallPort: "接口",
|
||
wallDeviceLabel: "网元",
|
||
pickPort: "选择接口",
|
||
range: "时间范围",
|
||
compare: "周期对比",
|
||
compareOff: "关闭",
|
||
compareDay: "昨日同时刻",
|
||
compareWeek: "上周同日",
|
||
compareShift: "前一窗",
|
||
compareCustom: "自定义偏移",
|
||
offsetHours: "偏移(小时)",
|
||
aheadHours: "向后延长(小时)",
|
||
aheadHoursHint:
|
||
"图表终点相对当前时刻再往后延长。开启周期对比时可看到对照曲线在「现在」之后的走势;0 表示截止到现在。",
|
||
mapBaselineHint: "映射基线可与周期对比叠加使用;需要昨日对照时请自行打开「昨日同时刻」。",
|
||
baseline: "基线",
|
||
baselineAt: "基线原时刻",
|
||
baselineDevice: "基线网元",
|
||
baselinePort: "基线接口",
|
||
seriesCurrentIn: "当前 In",
|
||
seriesCurrentOut: "当前 Out",
|
||
seriesBaselineIn: "基线 In",
|
||
seriesBaselineOut: "基线 Out",
|
||
mapBaselinePort: "映射基线接口",
|
||
mapBaselineTask: "映射基线任务",
|
||
mapBaselineNone: "不映射",
|
||
retentionHint: "周对比建议保留天数 ≥ 8;否则基线可能无数据。",
|
||
collectNow: "立即采集",
|
||
collectStarted: "已触发采集",
|
||
collectBusy: "采集进行中",
|
||
targetError: "接口最近错误",
|
||
waitSamples: "设备运行后会按周期写入样点;也可点「立即采集」。图会每几秒自动刷新。",
|
||
waitAfterError: "采集失败,请到「流量监控」操作中的日志查看详情,修复后可点「立即采集」重试。",
|
||
log: "日志",
|
||
logTitle: "采集日志",
|
||
logEmpty: "暂无日志。",
|
||
logDevice: "设备",
|
||
logLevel: "级别",
|
||
logTime: "时间",
|
||
logMessage: "内容",
|
||
logClose: "关闭",
|
||
logHasError: "有错误",
|
||
rebind: "重新绑定网元",
|
||
rebindTitle: "重新绑定网元",
|
||
rebindCurrent: "当前监控",
|
||
rebindOk: "已重新绑定网元,可继续采集",
|
||
rebindFailed: "重新绑定失败",
|
||
rebindHint: "请手动选择正确的网元并确认。同 IP 不一定是同一台设备,且 IP 可能不唯一;历史采样会保留。",
|
||
rebindEmpty: "没有可选网元,请先在设备管理中加回。",
|
||
rebindSameIp: "同 IP",
|
||
rebindSameIpHint: "与当前监控记录的 IP 相同,请仍核对手动选择",
|
||
rebindSubmit: "确认绑定",
|
||
rebindConfirm: "确认将监控绑定到 {{ne}}?绑定后将按该网元采集,历史采样保留。",
|
||
err: {
|
||
managedNeNotFound: "管理网元不存在(可能已删除后重建,ID 已变)。请点「重新绑定网元」手动选择。",
|
||
targetErrors: "{{count}} 个接口采集失败",
|
||
unsupportedVendor: "不支持的厂商/设备类型",
|
||
invalidSource: "无效的网元来源",
|
||
rebindPickFirst: "请先选择要绑定的网元",
|
||
rebindNeMissing: "所选网元不存在,请刷新列表后重选",
|
||
rebindSourceMismatch: "网元来源与监控不一致",
|
||
alreadyMonitored: "目标网元已有另一条监控,无法绑定",
|
||
},
|
||
kpiLatest: "最新",
|
||
kpiBw: "带宽",
|
||
latestAt: "最新样点",
|
||
hoverPoint: "光标位置",
|
||
wallLiveTitle: "实时流量",
|
||
filterView: "视图",
|
||
filterMap: "映射基线",
|
||
yMode: "纵轴",
|
||
yModeAuto: "自动(含基线)",
|
||
yModeCurrent: "按当前流量",
|
||
yModeUtil: "利用率 %",
|
||
kpi: {
|
||
tasks: "任务数",
|
||
devices: "监控设备",
|
||
running: "运行中",
|
||
ports: "监控接口",
|
||
samples24h: "24h 样点",
|
||
},
|
||
col: {
|
||
title: "任务",
|
||
device: "设备",
|
||
status: "状态",
|
||
ports: "接口",
|
||
interval: "周期",
|
||
last: "最近采集",
|
||
actions: "操作",
|
||
source: "来源",
|
||
name: "设备",
|
||
vendor: "厂商",
|
||
ifname: "接口",
|
||
bw: "带宽",
|
||
upDown: "Admin / Phy / Prot",
|
||
admin: "Admin",
|
||
phy: "Phy",
|
||
prot: "Prot",
|
||
description: "描述",
|
||
},
|
||
},
|
||
lldpLinks: {
|
||
title: "LLDP 链路",
|
||
collectNow: "立即采集",
|
||
retryFailed: "一键重试失败",
|
||
started: "已启动 LLDP 采集",
|
||
pause: "暂停",
|
||
resume: "继续",
|
||
stop: "停止",
|
||
confirmStop: "停止后将取消未扫描的网元,确定停止本轮采集?",
|
||
paused: "已暂停",
|
||
resumed: "已继续",
|
||
stopped: "已停止采集",
|
||
policyTitle: "采集策略",
|
||
policySaved: "策略已保存",
|
||
enabled: "启用周期调度",
|
||
autoAddUnmatched: "发现时自动入库未匹配网元(占位)",
|
||
autoAddUnmatchedHint: "周期采集与画布单点发现共用;关闭则未匹配邻居只记未匹配、不建占位网元。默认开启。",
|
||
intervalDays: "周期(天)",
|
||
interval: "采集周期",
|
||
intervalUnitDays: "天",
|
||
intervalUnitHours: "小时",
|
||
concurrency: "并发",
|
||
historyKeep: "任务保留数",
|
||
scope: "范围",
|
||
scopeAll: "全部网元(纳管+UME)",
|
||
scopeSelected: "指定网元",
|
||
savePolicy: "保存策略",
|
||
selectedCount: "已选 {{count}} 台",
|
||
targetKeywordPh: "名称 / IP / 厂商",
|
||
jobsTitle: "采集任务",
|
||
jobDetailTitle: "任务明细",
|
||
expand: "详情",
|
||
edgesTitle: "Fabric 链路",
|
||
edgeKeywordPh: "本端 / 对端名称或 IP",
|
||
edgeStatusAll: "全部状态",
|
||
edgeStatusActive: "活跃",
|
||
edgeStatusMissing: "未发现",
|
||
edgeSourceAll: "全部来源",
|
||
exportEdgesName: "lldp-fabric-edges",
|
||
exportJobsName: "lldp-collect-jobs",
|
||
exportItemsName: "lldp-job-items",
|
||
statusAll: "全部状态",
|
||
jobKeywordPh: "任务 ID / 错误 / 范围",
|
||
itemKeywordPh: "网元名称 / IP / 错误",
|
||
itemResultAll: "全部结果",
|
||
missCount: "未发现周期",
|
||
replacedBy: "已被替换",
|
||
kpi: {
|
||
nodes: "Fabric 网元",
|
||
edges: "活跃链路",
|
||
missing: "未发现",
|
||
running: "进行中",
|
||
idle: "空闲",
|
||
last: "最近任务",
|
||
nextDue: "下次调度",
|
||
},
|
||
col: {
|
||
source: "来源",
|
||
name: "设备",
|
||
vendor: "厂商",
|
||
trigger: "触发",
|
||
scope: "范围",
|
||
status: "状态",
|
||
progress: "进度",
|
||
edges: "链路",
|
||
missingDelta: "未发现/清理",
|
||
started: "开始",
|
||
ended: "结束",
|
||
neighbors: "邻居",
|
||
error: "错误",
|
||
aSide: "本端",
|
||
bSide: "对端",
|
||
aPort: "本端口",
|
||
bPort: "对端口",
|
||
lastSeen: "最近看见",
|
||
},
|
||
jobStatus: {
|
||
running: "运行中",
|
||
pending: "排队中",
|
||
paused: "已暂停",
|
||
done: "已完成",
|
||
failed: "失败",
|
||
cancelled: "已取消",
|
||
stopped: "已停止",
|
||
},
|
||
triggerMode: {
|
||
manual: "手动",
|
||
schedule: "周期",
|
||
topology: "拓扑画布",
|
||
retry_failed: "重试失败",
|
||
},
|
||
jobScope: {
|
||
all: "全部网元",
|
||
ne_ids: "指定网元",
|
||
selected: "指定网元",
|
||
},
|
||
itemResult: {
|
||
ok: "成功",
|
||
warn: "警告",
|
||
fail: "失败",
|
||
},
|
||
edgeSource: {
|
||
lldp: "LLDP",
|
||
manual: "手动",
|
||
stale: "陈旧",
|
||
},
|
||
},
|
||
configSync: {
|
||
title: "配置同步",
|
||
syncNow: "立即全量同步",
|
||
retryFailed: "一键重试失败",
|
||
pause: "暂停",
|
||
resume: "继续",
|
||
stop: "停止",
|
||
confirmStop: "停止后将取消未执行的网元任务,确定停止本轮同步?",
|
||
started: "已启动同步周期",
|
||
paused: "已暂停",
|
||
resumed: "已继续",
|
||
stopped: "已停止同步周期",
|
||
policyTitle: "同步策略",
|
||
policySaved: "策略已保存",
|
||
enabled: "启用周期调度",
|
||
intervalDays: "周期(天)",
|
||
concurrency: "并发",
|
||
historyKeep: "配置历史保留",
|
||
cycleKeep: "任务保留数",
|
||
scope: "范围",
|
||
scopeAll: "全部网元",
|
||
scopeSelected: "指定网元",
|
||
savePolicy: "保存策略",
|
||
selectedCount: "已选 {{count}} 台",
|
||
targetKeywordPh: "名称 / IP / 厂商",
|
||
cyclesTitle: "同步周期",
|
||
cyclesEmpty: "暂无同步周期",
|
||
tasksTitle: "周期任务",
|
||
taskKeywordPh: "名称 / IP / 消息",
|
||
keywordPh: "ID / 触发 / 消息",
|
||
statusAll: "全部状态",
|
||
allStatus: "全部状态",
|
||
exportCyclesName: "config-sync-cycles",
|
||
exportTasksName: "config-sync-tasks",
|
||
expand: "详情",
|
||
collapse: "收起",
|
||
kpi: {
|
||
snapshots: "配置覆盖数",
|
||
running: "进行中",
|
||
idle: "空闲",
|
||
last: "最近一轮",
|
||
nextDue: "下次调度",
|
||
},
|
||
col: {
|
||
source: "来源",
|
||
name: "设备",
|
||
vendor: "厂商",
|
||
trigger: "触发",
|
||
status: "状态",
|
||
progress: "进度",
|
||
started: "开始",
|
||
ended: "结束",
|
||
message: "消息",
|
||
actions: "操作",
|
||
},
|
||
},
|
||
networkDevices: {
|
||
title: "设备列表",
|
||
keywordPh: "名称 / IP / ID",
|
||
allSource: "全部来源",
|
||
empty: "暂无网元。",
|
||
exportName: "network-devices",
|
||
col: {
|
||
source: "来源",
|
||
name: "名称",
|
||
vendor: "厂商",
|
||
deviceType: "设备类型",
|
||
connect: "连通状态",
|
||
actions: "操作",
|
||
},
|
||
},
|
||
networkConfigs: {
|
||
title: "配置信息",
|
||
keywordPh: "名称 / IP / ID",
|
||
vendorPh: "厂商",
|
||
allSource: "全部来源",
|
||
empty: "暂无已同步配置。请先在「配置同步」执行采集。",
|
||
view: "查看",
|
||
export: "导出",
|
||
exportBoth: "导出全部",
|
||
exportOk: "配置已导出",
|
||
exportListName: "network-configs",
|
||
close: "关闭",
|
||
tabSet: "Set 格式",
|
||
tabHier: "层级格式",
|
||
col: {
|
||
name: "设备",
|
||
vendor: "厂商",
|
||
source: "来源",
|
||
size: "大小",
|
||
collected: "采集时间",
|
||
},
|
||
},
|
||
layout: {
|
||
title: "UME 对接",
|
||
titleUme: "UME同步",
|
||
titleNetwork: "网络管理",
|
||
titleManagedNe: "网元管理",
|
||
titleCollect: "批量采集",
|
||
titleWebcrt: "WebCRT",
|
||
titleTopology: "拓扑管理",
|
||
titlePortTrafficWall: "流量大屏",
|
||
titleUsers: "用户管理",
|
||
titleAudit: "操作审计",
|
||
titleApiKeys: "API Key",
|
||
titleSessions: "登录会话",
|
||
navUme: "UME 对接",
|
||
netxApi: "netx api",
|
||
oclawBridge: "oclaw WSS",
|
||
activeTasks: "活跃任务 {{count}}",
|
||
activeTasksHint: "打开操作审计 · 任务概览",
|
||
language: "语言",
|
||
switchLanguage: "切换语言 / Switch language",
|
||
moreMenu: "更多",
|
||
langZh: "中文",
|
||
langEn: "English",
|
||
},
|
||
auth: {
|
||
loginTitle: "登录",
|
||
username: "用户名",
|
||
password: "密码",
|
||
login: "登录",
|
||
loggingIn: "登录中…",
|
||
loginFailed: "登录失败",
|
||
logout: "退出",
|
||
sessionsTitle: "登录会话",
|
||
sessionsHint:
|
||
"管理当前账号在各浏览器/设备上的登录。IP 经反代时会取真实客户端地址;同公网出口可用「客户端」列区分浏览器/系统。踢掉会话后对方需重新登录。",
|
||
sessionsEmpty: "当前没有活跃会话。",
|
||
revokeOtherSessions: "踢掉其他会话",
|
||
revokeSession: "踢掉",
|
||
sessionCurrent: "当前",
|
||
sessionRevoked: "会话已吊销",
|
||
sessionsRevokedOthers: "已踢掉 {{count}} 个其他会话",
|
||
revokeCurrentConfirm: "这是当前会话,踢掉后需要重新登录。继续?",
|
||
colSession: "会话",
|
||
colClient: "客户端",
|
||
colLastSeen: "最近活动",
|
||
colCreated: "创建时间",
|
||
usersTitle: "用户管理",
|
||
usersHint: "仅管理员可创建与管理本地账号。",
|
||
addUser: "添加用户",
|
||
role: "角色",
|
||
roleAdmin: "管理员",
|
||
roleUser: "普通用户",
|
||
status: "状态",
|
||
active: "启用",
|
||
disabled: "禁用",
|
||
enable: "启用",
|
||
disable: "禁用",
|
||
actions: "操作",
|
||
newPassword: "新密码",
|
||
resetPassword: "重置密码",
|
||
userCreated: "用户已创建",
|
||
userUpdated: "用户已更新",
|
||
auditTitle: "操作审计",
|
||
auditHintAdmin: "查看所有用户的登录与操作记录。",
|
||
auditHintUser: "查看你自己的操作记录。",
|
||
filterUsername: "用户名筛选",
|
||
filterAction: "动作筛选",
|
||
colTime: "时间",
|
||
colUser: "用户",
|
||
colAction: "动作",
|
||
colMethod: "方法",
|
||
colPath: "路径",
|
||
colStatus: "状态码",
|
||
colIp: "IP",
|
||
apiKeysTitle: "API Key 管理",
|
||
apiKeysHelp:
|
||
"网页登录不用 API Key,Key 给 MCP/脚本与 netxops 用。生成时默认 alarms:read + ne:read + ne:write + ne:exec + biz-monitor:read,之后用「改权限」增减(保存即生效,不必重生明文)。明文仅创建时显示一次。管理员可代其他用户签发,权限不能超过所属用户已有能力;未接的项为预留。全站未吊销 Key 上限 {{max}} 把(吊销后可再建)。",
|
||
tokenQuota: "未吊销 {{active}} / {{max}}",
|
||
tokenLimitReached: "已达 API Key 上限({{max}}),请先吊销不用的 Key",
|
||
tokenName: "名称",
|
||
expiresIn: "有效期",
|
||
expire7d: "7 天",
|
||
expire30d: "30 天",
|
||
expire90d: "90 天",
|
||
expire365d: "1 年",
|
||
expireNever: "永不过期",
|
||
tokenOwner: "所属用户",
|
||
tokenOwnerSelf: "自己({{user}})",
|
||
createToken: "生成 Key",
|
||
tokenCreated: "API Key 已生成",
|
||
tokenUpdated: "权限已更新",
|
||
tokenRevoked: "已吊销",
|
||
tokenOnceHint: "请立即复制保存,关闭后无法再次查看明文:",
|
||
copyToken: "复制",
|
||
tokenCopied: "已复制到剪贴板",
|
||
tokenCopyFailed: "复制失败",
|
||
expiresAt: "到期时间",
|
||
lastUsed: "最近使用",
|
||
tokenStatusActive: "有效",
|
||
tokenStatusExpired: "已过期",
|
||
tokenStatusRevoked: "已吊销",
|
||
revokeToken: "吊销",
|
||
revokeConfirm: "确定吊销该 API Key?",
|
||
editScopes: "改权限",
|
||
saveScopes: "保存权限",
|
||
scopesUnsetLegacy: "未限定(等同所属用户)",
|
||
scopesCol: "权限",
|
||
scopesRequired: "请至少勾选一项权限",
|
||
scopesNoneAvailable: "当前所属用户没有可授予的权限",
|
||
scopeAlarmsRead: "alarms:read — 告警只读(netx MCP)",
|
||
scopeNeRead: "ne:read — 网元/拓扑只读(MCP)",
|
||
scopeNeWrite: "ne:write — 网元/拓扑写入、画图(MCP)",
|
||
scopeNeExec: "ne:exec — 托管网元 CLI(netx MCP)",
|
||
scopeBizMonitorRead: "biz-monitor:read — 业务监控/割接只读(netxops)",
|
||
scopeSql: "sql:query — UME SQL(netx MCP)",
|
||
scopeWebcrt: "webcrt:session — WebCRT(预留 MCP)",
|
||
scopeAdminUsers: "admin:users — 用户管理(预留 MCP)",
|
||
scopeOpsWrite: "ops:write — 运维写/订阅(预留 MCP)",
|
||
forceChangeTitle: "请修改初始密码",
|
||
forceChangeHint: "账号 {{user}} 仍在使用默认密码,登录前必须先修改。",
|
||
oldPassword: "当前密码",
|
||
confirmPassword: "确认新密码",
|
||
savePassword: "保存新密码",
|
||
savingPassword: "保存中…",
|
||
passwordTooShort: "新密码至少 8 位",
|
||
passwordMismatch: "两次输入的新密码不一致",
|
||
passwordMustChange: "新密码不能与默认/旧密码相同",
|
||
},
|
||
collect: {
|
||
statusAll: "全部状态",
|
||
keywordPh: "任务名称 / ID",
|
||
exportJobsName: "collect-jobs",
|
||
exportRunsName: "collect-runs",
|
||
policyTitle: "采集策略",
|
||
policyHint: "默认不启用周期(只采一次);勾选后按周期自动创建并执行。默认保留最近 3 次任务数据。",
|
||
policySaved: "策略已保存",
|
||
enabled: "启用周期调度",
|
||
interval: "采集周期",
|
||
intervalUnitDays: "天",
|
||
intervalUnitHours: "小时",
|
||
historyKeep: "任务保留数",
|
||
scope: "范围",
|
||
scopeAll: "全部网元(纳管+UME)",
|
||
scopeSelected: "仅选中网元",
|
||
savePolicy: "保存策略",
|
||
collectNow: "立即采集",
|
||
selectedCount: "已选 {{count}} 台",
|
||
colSource: "来源",
|
||
policyCommandsRequired: "启用周期或立即采集前,请先填写采集命令并保存策略",
|
||
policyTargetsRequired: "选定范围内没有可用网元,请调整范围或勾选网元",
|
||
create: {
|
||
title: "新建采集任务",
|
||
hint: "配置命令与网元后创建任务;创建后需在任务列表中点击「开始」执行采集。",
|
||
selectedTitle: "已选择网元",
|
||
selectedEmpty: "请从下方筛选并逐个添加网元。",
|
||
selectedCount: "共 {{count}} 台",
|
||
clearSelected: "清空已选",
|
||
remove: "移除",
|
||
pickTitle: "可选网元",
|
||
pickHint: "可选网元管理与 UME 清单中的全部网元(不限连通性状态)。UME 使用 CLI 连接模板凭据。",
|
||
pickEmpty: "没有匹配的网元。",
|
||
filterKeyword: "筛选",
|
||
filterKeywordPh: "名称 / IP / 厂商 / 设备类型",
|
||
add: "添加",
|
||
addBatch: "批量添加({{count}})",
|
||
added: "已添加",
|
||
create: "创建任务",
|
||
creating: "创建中…",
|
||
expand: "新建",
|
||
collapse: "关闭",
|
||
meta: "已选 {{ne}} 台网元 · {{cmd}} 条命令",
|
||
},
|
||
eligible: {
|
||
title: "可选网元",
|
||
hint: "可选网元管理与 UME 清单中的全部网元(不限连通性状态)。",
|
||
empty: "暂无网元。",
|
||
},
|
||
form: {
|
||
title: "采集配置",
|
||
jobTitle: "任务名称",
|
||
jobTitlePh: "留空则自动生成",
|
||
commands: "采集命令(每行一条,# 开头为注释)",
|
||
commandsPh: "display version\ndisplay current-configuration",
|
||
commandsHint: "命令将按顺序在每台设备上执行,输出合并为一份文本日志。",
|
||
meta: "已选 {{ne}} 台网元 · {{cmd}} 条命令",
|
||
start: "开始采集",
|
||
starting: "提交中…",
|
||
},
|
||
created: "采集任务已创建:{{id}}",
|
||
started: "采集已开始:{{id}}",
|
||
paused: "任务已暂停",
|
||
restarted: "已重新开始采集",
|
||
retryFailedDone: "已开始重采失败网元",
|
||
deleted: "任务已删除",
|
||
nothingToRetry: "没有可重试的失败网元",
|
||
neBusy: "部分网元正在被其他采集任务占用,请等待其完成后再开始",
|
||
jobRunning: "该任务已在执行中",
|
||
confirmDelete: "确定删除该采集任务?相关日志文件将一并删除。",
|
||
jobs: {
|
||
title: "采集任务",
|
||
listTitle: "任务列表",
|
||
col: {
|
||
title: "任务",
|
||
status: "状态",
|
||
progress: "进度",
|
||
created: "创建时间",
|
||
lastRun: "最近执行",
|
||
actions: "操作",
|
||
},
|
||
ok: "成功",
|
||
fail: "失败",
|
||
expand: "详情",
|
||
collapse: "收起",
|
||
detailTitle: "任务明细",
|
||
pause: "暂停",
|
||
start: "开始",
|
||
starting: "启动中…",
|
||
restart: "重新开始",
|
||
retryFailed: "重采失败网元",
|
||
downloadResults: "下载结果",
|
||
delete: "删除",
|
||
autoRefresh: "任务进行中,每 2 秒自动刷新",
|
||
runsInProgress: "部分网元仍在采集中,请稍候…",
|
||
},
|
||
kpi: {
|
||
jobs: "任务总数",
|
||
running: "进行中",
|
||
idle: "空闲",
|
||
last: "最近任务",
|
||
active: "活跃任务",
|
||
nextDue: "下次周期",
|
||
},
|
||
runs: {
|
||
status: "状态",
|
||
message: "说明",
|
||
download: "日志",
|
||
downloadFile: "下载",
|
||
filterStatus: "状态筛选",
|
||
filterDevice: "设备筛选",
|
||
deviceKeywordPh: "名称 / IP",
|
||
allStatus: "全部状态",
|
||
},
|
||
},
|
||
managedNe: {
|
||
title: "网元管理",
|
||
credsNotConfigured: "未配置 NETX_CREDENTIAL_SECRET_KEY,无法保存密码。请在 .env 中设置 Fernet 密钥后重启 API。",
|
||
add: "新增网元",
|
||
importBtn: "批量导入",
|
||
downloadTemplate: "下载导入模板",
|
||
importing: "导入中…",
|
||
edit: "编辑",
|
||
delete: "删除",
|
||
openTerminal: "终端",
|
||
confirmDelete:
|
||
"确定删除该网元?若拓扑中仅绑定此运维网元(无 UME),将同时删除对应 Fabric 节点及其直连链路。",
|
||
batchDelete: "批量删除",
|
||
batchDeleting: "删除中…",
|
||
batchDeleteConfirm:
|
||
"确定删除选中的 {{n}} 台网元?不可恢复。仅绑定运维侧的节点会级联清除 Fabric 节点与直连链路;仍绑 UME 的会保留拓扑。",
|
||
batchDeleteDone: "已删除 {{n}} 台网元",
|
||
batchDeleteSelectRequired: "请先勾选要删除的网元",
|
||
keywordPh: "名称 / IP / 用户名 / 标签",
|
||
allVendors: "全部厂商",
|
||
allConnectStatus: "全部连通状态",
|
||
stats: {
|
||
title: "统计",
|
||
total: "共 {{n}} 台网元",
|
||
pass: "已连通",
|
||
fail: "失败",
|
||
unknown: "未测试",
|
||
testing: "测试中",
|
||
batchProxy: "一键添加代理",
|
||
batchTest: "一键连通性测试",
|
||
tagFilter: "按标签筛选",
|
||
all: "全部",
|
||
allTag: "全部(无标签筛选)",
|
||
noTag: "无标签",
|
||
tagStats: "按标签统计(Top)",
|
||
confirm: "将对 {{n}} 台网元执行操作,确认继续?",
|
||
proxyDone: "已为 {{n}} 台网元提交代理配置",
|
||
testDone: "已提交 {{n}} 台网元连通性测试",
|
||
loadingIds: "加载中…",
|
||
},
|
||
col: {
|
||
name: "名称",
|
||
vendor: "厂商",
|
||
deviceType: "设备类型",
|
||
execPolicy: "CLI 执行策略",
|
||
source: "来源",
|
||
ip: "管理地址",
|
||
port: "端口",
|
||
protocol: "协议",
|
||
user: "用户名",
|
||
password: "密码",
|
||
tags: "标签",
|
||
remark: "备注",
|
||
connect: "连通性",
|
||
testedAt: "测试时间",
|
||
actions: "操作",
|
||
},
|
||
execPolicy: {
|
||
readonly: "只读(show/display/ping)",
|
||
linuxShell: "Linux shell(单行)",
|
||
unrestricted: "实验室全开(单行)",
|
||
hint: "仅影响 MCP/API 的 execManagedNe。默认只读;仅 Linux 设备类型可选 shell / 实验室全开。",
|
||
},
|
||
source: {
|
||
manual: "手工",
|
||
ume_sync: "UME 同步",
|
||
webcrt: "WebCRT",
|
||
lldp: "LLDP 占位",
|
||
topology: "拓扑占位",
|
||
},
|
||
connect: {
|
||
run: "连通性测试",
|
||
running: "测试中…",
|
||
submitted: "已提交 {{n}} 台设备测试",
|
||
retest: "重新测试",
|
||
},
|
||
connectDetail: "详情",
|
||
connectDetailTitle: "连通性测试日志",
|
||
connectDetailEmpty: "暂无日志。请先执行连通性测试;失败时会记录完整错误与跳板上下文(不含密码)。",
|
||
umeSync: {
|
||
sync: "同步 UME 网元",
|
||
syncing: "同步中…",
|
||
delete: "删除 UME 网元",
|
||
deleting: "删除中…",
|
||
deleteConfirm:
|
||
"确定删除所有通过 UME 同步到网元管理中的网元?不可恢复。仅绑定这些 ManagedNE、且无 UME 投影的 Fabric 节点会连同直连链路一并清除。",
|
||
done: "UME 同步完成:新增 {{inserted}},更新 {{updated}},删除 {{deleted}},UME 清单共 {{total}} 台",
|
||
deletedDone: "已删除 {{n}} 台 UME 同步网元",
|
||
},
|
||
account: {
|
||
batchAdd: "一键添加账号",
|
||
batchByTag: "按标签添加账号",
|
||
batchTitle: "批量添加账号",
|
||
batchHint: "将以下账号信息应用到已选中的 {{n}} 台网元。",
|
||
batchByTagHint: "将以下账号信息应用到指定标签下的网元;密码可留空,仅更新用户名。",
|
||
batchDone: "已为 {{n}} 台网元更新账号",
|
||
selectRequired: "请先勾选要配置账号的网元",
|
||
applying: "应用中…",
|
||
apply: "应用到网元",
|
||
usernameOrPasswordRequired: "用户名和密码至少填写一项",
|
||
passwordOptionalBatch: "留空则不修改",
|
||
},
|
||
help:
|
||
"【批量导入】\n" +
|
||
"· 必填列:device_type、ip、username、port、protocol、name、vendor;可先下载模板。\n" +
|
||
"· password 可留空(直连需填;堡垒机托管或后续批量添加代理时可空)。\n" +
|
||
"· 推荐流程:先导入网元 → 勾选网元 → 点「批量添加代理」统一配置跳板/堡垒机。\n\n" +
|
||
"【跳板 / 堡垒机】\n" +
|
||
"· 堡垒机 SSH 用户名模板:{hop_user}@{target_user}@{target_ip}(堡垒机地址单独填在跳板地址);命令行等价:ssh 用户@目标@IP@堡垒机。\n" +
|
||
"· 堡垒机托管时填「跳板密码」(Vault 密码),目标密码可留空;手动模式需填目标密码。\n" +
|
||
"· JumpServer/CBH 常用跳板端口 2222,部分现场为 22。\n\n" +
|
||
"【连通性 / 编辑】\n" +
|
||
"· 保存密码需配置 NETX_CREDENTIAL_SECRET_KEY。\n" +
|
||
"· 编辑时密码留空表示不修改;连通性失败请点「详情」查看 hop 上下文(不含密码)。",
|
||
importResult: {
|
||
done: "导入完成:新增 {{inserted}},更新 {{updated}},失败 {{failed}} 行",
|
||
},
|
||
form: {
|
||
requiredHint: "带 * 为必填项",
|
||
nameConnectHint: "连通性测试成功后将自动更新为设备名称",
|
||
createTitle: "新增网元",
|
||
editTitle: "编辑网元",
|
||
save: "保存",
|
||
saving: "保存中…",
|
||
cancel: "取消",
|
||
created: "网元已创建",
|
||
updated: "网元已更新",
|
||
deleted: "网元已删除",
|
||
passwordRequired: "请填写密码",
|
||
passwordOptional: "留空则不修改",
|
||
},
|
||
hop: {
|
||
sectionTitle: "跳板 / 代理",
|
||
type: "跳板类型",
|
||
enable: "经跳板登录目标网元",
|
||
vendor: {
|
||
zte: "ZTE 设备(CLI 跳登)",
|
||
huawei: "华为设备(CLI 跳登)",
|
||
cisco: "思科设备(CLI 跳登)",
|
||
linux: "Linux 服务器(SSH 隧道)",
|
||
bastion: "堡垒机(SSH 协议代理)",
|
||
},
|
||
zteHint: "在 ZTE 设备上执行 ssh/telnet 命令跳转到目标,目标账号由二次认证输入。",
|
||
huaweiHint: "在华为设备上执行 telnet / stelnet(SSH)跳登;stelnet 即 SSH。目标账号由二次认证输入。",
|
||
ciscoHint: "在思科设备上执行 ssh -vrf / telnet /vrf 跳登,目标账号由二次认证输入。",
|
||
linuxHint: "先 SSH 登录 Linux 跳板,经 direct-tcpip 隧道连接目标 IP:端口(等同 ProxyJump)。",
|
||
bastionHint:
|
||
"SSH 复合用户名直连堡垒机(跳板地址可为 IP 或域名),由堡垒机协议代理到目标。示例:bastion-user@target-user@198.51.100.20@192.0.2.10 或 bastion-user@target-user@198.51.100.20@ssh-bastion.example.com;密码为 Vault/堡垒机密码。JumpServer/CBH 常用端口 2222。",
|
||
targetAuthMode: "目标凭据",
|
||
targetAuthBastionManaged: "堡垒机托管(目标密码可留空)",
|
||
targetAuthManual: "手动输入(连接后二次认证)",
|
||
targetAuthHint: "堡垒机托管时仅需堡垒机密码;手动模式需填写目标网元密码。",
|
||
usernameTemplate: "SSH 用户名模板",
|
||
templateHintBastion:
|
||
"默认 {hop_user}@{target_user}@{target_ip},堡垒机地址(IP 或域名)填「跳板地址」。命令行示例:ssh bastion-user@target-user@198.51.100.20@ssh-bastion.example.com。",
|
||
host: "跳板地址",
|
||
hostPlaceholderBastion: "192.0.2.10 或 ssh-bastion.example.com",
|
||
hostHintBastion:
|
||
"支持 IP 或 FQDN。也可粘贴完整 SSH 目标串(如 bastion-user@target-user@198.51.100.20@ssh-bastion.example.com),失焦后自动拆成跳板用户名与地址。",
|
||
port: "跳板端口",
|
||
protocol: "跳板协议",
|
||
protocolSshStelnet: "ssh(stelnet)",
|
||
username: "跳板用户名",
|
||
password: "跳板密码",
|
||
vrf: "管理 VRF(可选)",
|
||
vpnInstance: "VPN-Instance(可选)",
|
||
vrfCisco: "VRF(可选,如 MGMT)",
|
||
enterSystemView: "跳登前是否进入系统视图",
|
||
enterSystemViewNo: "不进入(用户视图,默认)",
|
||
enterSystemViewYes: "进入系统视图(system-view)",
|
||
enterSystemViewHint:
|
||
"部分华为跳板仅在系统视图下支持 stelnet/telnet。需自行选择;不会因失败自动重试。",
|
||
commandTemplate: "跳登命令模板",
|
||
templateHint:
|
||
"ZTE 常用:telnet {target_ip}、telnet {target_ip} vrf {vrf}、ssh {target_ip}、ssh {target_ip} vrf {vrf}。按跳板协议与 VRF 自动推荐;留空时后端同样规则。目标账号密码由二次认证提示输入。",
|
||
templateHintHuawei:
|
||
"华为常用:telnet {target_ip}、telnet vpn-instance {vrf} {target_ip}、stelnet {target_ip}、stelnet {target_ip} -vpn-instance {vrf}。SSH 协议对应 stelnet。留空时按协议与 VPN-Instance 自动推荐。",
|
||
templateHintCisco:
|
||
"思科常用:ssh {target_ip}、ssh -vrf {vrf} {target_ip}、telnet {target_ip}、telnet {target_ip} /vrf {vrf}。留空时按协议与 VRF 自动推荐。",
|
||
badge: {
|
||
zte: "ZTE跳板",
|
||
huawei: "华为跳板",
|
||
cisco: "思科跳板",
|
||
linux: "Linux跳板",
|
||
bastion: "堡垒机",
|
||
},
|
||
hostRequired: "请填写跳板地址",
|
||
userRequired: "请填写跳板用户名",
|
||
passwordRequired: "请填写跳板密码",
|
||
batchAdd: "添加代理",
|
||
batchTitle: "批量添加代理",
|
||
batchHint: "将以下跳板配置应用到已选中的 {{n}} 台网元(会覆盖原有跳板设置)。",
|
||
batchDone: "已为 {{n}} 台网元配置代理",
|
||
selectRequired: "请先勾选要配置的网元",
|
||
applying: "应用中…",
|
||
apply: "应用到选中网元",
|
||
},
|
||
},
|
||
ume: {
|
||
token: {
|
||
title: "UME Token 状态",
|
||
disconnected: "disconnected",
|
||
connected: "connected",
|
||
connectedRenew: "connected (需续期)",
|
||
expiresIn: "expires_in",
|
||
needsRenew: "需续期 / 0s",
|
||
preview: "preview",
|
||
refreshStatus: "刷新状态",
|
||
renewLogin: "手动续期/登录",
|
||
renewing: "续期中…",
|
||
disconnect: "断开 token",
|
||
disconnecting: "断开中…",
|
||
renewOkChanged: "续期成功,token 已更新",
|
||
renewOkSame: "续期完成(与此前一致)",
|
||
disconnectOk: "已断开 UME token",
|
||
renewHint: "库中 token 缺少有效过期时间或已过期,请点「手动续期/登录」或等待后台自动续期",
|
||
},
|
||
subscription: {
|
||
title: "UME 告警订阅(WebSocket)",
|
||
help:
|
||
"订阅需手动建立/取消;建立后(或重启后若库中仍有有效订阅)后台会自动连接 WSS 接收实时告警。后台任务 alarms_current_ws_consumer 的 pause/resume 会停止或恢复 WSS 连接(不会取消 UME 订阅)。",
|
||
sub: "订阅",
|
||
subActive: "已建立",
|
||
subInactive: "未建立",
|
||
wssPaused: "已暂停",
|
||
wssModeBanner:
|
||
"当前告警由 WSS 实时维护(模式: {{mode}}),定时 REST 全量同步已暂停。需要全量对账时请使用下方「同步当前告警」。",
|
||
serverLostBanner:
|
||
"UME 服务器侧告警订阅已丢失或已过期,本地记录可能仍显示「已建立」。请确认清除本地记录后重新订阅。",
|
||
establish: "建立告警订阅",
|
||
establishing: "建立订阅…",
|
||
reestablish: "清除本地并重新订阅",
|
||
reestablishing: "重新订阅…",
|
||
cancel: "取消告警订阅",
|
||
cancelling: "取消订阅…",
|
||
refreshStatus: "刷新订阅状态",
|
||
clearLocalOnly: "仅清除本地记录",
|
||
clearing: "清除中…",
|
||
opFailed: "订阅操作失败",
|
||
confirmClearDefault:
|
||
"UME 侧告警订阅已不存在或已过期(服务器订阅已丢失)。\n\n是否清除本地订阅记录?清除后可点击「建立告警订阅」重新订阅。",
|
||
confirmReestablish: "将清除本地订阅记录并在 UME 上重新建立告警订阅,是否继续?",
|
||
titleLoginFirst: "请先登录 UME token",
|
||
titleReestablish: "清除本地失效记录并重新向 UME 建立订阅",
|
||
establishInvalid: "建立订阅未返回有效 id/uri",
|
||
establishExists: "订阅已存在,未重复建立(WSS 将保持/恢复连接)",
|
||
establishOk: "告警订阅已建立,WSS 将自动连接",
|
||
clearLocalOk: "已清除本地订阅记录,可重新建立订阅",
|
||
serverLostMsg: "UME 侧告警订阅已丢失。请确认是否清除本地订阅记录后重新订阅。",
|
||
cancelFailed: "取消订阅失败:UME 侧订阅可能仍存在,请查看错误详情后重试",
|
||
cancelOkMissing: "本地已清除(UME 侧订阅此前已不存在)",
|
||
cancelOk: "告警订阅已取消",
|
||
wsLogs: "WSS 运行日志",
|
||
wsActivity: "最近活动 {{time}}",
|
||
wsAutoRefresh: "自动刷新",
|
||
wsLogsEmpty: "暂无日志(建立订阅并连接 WSS 后会出现连接、收包、重连等记录)",
|
||
},
|
||
keyAlert: {
|
||
title: "AI 告警监控",
|
||
showPanel: "详情",
|
||
hidePanel: "关闭",
|
||
help: "按 notificationId 精确匹配,或按告警描述关键字模糊匹配(不区分大小写,匹配 nativeProbableCause 等字段);可选限定 UME Inventory 中的网元类型 (ne_type),不选则匹配全部设备。命中后由 NetX 作为服务器广播给已订阅的 Netx Ops(DSH)客户端。",
|
||
hub: "DSH 订阅",
|
||
hubConnected: "有订阅",
|
||
hubEmpty: "无订阅",
|
||
hubSubscribers: "订阅数",
|
||
hubPublished: "已广播",
|
||
hubDeliverOk: "投递成功",
|
||
hubDeliverFail: "投递失败",
|
||
hubConnections: "当前连接",
|
||
hubColId: "连接 ID",
|
||
hubColUser: "用户",
|
||
hubColRemote: "远端",
|
||
hubColClient: "客户端",
|
||
hubColConnected: "连入时间",
|
||
hubColLastSeen: "最近心跳",
|
||
hubEmptyConnections: "当前没有 Netx Ops 客户端连入告警 hub",
|
||
hubPath: "路径",
|
||
matchType: "匹配方式",
|
||
matchNotificationId: "告警码 (notificationId)",
|
||
matchKeyword: "告警描述关键字",
|
||
matchValuePhNotificationId: "输入 notificationId",
|
||
matchValuePhKeyword: "输入匹配关键字(不区分大小写)",
|
||
label: "规则描述",
|
||
labelPh: "必填,如 BGP Down",
|
||
neTypesLabel: "设备类型(可选,多选)",
|
||
neTypesHint: "不选表示全部设备类型;选项来自 UME Inventory 同步后的 ne_type。",
|
||
neTypesEmpty: "暂无设备类型,请先同步 Inventory",
|
||
neTypesAll: "全部",
|
||
forwardOnClear: "告警清除时也推送",
|
||
forwardOnClearHelp: "全局开关:对所有监控规则生效。默认只在告警新增/更新时推送;勾选后,UME 上报告警已清除时也会向已订阅的 Netx Ops 推送清除通知。",
|
||
add: "添加规则",
|
||
adding: "添加中…",
|
||
delete: "删除",
|
||
edit: "修改",
|
||
editTitle: "修改监控规则",
|
||
save: "保存",
|
||
saving: "保存中…",
|
||
cancel: "取消",
|
||
editOk: "规则已更新",
|
||
pickFromAlarms: "加载当前告警参考",
|
||
emptyRules: "尚未配置监控规则",
|
||
colType: "类型",
|
||
colMatch: "匹配内容",
|
||
colLabel: "描述",
|
||
colNeTypes: "设备类型",
|
||
colForwardClear: "清除推送",
|
||
colPublished: "发布次数",
|
||
colAttempts: "尝试次数",
|
||
colLast: "最近推送",
|
||
colActions: "操作",
|
||
colMonitor: "是否监控",
|
||
monitorOn: "开启",
|
||
monitorOff: "关闭",
|
||
filterKeywordPh: "筛选匹配内容 / 描述",
|
||
filterMatchAll: "全部类型",
|
||
filterEnabledAll: "全部状态",
|
||
filterEnabledOn: "监控中",
|
||
filterEnabledOff: "已暂停",
|
||
addOk: "已添加监控规则",
|
||
deleteOk: "已删除",
|
||
confirmDelete: "确定删除该监控规则?",
|
||
yes: "是",
|
||
no: "否",
|
||
},
|
||
sync: {
|
||
title: "UME 同步",
|
||
inventory: "同步 Inventory",
|
||
alarmsCurrent: "同步当前告警",
|
||
full: "全量同步",
|
||
failed: "同步失败",
|
||
},
|
||
tasks: {
|
||
currentTitle: "当前任务",
|
||
running: "running",
|
||
noRunning: "当前无运行中的任务",
|
||
runtimeTitle: "后台任务",
|
||
runtimeOpFailed: "后台任务操作失败",
|
||
noRuntime: "暂无后台任务状态",
|
||
intervalTitle: "Configured sleep between loop iterations (clamped at process start)",
|
||
lastRunTitle: "Last finished sync for scheduled tasks; refreshed at each loop tick",
|
||
deletedTitle: "全量对账删除条数:inventory 为网元行,alarms_current 为当前告警行,其余域多为 0",
|
||
lastErrorCol: "last_error",
|
||
runtimeError: {
|
||
startup_alarm_sync_before_ws: "启动中:正在同步当前告警(完成后连接 WSS)…",
|
||
startup_gate_waiting: "启动 REST 全量同步未完成,定时 REST 与 WSS 均待命",
|
||
wss_active_skip_rest: "WSS 实时接收中,已跳过 REST 同步",
|
||
pulling_alarms_current: "正在拉取 UME 当前告警…",
|
||
alarms_sync_in_progress_skip: "另一条当前告警 REST 同步进行中,已跳过",
|
||
pulling_inventory: "正在拉取 UME 网元清单…",
|
||
pulling_topology: "正在拉取 UME 拓扑(节点/链路)…",
|
||
topology_sync_busy: "拓扑同步进行中,已跳过",
|
||
ume_ws_disabled_no_base_url: "未启用或未配置 UME_BASE_URL",
|
||
resumed_sync_soon: "已恢复:将跳过本轮周期等待并尽快同步",
|
||
resumed_wss_reconnect: "已恢复:将尽快重连 WSS",
|
||
resumed: "已恢复",
|
||
keepalive_failed: "Token 保活失败",
|
||
},
|
||
wsState: {
|
||
init: "初始化",
|
||
connected: "已连接",
|
||
connecting: "连接中",
|
||
disconnected: "已断开",
|
||
no_subscription: "无订阅",
|
||
waiting_token: "等待 token",
|
||
paused: "已暂停",
|
||
error: "连接异常",
|
||
reconnecting: "重连等待",
|
||
subscription_lost: "UME 订阅已丢失",
|
||
disabled_no_base_url: "未启用或未配置 UME_BASE_URL",
|
||
},
|
||
runtimeTask: {
|
||
token_keepalive: "UME Token 保活",
|
||
alarms_current_auto_sync: "当前告警定时同步",
|
||
alarms_current_ws_consumer: "UME 告警 WSS",
|
||
inventory_auto_sync: "Inventory 定时同步",
|
||
topology_auto_sync: "拓扑定时同步",
|
||
},
|
||
},
|
||
syncStatus: {
|
||
title: "同步状态",
|
||
showPanel: "详情",
|
||
hidePanel: "关闭",
|
||
empty: "暂无同步记录",
|
||
summary: "共 {{total}} 条记录,进行中 {{running}}",
|
||
fabricGapTitle: "拓扑码头已更新,但尚未灌入拓扑管理(Fabric / UME World)",
|
||
fabricGapHint:
|
||
"码头 ME {{dock}},Fabric UME {{fabric}};可一键应用(不拉 UME)。上次状态:{{status}}",
|
||
applyFabric: "应用到拓扑管理",
|
||
applyingFabric: "正在应用…",
|
||
applyFabricOk: "已应用到拓扑管理",
|
||
},
|
||
ne: {
|
||
title: "网元清单",
|
||
showPanel: "详情",
|
||
hidePanel: "关闭",
|
||
keywordPh: "keyword(ne_id/ne_name/user_label/ip/host_name)",
|
||
clearTitle: "清空 keyword,回到第 1 页",
|
||
expand: "详情",
|
||
collapse: "关闭",
|
||
cliConnect: "CLI 连通",
|
||
summary: "Inventory 网元 {{total}} 台",
|
||
},
|
||
tabs: {
|
||
main: "UME 同步",
|
||
cli: "CLI 连接",
|
||
},
|
||
cli: {
|
||
title: "UME CLI 连接配置",
|
||
showPanel: "详情",
|
||
hidePanel: "关闭",
|
||
hint: "为 UME 清单网元配置统一 SSH 凭据与跳板/堡垒机;OClaw MCP 可通过 ume_ne_id 直接执行 show 命令,无需逐台录入 managed_ne。",
|
||
statusReady: "CLI 配置已就绪,可对 UME 网元执行命令。",
|
||
statusNotReady: "请填写目标用户名,并配置跳板/堡垒机(若启用)。",
|
||
profileName: "配置名称",
|
||
targetUsername: "目标 SSH 用户名",
|
||
targetPassword: "目标 SSH 密码",
|
||
passwordKeep: "留空则不修改",
|
||
newProfile: "新建配置",
|
||
deleteConfirm: "确定删除该 CLI 配置?",
|
||
deleted: "配置已删除",
|
||
saved: "CLI 配置已保存",
|
||
connectTestTitle: "样本网元连通性测试",
|
||
sampleNePh: "筛选 UME 网元(名称 / IP / ID)",
|
||
sampleNeRequired: "请先选择一个 UME 网元",
|
||
sampleNeEmpty: "无匹配网元",
|
||
sampleNeLoading: "加载中…",
|
||
connectTestSubmitted: "已提交连通性测试",
|
||
connectTestWaiting: "等待测试结果…",
|
||
connectTestRunning: "连通性测试中…",
|
||
connectTestResult: "测试结果",
|
||
existingProfiles: "已有配置",
|
||
default: "默认",
|
||
},
|
||
alarms: {
|
||
title: "当前告警",
|
||
movedHint: "当前告警查询已迁至网络管理 →",
|
||
showPanel: "展开",
|
||
hidePanel: "收起",
|
||
keywordPh: "keyword(告警键/原因/ne_name/host_name/ip 等)",
|
||
hostNamePh: "host_name(含匹配)",
|
||
allSeverity: "全部级别",
|
||
clearedAll: "清除状态:全部",
|
||
clearedYes: "已清除",
|
||
clearedNo: "未清除",
|
||
clearTitle: "清空 keyword、host_name、级别、is_cleared,回到第 1 页",
|
||
filterByHost: "按该主机名筛选",
|
||
noHostName: "无 host_name(需先同步网元)",
|
||
col: {
|
||
time: "告警时间",
|
||
severity: "级别",
|
||
neId: "网元 ID",
|
||
hostName: "主机名",
|
||
neType: "网元类型",
|
||
cause: "原因",
|
||
},
|
||
},
|
||
},
|
||
webcrt: {
|
||
title: "WebCRT",
|
||
deviceList: "设备列表",
|
||
sessionManager: "设备列表",
|
||
connect: "连接",
|
||
hint: "选择网元,在浏览器中打开交互式终端。凭据由服务端解密,不会下发到前端。",
|
||
hintCrt: "在左侧点击网元即可打开终端;支持托管、会话与 UME;也可用菜单「新建会话」快速登录。",
|
||
filterKeyword: "筛选",
|
||
filterKeywordPh: "按名称 / IP / 标签筛选",
|
||
empty: "没有匹配的网元。可切换来源或调整搜索关键字。",
|
||
open: "打开终端",
|
||
opening: "连接中…",
|
||
opened: "已打开 {{name}}",
|
||
disconnect: "断开",
|
||
closed: "会话已断开",
|
||
termPlaceholder: "尚未打开终端会话",
|
||
sessionMeta: "{{name}} · {{ip}}",
|
||
source: {
|
||
all: "全部",
|
||
managed: "托管",
|
||
webcrt: "会话",
|
||
ume: "UME",
|
||
},
|
||
newSession: {
|
||
title: "新建会话",
|
||
claimTitle: "完善占位会话",
|
||
claimHint: "请填写可达地址;会话名默认使用占位名。连接成功后来源将更新为 WebCRT。",
|
||
connect: "连接",
|
||
connecting: "连接中…",
|
||
protocol: "协议",
|
||
host: "主机",
|
||
port: "端口",
|
||
sessionName: "会话名",
|
||
sessionNamePh: "可选,默认使用 IP",
|
||
authTitle: "SSH 登录",
|
||
savePassword: "保存密码",
|
||
ipRequired: "请填写主机地址",
|
||
userRequired: "请填写用户名",
|
||
passwordRequired: "请填写密码",
|
||
},
|
||
status: {
|
||
idle: "空闲",
|
||
connecting: "连接中",
|
||
connected: "已连接",
|
||
error: "错误",
|
||
closed: "已关闭",
|
||
},
|
||
phase: {
|
||
creating: "创建会话",
|
||
authenticating: "正在认证",
|
||
waitingPrompt: "等待设备提示符",
|
||
hint: "登录过程会实时显示在终端中;设备较慢时可能需要十几秒",
|
||
},
|
||
tabMenu: {
|
||
close: "关闭",
|
||
closeOthers: "关闭其他",
|
||
closeAll: "关闭全部",
|
||
copyIp: "复制 IP",
|
||
copyIpOk: "已复制 {{ip}}",
|
||
copyIpEmpty: "该标签没有 IP",
|
||
},
|
||
treeMenu: {
|
||
rename: "重命名",
|
||
renameLabel: "会话名",
|
||
renameSave: "保存",
|
||
renameRequired: "请填写会话名",
|
||
renamed: "会话已重命名",
|
||
delete: "删除会话",
|
||
deleteConfirm: "确定删除会话「{{name}}」?此操作不可恢复。",
|
||
deleted: "会话已删除",
|
||
},
|
||
keywordHl: {
|
||
title: "关键字突出显示",
|
||
enabled: "启用",
|
||
newKeyword: "新建关键字",
|
||
newKeywordPh: "输入关键字或正则",
|
||
regex: "正则表达式",
|
||
add: "添加",
|
||
colKeyword: "关键字",
|
||
colRegex: "正则",
|
||
empty: "尚未添加关键字",
|
||
moveUp: "上移",
|
||
moveDown: "下移",
|
||
remove: "删除",
|
||
caseSensitive: "区分大小写",
|
||
color: "字符颜色",
|
||
saved: "关键字突出显示已保存",
|
||
},
|
||
actions: {
|
||
reconnect: "重新连接",
|
||
recordLog: "记录日志",
|
||
clear: "清空",
|
||
copy: "拷贝",
|
||
recording: "记录中",
|
||
recordingOn: "已开始记录日志",
|
||
recordingSaved: "日志已保存",
|
||
copied: "已复制到剪贴板",
|
||
copyEmpty: "终端内容为空",
|
||
copyFailed: "复制失败",
|
||
break: "Break",
|
||
breakSent: "已发送 Break",
|
||
broadcast: "广播",
|
||
broadcastSent: "已广播到全部会话",
|
||
postLogin: "登录后命令",
|
||
},
|
||
favorites: "收藏",
|
||
recent: "最近",
|
||
favorite: "收藏/取消",
|
||
encoding: "编码",
|
||
fontSize: "字号",
|
||
theme: "主题",
|
||
themeDark: "深色",
|
||
themeLight: "浅色",
|
||
colorScheme: "配色方案",
|
||
backgroundColor: "背景色",
|
||
foregroundColor: "字体色",
|
||
scheme: {
|
||
dark: "深蓝(默认)",
|
||
blackWhite: "白底黑字",
|
||
whiteBlack: "黑底白字",
|
||
greenBlack: "黑底绿字",
|
||
amberBlack: "黑底琥珀",
|
||
custom: "自定义",
|
||
},
|
||
copyOnSelect: "选中即复制",
|
||
pasteDelay: "粘贴最大行间隔",
|
||
pasteDelayOff: "无延迟(整块发送)",
|
||
keepalive: "SSH Keepalive",
|
||
keepaliveOff: "关闭",
|
||
keepaliveSec: "{{n}} 秒",
|
||
options: "选项",
|
||
globalSessionOptions: "全局会话选项",
|
||
sessionOptionsSave: "保存",
|
||
sessionOptionsCancel: "取消",
|
||
sessionOptionsSaved: "已保存全局会话选项",
|
||
disconnectBanner: "会话已断开",
|
||
disconnectBannerError: "会话出错或连接中断",
|
||
broadcastPh: "发送到全部标签…",
|
||
buttonBarHint: "每行:按钮名|命令",
|
||
postLoginPrompt: "登录后自动执行(每行一条,仅本设备)",
|
||
postLoginSaved: "登录后命令已保存",
|
||
sftp: {
|
||
title: "SFTP",
|
||
refresh: "刷新",
|
||
up: "上级",
|
||
upload: "上传",
|
||
uploaded: "上传成功",
|
||
uploading: "上传 {{done}}/{{total}} · {{name}} {{pct}}",
|
||
downloading: "下载 {{done}}/{{total}} · {{name}} {{pct}}",
|
||
downloaded: "已下载 {{count}} 个文件",
|
||
downloadPartial: "下载完成 {{ok}} 个,失败 {{failed}} 个",
|
||
uploadPartial: "上传完成 {{ok}} 个,失败 {{failed}} 个",
|
||
retrying: "重试 {{name}}({{attempt}}/{{max}})…",
|
||
cancel: "取消",
|
||
dropHint: "松开以上传到当前目录",
|
||
dropEmpty: "未识别到可上传的文件",
|
||
mkdir: "新建",
|
||
mkdirPrompt: "新建目录名称",
|
||
mkdirInvalid: "目录名无效(不要包含 / 或 ..)",
|
||
mkdirOk: "目录已创建",
|
||
rename: "重命名",
|
||
renamePrompt: "新名称",
|
||
renameInvalid: "名称无效(不要包含 / 或 ..)",
|
||
renamed: "已重命名",
|
||
download: "下载",
|
||
chmod: "权限",
|
||
chmodPrompt: "权限模式(如 755 或 rwxr-xr-x)",
|
||
chmodOk: "权限已更新",
|
||
chmodPartial: "权限更新 {{ok}} 个,失败 {{failed}} 个",
|
||
delete: "删除",
|
||
deleteConfirm: "确定删除 {{name}}?",
|
||
deleteRecursiveConfirm: "{{name}} 含目录,非空目录将递归删除,是否继续?",
|
||
deletePartial: "删除完成 {{ok}} 个,失败 {{failed}} 个",
|
||
deleted: "已删除",
|
||
selectedCount: "已选 {{count}} 项",
|
||
empty: "当前目录为空",
|
||
listTruncated: "目录条目过多,仅显示前 {{count}} 项(上限 {{max}})",
|
||
dir: "目录",
|
||
loading: "正在加载…",
|
||
enterHint: "单击选中;Ctrl/Shift 多选;双击进入",
|
||
downloadHint: "单击选中;Ctrl/Shift 多选;双击下载",
|
||
colName: "名称",
|
||
colSize: "大小",
|
||
colMtime: "修改时间",
|
||
colOwner: "所有者",
|
||
colGroup: "组",
|
||
colMode: "权限",
|
||
resizeHint: "拖动调整 SFTP / 终端宽度",
|
||
colResizeHint: "拖动调整列宽",
|
||
},
|
||
term: {
|
||
findPh: "查找…",
|
||
findPrev: "上一个",
|
||
findNext: "下一个",
|
||
findClose: "关闭查找",
|
||
copy: "复制",
|
||
paste: "粘贴",
|
||
pasteEmpty: "剪贴板为空",
|
||
pasteFailed: "无法读取剪贴板(HTTP 远程请用下方粘贴框,或 Ctrl+V)",
|
||
pasteBridgeHint: "当前为非 HTTPS 访问,浏览器禁止直接读剪贴板。请在此框按 Ctrl+V 粘贴,内容会发送到终端。",
|
||
pasteBridgePh: "在此按 Ctrl+V…",
|
||
pasteBridgeCancel: "取消",
|
||
clear: "清空",
|
||
pasting: "粘贴中 {{done}}/{{total}} 行…",
|
||
wsError: "[WebSocket 错误]",
|
||
wsClosed: "[WebSocket 已关闭 code={{code}}]",
|
||
sessionStatus: "[会话 {{state}}{{detail}}]",
|
||
outputTruncated: "[输出过快,已丢弃 {{count}} 段]",
|
||
},
|
||
err: {
|
||
deviceType: "不支持的设备类型",
|
||
ipConflictRestart: "数据库仍限制 IP 唯一,请重启 netx API 后再试",
|
||
sessionLimit: "并发会话已达上限,请先关闭其他终端",
|
||
neNotFound: "网元不存在",
|
||
credsIncomplete: "网元账号或密码不完整",
|
||
authRejected: "用户名或密码错误,请重新输入",
|
||
cliProfile: "UME 网元需要先配置 CLI 连接模板(默认账号/跳板)",
|
||
connectFailed: "登录设备失败:{{detail}}",
|
||
sftpHop: "SFTP 暂不支持跳板设备,请使用直连 SSH",
|
||
sftpSsh: "SFTP 仅支持 SSH 协议",
|
||
sftpNeedPassword: "SFTP 需要已保存的 SSH 密码(会话弹窗密码不会用于文件传输)",
|
||
sftpUnsupported: "当前 SSH 会话未提供 SFTP(设备可能未开启)",
|
||
sftpTooLarge: "文件超过大小限制(默认 512MB)",
|
||
sftpChmodInvalid: "权限模式无效(请用 755 或 rwxr-xr-x)",
|
||
sftpAborted: "传输已取消",
|
||
queueDropped: "终端输出过快,已丢弃约 {{count}} 段,内容可能不完整",
|
||
websocket: "WebSocket 连接失败",
|
||
},
|
||
},
|
||
topology: {
|
||
title: "拓扑管理",
|
||
maps: "拓扑图",
|
||
tree: "拓扑树",
|
||
treeLoading: "加载拓扑树…",
|
||
treeLoadFailed: "拓扑树加载失败",
|
||
treeRetry: "重试",
|
||
graphLoading: "正在加载拓扑图…",
|
||
graphLoadFailed: "拓扑图加载失败",
|
||
graphRefreshing: "刷新中…",
|
||
canvasEmpty: "这张图上还没有网元",
|
||
canvasEmptyHint: "可用「添加网元」上图,或从左侧换到有设备的区域。",
|
||
treeHint: "顶级为「根」(导航);其下唯一「根图」为画布。点根图或子区域打开设备画布。",
|
||
treeSearch: "全拓扑搜索网元",
|
||
treeSearchPh: "名称 / IP",
|
||
treeSearchEmpty: "没有匹配的网元",
|
||
treeSearchNoViews: "未上图",
|
||
treeSearchNotOnMap: "该网元尚未出现在任何拓扑图上",
|
||
locateNotOnCanvas: "当前世界地图抽样中没有该网元,且缺少世界坐标,请到下级区域画布查找。",
|
||
treeSearchViewCount: "{{count}} 张图",
|
||
treeSearchTruncated: "仅显示前 30 条(共 {{total}})",
|
||
rootName: "根",
|
||
selectRegion: "请选择根或区域",
|
||
openMap: "打开本图",
|
||
openRegion: "打开",
|
||
kindPhysical: "物理拓扑",
|
||
kindCustom: "自定义图",
|
||
layerNodeHint: "{{count}} 个网元",
|
||
layerNodeEmpty: "点击创建并打开",
|
||
rootCanvasHint: "从左侧选择根进入目录。",
|
||
regionCanvasHint: "点击根图打开设备画布;可在根图上新建子区域。",
|
||
regionBrowseHint: "根目录:下方为唯一根图。点击打开。",
|
||
browserTitle: "拓扑目录",
|
||
browserRegionSub: "共 {{count}} 张拓扑图",
|
||
browserRegionsSub: "共 {{count}} 个",
|
||
browserEmptyMaps: "此根下还没有根图。",
|
||
addNe: "添加网元",
|
||
more: "更多",
|
||
backUp: "返回",
|
||
newRegion: "新建根",
|
||
newRegionName: "新根",
|
||
newRegionPrompt: "根名称",
|
||
newSubRegion: "新建子区域",
|
||
newSubRegionName: "新子区域",
|
||
newSubRegionPrompt: "子区域名称",
|
||
subRegionNotOnFlat: "世界地图不支持子区域,请在 World 或下级区域画布上创建。",
|
||
worldMapNoDirectNes: "世界地图不能直接添加网元,请到某个子区域画布上添加。",
|
||
worldMapName: "世界地图",
|
||
worldMapOffline: "世界地图功能已暂时下线",
|
||
rootMapName: "根图",
|
||
worldHud: "世界 {{total}} · 近景 {{cached}} · z{{zoom}} · {{lod}}",
|
||
worldEmptyCoords: "世界地图还没有坐标",
|
||
worldEmptyCoordsHint: "码头已有 {{dock}} 个网元,但尚未灌入 Fabric / 世界坐标。可一键应用(不拉 UME)。",
|
||
worldApply: "应用到世界地图",
|
||
worldApplying: "正在应用…",
|
||
worldApplyOk: "已应用到世界地图",
|
||
subRegionNeedParent: "请先打开根图或区域画布,再新建子区域。",
|
||
regionCreated: "已创建",
|
||
regionDeleted: "已删除",
|
||
deleteRegion: "删除",
|
||
deleteRegionConfirm: "删除「{{name}}」?其下画布将一并删除。",
|
||
deleteUmeWorldConfirm:
|
||
"删除「{{name}}」?将级联删除其下全部 UME 区域与画布。之后若再跑 UME 拓扑同步/应用,可能重新生成。",
|
||
renameRegion: "重命名",
|
||
renameRegionPrompt: "名称",
|
||
regionRenamed: "已重命名",
|
||
collapseRegion: "折叠",
|
||
expandRegion: "展开",
|
||
newCustom: "自定义图",
|
||
newCustomName: "自定义拓扑",
|
||
newCustomPrompt: "自定义拓扑图名称",
|
||
folderHint: "新建根时自动创建唯一「根图」。子区域请在根图画布上创建。",
|
||
folderHintShort: "根目录",
|
||
outsidePeers: "图外对端 {{count}} 个(有链路未上图)",
|
||
outsidePeersView: "未上图网元 {{count}}",
|
||
outsidePeersTitle: "图外对端",
|
||
outsidePeersHint: "与画布有链路但未上图。勾选后按需添加,不必一次全部投影。",
|
||
outsidePeersVia: "经 {{name}}",
|
||
outsidePeersFilterPh: "筛选:名称 / IP / 经谁",
|
||
outsidePeersEmpty: "没有匹配的图外对端",
|
||
projectNeighbors: "投影邻居上图",
|
||
projectedNeighbors: "已投影 {{count}} 个邻居上图",
|
||
localBrowserOnly: "仅本浏览器",
|
||
deleteEdgeConfirm: "从画布移除选中链路?仅在点击「保存」后才会从 Fabric 删除;LLDP 下次采集若仍存在可能再次出现。",
|
||
edgeDeleted: "已标记删除 {{count}} 条链路(保存后生效)",
|
||
discoverCancelled: "发现已取消",
|
||
truncatedMembership: "视图已达成员上限,部分邻居未上图。可去分类页或新建视图。",
|
||
truncatedFrozen: "当前视图已冻结成员,无法投影邻居。请在分类流程中处理或新建视图。",
|
||
truncatedNodes: "画布节点过多已截断显示。建议新建视图或收紧成员范围。",
|
||
truncatedEdges: "画布链路过多已截断显示。建议筛选状态或新建视图。",
|
||
truncatedGeneric: "图数据已截断显示。建议收紧范围或新建视图。",
|
||
deleteSelectionConfirm:
|
||
"从本图移除 {{nodes}} 个网元、删除 {{edges}} 条链路?移出与链路删除均在点击「保存」后生效。",
|
||
selectionDeleted: "已标记:移除 {{nodes}} 个网元、删除 {{edges}} 条链路(保存后生效)",
|
||
newMap: "新建",
|
||
newMapName: "新拓扑图",
|
||
rename: "重命名",
|
||
renamePrompt: "拓扑图名称",
|
||
renameHint: "双击可重命名",
|
||
renamed: "拓扑图已重命名",
|
||
deleteMap: "删除图",
|
||
deleteMapConfirm: "删除拓扑图「{{name}}」?节点与链路会一并删除。",
|
||
emptyMaps: "还没有根,先点「新建根」。",
|
||
palette: "网元库",
|
||
paletteHint: "勾选后批量添加;也可拖到画布添加单台",
|
||
paletteDragHint: "拖到画布添加",
|
||
selectAllVisible: "全选当前列表",
|
||
addSelected: "添加选中({{count}})",
|
||
addSelectedDone: "已添加 {{count}} 台网元",
|
||
addingNe: "添加中…",
|
||
filterPh: "输入即筛:名称 / IP / 厂商",
|
||
save: "保存",
|
||
saveDirty: "保存 *",
|
||
unsavedConfirm: "有未保存的更改,确定丢弃并切换吗?",
|
||
saving: "保存中…",
|
||
saved: "拓扑已保存",
|
||
saveFailed: "保存失败:{{detail}}",
|
||
readOnlyBanner: "只读模式(需要 ne:write 权限才能编辑)",
|
||
readOnlyHint: "只读模式,无编辑权限",
|
||
discoverTimeout: "发现任务超时,请稍后在 LLDP 任务页查看进度",
|
||
policySyncFailed: "同步 LLDP 策略失败,本地开关仍对本页发现生效",
|
||
discover: "发现链路",
|
||
discovering: "发现中…",
|
||
discoverOne: "发现链路",
|
||
discovered: "发现完成:新增 {{added}},更新 {{updated}},未发现 {{stale}}",
|
||
discoverFail: "发现失败:{{detail}}",
|
||
discoverOneNeedNe: "该节点未关联可扫描网元",
|
||
selectMap: "请选择或新建一张拓扑图",
|
||
renameNode: "重命名",
|
||
renameNodePrompt: "网元显示名称",
|
||
sourcePort: "本端端口",
|
||
targetPort: "对端端口",
|
||
endpointA: "端点 A",
|
||
endpointB: "端点 B",
|
||
port: "端口",
|
||
expandPhysicalLinks: "展开物理链路",
|
||
scaleBundleWidth: "聚合线按条数加粗",
|
||
linkMembers: "物理成员({{count}})",
|
||
canvasHint:
|
||
"左侧为区域目录(需自行添加画布);打开本图后进入设备画布,用「添加网元」上图并保存。",
|
||
selected: "已选节点",
|
||
selectedEdge: "已选链路",
|
||
selectedCount: "已选 {{count}}",
|
||
toolModes: "编辑模式",
|
||
toolSelect: "选择",
|
||
toolPan: "平移",
|
||
toolDrag: "拖动",
|
||
toolConnect: "连线",
|
||
layout: "布局",
|
||
layoutHierarchicalTb: "层次 · 自上而下",
|
||
layoutHierarchicalLr: "层次 · 从左到右",
|
||
layoutForce: "力导向",
|
||
layoutGrid: "网格",
|
||
layoutRadial: "环形",
|
||
layoutSelected: "仅布局选中(层次)",
|
||
layoutNeedSelection: "请先选中要布局的节点",
|
||
align: "对齐",
|
||
alignLeft: "左对齐",
|
||
alignRight: "右对齐",
|
||
alignTop: "顶对齐",
|
||
alignBottom: "底对齐",
|
||
alignHCenter: "水平居中",
|
||
alignVCenter: "垂直居中",
|
||
alignHDistribute: "水平分布",
|
||
alignVDistribute: "垂直分布",
|
||
alignNeedSelection: "请至少选中两个节点",
|
||
snapGrid: "网格吸附",
|
||
autoLayoutDiscover: "发现后自动布局",
|
||
discoverAutoAddUnmatched: "发现时自动入库未匹配网元(占位)",
|
||
discoverProjectNeighbors: "发现后将本次扫描网元的直连邻居加入画布(需保存才永久保留)",
|
||
undo: "撤销",
|
||
redo: "重做",
|
||
discoverSelected: "发现链路({{count}})",
|
||
removeSelected: "移除选中 ({{count}})",
|
||
openWebcrt: "打开终端",
|
||
openNe: "网元详情",
|
||
openAlarms: "查看告警",
|
||
noAlarmLink: "该节点无法定位告警过滤条件",
|
||
removeNode: "从画布移除",
|
||
deletePlaceholder: "删除占位网元",
|
||
deletePlaceholderConfirm: "永久删除此占位网元(含库存记录与 Fabric 直连链路)?画布撤销无法恢复。",
|
||
deletePlaceholderDone: "占位网元已删除",
|
||
removeEdge: "删除链路",
|
||
nodeMenu: "网元",
|
||
paneMenu: "画布",
|
||
edgeMenu: "链路",
|
||
createNe: "新建网元",
|
||
createNeModeHint: "选择创建正式运维网元,或仅建拓扑占位(可稍后完善登录信息)。",
|
||
createNeManaged: "正式网元",
|
||
createNeManagedHint: "与网元管理相同的完整表单;创建后自动上图。",
|
||
createNePlaceholder: "占位网元",
|
||
createNePlaceholderHint: "仅名称/IP,来源为拓扑占位,适合先构图再补齐凭据。",
|
||
createNeTitle: "新建拓扑占位网元",
|
||
createNeHint: "来源为拓扑占位;完善登录信息后可在 WebCRT 连接,或在网元管理升级为手工。",
|
||
createNeName: "名称",
|
||
createNeNamePh: "例如 SW-CORE-01",
|
||
createNeNameRequired: "请填写网元名称",
|
||
createNeIp: "IP(可选)",
|
||
createNeIpPh: "可稍后在完善时填写",
|
||
createNeDone: "已新建占位网元 {{name}}",
|
||
createManagedNeDone: "已创建网元并上图 {{name}}",
|
||
createManagedNePlaceFailed:
|
||
"网元 {{name}} 已写入库存,但上图失败:{{error}}。请从网元管理或侧栏再次添加。",
|
||
createManagedNePosFailed: "网元 {{name}} 已上图,但未能移到点击位置(保留默认布局坐标)",
|
||
createNeBusy: "创建中…",
|
||
connectTest: "连通性测试",
|
||
connectTestSelected: "连通性测试 ({{count}})",
|
||
connectTestNeedManaged: "该节点未绑定运维网元,无法做连通性测试",
|
||
connectTestSkipped: "跳过 {{count}} 台无运维绑定",
|
||
selectionMenu: "多选",
|
||
edgeStyle: "链路样式",
|
||
edgeColor: "颜色",
|
||
edgeLineStyle: "线型",
|
||
edgeLineSolid: "实线",
|
||
edgeLineDashed: "虚线",
|
||
edgeLineDotted: "点线",
|
||
edgeWidth: "粗细",
|
||
edgeStyleReset: "恢复默认",
|
||
edgeDefaults: "默认链路样式",
|
||
edgeDefaultsReset: "恢复出厂",
|
||
noNeLink: "未关联托管网元",
|
||
completeNeFirst:
|
||
"该网元登录信息不完整(厂家、代理跳转等需在网元管理填写)。请先完善后再打开终端。",
|
||
edgeManual: "人工",
|
||
edgeUme: "UME",
|
||
edgeDiscovered: "LLDP 发现",
|
||
edgeStale: "未发现",
|
||
fit: "适应画布",
|
||
export: "导出",
|
||
exportSvg: "SVG 矢量",
|
||
exportXml: "XML 数据",
|
||
exporting: "导出中…",
|
||
exportEmpty: "画布上没有可导出的内容",
|
||
exportedSvg: "已导出 SVG",
|
||
exportedXml: "已导出 XML",
|
||
exportFailed: "导出失败:{{detail}}",
|
||
liveSync: "实时同步",
|
||
liveSyncOn: "同步中…",
|
||
liveSyncHint: "开启后约每 5 秒刷新左侧树、每 3 秒刷新当前画布(观看 MCP 建图/画拓扑);默认关闭",
|
||
fullscreen: "全屏显示",
|
||
exitFullscreen: "退出全屏",
|
||
display: "显示",
|
||
canvasBg: "画布背景",
|
||
canvasBgColor: "背景色",
|
||
canvasBgReset: "恢复默认",
|
||
textColors: "文字颜色",
|
||
textColorsReset: "恢复默认",
|
||
labelColor: "网元名称",
|
||
edgeLabelColor: "链路数字",
|
||
vendorColors: "厂商图标色",
|
||
vendorColorsReset: "恢复默认",
|
||
vendorTone: {
|
||
cisco: "Cisco",
|
||
huawei: "华为",
|
||
zte: "中兴",
|
||
juniper: "Juniper",
|
||
nokia: "Nokia",
|
||
ericsson: "Ericsson",
|
||
h3c: "H3C",
|
||
ruijie: "锐捷",
|
||
mikrotik: "MikroTik",
|
||
gray: "未知/未托管",
|
||
},
|
||
hideIp: "隐藏 IP",
|
||
hideVendor: "隐藏厂商",
|
||
showPlaceholderBadge: "显示占位角标(TOPO/LLDP)",
|
||
showConnectStatus: "显示连通状态点",
|
||
showAlarmOverlay: "显示告警叠层",
|
||
showLevelColors: "按分类层级着色",
|
||
levelUnmatched: "未分类",
|
||
level: {
|
||
external: "外部",
|
||
core: "核心",
|
||
aggregation: "汇聚",
|
||
access: "接入",
|
||
edge: "边缘",
|
||
},
|
||
hidePorts: "隐藏端口",
|
||
edgeFlow: "链路流动",
|
||
collapseSidebar: "折叠侧栏",
|
||
expandSidebar: "展开侧栏",
|
||
resizeSidebar: "拖动调整侧栏宽度",
|
||
hideAdded: "隐藏已添加",
|
||
paletteEmpty: "没有匹配的网元。",
|
||
paletteHiddenAll: "已添加网元已隐藏;取消勾选可重新显示。",
|
||
paletteSource: "网元来源",
|
||
paletteManaged: "托管网元",
|
||
paletteUme: "UME 网元",
|
||
paletteLoading: "加载中…",
|
||
discoverReport: "发现进度",
|
||
discoverClose: "关闭",
|
||
discoverCancel: "取消发现",
|
||
discoverProgress: "正在扫描画布上 {{count}} 台托管网元(串行登录采集 LLDP,请稍候)…",
|
||
discoverProgressLive: "正在扫描 {{index}}/{{total}}:{{name}}",
|
||
discoverSummary: "扫描 {{scanned}} 台 · 新增 {{added}} · 更新 {{updated}} · 未发现 {{stale}} · 失败 {{failed}}",
|
||
discoverNeOk: "邻居 {{neighbors}} · 新增 {{added}} · 更新 {{updated}}",
|
||
discoverNeFail: "采集失败",
|
||
discoverUnmatched: "未匹配 {{count}}",
|
||
discoverUnmatchedMore: "另有 {{count}} 条未列出",
|
||
discoverVendorRequired: "未设置厂商/设备类型,已跳过下发 LLDP 命令",
|
||
discoverParserStub: "厂商解析器「{{parser}}」仍为 stub,已采集到输出但未能解析邻居",
|
||
discoverNoTargets: "画布上没有可扫描网元。请添加托管网元,或添加已配置 CLI 凭据的 UME 网元。",
|
||
discoverViewDetail: "详情",
|
||
discoverLinkCount: "链路 {{count}}",
|
||
discoverLinksTitle: "匹配链路({{count}})",
|
||
discoverLinksEmpty: "本次未匹配到画布上的对端网元链路。",
|
||
discoverUnmatchedTitle: "未匹配邻居({{count}})",
|
||
discoverUnmatchedEmpty: "无未匹配邻居。",
|
||
discoverColPeer: "对端网元",
|
||
discoverColRemote: "邻居",
|
||
discoverColLocalPort: "本端端口",
|
||
discoverColRemotePort: "对端端口",
|
||
discoverColProtocol: "协议",
|
||
discoverColAction: "结果",
|
||
discoverLinkAdded: "新增",
|
||
discoverLinkUpdated: "更新",
|
||
discoverLinkKeptManual: "保留人工",
|
||
discoverLocatePeer: "定位对端",
|
||
discoverLocateNe: "定位本端",
|
||
discoverRawPreview: "采集原文预览(过长会截断,不影响解析)",
|
||
discoverGoLldp: "查看详情 → LLDP 链路",
|
||
findNode: "定位",
|
||
findNodePh: "输入即搜:名称 / IP / 厂商",
|
||
findNoMatch: "画布上没有匹配的节点",
|
||
findMore: "另有 {{count}} 条匹配…",
|
||
locateOnCanvas: "点击定位到画布",
|
||
openPortTraffic: "打开端口流量",
|
||
removeStale: "清除未发现 ({{count}})",
|
||
removeStaleHint: "标记删除红色未发现链路(保存后生效);周期采集连续 4 次未发现也会自动清理",
|
||
staleRemoved: "已标记删除 {{count}} 条未发现链路(保存后生效)",
|
||
connectHint: "连线模式:从网元中心锚点拖到目标网元(Esc 或切回选择退出)",
|
||
},
|
||
topoClassify: {
|
||
title: "分类",
|
||
openTopo: "拓扑画布",
|
||
inventory: "网元清单",
|
||
keywordPh: "关键字筛选名称/IP",
|
||
filterLevelAll: "全部层级",
|
||
filterRegionAll: "全部区域",
|
||
filterUnmatchedOff: "不过滤未分类",
|
||
kindAny: "层级或区域未填",
|
||
kindLevel: "层级未填",
|
||
kindRegion: "区域未填",
|
||
filterLinkAll: "全部关联",
|
||
filterLinkLinked: "已关联库存",
|
||
filterLinkOrphaned: "已解绑",
|
||
colLink: "关联",
|
||
linkManaged: "托管",
|
||
linkUme: "UME",
|
||
linkBoth: "托管+UME",
|
||
linkOrphaned: "已解绑",
|
||
levelExternal: "L0 外部",
|
||
levelCore: "L1 核心",
|
||
levelCoreSub: "L1.1 次核心",
|
||
levelAgg: "L2 汇聚",
|
||
levelAggSub: "L2.1 二级汇聚",
|
||
levelAccess: "L3 接入",
|
||
levelAccessSub: "L3.1 更深接入",
|
||
levelInvalid: "层级无效(0–99.9,一位小数)",
|
||
sourceManual: "手动",
|
||
sourceUmeSync: "UME 同步",
|
||
sourceLldp: "LLDP 占位",
|
||
sourceTopology: "拓扑占位",
|
||
sourceWebcrt: "WebCRT",
|
||
regexTitle: "正则查找",
|
||
patternPh: "正则,如 ^CORE- 或 -EDGE-",
|
||
fieldName: "名称",
|
||
fieldNameIp: "名称+IP",
|
||
findMatches: "查找匹配",
|
||
matchOk: "匹配 {{count}} 条,已勾选",
|
||
matchHint: "当前匹配 {{count}} 条",
|
||
assignLevel: "只改层级",
|
||
assignRegion: "只改区域",
|
||
assignBoth: "层级+区域",
|
||
clearRegion: "清空区域",
|
||
confirmAssign: "确认写入",
|
||
bulkConfirm: "将给已选/匹配的 {{count}} 条网元写入分类,确定?",
|
||
bulkOk: "已更新 {{count}} 条",
|
||
selectedCount: "已选 {{count}}",
|
||
selectPage: "全选本页",
|
||
colNe: "网元",
|
||
colLevel: "层级",
|
||
colRegion: "区域",
|
||
colActions: "操作",
|
||
edit: "编辑",
|
||
save: "保存",
|
||
cancel: "取消",
|
||
delete: "删除",
|
||
deleteSelected: "删除节点 ({{count}})",
|
||
deleteConfirm: "将从拓扑 Fabric 删除 {{count}} 个节点(含上图与边),不影响网元管理/UME 清单。确定?",
|
||
deleteOk: "已删除 {{count}} 个节点",
|
||
deleteHint: "仅可删除已解绑节点,或 LLDP/WebCRT 等非实际管理占位;仅 UME / 实际管理网元不可删",
|
||
deleteBlocked: "仅 UME 或仍关联实际管理网元,不可在此删除",
|
||
rowSaved: "已保存",
|
||
loading: "加载中…",
|
||
empty: "没有网元。",
|
||
},
|
||
audit: {
|
||
title: "操作审计",
|
||
logsTitle: "操作日志",
|
||
colSummary: "摘要",
|
||
colDetail: "详情",
|
||
showDetail: "展开",
|
||
hideDetail: "收起",
|
||
filterBusiness: "业务",
|
||
filterAll: "全部",
|
||
filterWebcrt: "设备终端",
|
||
filterNeExec: "设备执行",
|
||
filterAuth: "登录认证",
|
||
filterHttp: "HTTP",
|
||
summary: {
|
||
connecting: "正在登录 {{device}}",
|
||
loginOk: "登录 {{device}}",
|
||
loginFail: "登录失败 {{device}}:{{error}}",
|
||
logout: "断开 {{device}}",
|
||
logoutReason: "断开 {{device}}({{reason}})",
|
||
command: "{{device}} · 命令: {{command}}",
|
||
neExec: "{{device}} · 执行: {{commands}}",
|
||
neExecBatch: "批量执行 {{n}} 台(成功 {{ok}} / 失败 {{fail}})",
|
||
},
|
||
nav: {
|
||
tasks: "任务概览",
|
||
logs: "操作日志",
|
||
},
|
||
tasks: {
|
||
title: "任务概览",
|
||
hint: "汇总当前系统中正在运行或挂起的各类后台任务;发起人优先取近期审计记录,调度类任务显示为 scheduler/system。",
|
||
empty: "当前没有可展示的任务。",
|
||
open: "打开",
|
||
inflight: "进行中 {{n}}",
|
||
kpiActive: "活跃/在途",
|
||
kpiTotal: "条目总数",
|
||
kpiKinds: "按类型",
|
||
kpiStatuses: "按状态",
|
||
colKind: "类型",
|
||
colTitle: "任务",
|
||
colStatus: "状态",
|
||
colActor: "发起人",
|
||
colTrigger: "触发",
|
||
colProgress: "进度",
|
||
colStarted: "开始",
|
||
colUpdated: "更新",
|
||
colLink: "入口",
|
||
kind: {
|
||
port_traffic: "端口流量",
|
||
config_sync: "配置同步",
|
||
ne_collect: "批量采集",
|
||
lldp_discover: "LLDP 发现",
|
||
ume_sync: "UME 同步",
|
||
ne_connect: "连通性测试",
|
||
ume_runtime: "UME 后台",
|
||
webcrt: "WebCRT",
|
||
},
|
||
trigger: {
|
||
manual: "手动",
|
||
schedule: "调度",
|
||
topology: "拓扑",
|
||
system: "系统",
|
||
retry_failed: "重试失败",
|
||
},
|
||
status: {
|
||
collecting: "采集中",
|
||
running: "运行中",
|
||
testing: "测试中",
|
||
connecting: "登录中",
|
||
ready: "已连接",
|
||
detached: "已断开(宽限)",
|
||
pending: "排队",
|
||
paused: "暂停",
|
||
idle: "空闲",
|
||
error: "错误",
|
||
failed: "失败",
|
||
},
|
||
},
|
||
},
|
||
};
|
||
|
||
export default zh;
|