// collectors 命名空间 — 「日志采集」页面域中文文案。 // 注册说明:i18n 入口(src/i18n/index.ts)由框架统一维护,页面域词典在被页面组件 // 与入口处 resources 静态注册的 common 命名空间共存。 const collectors = { page: { title: '日志采集', description: '为主机与集群配置日志采集策略,日志将推送到关联的 Loki', addAction: '添加采集策略', }, empty: { title: '暂无采集策略', description: '新建一个日志采集器,关联已部署的 Loki', }, // 采集器类型徽章(卡片描述行) typeLabel: { hostPromtail: '主机 Promtail', k8sDaemonset: 'Promtail DaemonSet', k8sFluentbitSidecar: 'Fluent Bit Sidecar', }, // 卡片字段标签 field: { loki: '关联 Loki', cluster: '集群', host: '主机', namespace: '命名空间', logPath: '日志路径', target: '目标', unknown: '未知', }, action: { install: '部署', uninstall: '卸载', editAria: '编辑采集策略 {{name}}', deleteAria: '删除采集器 {{name}}', }, toast: { loadOptionsFailed: '加载 Loki 部署/集群/主机数据失败', installFailed: '部署采集器失败', uninstallFailed: '卸载采集器失败', deleteFailed: '删除采集器失败', createFailed: '创建采集器失败', saveFailed: '保存采集策略失败', }, deleteConfirm: '确定要删除「{{name}}」吗?删除时将自动卸载采集端,此操作不可恢复。', form: { title: '添加采集策略', name: '名称', type: '采集器类型', // 新建表单下拉里的类型选项(比卡片徽章多部署通道说明) typeOption: { hostPromtail: '主机 Promtail(SSH)', k8sDaemonset: 'Kubernetes Promtail DaemonSet', k8sFluentbitSidecar: 'Kubernetes Fluent Bit Sidecar', }, lokiDeployment: '关联 Loki 部署', lokiPlaceholder: '选择已部署的 Loki(推送目标)', // 下拉项名称后的括号后缀(状态/IP),中英文括号形态不同 statusParen: '({{status}})', hostParen: '({{ip}})', host: '目标主机', hostPlaceholder: '选择主机', cluster: '目标集群', clusterPlaceholder: '选择集群', namespace: '命名空间', nsPickCluster: '先选择集群', nsLoading: '加载命名空间…', nsPick: '选择命名空间', nsEmpty: '暂无可读取的命名空间', nsLoadFailed: '读取命名空间失败', pickFromCluster: '从集群选择', manualInput: '手动填写', targetDeployment: '目标 Deployment', wlPickNamespace: '先选择命名空间', wlLoading: '加载 Deployment…', wlPick: '选择 Deployment', wlEmpty: '此命名空间暂无 Deployment', wlLoadFailed: '读取 Deployment 失败', wlReady: '(就绪 {{ready}}/{{total}})', logPath: '采集日志路径', logPathHostHint: '支持 glob 通配(如 /var/log/*.log /var/log/syslog);多个路径用逗号分隔', logPathSidecarHint: '填业务写入的路径,如 /var/log/app/*.log;仅共享已有日志卷或专用 logs 目录。', labels: '自定义标签(JSON,可选)', labelsHint: '合法 JSON 时将附加到每条日志的标签,便于在 Loki/Grafana 中筛选;留空则不加', submit: '创建并部署', submitting: '创建中...', validation: { nameRequired: '请输入采集器名称', lokiRequired: '请选择关联的 Loki 部署', hostRequired: '请选择目标主机', clusterRequired: '请选择目标集群', namespaceRequired: '请选择命名空间', targetDeploymentRequired: '请填写目标 Deployment 名称', }, }, edit: { title: '编辑采集策略', namespaces: '采集命名空间', allNamespaces: '全集群所有命名空间', selectedCount: '已选 {{count}} 个', allCheckbox: '所有命名空间(全集群采集)', nsSearch: '搜索命名空间…', loading: '加载中…', nsListEmpty: '未取到命名空间列表(可手动输入)', nsNoMatch: '无匹配', nsLoadFailed: '加载命名空间失败', // nsHint/appSourceHint/appIncludeHint 含行内 ,渲染处用 Trans 组件 nsHint: '勾「所有命名空间」= 采集全集群;否则只采勾选项。', appLabelSource: 'app 标签取值来源', appSourcePlaceholder: '留空 = 默认(controller 名回退链)', appSourceHint: '默认按 app.kubernetes.io/name → app → controller 名 → pod 名 回退;集群自定义标签(如 k8s.kuboard.cn/name)填此处优先。', appSourcePreset: { default: '默认:app.kubernetes.io/name → app → controller 名 → pod 名', controllerName: 'controller_name(Pod 的 ReplicaSet 名,去 hash = Deployment 名)', k8sAppName: 'app.kubernetes.io/name(Kubernetes 标准标签)', app: 'app(常见简写)', kuboard: 'k8s.kuboard.cn/name(Kuboard 注入)', }, appInclude: '只采集这些 app(可选)', appIncludePlaceholder: '留空 = 不限;多个用逗号分隔,如 cex-spot-api, cex-asset-api', appIncludeHint: '只保留 app 命中这些值的日志(action: keep),是控制日志量最直接的手段。', logPathHint: 'Sidecar 需共享日志卷或专用 logs 目录;保存后点「部署」生效。', save: '保存', saving: '保存中…', validation: { nameRequired: '请输入采集策略名称', }, }, } export default collectors