{ "title": "管理", "subtitle": "服务器与内容管理", "servers": "服务器", "images": "镜像", "images_title": "镜像", "images_subtitle": "平台镜像白名单。仅已启用的镜像可用于创建服务器。您可以添加外部镜像,或将不需要的镜像从白名单中删除。", "add_image_title": "添加外部镜像", "add_image_btn": "添加镜像", "image_ref_placeholder": "例如: registry.felis.svc:5000/image:tag", "delete_image_tooltip": "删除白名单镜像", "image_source_built": "平台构建", "image_source_external": "外部", "image_source_recommended": "推荐", "delete_image_title": "从白名单移除此镜像?", "delete_image_desc": "移除后,新服务器将不能再选用", "delete_image_confirm": "移除镜像", "cancel_build_title": "停止此构建?", "cancel_build_desc": "构建会立即停止,不会推送任何镜像:", "cancel_build_keep": "继续构建", "cancel_build_confirm": "停止构建", "delete_btn": "删除", "builds_title": "构建流水线", "builds_subtitle": "平台镜像构建任务历史及触发终端。构建 Pod 运行在隔离沙箱中,完成构建后将自动运行安全扫描。", "trigger_build_title": "触发新镜像构建", "trigger_build_btn": "开始构建", "dockerfile_label": "Dockerfile 内容", "dockerfile_placeholder": "FROM library/postgres:15\nRUN echo 'setup'", "dockerfile_audit_hint": "仅存档到构建记录用于审计。实际执行的是构建上下文压缩包内的 `Dockerfile`——此处内容不会被执行。", "context_ref_label": "构建上下文引用", "context_ref_placeholder": "例如: minio/contexts/my-modpack.tar.gz", "download_context_btn": "下载上下文", "download_context_hint": "下载上传的构建上下文 (.tar.gz)——其中包含将被实际执行的 Dockerfile。", "context_sha256_label": "上下文 SHA-256", "context_sha256_hint": "审核通过后将固定此摘要。后续上传与该摘要不一致时,构建将拒绝执行。离线审核时请使用 sha256sum 校验下载文件。", "context_sha256_missing": "尚未上传构建上下文,或上传早于摘要记录,需要提交者重新上传。", "context_sha256_downloaded": "摘要与已下载文件一致,审核通过后将固定此内容。", "context_sha256_stale": "已下载版本({{digest}}…)已被新上传替换。请重新下载并审核。", "approve_needs_context": "没有可通过的上下文:提交者尚未上传或需要重新上传", "base_image_label": "基础镜像", "base_image_placeholder": "例如: library/postgres:15", "build_status_pending": "排队中", "build_status_building": "构建中", "build_status_succeeded": "成功", "build_status_failed": "失败", "build_status_cancelled": "已取消", "build_queued_hint": "并发构建数量已达上限([registry] max_concurrent_builds)。任务将在运行中的构建结束后自动开始。", "view_logs_btn": "扫描与日志", "cancel_build_btn": "取消", "no_builds_title": "暂无构建任务", "no_builds_hint": "可使用构建表单提交镜像构建任务。", "no_images_title": "无白名单镜像", "no_images_hint": "白名单为空——平台管理员需通过 CLI 添加镜像。", "enabled": "已启用", "disabled": "已禁用", "table_ref": "镜像名称", "table_source": "来源", "table_status": "状态", "table_action": "操作", "table_build_id": "构建 ID", "table_requester": "发起人", "table_created_at": "创建时间", "table_duration": "耗时", "build_duration_seconds": "{{s}}秒", "build_duration_minutes": "{{m}}分{{s}}秒", "filter_all": "全部", "filter_enabled": "已启用", "filter_disabled": "已禁用", "image_ref_label": "镜像引用", "submissions_title": "审核提交", "submissions_subtitle": "用户模组包上传的审核队列。通过审核的任务将自动启动 Kaniko 构建并运行 Trivy 安全扫描。", "table_submitted_by": "提交人", "table_display_name": "名称", "approve_btn": "通过", "reject_btn": "驳回", "delete_submission_btn": "删除提交", "delete_submission_confirm": "确认删除", "delete_submission_cancel": "取消", "reject_reason_label": "驳回原因", "reject_reason_placeholder": "请填写驳回原因(限 1000 字符)", "reject_dialog_title": "驳回申请", "reject_dialog_desc": "请提供驳回该模组包提交的详细原因,提交后该原因将展示给用户。", "reject_dialog_submit": "确定驳回", "status_pending_review": "待审核", "status_approved": "已通过", "status_rejected": "已驳回", "no_submissions_title": "暂无审核任务", "no_submissions_hint": "当前没有待审核或已审核的模组包提交。", "reviewer": "审核人", "reviewed_at": "审核时间", "reject_reason": "驳回理由", "updates_title": "维护与备份", "updates_subtitle": "查看数据库备份和组件版本,并设置维护窗口。在宿主机运行 `felis update` 检查目标版本;只有显式执行 `--apply` 才会更新。", "updates_window_advisory": "更新默认只允许在维护窗口内开始。宿主机会在备份前和安装前再次检查窗口;窗口外拒绝执行。临时维护需显式添加 `--now`,`--force` 不会跳过这些检查。", "updates_current_unset": "尚未设置维护窗口。请先设置窗口,或显式使用 `--apply --now` 开始临时维护。", "updates_start_label": "开始时间", "updates_end_label": "结束时间", "updates_set_title": "配置维护窗口", "updates_submit_btn": "保存维护窗口", "updates_clear_btn": "清除维护窗口", "updates_save_success": "维护窗口更新成功。", "updates_clear_success": "维护窗口已清除。", "updates_validation_both": "开始时间和结束时间必须同时设置,或同时清空。", "updates_validation_order": "结束时间必须在开始时间之后。", "updates_status_active": "当前生效中", "updates_status_pending": "已计划(未来)", "updates_status_expired": "已过期(过去)", "updates_status_unset": "未设置", "updates_timezone_hint": "时间以您的浏览器本地时区 ({{tz}}) 选择和显示。", "updates_stat_status": "系统状态", "updates_stat_start": "维护开始时间", "updates_stat_end": "维护结束时间", "updates_stat_timezone": "本地时区", "dbbackup_title": "控制面数据库备份", "dbbackup_subtitle": "控制面数据库存储用户、Passkey、服务器归属、配额、审计日志及世界存档索引。felis-db-backup.timer 每日执行备份,升级迁移前另行创建快照。", "dbbackup_status_ok": "正常", "dbbackup_status_stale": "已过期", "dbbackup_status_never": "从未备份", "dbbackup_status_incomplete": "不完整", "dbbackup_refresh": "刷新", "dbbackup_loading": "正在读取备份状态…", "dbbackup_field_when": "最近一次备份", "dbbackup_field_label": "类型", "dbbackup_field_size": "大小", "dbbackup_field_schema": "数据库版本", "dbbackup_field_file": "备份文件(主机路径)", "dbbackup_label_daily": "每日定时", "dbbackup_label_pre_migrate": "升级前快照", "dbbackup_label_pre_restore": "恢复前快照", "dbbackup_label_offsite": "异地复制快照", "dbbackup_label_manual": "手动", "dbbackup_never_title": "暂无数据库备份记录", "dbbackup_stale_title": "最近一次备份已超过 {{hours}} 小时", "dbbackup_daily_stale_title": "每日定时备份最近一次完成是{{when}},已超过 {{hours}} 小时", "dbbackup_daily_never_title": "每日定时任务尚未完成备份", "dbbackup_daily_fix_hint": "较新的备份由手动操作或其他任务生成,可用于恢复,但不代表每日定时任务正常。请在主机执行每日备份,并检查定时任务日志:", "dbbackup_servers_title": "最近一次备份缺少服务器定义", "dbbackup_servers_hint": "备份期间集群未响应,归档缺少服务器定义。恢复数据库无法重建服务器。请在集群恢复后重新执行完整备份:", "dbbackup_fix_hint": "缺少有效数据库备份时,主机故障可能导致账户、服务器归属及存档索引无法恢复。请在主机立即执行每日备份,并检查定时任务日志:", "dbbackup_copy": "复制命令", "dbbackup_offsite_note": "备份仅保存在当前主机。磁盘或主机故障可能导致备份与原始数据同时丢失,请定期复制备份至独立主机。恢复与灾备步骤见故障排查文档 §16。", "versions_title": "组件版本", "versions_subtitle": "felis-update-check.timer 每日比对本机组件版本与上游发行版本。Felis 不自动应用更新。", "versions_status_available_other": "{{count}} 个可用更新", "versions_status_current": "已是最新", "versions_status_stale": "检查已逾期", "versions_status_never": "从未检查", "versions_refresh": "刷新", "versions_loading": "正在读取最近一次版本检查…", "versions_checked": "{{when}}由 felis {{felis}} 检查", "versions_none": "本次检查没有跟踪任何组件。", "versions_col_component": "组件", "versions_col_installed": "已安装", "versions_col_latest": "更新版本", "versions_col_status": "状态", "versions_state_available": "有可用更新", "versions_state_current": "已是最新", "versions_state_unknown": "无法访问发行源", "versions_state_unreadable": "版本读取失败", "versions_state_pinned": "已固定", "versions_apply_hint": "在宿主机执行以下只读检查,确认更新目标、范围及对应的 `--apply` 命令,然后在维护窗口内执行:", "versions_never_title": "暂无版本检查记录", "versions_stale_title": "最近一次版本检查已超过 {{hours}} 小时", "versions_fix_hint": "当前显示的版本信息可能已过期。请在主机重新执行检查,并查看定时器日志以确认未执行原因:", "build_import_submission_label": "从已有的审核提交导入参数", "build_import_submission_placeholder": "选择一个用户提交...", "build_import_submission_none": "暂无可导入的提交", "build_import_submission_no_match": "没有匹配“{{query}}”的提交", "build_import_submission_unavailable": "提交列表不可用", "build_import_submission_failed": "提交列表读取失败:{{reason}}", "build_import_submission_more": "当前显示最新 {{shown}} 条,共 {{total}} 条。可通过搜索查询更早的提交。", "build_import_search_placeholder": "按名称、ID 或提交人搜索提交", "build_import_submission_hint": "选择提交将自动填充镜像引用、构建上下文引用和对应的 Dockerfile 审计头。", "build_import_submission_warning_title": "警告:该提交状态为「{{status}}」", "build_import_submission_warning_desc": "手动触发构建不会自动将该提交标记为已同意,也不会更新其关联的构建状态。仅适用于紧急调试或测试。", "_users_comment": "用户管理(仅管理员可见)。", "users_title": "用户管理", "users_subtitle": "管理平台用户账号、配额和会话。", "users_create_btn": "创建用户", "users_create_title": "创建新用户", "users_create_desc": "创建一个新的平台账号。账号无密码——用户通过游戏内 /link 绑定码登录,绑定后也可使用邮箱验证码 / Passkey 登录。", "users_create_username_placeholder": "例如: alice", "users_create_validation_username": "用户名为必填项。", "users_create_validation_username_taken": "该用户名已被使用。", "users_search_placeholder": "搜索用户名或邮箱...", "users_search_btn": "搜索", "users_filter_role_all": "全部角色", "users_filter_status_all": "全部状态", "users_filter_role": "按角色筛选", "users_filter_status": "按状态筛选", "users_status_active": "正常", "users_status_disabled": "已禁用", "users_role_admin": "管理员", "users_role_owner": "所有者", "users_role_user": "普通用户", "users_col_user": "用户", "users_col_role": "角色", "users_col_servers": "服务器数", "users_col_status": "状态", "users_col_created": "创建时间", "users_view_detail": "详情", "user_not_found_title": "用户不存在", "user_not_found_body": "账户不存在或已被删除。请返回用户列表重新查询。", "users_empty_title": "未找到用户", "users_empty_hint": "没有匹配当前筛选条件的用户。", "users_back_to_list": "返回用户列表", "users_edit_profile": "编辑资料", "users_field_username": "用户名", "users_field_email": "邮箱", "users_field_role": "角色", "users_role_locked_self": "不允许修改当前账户的角色。", "users_role_locked_owner": "Owner 角色不可修改。请使用主机应急控制台(sudo felis breakGlass)管理。", "users_save_btn": "保存更改", "users_save_ok": "更改保存成功。", "users_linked_accounts": "已关联的 Minecraft 账号", "users_no_linked": "尚未关联任何 Minecraft 账号。", "users_link_add": "关联账号", "users_link_source": "验证源", "users_link_source_mojang": "Mojang", "users_link_source_thirdparty": "第三方 Yggdrasil", "users_link_confirm": "关联", "users_unlink_tooltip": "解除此 Minecraft 账号关联", "users_unlink_dlg_title": "解除 Minecraft 关联", "users_unlink_dlg_desc": "确定解除此 Minecraft 账号的关联吗?用户将失去该 UUID 绑定的游戏内身份。", "users_unlink_btn": "解除关联", "users_quotas": "配额", "users_quota_servers": "最大服务器数", "users_quota_cpu": "最大 CPU(毫核)", "users_quota_memory": "最大内存(MiB)", "users_quota_storage": "最大存储(GiB)", "users_quota_unlimited": "无限制", "users_quota_hint": "留空表示不限制,0 表示不分配该项资源。认领所需资源超出配额时将被拒绝。降低配额仅限制后续认领,不影响已有服务器。", "users_sessions": "活跃会话", "users_no_sessions": "无活跃会话。", "users_session_expires": "过期时间", "users_sessions_revoke_all": "全部撤销", "users_session_revoke_device": "吊销 {{device}} 上的会话", "users_sessions_revoked": "所有会话已撤销。", "users_session_revoke_one_dlg_title": "撤销会话", "users_session_revoke_one_dlg_desc": "确定撤销此会话吗?用户将立即从该设备登出。", "users_session_revoke_all_dlg_title": "撤销所有会话", "users_session_revoke_all_dlg_desc": "确定撤销所有活跃会话吗?用户将从所有设备登出。", "users_session_revoke_confirm": "撤销", "users_danger_zone": "危险操作区", "users_protected_self": "不允许禁用或删除当前登录账户。", "users_protected_owner": "面板不允许禁用或删除 Owner 账户。请使用主机应急控制台(sudo felis breakGlass)管理。", "users_danger_disable": "禁用用户", "users_danger_disable_desc": "阻止此用户登录。所有活跃会话将被立即撤销。", "users_danger_disable_btn": "禁用用户", "users_danger_enable": "启用用户", "users_danger_enable_desc": "允许此用户重新登录。", "users_danger_enable_btn": "启用", "users_danger_disable_dlg_title": "禁用用户", "users_danger_disable_dlg_desc": "此用户将无法登录。所有活跃会话将被立即撤销。", "users_danger_enable_dlg_title": "启用用户", "users_danger_enable_dlg_desc": "此用户将可以重新登录。", "users_danger_delete_dlg_title": "删除用户", "users_danger_delete_dlg_desc": "此操作不可逆。该用户拥有的所有服务器将被释放,所有会话将被撤销,账号将被永久禁用。此操作无法通过面板撤销。", "users_danger_delete": "删除用户", "users_danger_delete_desc": "软删除此用户。其拥有的服务器将被释放,所有会话将被撤销,账号将被永久禁用。此操作无法通过面板撤销。", "users_danger_delete_btn": "删除用户", "users_danger_delete_yes": "确认永久删除", "users_danger_passkeys": "解绑通行密钥", "users_danger_passkeys_desc": "移除此账户的全部通行密钥,用于处理密钥丢失或泄露。邮箱验证码及游戏内审批等其他登录方式不受影响。", "users_danger_passkeys_btn": "解绑通行密钥", "users_danger_passkeys_dlg_title": "解绑通行密钥", "users_danger_passkeys_dlg_desc": "此账户的全部通行密钥将被永久移除。其他登录方式仍可使用;登录后可在账户页面重新注册密钥。", "users_danger_passkeys_yes": "确认解绑", "add_image_desc": "将外部 Docker 镜像引用录入白名单,供后续创建服务器使用。", "images_search_placeholder": "搜索镜像名称或来源...", "search_no_results": "无匹配结果", "search_no_results_hint": "尝试更换搜索词或筛选条件。", "submissions_search_placeholder": "搜索模组包名称或提交人...", "trigger_build_desc": "输入镜像构建参数,在隔离命名空间中启动 Kaniko 流水线任务。", "builds_search_placeholder": "搜索构建 ID、镜像引用或状态...", "builds_refresh_failed": "构建列表刷新失败:{{reason}}", "build_requested_by_you": "你", "scan_title": "安全扫描", "scan_blocked": "已拦截", "scan_passed": "已通过", "scan_loading": "正在读取安全扫描…", "scan_none": "此构建未留存安全扫描记录,可能在扫描前结束,或创建于扫描留存功能启用前。", "scan_load_failed": "读取安全扫描失败:{{reason}}", "scan_meta_other": "扫描于 {{when}} · {{count}} 个软件包", "scan_policy": "拦截级别 {{severities}};尚无修复版本的漏洞只列出", "scan_policy_unfixed": "拦截级别 {{severities}},尚无修复版本的漏洞同样拦截", "scan_counts_label": "按严重度统计的发现", "scan_blocking_count_other": "其中 {{count}} 项拦截镜像", "scan_clean": "Trivy 未在此镜像中检测到问题。", "scan_showing": "显示 {{total}} 项中的 {{shown}} 项,完整报告列出全部发现。", "scan_col_id": "编号", "scan_col_severity": "严重度", "scan_col_package": "软件包", "scan_col_version": "已装 → 修复版本", "scan_col_target": "所在位置", "scan_no_fix": "暂无修复", "scan_blocks": "拦截", "scan_policy_accepts_other": "{{count}} 个 ID 已作为已知风险接受", "scan_accepted": "已接受", "scan_accepted_title": "已列入 [registry] scan_accept 作为已知风险,不会拦截。", "scan_secret": "密钥:{{title}}", "scan_download_report": "Trivy 报告", "scan_download_sbom": "SBOM", "scan_not_kept": "构建未留存此文件,可能由于文件过大或生成步骤失败。", "scan_download_failed": "下载失败:{{reason}}", "platform_title": "平台设置", "platform_subtitle": "统一管理服务器启动与唤醒的全局策略。", "platform_reload": "重新读取", "platform_wake_title": "启动与唤醒策略", "platform_loading": "正在读取已保存的策略…", "platform_limit": "同时运行的服务器上限(0–10000)", "platform_limit_hint": "0 表示不限制。启动时计入已运行和已请求运行的服务器;系统服务始终可以启动。降低上限不会自动停止现有服务器。", "platform_cooldown": "唤醒冷却时间(0–3600 秒)", "platform_cooldown_hint": "同一服务器两次成功接受唤醒请求的最短间隔。0 表示关闭冷却。", "platform_scope": "运行上限统一用于面板启动、游戏内唤醒与计划任务。此上限用于启动准入,能否实际调度仍取决于节点可用内存。用户配额在“用户管理”中调整。", "platform_saved": "已保存并立即生效,无需重启。", "platform_unsaved": "有尚未保存的更改", "platform_live": "保存后会立即在所有 API 实例上生效。", "platform_discard": "放弃更改", "platform_save": "保存并生效" }