# \u901A\u7528\u54CD\u5E94
response.success=\u64CD\u4F5C\u6210\u529F
response.error=\u7CFB\u7EDF\u9519\u8BEF
response.invalid.param=\u65E0\u6548\u7684\u53C2\u6570
response.unauthorized=\u672A\u6388\u6743
response.forbidden=\u7981\u6B62\u8BBF\u95EE
response.not.found=\u8D44\u6E90\u672A\u627E\u5230
response.conflict=\u8D44\u6E90\u51B2\u7A81
response.unauthorized.full=\u8BBF\u95EE\u6B64\u8D44\u6E90\u9700\u8981\u5B8C\u5168\u8EAB\u4EFD\u9A8C\u8BC1

# \u4E1A\u52A1\u9519\u8BEF
tenant.not.found=\u79DF\u6237\u4E0D\u5B58\u5728
data.not.found=\u6570\u636E\u4E0D\u5B58\u5728

# \u7528\u6237\u76F8\u5173
user.not.found=\u7528\u6237\u4E0D\u5B58\u5728
user.username.exists=\u7528\u6237\u540D\u5DF2\u5B58\u5728
user.email.exists=\u90AE\u7BB1\u5DF2\u5B58\u5728
user.login.error=\u7528\u6237\u540D\u6216\u5BC6\u7801\u9519\u8BEF

# \u7CFB\u7EDF\u5F02\u5E38\u6D88\u606F
system.optimistic.lock.error=\u6570\u636E\u5DF2\u88AB\u5176\u4ED6\u7528\u6237\u4FEE\u6539\uFF0C\u8BF7\u5237\u65B0\u540E\u91CD\u8BD5
system.pessimistic.lock.error=\u6570\u636E\u6B63\u88AB\u5176\u4ED6\u7528\u6237\u64CD\u4F5C\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5
system.concurrent.update.error=\u5E76\u53D1\u66F4\u65B0\u51B2\u7A81\uFF0C\u8BF7\u91CD\u8BD5
system.retry.exceeded.error=\u64CD\u4F5C\u91CD\u8BD5\u6B21\u6570\u8D85\u9650\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5

# Entity Not Found Messages
entity.not.found.id=\u627E\u4E0D\u5230ID\u4E3A{0}\u7684\u5B9E\u4F53
entity.not.found.message={0}
entity.not.found.name.id=\u627E\u4E0D\u5230ID\u4E3A{1}\u7684{0}

# \u4F9D\u8D56\u6CE8\u5165\u76F8\u5173
dependency.injection.service.not.found=\u627E\u4E0D\u5230\u5B9E\u4F53 {0} \u5BF9\u5E94\u7684\u670D\u52A1 (\u5C1D\u8BD5\u8FC7\u7684bean\u540D\u79F0: {1})
dependency.injection.repository.not.found=\u627E\u4E0D\u5230\u5B9E\u4F53 {0} \u5BF9\u5E94\u7684Repository: {1}
dependency.injection.converter.not.found=\u627E\u4E0D\u5230\u5B9E\u4F53 {0} \u5BF9\u5E94\u7684Converter: {1}
dependency.injection.entitypath.failed=\u521D\u59CB\u5316\u5B9E\u4F53 {0} \u7684EntityPath\u5931\u8D25: {1}

# \u89D2\u8272\u76F8\u5173\u9519\u8BEF\u6D88\u606F
role.not.found=\u89D2\u8272\u4E0D\u5B58\u5728
role.code.exists=\u89D2\u8272\u7F16\u7801\u5DF2\u5B58\u5728
role.name.exists=\u89D2\u8272\u540D\u79F0\u5DF2\u5B58\u5728
role.in.use=\u89D2\u8272\u6B63\u5728\u4F7F\u7528\u4E2D\uFF0C\u65E0\u6CD5\u5220\u9664
role.admin.cannot.delete=\u4E0D\u80FD\u5220\u9664\u8D85\u7EA7\u7BA1\u7406\u5458\u89D2\u8272
role.admin.cannot.update=\u4E0D\u80FD\u4FEE\u6539\u8D85\u7EA7\u7BA1\u7406\u5458\u89D2\u8272
role.tag.name.exists=\u6807\u7B7E\u540D\u79F0\u5DF2\u5B58\u5728
role.tag.not.found=\u6807\u7B7E\u4E0D\u5B58\u5728
role.tag.in.use=\u6807\u7B7E\u6B63\u5728\u4F7F\u7528\u4E2D\uFF0C\u65E0\u6CD5\u5220\u9664

