Files
ctms/frontend/src/locales/zh-CN.ts
T
2026-05-26 11:32:14 +08:00

1163 lines
41 KiB
TypeScript

export const TEXT = {
common: {
appName: "CTMS",
fallback: "—",
loading: "加载中",
actions: {
add: "新增",
create: "创建",
edit: "编辑",
save: "保存",
cancel: "取消",
delete: "删除",
remove: "移除",
enable: "启用",
disable: "停用",
upload: "上传",
download: "下载",
back: "返回",
search: "搜索",
reset: "重置",
confirm: "确认",
close: "关闭",
submit: "提交",
view: "查看",
refresh: "刷新",
retry: "重试",
quote: "引用",
more: "查看更多",
exitProject: "退出当前项目",
login: "登录",
register: "注册",
newHistory: "新增病史",
newVisit: "新增访视",
newAe: "新增 AE",
},
messages: {
loadSuccess: "加载成功",
loadFailed: "加载失败",
saveSuccess: "已保存",
saveFailed: "保存失败",
createSuccess: "已创建",
createFailed: "创建失败",
updateSuccess: "已更新",
updateFailed: "更新失败",
deleteSuccess: "已删除",
deleteFailed: "删除失败",
uploadSuccess: "上传成功",
uploadFailed: "上传失败",
downloadFailed: "下载失败",
actionFailed: "操作失败",
noPermission: "无权限执行该操作",
networkError: "网络错误,请稍后重试",
fileTooLarge: "文件大小不能超过",
sessionLocked: "请解锁后继续操作",
sessionExpired: "登录已过期,请重新登录",
requestFailed: "请求失败,请稍后重试",
invalidStateAction: "当前状态不允许该操作",
required: "必填项",
previewNotSupported: "该文件暂不支持内嵌预览,请下载查看",
},
confirm: {
delete: "确认删除该记录?",
},
placeholders: {
input: "请输入",
select: "请选择",
keyword: "输入关键词",
startDate: "开始日期",
endDate: "结束日期",
},
labels: {
attachments: "附件",
size: "大小",
uploader: "上传人",
uploadedAt: "上传时间",
actions: "操作",
preview: "预览",
filename: "文件名",
role: "角色",
quickActions: "通往业务模块的快捷入口",
updatedAt: "更新时间",
activeOnly: "仅启用",
category: "分类",
all: "全部",
tips: "提示",
file: "文件",
collapseSidebar: "收缩侧边栏",
userInitialFallback: "用",
userFallback: "用户",
basicInfo: "基本信息",
allSites: "所有中心",
},
units: {
case: "例",
},
fields: {
subjectNo: "参与者编号",
site: "分中心",
status: "状态",
keyword: "关键词",
title: "标题",
level: "重要等级",
name: "姓名",
email: "帐号",
clinicalDepartment: "科室",
avatar: "头像",
projectName: "项目名称",
projectCode: "项目编号",
sponsor: "申办方",
protocolNo: "方案号",
phase: "分期",
siteName: "中心名称",
city: "城市",
phone: "电话",
contact: "负责人",
description: "描述",
sortOrder: "排序",
enabled: "启用",
category: "分类",
question: "问题",
screeningDate: "筛选日期",
consentDate: "知情日期",
enrollmentDate: "入组日期",
baselineDate: "基线/治疗日期",
completionDate: "完成日期",
dropReason: "退出原因",
recordDate: "日期",
content: "内容",
visitCode: "访视",
plannedDate: "计划访视",
actualDate: "实际访视",
windowStart: "窗口开始",
windowEnd: "窗口结束",
visitTotal: "访视总次数",
visitIntervalDays: "访视间隔(天)",
visitWindowStartOffset: "窗口开始偏移(天)",
visitWindowEndOffset: "窗口结束偏移(天)",
notes: "备注",
event: "事件",
onsetDate: "发生日期",
seriousness: "严重程度",
severity: "严重等级",
causality: "关联性",
outcome: "结局",
aeType: "AE 类型",
isSae: "是否 SAE",
isSusar: "是否 SUSAR",
submitDate: "递交日期",
acceptDate: "受理日期",
approvedDate: "批准日期",
meetingDate: "会议日期",
approvalNo: "批件号",
approvalStatus: "审批状态",
projectNo: "项目编号",
kickoffDate: "启动会日期",
attendees: "参训人员",
person: "人员",
trained: "已培训",
authorized: "已授权",
trainedDate: "培训日期",
authorizedDate: "授权日期",
direction: "类型",
trackingNo: "单号",
shipDate: "寄出/回收日期",
receiveDate: "接收日期",
quantity: "数量",
batchNo: "批号",
drugDesc: "物品描述",
carrier: "快递公司",
fromParty: "发出方",
toParty: "接收方",
occurDate: "发生日期",
amount: "金额",
type: "类型",
staff: "人员",
contractNo: "合同编号",
signedDate: "签署日期",
currency: "币种",
currencyDefault: "CNY",
pdNo: "PD 编号",
pdType: "PD 类型",
pdLevel: "PD 分级",
pdDescription: "PD 描述",
remark: "备注",
},
empty: {
noData: "暂无数据",
building: "功能建设中",
buildingDesc: "该模块基础骨架已建立,后续将补充完整交互与数据能力。",
listPlaceholder: "列表区域预留",
selectProject: "请先选择一个项目",
selectSite: "请先选择一个分中心",
},
validation: {
requiredSuffix: "不能为空",
invalidEmail: "邮箱格式不正确",
},
boolean: {
yes: "是",
no: "否",
},
},
audit: {
statusLabel: "状态:",
objectLabel: "对象:",
changeLabel: "变更:",
emptyValue: "-",
resultSuccess: "成功",
resultFail: "失败",
eventFallback: "系统操作",
actionFallback: "执行了操作",
targetFallback: "对象",
currentUser: "当前用户",
localClient: "客户端",
exportColumns: {
timestamp: "审计时间",
actorName: "操作人姓名",
actorId: "操作人账号",
actorRoleLabel: "操作人角色",
eventLabel: "操作类型",
targetTypeLabel: "操作对象类型",
targetIdentifier: "操作对象标识",
description: "操作描述",
beforeStatus: "操作前状态",
afterStatus: "操作后状态",
resultLabel: "操作结果",
reason: "拒绝原因",
ip: "IP 地址",
remark: "备注",
},
eventDict: {
AE_CLOSED: { label: "关闭 AE(不良事件)", actionText: "关闭了 AE", targetLabel: "不良事件" },
SUBJECT_STATUS_CHANGED: { label: "参与者状态变更", actionText: "变更了参与者状态", targetLabel: "参与者" },
FINANCE_STATUS_CHANGED: { label: "费用状态变更", actionText: "变更了费用状态", targetLabel: "费用记录" },
ADMIN_RESET_PASSWORD: { label: "重置用户密码", actionText: "重置了用户密码", targetLabel: "用户账号" },
ISSUE_STATUS_CHANGED: { label: "风险/问题状态变更", actionText: "更新了风险/问题状态", targetLabel: "风险/问题" },
UNAUTHORIZED_ACTION_ATTEMPT: { label: "越权操作尝试", actionText: "尝试执行无权限操作", targetLabel: "系统资源" },
INVALID_STATE_TRANSITION_ATTEMPT: { label: "非法状态流转尝试", actionText: "尝试执行非法状态流转", targetLabel: "业务对象" },
PROJECT_MEMBER_UPDATED: { label: "项目成员变更", actionText: "调整了项目成员", targetLabel: "项目成员" },
SITE_CRA_BOUND: { label: "中心 CRA 绑定", actionText: "调整了中心与 CRA 的绑定", targetLabel: "中心" },
SITE_STATUS_CHANGED: { label: "中心状态变更", actionText: "更新了中心信息", targetLabel: "中心" },
AUDIT_EXPORT_SYSTEM: { label: "导出系统审计", actionText: "导出了系统审计日志", targetLabel: "审计日志" },
AUDIT_EXPORT_PROJECT: { label: "导出项目审计", actionText: "导出了项目审计日志", targetLabel: "审计日志" },
FINANCE_APPROVED: { label: "费用审批", actionText: "审批通过费用", targetLabel: "费用" },
FINANCE_REJECTED: { label: "费用驳回", actionText: "驳回了费用", targetLabel: "费用" },
IMP_CONFIRMED: { label: "药品出入库确认", actionText: "确认了药品出入库记录", targetLabel: "药品交易" },
QUERY_RESOLVED: { label: "数据问题解决", actionText: "标记数据问题已解决", targetLabel: "数据问题" },
CREATE_SETUP_CONFIG: { label: "初始化立项配置", actionText: "初始化了立项配置", targetLabel: "立项配置" },
UPDATE_SETUP_CONFIG: { label: "保存立项配置", actionText: "更新了立项配置草稿", targetLabel: "立项配置" },
PUBLISH_SETUP_CONFIG: { label: "发布立项配置", actionText: "发布了立项配置", targetLabel: "立项配置" },
IMPORT_SETUP_CONFIG: { label: "导入立项配置", actionText: "导入了立项配置", targetLabel: "立项配置" },
},
},
menu: {
admin: "管理后台",
accountManagement: "账号管理",
projectManagement: "项目管理",
auditLogs: "审计日志",
permissionManagement: "权限管理",
currentProject: "当前项目",
projectOverview: "项目总览",
projectMilestones: "项目里程碑",
finance: "合同费用管理",
financeContracts: "合同费用管理",
feeContracts: "合同费用管理",
drug: "药品管理",
materialManagement: "物资管理",
drugShipments: "药品流向管理",
materialEquipment: "设备管理",
fileVersionManagement: "文件版本管理",
startupFeasibilityEthics: "立项与伦理",
startupMeetingAuth: "启动与授权",
subjects: "参与者管理",
riskIssues: "风险问题",
riskIssueSae: "AE/SAE",
riskIssuePd: "PD",
riskIssueMonitoringVisits: "监查访视问题",
monitoringAudit: "监查稽查",
etmf: "eTMF",
monitoring: "监查",
audit: "稽查",
sharedLibrary: "共享库",
knowledgeMedicalConsult: "医学咨询",
knowledgeNotes: "注意事项",
knowledgeSupportFiles: "支持性文件",
knowledgeInstructionFiles: "说明文件",
profile: "个人中心",
logout: "退出登录",
},
modules: {
auth: {
brandSubtitle: "临床试验管理系统",
loginTitle: "欢迎回来",
loginDesc: "请输入您的凭据以访问系统",
emailLabel: "电子邮箱",
passwordLabel: "登录密码",
emailPlaceholder: "name@company.com",
passwordPlaceholder: "最小 8 位字符",
confirmPasswordLabel: "确认密码",
confirmPasswordPlaceholder: "再次输入密码",
fullNameLabel: "姓名",
fullNamePlaceholder: "请输入姓名",
clinicalDepartmentLabel: "科室",
clinicalDepartmentPlaceholder: "请输入科室",
remember: "记住我",
forgot: "忘记密码?",
forgotTitle: "找回密码",
forgotDesc: "请联系系统管理员重置密码",
loginButton: "登录",
registerPrompt: "还没有账号?",
registerNow: "立即注册",
footer: "© 2025 CTMS Enterprise. 专业临床研究团队支持。",
authFailed: "认证失败,请检查您的凭据",
registerTitle: "创建账号",
registerDesc: "提交后需管理员审核通过方可登录",
registerButton: "提交注册",
registerSuccess: "注册成功,等待管理员审核",
backToLogin: "已有账号?返回登录",
passwordRuleMin: "密码至少 8 位",
passwordRuleMix: "需包含字母和数字",
passwordMismatch: "两次输入的密码不一致",
},
projectOverview: {
title: "项目总览",
subtitle: "当前项目运行状态与关键指标",
kpiProgress: "节点完成率",
kpiOverdueAes: "逾期 AE",
kpiOverdueAesHint: "需尽快跟进处理",
kpiFinanceTotal: "费用总额",
kpiFinancePaid: "累计已支付",
alertWarning: "存在逾期未处理事项,请及时关注项目的合规性与进度。",
alertOk: "项目运行状态良好,所有关键指标均在可控范围内。",
noMilestones: "暂无节点",
progressLabel: "总体进度: {rate}",
notificationsTitle: "通知",
notificationsSubtitle: "文件版本更新将推送在此处",
notificationsEmpty: "暂无通知",
},
projectMilestones: {
title: "项目里程碑",
subtitle: "里程碑计划与执行跟踪",
listTitle: "里程碑列表",
emptyDescription: "立项配置中暂无可展示的项目里程碑计划。",
sourceLabel: "数据来源:",
sourcePublished: "立项配置已发布版本",
sourceDraft: "立项配置草稿版本",
sourceDraftFallback: "立项配置草稿版本(已发布版本为空)",
statTotal: "总数 ",
statDone: "已完成 ",
columns: {
name: "里程碑",
planDate: "计划日期",
adjustedPlanDate: "调整计划时间",
actualTime: "实际时间",
operations: "操作",
owner: "负责人",
status: "状态",
remark: "备注",
},
},
financeContracts: {
title: "合同费用",
subtitle: "维护分中心合同费用与附件",
empty: "暂无合同费用记录",
newTitle: "新增合同费用",
editTitle: "编辑合同费用",
formSubtitle: "填写分中心合同信息并保存",
uploadHint: "保存后可上传合同附件",
detailTitle: "合同费用详情",
detailSubtitle: "查看合同费用与附件",
},
feeContracts: {
title: "合同费用管理",
subtitle: "按中心维护合同费用与分期付款",
empty: "暂无合同费用数据,点击创建",
newTitle: "新增合同费用",
editTitle: "编辑合同费用",
formSubtitle: "维护合同费用与分期付款信息",
detailTitle: "合同费用详情",
detailSubtitle: "查看合同费用与分期付款信息",
overviewTitle: "费用总览",
totalContractAmount: "合同金额总计",
totalPaidAmount: "已付金额总计",
totalUnpaidAmount: "未付金额总计",
totalVerifiedAmount: "已核销金额总计",
centerCount: "中心数",
contractAmount: "合同金额",
contractCases: "合同例数",
actualCases: "实际例数",
settlementAmount: "结算费用",
finalPaymentAmount: "尾款费用",
caseProgress: "合同/实际例数",
paidSummary: "已付/未付",
paidTotal: "已付合计",
unpaidBalance: "未付余额",
verifySummary: "核销情况",
verifiedTotal: "已核销合计",
unverifiedBalance: "未核销余额",
recentDates: "最近日期",
lastPaid: "最近打款",
lastVerified: "最近核销",
paymentTitle: "分期付款",
paymentEmpty: "暂无分期付款记录",
paymentSeq: "第",
paymentSeqUnit: "笔",
paidFlag: "打款状态",
verifiedFlag: "核销状态",
isPaid: "已打款",
isVerified: "已核销",
amountInvalid: "金额需大于等于 0",
paidDateRequired: "请填写打款日期",
verifiedDateRequired: "请填写核销日期",
verifyRequiresPaid: "核销前需先打款",
paymentValidationFailed: "请完善分期付款信息",
attachmentTitle: "合同附件",
attachmentContract: "合同",
attachmentContractDesc: "上传合同扫描件或签署页",
attachmentContractEmpty: "暂无合同附件",
attachmentVoucher: "凭证",
attachmentVoucherDesc: "上传打款凭证或收据",
attachmentVoucherEmpty: "暂无凭证附件",
attachmentInvoice: "发票",
attachmentInvoiceDesc: "上传发票或税务凭证",
attachmentInvoiceEmpty: "暂无发票附件",
uploadHint: "保存后可上传合同/凭证/发票附件",
},
drugShipments: {
title: "药品流向管理",
subtitle: "登记寄送与回收信息",
recordLabel: "运输记录",
empty: "暂无运输记录",
confirmDelete: "确认删除该运输记录?",
newTitle: "新增运输记录",
editTitle: "编辑运输记录",
formSubtitle: "记录寄送/回收流向",
uploadHint: "保存后可上传交接材料",
detailTitle: "运输记录详情",
detailSubtitle: "查看药品流向信息与附件",
},
materialEquipment: {
title: "设备管理",
subtitle: "设备台账与状态跟踪",
listTitle: "设备列表",
emptyDescription: "设备管理模块正在建设中,敬请期待。",
},
fileVersionManagement: {
title: "文件版本管理",
subtitle: "管理试验文档与版本审批",
listTitle: "文件版本列表",
emptyDescription: "暂无文档记录",
newDocument: "新增文档",
filters: {
scope: "范围",
site: "分中心",
docType: "类型",
status: "状态",
all: "全部",
},
columns: {
docNo: "编号",
title: "标题",
scope: "范围",
site: "分中心",
docType: "类型",
currentVersion: "当前版本",
status: "状态",
effectiveAt: "更新时间",
updatedAt: "更新",
actions: "操作",
},
actions: {
detail: "详情",
uploadVersion: "上传新版本",
submit: "提交审批",
approve: "通过",
reject: "驳回",
makeEffective: "设为生效",
download: "下载",
distribute: "新建抄送",
ackReceived: "已接收",
ackRead: "已阅读",
ackTrained: "已培训",
addTarget: "新增目标",
},
dialog: {
createTitle: "新建文档",
uploadTitle: "上传新版本",
distributeTitle: "新建抄送",
},
fields: {
docNo: "编号",
title: "标题",
docType: "类型",
scope: "范围",
site: "分中心",
versionNo: "版本号",
changeSummary: "变更摘要",
parentVersion: "父版本",
file: "文件",
workflowTemplate: "审批模板",
targetType: "目标类型",
target: "目标",
targetList: "目标列表",
dueAt: "截止日期",
},
tabs: {
versions: "版本管理",
distributions: "抄送",
audit: "审计",
},
labels: {
currentEffective: "当前生效版本",
versionTimeline: "版本时间线",
distributionList: "抄送列表",
approvalSummary: "审批摘要",
createdBy: "创建者",
createdAt: "创建时间",
submitAt: "提交",
approveAt: "审批",
overdue: "超期",
ackStats: "回执统计",
ackAction: "回执",
dueAt: "截止日期",
auditAction: "动作",
auditDetail: "详情",
auditTime: "时间",
},
placeholders: {
workflowTemplate: "审批模板 ID",
versionNo: "如 1.0",
target: "目标 ID/角色",
},
messages: {
createSuccess: "文档已创建",
uploadSuccess: "版本已上传",
submitSuccess: "已提交审批",
approveSuccess: "审批通过",
rejectSuccess: "已驳回",
effectiveSuccess: "已设为生效版本",
distributeSuccess: "抄送已创建",
ackSuccess: "回执已提交",
missingFile: "请选择文件",
missingTarget: "请填写目标",
noEffective: "暂无生效版本",
versionNoInvalid: "版本号格式应为 1.0",
workflowTemplateRequired: "请选择审批模板",
submitPrompt: "请输入审批模板 ID",
submitTitle: "提交审批",
},
},
startupFeasibilityEthics: {
title: "立项与伦理",
subtitle: "立项与伦理记录管理",
feasibilityTab: "立项记录",
ethicsTab: "伦理记录",
emptyFeasibility: "暂无立项记录",
emptyEthics: "暂无伦理记录",
feasibilityNewTitle: "新增立项记录",
feasibilityEditTitle: "编辑立项记录",
feasibilityFormSubtitle: "维护立项递交与审批信息",
feasibilityUploadHint: "保存后可上传立项附件",
feasibilityDetailTitle: "立项记录详情",
feasibilityDetailSubtitle: "查看立项记录与附件",
ethicsNewTitle: "新增伦理记录",
ethicsEditTitle: "编辑伦理记录",
ethicsFormSubtitle: "维护伦理递交与审批信息",
ethicsUploadHint: "保存后可上传伦理附件",
ethicsDetailTitle: "伦理记录详情",
ethicsDetailSubtitle: "查看伦理记录与附件",
},
startupMeetingAuth: {
title: "启动与授权",
subtitle: "启动会与培训授权管理",
kickoffTab: "启动会记录",
trainingTab: "培训与授权",
emptyKickoff: "暂无启动会记录",
emptyTraining: "暂无培训授权人员",
kickoffNewTitle: "新增启动会",
kickoffEditTitle: "编辑启动会",
kickoffFormSubtitle: "记录启动会日期与参训人员",
kickoffUploadHint: "保存后可上传会议纪要、签到表、PPT、其他文件",
kickoffMinutesLabel: "会议纪要",
kickoffSignInLabel: "签到表",
kickoffPptLabel: "PPT",
kickoffOtherLabel: "其他文件",
kickoffDetailTitle: "启动会详情",
kickoffDetailSubtitle: "查看启动会信息与附件",
attendeesPlaceholder: "每行一个姓名",
trainingNewTitle: "新增人员",
trainingEditTitle: "编辑培训授权",
trainingFormSubtitle: "维护人员培训与授权状态",
trainingUploadHint: "保存后可上传授权附件",
trainingDetailTitle: "培训授权详情",
trainingDetailSubtitle: "查看人员培训与授权信息",
ownerLabel: "负责人",
statusPending: "未开始",
statusCompleted: "已完成",
},
subjectManagement: {
title: "参与者管理",
subtitle: "参与者、病史、访视、AE 综合管理",
subjectLabel: "参与者",
screeningNo: "筛选号",
empty: "暂无参与者记录",
},
subjectForm: {
titleEdit: "编辑参与者",
titleNew: "新增参与者",
subtitle: "维护参与者基本信息",
},
subjectDetail: {
title: "参与者详情",
subtitle: "查看病史、访视、AE 与 PD 信息",
tabs: {
history: "病史",
visits: "访视",
ae: "AE 信息",
pd: "PD",
},
aeType: {
ae: "AE",
sae: "SAE",
susar: "SUSAR",
},
emptyHistory: "暂无病史记录",
emptyVisits: "暂无访视记录",
emptyAe: "暂无 AE 记录",
emptyPd: "暂无 PD 记录",
newPd: "新增 PD",
dialogHistory: "病史记录",
dialogVisit: "访视记录",
dialogAe: "AE 记录",
dialogPd: "PD 记录",
pdNoAuto: "保存后自动生成",
},
riskIssues: {
title: "风险问题",
subtitle: "项目风险与问题跟踪管理",
listTitle: "风险问题列表",
emptyDescription: "风险问题模块正在建设中,敬请期待。",
},
riskIssueSae: {
title: "AE/SAE",
subtitle: "同步参与者 AE/SAE 信息列表",
listTitle: "AE/SAE 列表",
emptyDescription: "暂无 AE/SAE 记录",
subjectNo: "参与者编号",
toSubject: "查看参与者",
},
riskIssuePd: {
title: "PD",
subtitle: "同步参与者 PD 相关信息列表",
listTitle: "PD 列表",
emptyDescription: "暂无 PD 记录",
syncStatus: "同步状态",
synced: "已同步",
toSubject: "查看参与者",
},
riskIssueMonitoringVisits: {
title: "监查访视问题",
subtitle: "功能建设中",
listTitle: "监查访视问题列表",
emptyDescription: "监查访视问题模块正在建设中,敬请期待。",
},
knowledgeMedicalConsult: {
title: "医学咨询",
subtitle: "常见问题与答复",
detailTitle: "医学咨询详情",
newCategory: "新增分类",
editCategory: "编辑分类",
newItem: "新建咨询",
editItem: "编辑咨询",
confirmDeleteCategory: "确认删除分类「{name}」?",
confirmDeleteItem: "确认删除咨询「{name}」?",
confirmToggleItem: "确认{action}此咨询?",
questionDesc: "问题描述",
editQuestion: "编辑问题",
confirmResolved: "确认解决",
asker: "提问人",
askedAt: "提问时间",
bestAnswer: "最佳答案",
adopted: "已采纳",
replyDeleted: "回复已删除",
replies: "回复",
replyCount: "共 {count} 条",
noReplyPermission: "当前角色无权限回复",
emptyReplies: "暂无回复",
setBest: "设为最佳",
cancelBest: "取消最佳",
confirmBestReply: "设为最佳答案并确认已解决?",
bestReplySet: "已设为最佳答案",
bestReplyCleared: "已取消最佳答案",
resolvedSuccess: "已设置为已解决",
replyRequired: "请输入回复内容",
replySubmitted: "回复已提交",
replyFailed: "回复失败",
replyLoadFailed: "回复加载失败",
clearQuote: "取消引用",
quoteDeleted: "内容已删除",
},
knowledgeNotes: {
title: "注意事项",
subtitle: "分中心特殊要求记录",
empty: "暂无注意事项记录",
confirmDelete: "确认删除该注意事项?",
newTitle: "新增注意事项",
editTitle: "编辑注意事项",
formSubtitle: "记录分中心特殊问题",
uploadHint: "保存后可上传附件",
detailTitle: "注意事项详情",
detailSubtitle: "查看注意事项与附件",
},
knowledgeSupportFiles: {
title: "支持性文件",
subtitle: "功能建设中",
listTitle: "支持性文件列表",
emptyDescription: "支持性文件功能正在搭建基础能力,敬请期待。",
},
knowledgeInstructionFiles: {
title: "说明文件",
subtitle: "功能建设中",
listTitle: "说明文件列表",
emptyDescription: "说明文件功能正在搭建基础能力,敬请期待。",
},
monitoring: {
title: "监查",
subtitle: "功能建设中",
listTitle: "监查记录列表",
emptyDescription: "监查功能正在搭建基础能力,敬请期待。",
},
audit: {
title: "稽查",
subtitle: "功能建设中",
listTitle: "稽查记录列表",
emptyDescription: "稽查模块正在准备基础框架,敬请期待。",
},
monitoringAudit: {
title: "监查稽查",
subtitle: "功能建设中",
listTitle: "监查稽查列表",
emptyDescription: "监查稽查模块正在建设中,敬请期待。",
},
etmf: {
title: "eTMF",
subtitle: "功能建设中",
listTitle: "eTMF 列表",
emptyDescription: "eTMF 模块正在建设中,敬请期待。",
},
adminUserApproval: {
title: "注册审核",
subtitle: "仅显示待审核账号,审核通过后即可登录",
createdAt: "注册时间",
approve: "审核通过",
reject: "拒绝",
loadFailed: "加载待审核用户失败",
approveSuccess: "已通过审核",
approveFailed: "审核失败",
rejectSuccess: "已拒绝",
rejectFailed: "拒绝失败",
},
adminUsers: {
title: "账号管理(系统登录账号)",
subtitle: "账号用于登录系统,本身不具备项目或角色权限",
userLabel: "用户",
clinicalDepartmentLabel: "科室",
createdAt: "创建时间",
newTitle: "新建用户",
editTitle: "编辑用户",
resetPassword: "重置密码",
accountStatus: "账号状态",
passwordOptional: "新密码(可选)",
passwordInitial: "初始密码",
passwordOptionalHint: "留空则不修改密码",
passwordInitialHint: "请输入初始密码",
passwordInitialRequired: "请输入初始密码",
keepAdminWarning: "至少保留一个管理员账号,不能禁用该账号",
loadFailed: "用户列表加载失败",
updateSuccess: "用户已更新",
createSuccess: "用户已创建",
deleteConfirm: "删除后不可恢复,请输入“确认删除”继续。",
deleteTitle: "危险操作:删除账号",
deleteConfirmPlaceholder: "确认删除",
deleteConfirmInputError: "请输入“确认删除”",
deleteSuccess: "账号已删除",
deleteFailed: "删除失败",
enableConfirm: "确认启用该用户账号?",
disableConfirm: "该操作将影响用户账号,请确认是否继续",
enableTitle: "启用账号",
disableTitle: "禁用账号",
enableSuccess: "已启用",
disableSuccess: "已禁用",
resetTitle: "重置密码",
resetWarningTitle: "该操作将影响用户账号,请确认是否继续",
resetWarningDesc: "系统将生成临时密码,需再次输入用户名才能提交。",
resetTarget: "重置对象:",
confirmUsername: "确认用户名",
confirmUsernameHint: "请输入用户名以确认",
passwordMode: "密码方式",
passwordAuto: "系统生成临时密码",
passwordManual: "手动输入新密码",
tempPassword: "临时密码",
newPassword: "新密码",
regenerate: "重新生成",
manualPasswordHint: "请输入新密码",
passwordHint: "不会明文展示,请通过安全渠道告知用户",
tempPasswordError: "临时密码生成异常",
manualPasswordRequired: "请输入新密码",
confirmMismatch: "确认用户名不匹配,无法提交",
resetConfirmPrompt: "该操作将影响用户账号,请确认是否继续",
resetConfirmTitle: "确认重置密码",
resetConfirm: "确认重置",
resetSuccess: "密码已重置",
resetFailed: "重置失败",
},
adminProjects: {
title: "项目管理",
subtitle: "项目是独立业务实体,账号加入项目后才成为项目成员(角色在成员配置中设置)",
projectLabel: "项目",
members: "项目账号/成员配置",
sites: "中心管理",
enter: "进入项目",
createdAt: "创建时间",
newTitle: "新建项目",
editTitle: "编辑项目",
sponsorPlaceholder: "申办方(可选)",
protocolPlaceholder: "方案号(可选)",
phasePlaceholder: "研究分期(可选)",
loadFailed: "项目列表加载失败",
createSuccess: "项目已创建",
updateSuccess: "项目已更新",
detailTitle: "项目详情",
basicInfo: "项目基本信息",
filesTitle: "项目通用文件",
setupStepCenterConfirm: "中心确认",
setupSaveSuccess: "配置草稿已保存",
setupSaveFailed: "配置草稿保存失败",
lockConfirmPrompt: "请输入“确认锁定”以继续",
lockConfirmTitle: "二次确认",
lockConfirmPlaceholder: "请输入确认锁定",
lockConfirmMismatch: "输入内容不匹配",
lockConfirmMismatchWarning: "输入内容不匹配,已取消锁定",
},
adminProjectMembers: {
title: "项目成员配置(角色仅在当前项目内生效)",
subtitle: "同一账号在不同项目可拥有不同角色,角色授权仅在本页进行",
projectPrefix: "项目:",
memberLabel: "成员",
username: "姓名",
projectRole: "项目角色",
addedAt: "加入时间",
disabledGlobal: "全局已禁用",
disabled: "已禁用",
disabledGlobalHint: "请前往【账号管理】启用该账号",
disabledGlobalDesc: "该账号已在系统级被禁用,无法在任何项目中使用",
newTitle: "新增成员",
user: "用户",
userPlaceholder: "请选择用户",
rolePlaceholder: "请选择角色",
addSuccess: "成员已添加",
addFailed: "添加失败",
loadFailed: "成员列表加载失败",
roleUpdated: "角色已更新",
disableConfirm: "该操作将影响项目成员,请确认是否继续",
disableTitle: "停用成员",
disableSuccess: "成员已停用",
enableSuccess: "成员已启用",
removeConfirm: "确认将该账号从本项目移除?账号本身不会被删除。",
removeTitle: "删除成员",
removeSuccess: "已从项目移除",
},
adminSites: {
title: "中心管理",
projectPrefix: "项目:",
siteLabel: "中心",
piLabel: "PI",
loadFailed: "中心列表加载失败",
newTitle: "新建中心",
editTitle: "编辑中心",
cityPlaceholder: "所在城市(可选)",
piPlaceholder: "PI(可选)",
phonePlaceholder: "电话(可选)",
contactPlaceholder: "选择项目成员作为负责人,可多选",
updateSuccess: "中心已更新",
createSuccess: "中心已创建",
leadUnitTag: "组长单位",
disableConfirm: "该操作将影响中心数据,请确认是否继续",
disableTitle: "停用中心",
disableSuccess: "已停用",
enableSuccess: "已启用",
craBindTitle: "CRA 绑定",
sitePrefix: "中心:",
craSelect: "选择 CRA",
craSelectPlaceholder: "请选择 CRA 账号",
craHint: "支持多选,保存后将以用户名写入中心联系人字段",
craSave: "保存绑定",
craSaveSuccess: "绑定已保存",
},
adminAuditLogs: {
title: "审计日志",
filterEntityType: "对象类型",
filterEvent: "操作类型",
filterOperator: "操作人",
filterResult: "结果",
rangeStart: "开始",
rangeEnd: "结束",
exportSystem: "导出系统审计",
exportProject: "导出项目审计",
loadFailed: "审计日志加载失败",
exportLoadFailed: "导出数据加载失败",
exportConfirm: "该文件包含敏感审计信息,仅限授权人员使用。确认导出吗?",
exportConfirmTitle: "审计导出确认",
exportEmpty: "无可导出的审计记录",
exportSystemName: "系统审计",
exportProjectName: "项目审计",
columns: {
time: "时间",
actor: "操作人",
event: "操作类型",
action: "内容",
target: "对象",
diff: "详情",
result: "结果",
},
},
permissions: {
subjectEnroll: "仅 PM/CRA 可更新参与者状态",
subjectComplete: "仅 PM/CRA 可更新参与者状态",
subjectDrop: "仅 PM/CRA 可更新参与者状态",
aeClose: "仅 PM/PV/ADMIN 可关闭 AE",
faqEdit: "仅 PM/ADMIN 可维护 FAQ",
faqCreate: "仅项目成员可新建 FAQ",
faqReply: "仅项目成员可回复 FAQ",
projectMembersManage: "仅 ADMIN / PM 可调整项目成员",
siteManage: "仅 ADMIN / PM 可管理中心",
siteCraBind: "仅 ADMIN / PM 可绑定 CRA",
feeContractsWrite: "仅 ADMIN / PM 可维护合同费用",
default: "当前角色无权执行该操作",
},
profile: {
title: "个人设置",
subtitle: "更新个人信息或修改登录密码",
uploadAvatar: "上传头像",
currentPassword: "当前密码",
currentPasswordHint: "修改密码时必填",
newPassword: "新密码",
newPasswordHint: "不修改请留空",
confirmPassword: "确认新密码",
confirmPasswordHint: "再次输入新密码",
passwordRequired: "修改密码需输入当前密码",
passwordRule: "至少 8 位且包含字母与数字",
passwordMismatch: "两次输入的密码不一致",
updateSuccess: "已更新",
updateFailed: "更新失败",
avatarUpdated: "头像已更新",
avatarUploadFailed: "头像上传失败",
},
},
enums: {
userRole: {
ADMIN: "管理员",
PM: "项目负责人",
CRA: "CRA",
PV: "PV",
MEDICAL_REVIEW: "医学审核",
IMP: "药品管理员",
},
userStatus: {
PENDING: "待审核",
ACTIVE: "启用",
REJECTED: "已拒绝",
DISABLED: "已禁用",
},
subjectStatus: {
SCREENING: "筛选中",
ENROLLED: "已入组",
COMPLETED: "已完成",
DROPPED: "已脱落",
},
visitStatus: {
PLANNED: "计划中",
DONE: "已完成",
MISSED: "未完成",
OVERDUE: "超窗",
LOST: "失访",
CANCELLED: "已取消",
},
aeSeriousness: {
I: "I",
II: "II",
III: "III",
IV: "IV",
V: "V",
},
aeSeverity: {
I: "I",
II: "II",
III: "III",
IV: "IV",
V: "V",
MILD: "I",
MODERATE: "II",
SEVERE: "III",
},
aeCausality: {
肯定有关: "肯定有关",
很可能有关: "很可能有关",
可能有关: "可能有关",
可能无关: "可能无关",
无关: "无关",
待评估: "待评估",
},
aeOutcome: {
痊愈: "痊愈",
好转: "好转",
持续: "持续",
恶化: "恶化",
死亡: "死亡",
失访: "失访",
},
aeStatus: {
NEW: "新建",
FOLLOW_UP: "随访中",
CLOSED: "已关闭",
},
shipmentDirection: {
寄送: "寄送",
回收: "回收",
SEND: "寄送",
RETURN: "回收",
},
shipmentStatus: {
待寄出: "待寄出",
运输中: "运输中",
已签收: "已签收",
已回收: "已回收",
异常: "异常",
PENDING: "待寄出",
IN_TRANSIT: "运输中",
SIGNED: "已签收",
RETURNED: "已回收",
EXCEPTION: "异常",
},
projectStatus: {
DRAFT: "草稿",
ACTIVE: "进行中",
CLOSED: "已关闭",
},
faqStatus: {
PENDING: "待回答",
PROCESSING: "处理中",
RESOLVED: "已解决",
},
pdLevel: {
GENERAL: "一般",
MAJOR: "重大",
CRITICAL: "严重",
},
pdApprovalStatus: {
DRAFT: "未提交",
SUBMITTED: "审批中",
APPROVED: "通过",
REJECTED: "驳回",
},
pdStatus: {
OPEN: "开放",
CLOSED: "关闭",
},
generalStatus: {
TODO: "待处理",
DOING: "进行中",
DONE: "已完成",
BLOCKED: "阻塞",
DRAFT: "草稿",
SUBMITTED: "已提交",
APPROVED: "已审批",
REJECTED: "已驳回",
PAID: "已支付",
CLOSED: "已关闭",
OPEN: "开放",
NEW: "新建",
FOLLOW_UP: "随访中",
OVERDUE: "已逾期",
SCREENING: "筛选中",
ENROLLED: "已入组",
COMPLETED: "已完成",
DROPPED: "已脱落",
},
trainingFlag: {
true: "是",
false: "否",
},
documentType: {
SOP: "SOP",
ICF: "知情同意书",
Training: "培训材料",
Manual: "手册",
Guidance: "研究快速指引",
},
documentStatus: {
DRAFT: "草稿",
ACTIVE: "已生效",
ARCHIVED: "已归档",
},
documentVersionStatus: {
DRAFT: "草稿",
SUBMITTED: "已提交",
APPROVED: "已审批",
EFFECTIVE: "已生效",
SUPERSEDED: "已废止",
ARCHIVED: "已归档",
WITHDRAWN: "已撤回",
REJECTED: "已驳回",
},
distributionTargetType: {
SITE: "中心",
ROLE: "角色",
USER: "人员",
},
scopeType: {
GLOBAL: "通用",
SITE: "中心",
DERIVED: "派生",
},
permissionManagement: {
title: "权限管理",
moduleLevel: "模块级权限",
apiLevel: "角色权限",
monitoring: "权限监控",
refreshMetrics: "刷新指标",
save: "保存",
search: "搜索端点",
filterModule: "筛选模块",
filterMethod: "筛选方法",
endpoint: "端点",
module: "模块",
method: "方法",
role: "角色",
allowed: "允许",
denied: "拒绝",
healthStatus: "系统健康状态",
healthScore: "健康分数",
healthy: "健康",
degraded: "降级",
unhealthy: "不健康",
issues: "发现的问题",
totalChecks: "总检查次数",
avgResponseTime: "平均响应时间",
allowRate: "允许率",
errorRate: "错误率",
cacheEfficiency: "缓存效率",
cacheHitRate: "缓存命中率",
cacheItems: "缓存项目数",
cacheInvalidations: "缓存失效次数",
recentAlerts: "最近告警",
time: "时间",
level: "级别",
type: "类型",
message: "消息",
noAlerts: "暂无告警",
},
},
} as const;