feat: 品牌统一 LokiStack + 全站中英 i18n + 用户批量删除 + 主题定时切换与浅色侧栏
- 品牌: Go 模块/数据文件/二进制/构建部署资产全部 opsx→lokistack;前端 localStorage 命名空间迁移(读旧写新,含按用户 id 前缀迁移);修复 nginx upstream 与 Makefile 引用已改名服务的断裂 - i18n: react-i18next 落地,common + 11 个页面域命名空间全站中英(菜单/顶栏/登录/列表页/表单/确认弹窗/状态徽章);设置页语言即时切换;修复词典自注册导致的循环导入白屏 - 用户管理: 批量删除(POST /users/batch-delete,不删自己/最后管理员,部分失败不阻断)+ 行复选/全选/批量工具条 - 主题: 浅色侧栏(中性灰激活态)、四态模式(浅色/深色/跟随系统/定时切换,按时区判定)、顶栏太阳月亮二态、设置页紧凑分段选择器 - UI: 登录记住用户名、CardActionButton 统一五页卡片操作钮、shadcn Badge 替换手写徽章、语义色修正 - 清理: 移除主机 Web 终端(前后端)、k8s-helm/Helm 遗留代码与字段、README 重写精简 - 修复: 侧栏与日志告警 order 重复、路由标题 i18n key 未翻译、词典双逗号等
This commit is contained in:
1 parent
02d1bd87a7
commit
f3733f0bfc
201 files changed
+5438
-2388
No files matched your search
@@ -0,0 +1,81 @@
|
||||
// hosts namespace — host management page (English)
|
||||
export default {
|
||||
title: 'Hosts',
|
||||
description: 'Manage SSH hosts for binary-based Loki deployment',
|
||||
actions: {
|
||||
add: 'Add Host',
|
||||
detail: 'Details',
|
||||
editAria: 'Edit host {{name}}',
|
||||
validateAria: 'Validate host {{name}}',
|
||||
deleteAria: 'Delete host {{name}}',
|
||||
},
|
||||
fields: {
|
||||
address: 'Address',
|
||||
user: 'User',
|
||||
auth: 'Auth',
|
||||
authPassword: 'Password',
|
||||
authKey: 'SSH Key',
|
||||
os: 'OS',
|
||||
unknown: 'Unknown',
|
||||
},
|
||||
empty: {
|
||||
title: 'No hosts yet',
|
||||
description: 'Add your first SSH host to get started',
|
||||
},
|
||||
delete: {
|
||||
warning:
|
||||
'Delete "{{name}}"? Warning: {{dep}} deployments and {{col}} collector policies still reference this host; they will stop working once it is deleted.',
|
||||
},
|
||||
toast: {
|
||||
deleteFailed: 'Failed to delete host',
|
||||
validateFailed: 'Validation failed',
|
||||
createFailed: 'Failed to add host',
|
||||
},
|
||||
form: {
|
||||
addTitle: 'Add SSH Host',
|
||||
editTitle: 'Edit Host',
|
||||
editTitleWithName: 'Edit Host · {{name}}',
|
||||
nameLabel: 'Name *',
|
||||
hostIpLabel: 'Host IP *',
|
||||
portLabel: 'Port',
|
||||
userLabel: 'Username *',
|
||||
authTypeLabel: 'Authentication',
|
||||
passwordLabel: 'Password *',
|
||||
passwordLabelEdit: 'Password (leave blank to keep unchanged)',
|
||||
passwordPlaceholder: 'SSH login password',
|
||||
privateKeyLabel: 'Private Key *',
|
||||
privateKeyLabelEdit: 'Private Key (leave blank to keep unchanged)',
|
||||
keyPhraseLabel: 'Passphrase (optional)',
|
||||
keyPhrasePlaceholder: 'Leave blank if no passphrase',
|
||||
labelsLabel: 'Labels (JSON)',
|
||||
submitAdd: 'Add Host',
|
||||
submitSave: 'Save Changes',
|
||||
submittingAdd: 'Adding...',
|
||||
submittingSave: 'Saving...',
|
||||
validation: {
|
||||
nameRequired: 'Host name is required',
|
||||
hostIpRequired: 'Host IP is required',
|
||||
portRequired: 'Port is required',
|
||||
portNumeric: 'Port must be a number',
|
||||
portRange: 'Port must be between 1 and 65535',
|
||||
userRequired: 'Username is required',
|
||||
passwordRequired: 'SSH password is required',
|
||||
privateKeyRequired: 'Paste the SSH private key content',
|
||||
},
|
||||
},
|
||||
detail: {
|
||||
loadError: 'Failed to load host details',
|
||||
usage: 'Resource Usage',
|
||||
memory: 'Memory',
|
||||
disk: 'Disk',
|
||||
usageDetail: '({{detail}})',
|
||||
basicInfo: 'Basic Info',
|
||||
hostname: 'Hostname',
|
||||
os: 'OS',
|
||||
arch: 'Architecture',
|
||||
kernel: 'Kernel',
|
||||
cpuCores: 'CPU Cores',
|
||||
uptime: 'Uptime',
|
||||
unknown: 'Unknown',
|
||||
},
|
||||
}
|
||||
Reference in new issue
Block a user