# 部门相关
department.not.found=部门不存在
department.code.exists=部门编码已存在
department.name.exists=部门名称已存在
department.parent.not.found=上级部门不存在
department.has.children=该部门下有子部门，无法删除

# Permission messages
permission.not.found=权限不存在
permission.code.exists=权限编码 {0} 已存在
permission.name.exists=权限名称 {0} 已存在
permission.already.assigned=该权限已分配给角色
permission.assign.failed=权限分配失败

# 工作流相关错误消息
workflow.definition.not.found=工作流定义不存在
workflow.definition.code.exists=工作流定义编码"{0}"已存在
workflow.definition.name.exists=工作流定义名称"{0}"已存
workflow.definition.invalid.content=工作流定义内容无效：{0}
workflow.definition.not.published=工作流定义未发布
workflow.definition.already.published=工作流定义已发布
workflow.definition.cannot.delete=工作流定义已被使用，无法删除

workflow.instance.not.found=工作流实例不存在
workflow.instance.already.started=工作流实例已启动
workflow.instance.already.ended=工作流实例已结束
workflow.instance.already.suspended=工作流实例已挂起
workflow.instance.not.suspended=工作流实例未挂起
workflow.instance.cannot.cancel=工作流实例无法取消
workflow.instance.cannot.suspend=工作流实例无法挂起
workflow.instance.cannot.resume=工作流实例无法恢复

workflow.node.not.found=工作流节点不存在
workflow.node.type.not.supported=不支持的节点类型：{0}
workflow.node.config.invalid=节点配置无效：{0}
workflow.node.execution.failed=节点执行失败：{0}
workflow.node.timeout=节点执行超时
workflow.node.approval.rejected=节点审批被拒绝
workflow.node.approval.canceled=节点审批已取消

workflow.variable.not.found=工作流变量不存在
workflow.variable.required=工作流变量"{0}"为必填项
workflow.variable.invalid=工作流变量"{0}"的值无效

workflow.permission.denied=无权操作此工作流
workflow.operation.not.allowed=当前状态不允许此操作
workflow.concurrent.operation=工作流正在执行其他操作，请稍后重试

# 工作流相关错误消息
workflow.not.found=工作流定义不存在
workflow.code.exists=工作流编码已存在
workflow.name.exists=工作流名称已存在
workflow.disabled=工作流已禁用
workflow.not.published=工作流未发布
workflow.already.published=工作流已发布
workflow.already.disabled=工作流已禁用
workflow.not.draft=工作流不是草稿状态
workflow.not.disabled=工作流不是禁用状态
workflow.invalid.status=工作流状态无效
workflow.config.invalid=工作流配置无效
workflow.transition.invalid=工作流流转规则无效
workflow.condition.invalid=工作流条件配置无效

workflow.instance.not.found=工作流实例不存在
workflow.instance.already.completed=工作流实例已完成
workflow.instance.already.canceled=工作流实例已取消
workflow.instance.not.running=工作流实例未运行
workflow.instance.not.paused=工作流实例未暂停

workflow.node.not.found=工作流节点不存在
workflow.node.type.not.supported=不支持的节点类型
workflow.node.config.invalid=节点配置无效
workflow.node.execution.failed=节点执行失败
workflow.node.timeout=节点执行超时
workflow.node.config.error=节点配置错误

workflow.execution.error=工作流执行错误
workflow.variable.not.found=工作流变量不存在
workflow.variable.type.invalid=工作流变量类型无效
workflow.permission.denied=无权限操作工作流
workflow.approval.required=需要审批
workflow.approval.rejected=审批被拒绝
workflow.dependency.not.satisfied=工作流依赖条件未满足
workflow.circular.dependency=工作流存在循环依赖
workflow.schedule.invalid=工作流调度配置无效
workflow.concurrent.limit.exceeded=工作流并发限制超出
workflow.config.error=工作流配置错误：{0}

# 通知渠道相关错误码 (5000-5099)
notification.channel.not.found=通知渠道不存在
notification.channel.name.exists=通知渠道名称已存在
notification.channel.disabled=通知渠道已禁用
notification.channel.connection.failed=通知渠道连接测试失败
notification.send.failed=消息发送失败：{0}