- 品牌: 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 未翻译、词典双逗号等
82 lines
2.4 KiB
TypeScript
82 lines
2.4 KiB
TypeScript
// 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',
|
|
},
|
|
}
|