# ====================================================================
# 国际化资源文件 - 简体中文 (UTF-8)
# ====================================================================

# --------------------------------------------------------------------------------------
# 通用响应 (Common Response)
# --------------------------------------------------------------------------------------
response.success=操作成功
response.error=系统错误
response.invalid.param=无效的参数
response.unauthorized=未授权
response.unauthorized.full=访问此资源需要完全身份验证
response.forbidden=禁止访问
response.not.found=资源未找到
response.conflict=资源冲突

# --------------------------------------------------------------------------------------
# 系统异常 (System Exceptions) - 1xxx
# --------------------------------------------------------------------------------------
system.optimistic.lock.error=数据已被其他用户修改，请刷新后重试
system.pessimistic.lock.error=数据正被其他用户操作，请稍后重试
system.concurrent.update.error=并发更新冲突，请重试
system.retry.exceeded.error=操作重试次数超限，请稍后再试

# --------------------------------------------------------------------------------------
# 依赖注入相关 (Dependency Injection) - 1100-1199
# --------------------------------------------------------------------------------------
dependency.injection.service.not.found=找不到实体 {0} 对应的服务 (尝试过的bean名称: {1})
dependency.injection.repository.not.found=找不到实体 {0} 对应的Repository: {1}
dependency.injection.converter.not.found=找不到实体 {0} 对应的Converter: {1}
dependency.injection.entitypath.failed=获取实体 {0} 的QClass失败

# --------------------------------------------------------------------------------------
# SSH文件操作相关 (SSH File Operations) - 1200-1299
# --------------------------------------------------------------------------------------
ssh.file.connection.failed=SSH连接失败，请检查服务器地址、端口和网络连接
ssh.file.authentication.failed=SSH认证失败，请检查用户名和密码/密钥是否正确
ssh.file.not.found=文件不存在
ssh.file.directory.not.found=目录不存在
ssh.file.permission.denied=权限不足
ssh.file.disk.full=磁盘空间不足
ssh.file.invalid.path=路径无效
ssh.file.already.exists=文件已存在
ssh.file.too.large=文件过大
ssh.file.unsupported.type=不支持的文件类型
ssh.file.io.error=文件IO错误
ssh.file.timeout=操作超时
ssh.file.operation.failed=文件操作失败
ssh.file.upload.size.exceeded=文件过大，最大允许上传 {0}
ssh.file.upload.cancelled=用户取消上传

# --------------------------------------------------------------------------------------
# 业务异常 (Business Exceptions) - 2xxx
# --------------------------------------------------------------------------------------

# 通用业务错误 (2000-2099)
tenant.not.found=租户不存在
data.not.found=找不到ID为{0}的{1}
entity.not.found.id=找不到ID为{0}的实体
entity.not.found.message={0}
entity.not.found.name.id=找不到ID为{1}的{0}

# 用户相关 (2000-2099)
user.not.found=用户不存在
user.username.exists=用户名{0}已存在
user.email.exists=邮箱{0}已存在
user.login.error=用户名或密码错误

# 角色相关 (2100-2199)
role.not.found=角色不存在
role.code.exists=角色编码{0}已存在
role.name.exists=角色名称{0}已存在
role.in.use=角色正在使用中，无法删除
role.admin.cannot.delete=不能删除超级管理员角色
role.admin.cannot.update=不能修改超级管理员角色
role.tag.name.exists=标签名称已存在
role.tag.not.found=标签不存在
role.tag.in.use=标签正在使用中，无法删除

# JWT相关 (2200-2299)
jwt.token.expired=登录已过期，请重新登录
jwt.token.invalid=无效的登录凭证
jwt.token.missing=未提供登录凭证

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

# 权限相关 (2400-2499)
permission.not.found=权限不存在
permission.code.exists=权限编码{0}已存在
permission.name.exists=权限名称{0}已存在
permission.already.assigned=该权限已分配给角色
permission.assign.failed=权限分配失败

# 第三方系统相关 (2500-2599)
external.system.name.exists=系统名称{0}已存在
external.system.type.url.exists=系统类型和URL组合{0}已存在
external.system.disabled=系统已禁用
external.system.sync.failed=系统数据同步失败
external.system.type.not.supported=不支持的系统类型
external.system.git.auth.type.error=Git系统只支持Token认证
external.system.git.token.required=Git系统必须提供Token

# 仓库相关 (2600-2699)
repository.group.not.found=仓库组不存在
repository.group.name.exists=仓库组名称{0}已存在
repository.group.path.exists=仓库组路径{0}已存在
repository.projectGroup.not.found=仓库项目不存在
repository.projectGroup.name.exists=仓库项目名称{0}已存在
repository.projectGroup.path.exists=仓库项目路径{0}已存在
repository.branch.not.found=分支不存在
repository.branch.name.exists=分支名称{0}已存在
repository.sync.in.progress=仓库同步正在进行中
repository.sync.failed=仓库同步失败：{0}
repository.sync.history.not.found=同步历史记录不存在

# 工作流定义相关 (2700-2749)
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.not.draft=只有草稿状态的工作流定义可以发布
workflow.not.published=工作流未发布，请联系部署管理员进行工作流调整
workflow.not.disabled=只有已禁用状态的工作流定义可以启用
workflow.disabled=工作流已禁用
workflow.invalid.status=工作流状态无效

