- 文案:约 25 组长文案中英同步精简(数据源引导/RBAC 注解/采集提示/删除确认等),三处重复 Ingress 教学收敛 - 汉化 shadcn 样板:分页 Previous/Next/aria、弹窗与抽屉 Close 接入 i18n(common.ui.*) - 一致性:查询授权面板 p-4、仪表盘卡片 p-6、分析卡头 pb-3、部署总数图标配色、 每日统计错误可重试、策略卡/最近部署行 truncate、状态徽章字重、三处原生 checkbox 换 shadcn、Label 浏览器圆角 - 词典:删除无引用的 raw.*/views.* 死键;zh 复数键风格统一(importCount/hits) - 快捷查询提示、Ingress 统计口径与表内说明按反馈删减
136 lines
5.5 KiB
TypeScript
136 lines
5.5 KiB
TypeScript
// 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 含行内 <code>,渲染处用 Trans 组件
|
||
nsHint:
|
||
'勾「所有命名空间」= 采集全集群;否则只采勾选项。',
|
||
appLabelSource: 'app 标签取值来源',
|
||
appSourcePlaceholder: '留空 = 默认(controller 名回退链)',
|
||
appSourceHint:
|
||
'默认按 <code>app.kubernetes.io/name → app → controller 名 → pod 名</code> 回退;集群自定义标签(如 <code>k8s.kuboard.cn/name</code>)填此处优先。',
|
||
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 命中这些值的日志(<code>action: keep</code>),是控制日志量最直接的手段。',
|
||
logPathHint: 'Sidecar 需共享日志卷或专用 logs 目录;保存后点「部署」生效。',
|
||
save: '保存',
|
||
saving: '保存中…',
|
||
validation: {
|
||
nameRequired: '请输入采集策略名称',
|
||
},
|
||
},
|
||
}
|
||
|
||
export default collectors
|