feat(admin-portal): 完整实现 admin-portal 管理端微前端
包含 src 全部实现、Dockerfile、配置文件等
This commit is contained in:
183
apps/admin-portal/src/lib/i18n.ts
Normal file
183
apps/admin-portal/src/lib/i18n.ts
Normal file
@@ -0,0 +1,183 @@
|
||||
/**
|
||||
* 轻量 i18n(contract §1.7 命名空间:admin.* / iam.error.* / bff.error.* / gateway.error.* / network.error.*)
|
||||
*
|
||||
* 维护者:ai16
|
||||
* 仲裁:F4 i18n key 模式 error.{{service}}.{{code_snake_case}}
|
||||
*/
|
||||
|
||||
type MessageMap = Record<string, string>;
|
||||
|
||||
const messages: MessageMap = {
|
||||
// 导航
|
||||
"admin.nav.dashboard": "管理仪表盘",
|
||||
"admin.nav.users": "用户管理",
|
||||
"admin.nav.roles": "角色权限",
|
||||
"admin.nav.permissions": "权限点",
|
||||
"admin.nav.viewports": "视口配置",
|
||||
"admin.nav.organization": "组织管理",
|
||||
"admin.nav.system": "学校设置",
|
||||
"admin.nav.classes": "班级管理",
|
||||
"admin.nav.teachers": "教师管理",
|
||||
"admin.nav.students": "学生管理",
|
||||
"admin.nav.auditLogs": "审计日志",
|
||||
|
||||
// 通用
|
||||
"admin.common.search": "搜索",
|
||||
"admin.common.filter": "筛选",
|
||||
"admin.common.create": "新建",
|
||||
"admin.common.edit": "编辑",
|
||||
"admin.common.delete": "删除",
|
||||
"admin.common.save": "保存",
|
||||
"admin.common.cancel": "取消",
|
||||
"admin.common.confirm": "确认",
|
||||
"admin.common.export": "导出",
|
||||
"admin.common.actions": "操作",
|
||||
"admin.common.status": "状态",
|
||||
"admin.common.all": "全部",
|
||||
"admin.common.loading": "加载中...",
|
||||
"admin.common.empty": "暂无数据",
|
||||
"admin.common.error": "加载失败",
|
||||
"admin.common.retry": "重试",
|
||||
"admin.common.page": "页",
|
||||
"admin.common.total": "共",
|
||||
"admin.common.records": "条",
|
||||
"admin.common.active": "启用",
|
||||
"admin.common.disabled": "禁用",
|
||||
"admin.common.locked": "锁定",
|
||||
"admin.common.yes": "是",
|
||||
"admin.common.no": "否",
|
||||
"admin.common.name": "姓名",
|
||||
"admin.common.email": "邮箱",
|
||||
"admin.common.role": "角色",
|
||||
"admin.common.createdAt": "创建时间",
|
||||
"admin.common.updatedAt": "更新时间",
|
||||
"admin.common.lastLoginAt": "最后登录",
|
||||
"admin.common.dataScope": "数据范围",
|
||||
"admin.common.school": "学校",
|
||||
"admin.common.grade": "年级",
|
||||
"admin.common.class": "班级",
|
||||
|
||||
// 仪表盘
|
||||
"admin.dashboard.title": "管理仪表盘",
|
||||
"admin.dashboard.totalTeachers": "教师总数",
|
||||
"admin.dashboard.totalStudents": "学生总数",
|
||||
"admin.dashboard.totalClasses": "班级总数",
|
||||
"admin.dashboard.totalSchools": "学校总数",
|
||||
"admin.dashboard.schoolAvgScore": "全校平均分",
|
||||
"admin.dashboard.activeUsersToday": "今日活跃用户",
|
||||
"admin.dashboard.auditEventsToday": "今日审计事件",
|
||||
"admin.dashboard.trend": "趋势",
|
||||
"admin.dashboard.serviceHealth": "服务健康",
|
||||
|
||||
// 用户管理
|
||||
"admin.users.title": "用户管理",
|
||||
"admin.users.new": "新建用户",
|
||||
"admin.users.edit": "编辑用户",
|
||||
"admin.users.deleteConfirm": "确认删除该用户?",
|
||||
"admin.users.toggleStatus": "切换状态",
|
||||
"admin.users.assignRole": "分配角色",
|
||||
"admin.users.password": "密码",
|
||||
"admin.users.roles": "角色",
|
||||
"admin.users.organization": "所属组织",
|
||||
|
||||
// 角色权限
|
||||
"admin.roles.title": "角色权限管理",
|
||||
"admin.roles.new": "新建角色",
|
||||
"admin.roles.permissionMatrix": "权限矩阵",
|
||||
"admin.roles.systemRole": "系统预置",
|
||||
"admin.roles.userCount": "用户数",
|
||||
"admin.roles.deleteConfirm": "确认删除该角色?",
|
||||
"admin.roles.cannotDeleteSystem": "系统预置角色不可删除",
|
||||
"admin.roles.cannotDeleteWithUsers": "角色下仍有用户,不可删除",
|
||||
|
||||
// 权限点
|
||||
"admin.permissions.title": "权限点管理",
|
||||
"admin.permissions.resource": "资源",
|
||||
"admin.permissions.action": "操作",
|
||||
"admin.permissions.code": "权限码",
|
||||
|
||||
// 视口配置
|
||||
"admin.viewports.title": "视口配置",
|
||||
"admin.viewports.key": "标识",
|
||||
"admin.viewports.label": "标签",
|
||||
"admin.viewports.route": "路由",
|
||||
"admin.viewports.sortOrder": "排序",
|
||||
"admin.viewports.requiredPermission": "所需权限",
|
||||
"admin.viewports.scope": "作用域",
|
||||
"admin.viewports.visible": "是否可见",
|
||||
"admin.viewports.dragHint": "拖拽调整排序",
|
||||
|
||||
// 组织管理
|
||||
"admin.organization.title": "组织管理",
|
||||
"admin.organization.school": "学校",
|
||||
"admin.organization.expand": "展开",
|
||||
"admin.organization.collapse": "折叠",
|
||||
|
||||
// 学校设置
|
||||
"admin.system.title": "学校设置",
|
||||
"admin.system.schoolName": "学校名称",
|
||||
"admin.system.schoolCode": "学校代码",
|
||||
"admin.system.academicYear": "学年",
|
||||
"admin.system.semester": "学期",
|
||||
"admin.system.contactEmail": "联系邮箱",
|
||||
"admin.system.contactPhone": "联系电话",
|
||||
"admin.system.address": "地址",
|
||||
"admin.system.timezone": "时区",
|
||||
"admin.system.locale": "语言",
|
||||
"admin.system.saveSuccess": "设置已保存",
|
||||
|
||||
// 班级管理
|
||||
"admin.classes.title": "班级管理",
|
||||
"admin.classes.headTeacher": "班主任",
|
||||
"admin.classes.studentCount": "学生数",
|
||||
|
||||
// 教师管理
|
||||
"admin.teachers.title": "教师管理",
|
||||
"admin.teachers.subjects": "任教科目",
|
||||
"admin.teachers.classCount": "班级数",
|
||||
|
||||
// 学生管理
|
||||
"admin.students.title": "学生管理",
|
||||
"admin.students.guardian": "家长",
|
||||
"admin.students.guardianPhone": "家长电话",
|
||||
|
||||
// 审计日志
|
||||
"admin.auditLogs.title": "审计日志",
|
||||
"admin.auditLogs.actor": "操作人",
|
||||
"admin.auditLogs.action": "操作",
|
||||
"admin.auditLogs.resource": "资源",
|
||||
"admin.auditLogs.resourceId": "资源ID",
|
||||
"admin.auditLogs.ip": "IP地址",
|
||||
"admin.auditLogs.time": "时间",
|
||||
"admin.auditLogs.dateRange": "时间范围",
|
||||
"admin.auditLogs.exportCsv": "导出CSV",
|
||||
"admin.auditLogs.traceId": "追踪ID",
|
||||
|
||||
// 通知
|
||||
"admin.notification.title": "通知中心",
|
||||
"admin.notification.auditAlert": "审计告警",
|
||||
"admin.notification.abnormalLogin": "异常登录",
|
||||
"admin.notification.systemError": "系统异常",
|
||||
|
||||
// 退出
|
||||
"admin.auth.logout": "退出登录",
|
||||
"admin.auth.welcome": "Edu 管理端",
|
||||
};
|
||||
|
||||
/**
|
||||
* 翻译函数
|
||||
* @param key i18n key(如 "admin.nav.dashboard")
|
||||
* @param params 模板参数(如 { count: 5 },替换 {{count}})
|
||||
*/
|
||||
export function t(
|
||||
key: string,
|
||||
params?: Record<string, string | number>,
|
||||
): string {
|
||||
let msg = messages[key] ?? key;
|
||||
if (params) {
|
||||
for (const [k, v] of Object.entries(params)) {
|
||||
msg = msg.replace(new RegExp(`\\{\\{${k}\\}\\}`, "g"), String(v));
|
||||
}
|
||||
}
|
||||
return msg;
|
||||
}
|
||||
Reference in New Issue
Block a user