# 工作流实例相关 (2750-2769)
workflow.instance.not.found=工作流实例不存在
workflow.instance.cannot.start=工作流实例无法启动
workflow.instance.cannot.cancel=工作流实例无法取消
workflow.instance.cannot.pause=工作流实例无法暂停
workflow.instance.cannot.resume=工作流实例无法恢复
workflow.instance.cannot.retry=工作流实例无法重试
workflow.instance.already.completed=工作流实例已完成
workflow.instance.already.canceled=工作流实例已取消
workflow.instance.not.running=工作流实例未运行
workflow.instance.not.paused=工作流实例不是暂停状态

# 工作流节点相关 (2770-2789)
workflow.node.not.found=工作流节点不存在
workflow.node.type.not.supported=不支持的节点类型
workflow.node.type.not.found=节点类型不存在或已删除
workflow.node.type.disabled=节点类型已禁用，无法使用
workflow.node.type.code.exists=节点类型编码已存在
workflow.node.type.invalid.category=无效的节点类型分类
workflow.node.type.invalid.executor=无效的执行器配置
workflow.node.config.invalid=节点配置无效
workflow.node.config.empty=节点配置不能为空
workflow.node.config.error=节点配置错误
workflow.node.execution.failed=节点执行失败
workflow.node.executor.not.found=未找到工作流节点执行器: {0}
workflow.node.timeout=节点执行超时
node.instance.not.found=节点实例不存在
node.instance.cannot.retry=节点实例无法重试
node.instance.cannot.skip=节点实例无法跳过
node.executor.not.found=节点执行器不存在

# 工作流配置相关 (2790-2799)
workflow.config.invalid=工作流配置无效
workflow.config.error=工作流配置错误: {0}
workflow.transition.invalid=工作流流转配置无效
workflow.transition.config.empty=流转配置不能为空
workflow.condition.invalid=工作流条件配置无效
workflow.form.config.empty=表单配置不能为空
workflow.graph.config.empty=图形配置不能为空
workflow.variable.not.found=工作流变量不存在
workflow.variable.type.invalid=工作流变量类型无效
workflow.variable.serialize.error=工作流变量序列化失败: {0}
workflow.variable.deserialize.error=工作流变量反序列化失败: {0}
workflow.permission.denied=无权限操作工作流
workflow.approval.required=需要审批
workflow.approval.rejected=审批被拒绝
workflow.dependency.not.satisfied=工作流依赖条件未满足
workflow.circular.dependency=工作流存在循环依赖
workflow.schedule.invalid=工作流调度配置无效
workflow.concurrent.limit.exceeded=工作流并发限制超出
workflow.execution.error=工作流执行错误

# 表单管理相关 (2800-2899)
form.definition.not.found=表单定义不存在或已删除
form.data.not.found=表单数据不存在或已删除
form.definition.key.exists=表单标识{0}已存在，请使用不同的标识
form.definition.key.version.exists=表单标识{0}的版本{1}已存在

# 部署相关错误码 (3000-3099)
deploy.config.not.found=部署配置不存在
deploy.approval.config.missing=未配置审批策略，无法执行部署
deploy.approver.not.configured=该环境需要审批，但未配置审批人
deploy.notification.config.missing=未配置通知渠道，无法发送部署通知
deploy.jenkins.config.missing=未配置Jenkins构建任务，无法执行部署
deploy.workflow.not.configured=应用未配置部署工作流
deploy.environment.config.missing=团队环境配置不存在：teamId={0}, environmentId={1}
deploy.application.not.configured=应用未配置到此环境
deploy.already.running=该应用正在部署中，请等待当前部署完成
deploy.permission.denied=无权限在此环境部署应用
deploy.environment.locked=环境已锁定，禁止部署
deploy.approval.required=该环境需要审批才能部署
deploy.record.not.found=部署记录不存在

# 通知模板相关 (3100-3119)
notification.template.not.found=通知模板不存在或已删除
notification.template.code.exists=模板编码{0}已存在
notification.template.disabled=通知模板已禁用
notification.template.render.error=模板渲染失败：{0}

# 通知渠道相关 (3120-3139)
notification.channel.not.found=通知渠道不存在或已删除
notification.channel.disabled=通知渠道已禁用
notification.channel.config.error=通知渠道配置错误：{0}
notification.send.failed=通知发送失败：{0}

# Jenkins集成相关 (3200-3219)
jenkins.server.not.found=Jenkins服务器不存在：{0}
jenkins.connection.failed=无法连接到Jenkins服务器：{0}
jenkins.auth.failed=Jenkins认证失败，请检查凭据配置：{0}
jenkins.job.not.found=Jenkins Job不存在：{0}
jenkins.server.error=Jenkins服务器错误：HTTP {0}
jenkins.queue.timeout=Jenkins构建队列超时，等待时间超过{0}秒
jenkins.build.timeout=Jenkins构建超时：job={0}, buildNumber={1}, 超时时间{2}分钟
jenkins.api.error=Jenkins API调用失败：HTTP {0}, {1}
jenkins.response.parse.error=Jenkins响应解析失败：{0}

# 团队应用相关 (2920-2939)
team.application.already.exists=该应用已配置到此环境
team.application.deploy.job.exists=该环境下已有其他应用使用此 Jenkins Job，请检查配置
