mirror of
https://github.com/Afilmory/afilmory
synced 2026-04-25 07:15:36 +00:00
- Added a new endpoint in SuperAdminTenantController to fetch tenant photos. - Introduced TenantDetailModal for displaying tenant details and associated photos. - Created TenantUsageCell component to visualize tenant usage metrics. - Updated localization files to include new keys for tenant photo management. - Enhanced SuperAdminTenantManager to support modal interactions for tenant details. Signed-off-by: Innei <tukon479@gmail.com>
776 lines
52 KiB
JSON
776 lines
52 KiB
JSON
{
|
||
"access-denied.default-reason": "您没有权限访问该页面",
|
||
"analytics.page.description": "追踪照片集合的统计与趋势。",
|
||
"analytics.page.title": "数据分析",
|
||
"analytics.sections.devices.description": "根据 EXIF 信息统计的热门拍摄设备。",
|
||
"analytics.sections.devices.empty": "暂无设备统计数据。",
|
||
"analytics.sections.devices.error": "无法加载设备数据,请稍后再试。",
|
||
"analytics.sections.devices.title": "热门设备",
|
||
"analytics.sections.storage.current": "本月新增",
|
||
"analytics.sections.storage.delta.compare": "{{delta}} 对比上月",
|
||
"analytics.sections.storage.delta.equal": "与上月持平",
|
||
"analytics.sections.storage.delta.first": "首次记录",
|
||
"analytics.sections.storage.description": "按存储提供方统计的容量占比。",
|
||
"analytics.sections.storage.empty": "暂无存储使用数据。",
|
||
"analytics.sections.storage.error": "无法加载存储数据,请稍后再试。",
|
||
"analytics.sections.storage.photos": "照片数量",
|
||
"analytics.sections.storage.provider-meta": "{{percent}}% · {{photoCount}} 张",
|
||
"analytics.sections.storage.title": "存储使用",
|
||
"analytics.sections.storage.total": "总占用",
|
||
"analytics.sections.tags.description": "最近上传中最常使用的标签。",
|
||
"analytics.sections.tags.empty": "暂无标签统计数据。",
|
||
"analytics.sections.tags.error": "无法加载标签数据,请稍后再试。",
|
||
"analytics.sections.tags.title": "热门标签",
|
||
"analytics.sections.upload.best": "表现最佳",
|
||
"analytics.sections.upload.compare-equal": "与上月持平",
|
||
"analytics.sections.upload.current": "本月上传",
|
||
"analytics.sections.upload.description": "近 12 个月的上传趋势。",
|
||
"analytics.sections.upload.empty": "暂无上传记录。",
|
||
"analytics.sections.upload.error": "无法加载上传趋势,请稍后再试。",
|
||
"analytics.sections.upload.first-record": "首次出现上传记录",
|
||
"analytics.sections.upload.growth-equal": "与上月持平",
|
||
"analytics.sections.upload.title": "上传趋势",
|
||
"analytics.sections.upload.tooltip": "{{month}} · {{value}} 张",
|
||
"analytics.sections.upload.total": "累计上传",
|
||
"analytics.units.photos": "{{value}} 张",
|
||
"app.name": "Afilmory 管理后台",
|
||
"auth.social.empty.description": "超级管理员尚未在系统设置中启用任何第三方登录方式,当前租户无法执行 OAuth 绑定。",
|
||
"auth.social.empty.title": "未配置可用的 OAuth Provider",
|
||
"auth.social.error.accounts": "无法查询绑定状态",
|
||
"auth.social.error.providers": "无法加载可用的 OAuth Provider",
|
||
"auth.social.provider.connect": "绑定 {{provider}}",
|
||
"auth.social.provider.connected": "已绑定 · {{time}}",
|
||
"auth.social.provider.connecting": "跳转中…",
|
||
"auth.social.provider.disconnect": "解除绑定",
|
||
"auth.social.provider.disconnecting": "解绑中…",
|
||
"auth.social.provider.last-warning": "需要至少保留一个已绑定的登录方式。",
|
||
"auth.social.provider.unconnected": "尚未绑定,点击下方按钮完成授权。",
|
||
"auth.social.section.description": "绑定后即可使用对应平台的账号快速登录后台,并同步基础资料。解除绑定不会删除原有后台账号。",
|
||
"auth.social.section.label": "登录方式",
|
||
"auth.social.section.title": "OAuth 账号绑定",
|
||
"auth.social.toast.connect-failure": "无法开启 {{provider}} 绑定",
|
||
"auth.social.toast.disconnect-failure": "解绑失败",
|
||
"auth.social.toast.disconnect-success": "已解除与 {{provider}} 的绑定",
|
||
"blocker.unsaved.before-unload": "您有未保存的更改,确定要离开吗?",
|
||
"blocker.unsaved.cancel": "留在此页",
|
||
"blocker.unsaved.confirm": "继续离开",
|
||
"blocker.unsaved.description": "离开当前页面会丢失未保存的更改,确定要继续吗?",
|
||
"blocker.unsaved.title": "您有尚未保存的变更",
|
||
"builder-settings.button.loading": "保存中…",
|
||
"builder-settings.button.save": "保存修改",
|
||
"builder-settings.error.loading": "无法加载构建器设置:{{reason}}",
|
||
"builder-settings.message.dirty": "您有尚未保存的更改",
|
||
"builder-settings.message.error": "保存失败:{{reason}}",
|
||
"builder-settings.message.idle": "所有设置已同步",
|
||
"builder-settings.message.saved": "保存成功,配置已更新",
|
||
"builder-settings.message.saving": "正在保存构建器设置…",
|
||
"builder-settings.message.unknown-error": "未知错误",
|
||
"common.retry-later": "请稍后再试",
|
||
"common.unknown": "未知",
|
||
"common.unknown-error": "未知错误",
|
||
"dashboard.overview.activity.empty": "暂无最近活动,上传照片后即可看到这里的动态。",
|
||
"dashboard.overview.activity.error": "无法获取活动数据,请稍后再试。",
|
||
"dashboard.overview.activity.id-label": "ID:",
|
||
"dashboard.overview.activity.no-preview": "暂无预览",
|
||
"dashboard.overview.activity.size-unknown": "大小未知",
|
||
"dashboard.overview.activity.subtitle": "展示最近 {{count}} 次上传和同步记录",
|
||
"dashboard.overview.activity.subtitle-empty": "还没有任何上传,快来添加第一张照片吧~",
|
||
"dashboard.overview.activity.taken-at": "拍摄时间 {{time}}",
|
||
"dashboard.overview.activity.uploaded-at": "上传于 {{time}}",
|
||
"dashboard.overview.page.description": "掌握图库运行状态与最近同步活动",
|
||
"dashboard.overview.page.title": "仪表盘",
|
||
"dashboard.overview.section.activity.title": "最近活动",
|
||
"dashboard.overview.stats.month.helper.equal": "与上月持平",
|
||
"dashboard.overview.stats.month.helper.first": "首次出现上传记录",
|
||
"dashboard.overview.stats.month.helper.less": "比上月少 {{difference}} 张",
|
||
"dashboard.overview.stats.month.helper.more": "比上月多 {{difference}} 张",
|
||
"dashboard.overview.stats.month.label": "本月新增",
|
||
"dashboard.overview.stats.storage.helper.empty": "暂无照片,存储占用为 0",
|
||
"dashboard.overview.stats.storage.helper.with-photos": "平均每张 {{average}}",
|
||
"dashboard.overview.stats.storage.label": "占用存储",
|
||
"dashboard.overview.stats.sync.helper": "待处理 {{pending}} | 冲突 {{conflicts}}",
|
||
"dashboard.overview.stats.sync.helper-empty": "暂无同步任务",
|
||
"dashboard.overview.stats.sync.label": "同步完成率",
|
||
"dashboard.overview.stats.total.helper": "{{value}} 张照片",
|
||
"dashboard.overview.stats.total.label": "照片总数",
|
||
"dashboard.overview.status.conflict": "需关注",
|
||
"dashboard.overview.status.pending": "处理中",
|
||
"dashboard.overview.status.synced": "已同步",
|
||
"dashboard.overview.time.unknown": "时间未知",
|
||
"data-management.delete.badge": "账户清除(不可逆)",
|
||
"data-management.delete.button": "永久删除账户",
|
||
"data-management.delete.description": "此操作会在数据库中彻底删除当前租户、照片记录、同步日志、权限成员等所有信息。执行后将登出所有成员并无法恢复,系统会强制进行三次确认以避免误操作。",
|
||
"data-management.delete.error.fallback": "删除账户失败,请稍后再试。",
|
||
"data-management.delete.error.title": "操作失败",
|
||
"data-management.delete.loading": "正在销毁…",
|
||
"data-management.delete.note": "如需在未来重新使用本服务,需要重新注册新的租户并重新上传所有资产。该操作不会删除对象存储中的原始文件,但会移除与之关联的所有数据库记录。",
|
||
"data-management.delete.step1.cancel": "取消",
|
||
"data-management.delete.step1.confirm": "继续下一步",
|
||
"data-management.delete.step1.description": "删除后会立即清空当前租户下的所有数据并登出所有成员。此过程包含 3 次确认以确保安全。",
|
||
"data-management.delete.step1.title": "删除账户(步骤 1/3)",
|
||
"data-management.delete.step2.cancel": "取消",
|
||
"data-management.delete.step2.confirm": "我已知晓风险",
|
||
"data-management.delete.step2.description": "将彻底清除当前租户的照片、设置、同步记录以及所有成员权限,且无法撤销。",
|
||
"data-management.delete.step2.title": "二次确认:删除整个账户",
|
||
"data-management.delete.step3.cancel": "返回",
|
||
"data-management.delete.step3.confirm": "永久删除",
|
||
"data-management.delete.step3.description": "请输入 DELETE 以确认。本操作会立即注销所有成员并删除不可恢复的数据。",
|
||
"data-management.delete.step3.error.description": "请输入 DELETE 以继续。",
|
||
"data-management.delete.step3.error.title": "确认失败",
|
||
"data-management.delete.step3.placeholder": "DELETE",
|
||
"data-management.delete.step3.title": "最终确认:永久删除账户",
|
||
"data-management.delete.success.description": "已清理当前租户下的全部数据,并登出所有成员。",
|
||
"data-management.delete.success.title": "账户已删除",
|
||
"data-management.delete.title": "删除当前租户与所有数据",
|
||
"data-management.summary.badge": "当前数据概况",
|
||
"data-management.summary.description": "以下统计来自数据库记录,不含对象存储中的原始文件。",
|
||
"data-management.summary.error": "无法加载数据统计,请稍后再试。",
|
||
"data-management.summary.stats.conflicts.chip": "需处理",
|
||
"data-management.summary.stats.conflicts.label": "冲突",
|
||
"data-management.summary.stats.pending.chip": "排队中",
|
||
"data-management.summary.stats.pending.label": "待同步",
|
||
"data-management.summary.stats.synced.chip": "正常",
|
||
"data-management.summary.stats.synced.label": "已同步",
|
||
"data-management.summary.stats.total.chip": "全部",
|
||
"data-management.summary.stats.total.label": "总记录",
|
||
"data-management.summary.title": "照片数据表状态",
|
||
"data-management.truncate.badge": "危险操作",
|
||
"data-management.truncate.button": "清空数据库记录",
|
||
"data-management.truncate.description": "删除数据库中的所有照片记录,仅保留对象存储文件。通常用于处理数据不一致、重新同步或迁移场景。",
|
||
"data-management.truncate.error.fallback": "无法清空数据库记录,请稍后再试。",
|
||
"data-management.truncate.error.title": "清理失败",
|
||
"data-management.truncate.loading": "清理中…",
|
||
"data-management.truncate.note": "操作完成后请立即重新执行「照片同步」,以便使用存储中的原始文件重建数据库与 manifest。",
|
||
"data-management.truncate.prompt.cancel": "取消",
|
||
"data-management.truncate.prompt.confirm": "立即清空",
|
||
"data-management.truncate.prompt.description": "该操作会删除数据库中的所有照片记录,但会保留对象存储中的原始文件。清空后需要重新执行一次照片同步。",
|
||
"data-management.truncate.prompt.title": "确认清空照片数据表?",
|
||
"data-management.truncate.success.deleted": "已标记删除 {{count}} 条照片记录。",
|
||
"data-management.truncate.success.empty": "没有可清理的数据表记录。",
|
||
"data-management.truncate.success.title": "数据库记录已清空",
|
||
"data-management.truncate.title": "清空照片数据表",
|
||
"error.boundary.description": "我们遇到了一个意料之外的错误",
|
||
"error.boundary.go-back": "返回上一页",
|
||
"error.boundary.help": "如果问题持续出现,请反馈给我们的团队。",
|
||
"error.boundary.reload": "重新加载",
|
||
"error.boundary.report": "在 GitHub 上反馈",
|
||
"error.boundary.title": "系统出现问题",
|
||
"errors.request.generic": "请求失败,请稍后重试。",
|
||
"header.plan.badge": "订阅",
|
||
"nav.analytics": "数据分析",
|
||
"nav.library": "图库",
|
||
"nav.overview": "概览",
|
||
"nav.photos": "照片",
|
||
"nav.settings": "设置",
|
||
"nav.users": "成员",
|
||
"no-access.back-to-login": "返回登录",
|
||
"no-access.description": "你当前的账号没有访问该功能所需的权限,请联系工作区管理员,或切换到拥有权限的账号后重试。",
|
||
"no-access.request-path": "请求路径:",
|
||
"no-access.retry": "重新尝试",
|
||
"no-access.title.forbidden": "权限不足",
|
||
"no-access.title.unavailable": "无法访问",
|
||
"photos.actions.conflict": "冲突",
|
||
"photos.actions.delete": "删除",
|
||
"photos.actions.error": "错误",
|
||
"photos.actions.insert": "新增",
|
||
"photos.actions.noop": "跳过",
|
||
"photos.actions.update": "更新",
|
||
"photos.conflict.generic": "冲突",
|
||
"photos.conflict.id.description": "同一个照片 ID 检测到多个对象,请选择保留的版本。",
|
||
"photos.conflict.id.label": "照片 ID 冲突",
|
||
"photos.conflict.metadata.description": "存储对象与数据库记录的元数据不一致,需要确认以哪个为准。",
|
||
"photos.conflict.metadata.label": "元数据不一致",
|
||
"photos.conflict.missing.description": "数据库存在记录,但对应的存储对象已无法访问。",
|
||
"photos.conflict.missing.label": "存储缺失",
|
||
"photos.library.actions.all-selected": "已全选",
|
||
"photos.library.actions.clear-selection": "清除选择",
|
||
"photos.library.actions.delete": "删除",
|
||
"photos.library.actions.edit-tags": "编辑标签",
|
||
"photos.library.actions.select-all": "全选",
|
||
"photos.library.actions.selected-count": "已选 {{count}} 项",
|
||
"photos.library.actions.upload": "上传文件",
|
||
"photos.library.actions.upload-short": "上传",
|
||
"photos.library.card.delete": "删除素材",
|
||
"photos.library.card.device-unknown": "未知设备",
|
||
"photos.library.card.edit-tags": "编辑标签",
|
||
"photos.library.card.no-preview": "暂无预览",
|
||
"photos.library.card.select": "选择",
|
||
"photos.library.card.selected": "已选择",
|
||
"photos.library.card.size-unknown": "大小未知",
|
||
"photos.library.card.view-exif": "查看 EXIF",
|
||
"photos.library.delete.cancel": "取消",
|
||
"photos.library.delete.confirm": "删除",
|
||
"photos.library.delete.description": "此操作无法撤销。要继续删除「{{name}}」吗?勾选下方选项可同时删除远程存储文件。",
|
||
"photos.library.delete.option.description": "勾选后会删除远程原件与缩略图。",
|
||
"photos.library.delete.option.title": "同时删除存储文件",
|
||
"photos.library.delete.title": "确定要删除该素材?",
|
||
"photos.library.empty.description": "使用上传按钮将照片添加到图库。",
|
||
"photos.library.empty.title": "还没有照片",
|
||
"photos.library.exif.empty": "该素材没有可用的 EXIF 数据。",
|
||
"photos.library.exif.file": "文件:{{value}}",
|
||
"photos.library.exif.rows.altitude": "海拔",
|
||
"photos.library.exif.rows.altitude-below": "{{value}} 米(低于海平面)",
|
||
"photos.library.exif.rows.altitude-value": "{{value}} 米",
|
||
"photos.library.exif.rows.aperture": "光圈",
|
||
"photos.library.exif.rows.aspect-ratio": "纵横比",
|
||
"photos.library.exif.rows.author": "作者",
|
||
"photos.library.exif.rows.brightness": "亮度值",
|
||
"photos.library.exif.rows.captured-at": "拍摄时间",
|
||
"photos.library.exif.rows.color-space": "色彩空间",
|
||
"photos.library.exif.rows.copyright": "版权",
|
||
"photos.library.exif.rows.device": "相机",
|
||
"photos.library.exif.rows.eq-focal-length": "等效 35mm 焦距",
|
||
"photos.library.exif.rows.exposure-compensation": "曝光补偿",
|
||
"photos.library.exif.rows.exposure-mode": "曝光模式",
|
||
"photos.library.exif.rows.exposure-program": "曝光程序",
|
||
"photos.library.exif.rows.file-format": "格式",
|
||
"photos.library.exif.rows.file-size": "文件大小",
|
||
"photos.library.exif.rows.flash": "闪光灯",
|
||
"photos.library.exif.rows.focal-length": "焦距",
|
||
"photos.library.exif.rows.iso": "ISO 感光度",
|
||
"photos.library.exif.rows.latitude": "纬度",
|
||
"photos.library.exif.rows.lens": "镜头",
|
||
"photos.library.exif.rows.light-source": "光源",
|
||
"photos.library.exif.rows.longitude": "经度",
|
||
"photos.library.exif.rows.megapixels": "像素数",
|
||
"photos.library.exif.rows.metering-mode": "测光模式",
|
||
"photos.library.exif.rows.photo-id": "照片 ID",
|
||
"photos.library.exif.rows.rating": "评级",
|
||
"photos.library.exif.rows.resolution": "分辨率",
|
||
"photos.library.exif.rows.scale-factor": "35mm 换算系数",
|
||
"photos.library.exif.rows.scene-type": "场景类型",
|
||
"photos.library.exif.rows.sensor": "传感器",
|
||
"photos.library.exif.rows.shutter": "快门速度",
|
||
"photos.library.exif.rows.software": "软件",
|
||
"photos.library.exif.rows.time-offset": "时差",
|
||
"photos.library.exif.rows.timezone": "时区",
|
||
"photos.library.exif.rows.timezone-source": "时区来源",
|
||
"photos.library.exif.rows.title": "标题",
|
||
"photos.library.exif.rows.white-balance": "白平衡",
|
||
"photos.library.exif.sections.basic": "基础信息",
|
||
"photos.library.exif.sections.capture": "拍摄参数",
|
||
"photos.library.exif.sections.fuji": "富士配方",
|
||
"photos.library.exif.sections.location": "位置信息",
|
||
"photos.library.exif.sections.metadata": "元数据",
|
||
"photos.library.sort.by-captured": "按拍摄时间排序",
|
||
"photos.library.sort.by-uploaded": "按上传时间排序",
|
||
"photos.library.sort.order-asc": "最早在前",
|
||
"photos.library.sort.order-desc": "最新在前",
|
||
"photos.library.tags.modal.asset-count": "{{count}} 个素材",
|
||
"photos.library.tags.modal.cancel": "取消",
|
||
"photos.library.tags.modal.description.multiple": "所有选中素材将使用相同标签。标签也会影响远程存储路径。",
|
||
"photos.library.tags.modal.description.single": "标签决定远程存储路径,调整标签会同时移动原始文件与 Live Photo 视频。",
|
||
"photos.library.tags.modal.input": "输入标签并按 Enter,或从推荐标签中选择",
|
||
"photos.library.tags.modal.no-selection": "未选中任何素材",
|
||
"photos.library.tags.modal.path.hint": "根据标签顺序生成",
|
||
"photos.library.tags.modal.path.preview": "新的存储路径预览",
|
||
"photos.library.tags.modal.path.sample": "示例路径(首个条目)",
|
||
"photos.library.tags.modal.save": "保存",
|
||
"photos.library.tags.modal.saving": "保存中…",
|
||
"photos.library.tags.modal.title": "为「{{name}}」编辑标签",
|
||
"photos.library.tags.toast.error": "无法更新标签",
|
||
"photos.library.tags.toast.error-description": "请稍后再试。",
|
||
"photos.library.tags.toast.multi-success": "已更新 {{count}} 个素材的标签",
|
||
"photos.library.tags.toast.single-success": "标签已更新",
|
||
"photos.library.tags.toast.success-description": "已根据新标签更新存储路径。",
|
||
"photos.page.description": "在此同步和管理服务器中的照片资产。",
|
||
"photos.page.title": "照片库",
|
||
"photos.sync.actions.button.apply": "同步照片",
|
||
"photos.sync.actions.button.preview": "预览同步",
|
||
"photos.sync.actions.toast.apply-success": "照片同步完成",
|
||
"photos.sync.actions.toast.error-description": "照片同步失败,请稍后再试。",
|
||
"photos.sync.actions.toast.error-title": "同步失败",
|
||
"photos.sync.actions.toast.preview-success": "预览同步完成",
|
||
"photos.sync.actions.toast.success-description": "新增 {{inserted}} · 更新 {{updated}} · 冲突 {{conflicts}} · 错误 {{errors}}",
|
||
"photos.sync.conflicts.actions.all-database": "全部采用数据库版本",
|
||
"photos.sync.conflicts.actions.all-storage": "全部采用存储版本",
|
||
"photos.sync.conflicts.actions.clear-selection": "清除选择",
|
||
"photos.sync.conflicts.actions.hide-details": "收起详情",
|
||
"photos.sync.conflicts.actions.open-storage": "打开",
|
||
"photos.sync.conflicts.actions.prefer-database": "保留数据库",
|
||
"photos.sync.conflicts.actions.prefer-storage": "保留存储",
|
||
"photos.sync.conflicts.actions.selected-database": "将数据库版本应用到所选项",
|
||
"photos.sync.conflicts.actions.selected-storage": "将存储版本应用到所选项",
|
||
"photos.sync.conflicts.actions.view-details": "查看详情",
|
||
"photos.sync.conflicts.actions.view-original": "查看原图",
|
||
"photos.sync.conflicts.description": "这些冲突需要人工确认,可多选条目加速处理。",
|
||
"photos.sync.conflicts.info.conflict-key": "冲突 Key:",
|
||
"photos.sync.conflicts.info.first-detected": "发现时间:{{time}}",
|
||
"photos.sync.conflicts.info.last-updated": "最近更新:{{time}}",
|
||
"photos.sync.conflicts.info.photo-id-fallback": "缺少 Photo ID",
|
||
"photos.sync.conflicts.info.storage-key": "存储 Key:",
|
||
"photos.sync.conflicts.preview.common.dimensions": "尺寸:",
|
||
"photos.sync.conflicts.preview.common.id": "ID:",
|
||
"photos.sync.conflicts.preview.common.size": "大小:",
|
||
"photos.sync.conflicts.preview.common.updated-at": "更新时间:",
|
||
"photos.sync.conflicts.preview.database.empty": "无可用数据库记录",
|
||
"photos.sync.conflicts.preview.database.title": "数据库记录",
|
||
"photos.sync.conflicts.preview.storage.key": "Key:",
|
||
"photos.sync.conflicts.preview.storage.title": "存储对象",
|
||
"photos.sync.conflicts.prompts.bulk": "是否处理 {{scope}} 并 {{strategy}}?",
|
||
"photos.sync.conflicts.prompts.cancel": "取消",
|
||
"photos.sync.conflicts.prompts.confirm": "确认",
|
||
"photos.sync.conflicts.prompts.scope-all": "全部待处理冲突",
|
||
"photos.sync.conflicts.prompts.scope-selected": "所选 {{count}} 个冲突",
|
||
"photos.sync.conflicts.prompts.single": "是否处理冲突 {{identifier}} 并 {{strategy}}?",
|
||
"photos.sync.conflicts.prompts.title": "确认操作",
|
||
"photos.sync.conflicts.selection.clear": "清除选择",
|
||
"photos.sync.conflicts.selection.none": "未选择任何项",
|
||
"photos.sync.conflicts.selection.selected": "已选 {{count}} 项",
|
||
"photos.sync.conflicts.strategy.database": "保留数据库版本",
|
||
"photos.sync.conflicts.strategy.storage": "保留存储版本",
|
||
"photos.sync.conflicts.title": "待处理冲突",
|
||
"photos.sync.conflicts.toast.no-original": "此记录没有原始资源预览。",
|
||
"photos.sync.conflicts.toast.none": "当前没有需要处理的冲突。",
|
||
"photos.sync.conflicts.toast.open-storage-failed": "无法打开存储对象",
|
||
"photos.sync.conflicts.toast.select-required": "请先选择需要处理的冲突。",
|
||
"photos.sync.conflicts.total": "总计:{{count}}",
|
||
"photos.sync.metadata.database": "元数据 · 数据库",
|
||
"photos.sync.metadata.etag": "ETag(实体标签)",
|
||
"photos.sync.metadata.hash": "元数据哈希",
|
||
"photos.sync.metadata.none": "无",
|
||
"photos.sync.metadata.size": "大小",
|
||
"photos.sync.metadata.storage": "元数据 · 存储",
|
||
"photos.sync.metadata.unknown": "未知",
|
||
"photos.sync.metadata.updated-at": "更新时间",
|
||
"photos.sync.progress.heading.error": "同步失败",
|
||
"photos.sync.progress.heading.preview": "正在运行预览同步",
|
||
"photos.sync.progress.heading.running": "正在运行同步",
|
||
"photos.sync.progress.logs.detail.error": "错误 {{value}}",
|
||
"photos.sync.progress.logs.detail.live-photo": "包含实况照片",
|
||
"photos.sync.progress.logs.detail.live-photo-absent": "无实况照片",
|
||
"photos.sync.progress.logs.detail.manifest": "包含上一份清单",
|
||
"photos.sync.progress.logs.detail.manifest-absent": "无上一份清单",
|
||
"photos.sync.progress.logs.detail.result": "结果 {{value}}",
|
||
"photos.sync.progress.logs.level.error": "错误",
|
||
"photos.sync.progress.logs.level.info": "信息",
|
||
"photos.sync.progress.logs.level.success": "成功",
|
||
"photos.sync.progress.logs.level.warn": "警告",
|
||
"photos.sync.progress.logs.recent": "最新 {{count}} 条",
|
||
"photos.sync.progress.logs.title": "同步日志",
|
||
"photos.sync.progress.recent.no-further": "无需进一步操作",
|
||
"photos.sync.progress.recent.progress": "进度:{{processed}} / {{total}}",
|
||
"photos.sync.progress.recent.title": "最近操作",
|
||
"photos.sync.progress.stage-status.completed": "已完成",
|
||
"photos.sync.progress.stage-status.pending": "待开始",
|
||
"photos.sync.progress.stage-status.running": "进行中",
|
||
"photos.sync.progress.stages.conflicts.description": "检测存储元数据与数据库记录的差异。",
|
||
"photos.sync.progress.stages.conflicts.label": "校验元数据",
|
||
"photos.sync.progress.stages.missing.description": "将存储中的新对象同步到数据库。",
|
||
"photos.sync.progress.stages.missing.label": "导入新照片",
|
||
"photos.sync.progress.stages.orphan.description": "标记数据库中对应存储对象缺失的记录。",
|
||
"photos.sync.progress.stages.orphan.label": "识别孤立记录",
|
||
"photos.sync.progress.stages.progress": "{{processed}} / {{total}} 项",
|
||
"photos.sync.progress.stages.reconciliation.description": "更新记录状态以匹配最新元数据。",
|
||
"photos.sync.progress.stages.reconciliation.label": "状态对账",
|
||
"photos.sync.progress.status.error": "已停止",
|
||
"photos.sync.progress.status.running": "进行中",
|
||
"photos.sync.progress.subtitle.error": "同步过程中发生错误,请查看日志后重试。",
|
||
"photos.sync.progress.subtitle.preview": "正在模拟同步操作,预览模式不会写入数据库。",
|
||
"photos.sync.progress.subtitle.running": "正在对比存储与数据库,请保持此页面开启以查看实时进度。",
|
||
"photos.sync.result.actions.applied": "已应用",
|
||
"photos.sync.result.actions.collapse": "收起详情",
|
||
"photos.sync.result.actions.expand": "查看详情",
|
||
"photos.sync.result.actions.pending": "未应用",
|
||
"photos.sync.result.alerts.open-original-failed": "无法打开原始照片",
|
||
"photos.sync.result.duration.less-than-second": "少于 1 秒",
|
||
"photos.sync.result.duration.minutes": "{{count}} 分钟",
|
||
"photos.sync.result.duration.seconds": "{{count}} 秒",
|
||
"photos.sync.result.filters.all": "全部",
|
||
"photos.sync.result.history.completed-at": "完成时间 {{time}}",
|
||
"photos.sync.result.history.duration": "耗时 {{duration}}",
|
||
"photos.sync.result.history.heading": "最近完成的同步",
|
||
"photos.sync.result.history.mode.live": "实时模式 · 已应用更改",
|
||
"photos.sync.result.history.mode.preview": "预览模式 · 未写入数据库",
|
||
"photos.sync.result.history.operations": "操作:{{count}}",
|
||
"photos.sync.result.info.conflict-type": "冲突类型:",
|
||
"photos.sync.result.info.photo-id": "Photo ID:",
|
||
"photos.sync.result.info.storage-key": "存储 Key:",
|
||
"photos.sync.result.manifest.empty": "暂无清单数据",
|
||
"photos.sync.result.operations.count": "操作:{{count}}",
|
||
"photos.sync.result.operations.filter-label": "· 筛选:",
|
||
"photos.sync.result.status.empty.description": "请在设置中配置并启用存储提供方,然后使用同步控制开始处理。预览模式安全且不会修改数据。",
|
||
"photos.sync.result.status.empty.title": "尚无同步记录",
|
||
"photos.sync.result.status.loading.description": "正在获取最新同步任务,请稍候…",
|
||
"photos.sync.result.status.loading.title": "正在加载同步状态",
|
||
"photos.sync.result.summary.description.latest": "下方展示最近一次同步结果。",
|
||
"photos.sync.result.summary.description.live": "最近一次同步以实时模式执行,并写入了数据库。",
|
||
"photos.sync.result.summary.description.preview": "最近运行的是预览模式,未对数据库写入任何更改。",
|
||
"photos.sync.result.summary.heading": "同步概览",
|
||
"photos.sync.result.summary.labels.completed": "已同步",
|
||
"photos.sync.result.summary.labels.conflicts": "冲突",
|
||
"photos.sync.result.summary.labels.database-records": "数据库记录",
|
||
"photos.sync.result.summary.labels.deleted": "已删除",
|
||
"photos.sync.result.summary.labels.errors": "错误",
|
||
"photos.sync.result.summary.labels.inserted": "新增照片",
|
||
"photos.sync.result.summary.labels.pending": "待处理",
|
||
"photos.sync.result.summary.labels.skipped": "已跳过",
|
||
"photos.sync.result.summary.labels.storage-objects": "存储对象",
|
||
"photos.sync.result.summary.labels.updated": "已更新",
|
||
"photos.sync.result.table.empty.filtered": "没有符合当前筛选条件的操作。",
|
||
"photos.sync.result.table.empty.none": "同步完成,但没有可供查看的操作。",
|
||
"photos.sync.result.table.mode.live": "实时模式 · 结果已保存",
|
||
"photos.sync.result.table.mode.preview": "预览模式 · 未应用更改",
|
||
"photos.sync.result.table.title": "同步操作详情",
|
||
"photos.sync.toasts.conflict-batch-error": "部分冲突处理失败",
|
||
"photos.sync.toasts.conflict-batch-success": "{{strategy}} 已处理 {{count}} 个冲突。",
|
||
"photos.sync.toasts.conflict-database": "已保留数据库记录,忽略存储差异。",
|
||
"photos.sync.toasts.conflict-error": "冲突处理失败",
|
||
"photos.sync.toasts.conflict-error-desc": "当前无法解决冲突,请稍后再试。",
|
||
"photos.sync.toasts.conflict-resolved": "冲突已解决",
|
||
"photos.sync.toasts.conflict-select": "请先选择至少一个冲突项。",
|
||
"photos.tabs.library": "图库管理",
|
||
"photos.tabs.storage": "素材存储",
|
||
"photos.tabs.sync": "存储同步",
|
||
"photos.tabs.usage": "用量记录",
|
||
"photos.usage.events.description": "与计费相关的最新操作,如上传、删除与同步。",
|
||
"photos.usage.events.empty.description": "上传照片或运行同步后会在此显示计费事件。",
|
||
"photos.usage.events.empty.title": "暂无使用数据",
|
||
"photos.usage.events.metadata.empty": "— / 无",
|
||
"photos.usage.events.metadata.more": "+{{count}} 项",
|
||
"photos.usage.events.metadata.value-unknown": "未知",
|
||
"photos.usage.events.title": "最近的使用事件",
|
||
"photos.usage.events.total": "{{count}} 条事件",
|
||
"photos.usage.events.unit.byte": "字节",
|
||
"photos.usage.events.unit.count": "次数",
|
||
"photos.usage.events.unit.label": "单位:{{unit}}",
|
||
"photos.usage.photo-created.description": "通过上传或同步新增的照片。",
|
||
"photos.usage.photo-created.label": "新增照片",
|
||
"photos.usage.photo-deleted.description": "从图库或存储中删除的照片。",
|
||
"photos.usage.photo-deleted.label": "删除照片",
|
||
"photos.usage.summary.description": "按事件类型汇总的累计统计。",
|
||
"photos.usage.summary.refresh": "刷新",
|
||
"photos.usage.summary.title": "使用概览",
|
||
"photos.usage.sync-completed.description": "数据同步完成时产生的汇总事件。",
|
||
"photos.usage.sync-completed.label": "同步完成",
|
||
"plan.badge.current": "当前方案",
|
||
"plan.badge.internal": "内部方案",
|
||
"plan.checkout.coming-soon": "敬请期待",
|
||
"plan.checkout.loading": "请稍候…",
|
||
"plan.checkout.upgrade": "升级此方案",
|
||
"plan.error.load-prefix": "无法加载订阅信息:",
|
||
"plan.error.unknown": "未知错误",
|
||
"plan.page.description": "查看当前订阅状态与资源限制,并在此处发起升级或管理订阅。",
|
||
"plan.page.title": "订阅计划",
|
||
"plan.portal.loading": "打开中…",
|
||
"plan.portal.manage": "管理订阅",
|
||
"plan.quotas.label.libraryItemLimit": "图库容量",
|
||
"plan.quotas.label.maxSyncObjectSizeMb": "同步素材大小",
|
||
"plan.quotas.label.maxUploadSizeMb": "单次上传大小",
|
||
"plan.quotas.label.monthlyAssetProcessLimit": "每月可新增照片",
|
||
"plan.quotas.unit.megabytes": "{{value}} MB(兆字节)",
|
||
"plan.quotas.unit.photos": "{{value}} 张",
|
||
"plan.quotas.unlimited": "无限制",
|
||
"plan.toast.checkout-failure": "无法创建订阅结算会话,请稍后再试。",
|
||
"plan.toast.checkout-unavailable": "该方案暂未开放,请稍后再试。",
|
||
"plan.toast.missing-checkout-url": "Creem 未返回有效的结算链接,请稍后再试。",
|
||
"plan.toast.missing-portal-account": "找不到订阅账户,请稍后再试。",
|
||
"plan.toast.missing-portal-url": "Creem 未返回订阅管理地址,请稍后再试。",
|
||
"plan.toast.portal-failure": "无法打开订阅管理,请稍后再试。",
|
||
"schema-form.secret.helper": "出于安全考虑,仅在更新时填写新的值。",
|
||
"schema-form.secret.hide": "隐藏",
|
||
"schema-form.secret.show": "显示",
|
||
"schema-form.select.placeholder": "请选择",
|
||
"settings.account.description": "绑定第三方账号,使用 OAuth 快速登录后台。",
|
||
"settings.account.title": "账号与登录",
|
||
"settings.data.description": "执行数据库级别的维护操作,以保持照片数据与对象存储一致。",
|
||
"settings.data.title": "数据管理",
|
||
"settings.domain.actions.verify": "验证",
|
||
"settings.domain.banner.pending": "{{domain}} 正在验证中,DNS 生效可能需要几分钟。",
|
||
"settings.domain.bound-list.empty": "还没有绑定域名,请在左侧输入后开始验证。",
|
||
"settings.domain.bound-list.title": "已绑定域名",
|
||
"settings.domain.description": "绑定自己的域名,让相册以品牌化地址访问。支持 CNAME 或 TXT 验证。",
|
||
"settings.domain.input.cta": "绑定域名",
|
||
"settings.domain.input.helper": "可以使用根域或子域,避免直接填写平台基础域名 {{base}}。",
|
||
"settings.domain.input.label": "自定义域名",
|
||
"settings.domain.input.placeholder": "photos.example.com",
|
||
"settings.domain.status.disabled": "已停用",
|
||
"settings.domain.status.pending": "等待 DNS",
|
||
"settings.domain.status.verified": "已生效",
|
||
"settings.domain.steps.cname.desc": "创建指向工作空间入口的 CNAME 记录,推荐优先使用。",
|
||
"settings.domain.steps.cname.title": "添加 CNAME 记录",
|
||
"settings.domain.steps.title": "验证步骤",
|
||
"settings.domain.steps.txt.desc": "若无法使用 CNAME,可添加 TXT 记录并填写下方验证 Token。",
|
||
"settings.domain.steps.txt.title": "可选 TXT 验证",
|
||
"settings.domain.steps.verify.desc": "DNS 生效后点击验证。如果存在 TXT Token 也会一并校验。",
|
||
"settings.domain.steps.verify.title": "完成验证并生效",
|
||
"settings.domain.title": "自定义域名",
|
||
"settings.domain.toast.delete-failed": "移除域名失败",
|
||
"settings.domain.toast.delete-success": "域名已移除",
|
||
"settings.domain.toast.input-required": "请先输入要绑定的域名。",
|
||
"settings.domain.toast.request-failed": "绑定域名失败",
|
||
"settings.domain.toast.request-success": "域名已添加,请完成 DNS 配置后再验证。",
|
||
"settings.domain.toast.verify-failed": "验证失败,请检查 DNS 后重试。",
|
||
"settings.domain.toast.verify-success": "域名已验证并启用",
|
||
"settings.domain.token.helper": "无法配置 CNAME 时,可将此 Token 写入 TXT 记录完成验证。",
|
||
"settings.domain.token.label": "验证 Token",
|
||
"settings.nav.account": "账号与登录",
|
||
"settings.nav.data": "数据管理",
|
||
"settings.nav.domain": "自定义域名",
|
||
"settings.nav.site": "站点设置",
|
||
"settings.nav.user": "用户信息",
|
||
"settings.site.description": "配置前台站点的品牌信息、社交渠道与地图展示。",
|
||
"settings.site.title": "站点设置",
|
||
"settings.user.description": "维护展示在前台的作者资料、头像与别名。",
|
||
"settings.user.title": "用户信息",
|
||
"site.settings.banner.dirty": "{{count}} 项设置待保存",
|
||
"site.settings.banner.fail": "保存失败:",
|
||
"site.settings.banner.success": "设置已成功同步",
|
||
"site.settings.banner.synced": "所有设置均为最新状态",
|
||
"site.settings.button.save": "保存更改",
|
||
"site.settings.button.saving": "保存中…",
|
||
"site.settings.error.load-prefix": "无法加载站点设置:",
|
||
"site.settings.error.unknown": "未知错误",
|
||
"site.user.blocker.cancel": "留在此页",
|
||
"site.user.blocker.confirm": "仍然离开",
|
||
"site.user.blocker.description": "您有未保存的更改,离开将会丢失,确定继续?",
|
||
"site.user.blocker.title": "离开前请先保存",
|
||
"site.user.button.save": "保存更改",
|
||
"site.user.button.saving": "保存中…",
|
||
"site.user.error.loading": "无法加载用户资料",
|
||
"site.user.form.avatar.helper": "支持 http(s) 或 // 开头的链接,留空则回退为首字母头像。",
|
||
"site.user.form.avatar.label": "头像 URL",
|
||
"site.user.form.avatar.placeholder": "https://cdn.example.com/avatar.png(示例)",
|
||
"site.user.form.display.helper": "显示在头像旁。留空则使用作者姓名。",
|
||
"site.user.form.display.label": "展示名称",
|
||
"site.user.form.display.placeholder": "可选,例如 innei.photo",
|
||
"site.user.form.name.helper": "会公开展示,并写入 RSS 的作者/编辑字段。",
|
||
"site.user.form.name.label": "作者姓名",
|
||
"site.user.form.name.placeholder": "例如 Innei",
|
||
"site.user.form.username.helper": "内部用于识别作者,不会公开显示。",
|
||
"site.user.form.username.label": "用户名(可选)",
|
||
"site.user.form.username.placeholder": "例如 innei",
|
||
"site.user.header.badge": "作者资料",
|
||
"site.user.header.description": "用于站点头部、RSS 与社交卡片,请保持与个人品牌一致。",
|
||
"site.user.header.title": "公开作者身份",
|
||
"site.user.preview.avatar-alt": "作者头像预览",
|
||
"site.user.preview.fallback": "作者",
|
||
"site.user.preview.last-updated": "最近更新:{{time}}",
|
||
"site.user.preview.never-updated": "尚未更新",
|
||
"site.user.toast.error": "保存资料失败",
|
||
"site.user.toast.error-description": "请检查输入后重试。",
|
||
"site.user.toast.success": "资料已更新",
|
||
"storage.providers.actions.add": "添加存储源",
|
||
"storage.providers.actions.cancel": "取消",
|
||
"storage.providers.actions.create": "创建存储源",
|
||
"storage.providers.actions.save": "保存更改",
|
||
"storage.providers.actions.saving": "保存中…",
|
||
"storage.providers.blocker.cancel": "留在此页",
|
||
"storage.providers.blocker.confirm": "仍然离开",
|
||
"storage.providers.blocker.description": "当前存储配置尚未保存,离开页面会丢失这些修改,确定继续?",
|
||
"storage.providers.blocker.title": "请先保存存储配置",
|
||
"storage.providers.card.active": "已启用",
|
||
"storage.providers.card.edit": "编辑",
|
||
"storage.providers.card.make-active": "设为启用",
|
||
"storage.providers.card.make-inactive": "设为停用",
|
||
"storage.providers.card.preview.fallback": "存储提供方",
|
||
"storage.providers.card.preview.not-configured": "未配置",
|
||
"storage.providers.card.untitled": "未命名存储",
|
||
"storage.providers.empty.action": "添加存储源",
|
||
"storage.providers.empty.description": "添加一个存储提供方,系统才能同步并管理远程照片。",
|
||
"storage.providers.empty.title": "尚未配置存储提供方",
|
||
"storage.providers.error.load": "无法加载存储设置",
|
||
"storage.providers.fields.github.branch.description": "可选,要同步的分支。",
|
||
"storage.providers.fields.github.branch.helper": "默认 master/main,如有不同请填写完整分支名。",
|
||
"storage.providers.fields.github.branch.label": "分支",
|
||
"storage.providers.fields.github.branch.placeholder": "main(示例)",
|
||
"storage.providers.fields.github.owner.description": "GitHub 用户或组织名称。",
|
||
"storage.providers.fields.github.owner.label": "仓库拥有者",
|
||
"storage.providers.fields.github.owner.placeholder": "afilmory(示例)",
|
||
"storage.providers.fields.github.path.description": "可选,限制同步的仓库路径。",
|
||
"storage.providers.fields.github.path.label": "仓库路径",
|
||
"storage.providers.fields.github.path.placeholder": "public/photos(可选)",
|
||
"storage.providers.fields.github.repo.description": "存放照片的仓库。",
|
||
"storage.providers.fields.github.repo.label": "仓库名称",
|
||
"storage.providers.fields.github.repo.placeholder": "photo-assets(示例)",
|
||
"storage.providers.fields.github.token.description": "用于私有仓库的 Personal Access Token。",
|
||
"storage.providers.fields.github.token.label": "访问令牌",
|
||
"storage.providers.fields.github.token.placeholder": "ghp_xxxxxxxxxxxxxxxxxxxx(示例)",
|
||
"storage.providers.fields.github.use-raw.description": "生成公开链接时使用 raw.githubusercontent.com。",
|
||
"storage.providers.fields.github.use-raw.helper": "如果通过自定义域名分发文件,请设为 false。",
|
||
"storage.providers.fields.github.use-raw.label": "使用 raw 链接",
|
||
"storage.providers.fields.github.use-raw.placeholder": "true / false(布尔)",
|
||
"storage.providers.fields.s3.access-key.label": "Access Key ID(公钥)",
|
||
"storage.providers.fields.s3.access-key.placeholder": "AKIAxxxxxxxxxxxx(示例)",
|
||
"storage.providers.fields.s3.bucket.description": "存放照片的 S3 Bucket 名称。",
|
||
"storage.providers.fields.s3.bucket.label": "Bucket 名称",
|
||
"storage.providers.fields.s3.bucket.placeholder": "afilmory-photos(示例)",
|
||
"storage.providers.fields.s3.custom-domain.description": "用于生成公开照片链接的域名。",
|
||
"storage.providers.fields.s3.custom-domain.label": "自定义公开域名",
|
||
"storage.providers.fields.s3.custom-domain.placeholder": "https://cdn.example.com(示例)",
|
||
"storage.providers.fields.s3.endpoint.description": "S3 兼容服务的自定义 Endpoint。",
|
||
"storage.providers.fields.s3.endpoint.helper": "使用 AWS S3 时可留空,MinIO 或其他厂商需要填写。",
|
||
"storage.providers.fields.s3.endpoint.label": "自定义 Endpoint",
|
||
"storage.providers.fields.s3.endpoint.placeholder": "https://s3.example.com(示例)",
|
||
"storage.providers.fields.s3.exclude-regex.description": "可选,跳过匹配该正则表达式的文件。",
|
||
"storage.providers.fields.s3.exclude-regex.helper": "使用 JavaScript 兼容的正则表达式。",
|
||
"storage.providers.fields.s3.exclude-regex.label": "排除规则(正则)",
|
||
"storage.providers.fields.s3.exclude-regex.placeholder": "\\.(tmp|bak)$",
|
||
"storage.providers.fields.s3.max-files.description": "可选,每次扫描的最大文件数。",
|
||
"storage.providers.fields.s3.max-files.label": "最大文件数",
|
||
"storage.providers.fields.s3.max-files.placeholder": "1000(可选)",
|
||
"storage.providers.fields.s3.prefix.description": "可选,仅扫描该前缀下的对象。",
|
||
"storage.providers.fields.s3.prefix.label": "路径前缀",
|
||
"storage.providers.fields.s3.prefix.placeholder": "photos/(前缀)",
|
||
"storage.providers.fields.s3.region.description": "S3 区域代码,例如 ap-southeast-1。",
|
||
"storage.providers.fields.s3.region.label": "区域",
|
||
"storage.providers.fields.s3.region.placeholder": "ap-southeast-1(示例)",
|
||
"storage.providers.fields.s3.secret-key.label": "Secret Access Key(私钥)",
|
||
"storage.providers.fields.s3.secret-key.placeholder": "************(示例)",
|
||
"storage.providers.modal.create.description": "为照片配置新的存储后端。",
|
||
"storage.providers.modal.create.title": "添加存储提供方",
|
||
"storage.providers.modal.edit.description": "更新该提供方的凭证和选项。",
|
||
"storage.providers.modal.edit.title": "编辑存储提供方",
|
||
"storage.providers.modal.fields.name.label": "显示名称",
|
||
"storage.providers.modal.fields.name.placeholder": "例如 Production S3",
|
||
"storage.providers.modal.fields.required": "必填",
|
||
"storage.providers.modal.fields.type.label": "提供类型",
|
||
"storage.providers.modal.fields.type.placeholder": "请选择提供方",
|
||
"storage.providers.modal.sections.basic": "基础信息",
|
||
"storage.providers.modal.sections.connection": "连接配置",
|
||
"storage.providers.prompt.sync.cancel": "稍后再说",
|
||
"storage.providers.prompt.sync.confirm": "开始同步",
|
||
"storage.providers.prompt.sync.description": "存储提供方配置已保存。是否立即前往数据同步,扫描存储并更新数据库?",
|
||
"storage.providers.prompt.sync.title": "立即同步照片?",
|
||
"storage.providers.security.description": "密钥、令牌等敏感凭据会使用 {{algorithm}} 加密以保护数据。",
|
||
"storage.providers.security.helper": "{{algorithm}} 提供认证加密,确保数据保密且不可篡改。",
|
||
"storage.providers.security.title": "存储安全",
|
||
"storage.providers.status.dirty": "{{total}} 个存储源待保存",
|
||
"storage.providers.status.error": "保存失败:{{reason}}",
|
||
"storage.providers.status.saved": "✓ 存储配置已保存",
|
||
"storage.providers.status.summary": "{{total}} 个存储提供方 • {{active}} 个启用",
|
||
"storage.providers.types.b2": "Backblaze B2 云存储",
|
||
"storage.providers.types.eagle": "Eagle 素材库",
|
||
"storage.providers.types.github": "GitHub 仓库",
|
||
"storage.providers.types.local": "本地存储",
|
||
"storage.providers.types.minio": "MinIO 存储",
|
||
"storage.providers.types.s3": "AWS S3 / 兼容对象存储",
|
||
"superadmin.brand": "Afilmory · 系统管理",
|
||
"superadmin.builder-debug.actions.cancel": "取消调试",
|
||
"superadmin.builder-debug.actions.start": "开始调试",
|
||
"superadmin.builder-debug.api.missing-result": "在连接结束前未收到最终调试结果。",
|
||
"superadmin.builder-debug.api.request-failed": "调试请求失败:{{status}} {{statusText}}",
|
||
"superadmin.builder-debug.description": "在不触碰持久化数据的情况下验证单张图片的构建管线。",
|
||
"superadmin.builder-debug.input.clear": "清除",
|
||
"superadmin.builder-debug.input.file-meta": "{{size}} · {{type}}(源文件)",
|
||
"superadmin.builder-debug.input.max": "仅支持 1 张图片,大小不超过 25 MB",
|
||
"superadmin.builder-debug.input.placeholder": "点击或拖入图片",
|
||
"superadmin.builder-debug.input.subtitle": "选择一张源图片来模拟 Builder 管线。",
|
||
"superadmin.builder-debug.input.title": "调试输入",
|
||
"superadmin.builder-debug.log.level.error": "错误",
|
||
"superadmin.builder-debug.log.level.info": "信息",
|
||
"superadmin.builder-debug.log.level.success": "成功",
|
||
"superadmin.builder-debug.log.level.warn": "警告",
|
||
"superadmin.builder-debug.log.message.complete": "构建完成 · 结果 {{resultType}}",
|
||
"superadmin.builder-debug.log.message.start": "正在上传 {{filename}} · 准备运行 Builder",
|
||
"superadmin.builder-debug.log.status.complete": "完成",
|
||
"superadmin.builder-debug.log.status.error": "错误",
|
||
"superadmin.builder-debug.log.status.start": "开始",
|
||
"superadmin.builder-debug.logs.empty": "暂无日志",
|
||
"superadmin.builder-debug.logs.initializing": "正在准备调试环境…",
|
||
"superadmin.builder-debug.logs.source": "来源:Builder + Data Sync Relay",
|
||
"superadmin.builder-debug.logs.subtitle": "最新 {{count}} 条消息",
|
||
"superadmin.builder-debug.logs.title": "实时日志",
|
||
"superadmin.builder-debug.notes.keep-page-open": "任务运行期间请保持此页面开启。日志来自与数据同步相同的 Builder 配置。",
|
||
"superadmin.builder-debug.output.after-run": "运行调试任务后会在此显示清单详情。",
|
||
"superadmin.builder-debug.output.copy": "复制清单",
|
||
"superadmin.builder-debug.output.no-manifest": "此次运行未产生清单数据。",
|
||
"superadmin.builder-debug.output.subtitle": "查看 Builder 返回的清单摘要。",
|
||
"superadmin.builder-debug.output.title": "调试输出",
|
||
"superadmin.builder-debug.recent.file": "文件",
|
||
"superadmin.builder-debug.recent.size": "大小",
|
||
"superadmin.builder-debug.recent.storage-key": "存储 Key",
|
||
"superadmin.builder-debug.recent.title": "最近任务",
|
||
"superadmin.builder-debug.safety.items.no-db": "不会向数据库写入照片记录",
|
||
"superadmin.builder-debug.safety.items.no-storage": "不会在存储中保留调试产物",
|
||
"superadmin.builder-debug.safety.items.realtime": "日志实时输出,方便排查",
|
||
"superadmin.builder-debug.safety.title": "⚠️ 调试以安全模式运行:",
|
||
"superadmin.builder-debug.status.error": "失败",
|
||
"superadmin.builder-debug.status.idle": "就绪",
|
||
"superadmin.builder-debug.status.running": "运行中",
|
||
"superadmin.builder-debug.status.success": "已完成",
|
||
"superadmin.builder-debug.summary.cleaned": "产物清理",
|
||
"superadmin.builder-debug.summary.cleaned-no": "否",
|
||
"superadmin.builder-debug.summary.cleaned-yes": "是",
|
||
"superadmin.builder-debug.summary.result-type": "结果类型",
|
||
"superadmin.builder-debug.summary.storage-key": "存储 Key",
|
||
"superadmin.builder-debug.summary.thumbnail": "缩略图 URL",
|
||
"superadmin.builder-debug.summary.thumbnail-missing": "未生成",
|
||
"superadmin.builder-debug.title": "Builder 调试控制台",
|
||
"superadmin.builder-debug.toast.cancelled": "调试已取消",
|
||
"superadmin.builder-debug.toast.copy-failure.description": "请手动复制内容。",
|
||
"superadmin.builder-debug.toast.copy-failure.title": "复制失败",
|
||
"superadmin.builder-debug.toast.copy-success": "清单已复制到剪贴板",
|
||
"superadmin.builder-debug.toast.failure-fallback": "调试失败,请检查后重试。",
|
||
"superadmin.builder-debug.toast.failure.title": "调试失败",
|
||
"superadmin.builder-debug.toast.manual-cancelled-log": "用户已停止调试运行",
|
||
"superadmin.builder-debug.toast.manual-cancelled-message": "调试会话已被手动取消。",
|
||
"superadmin.builder-debug.toast.pick-file": "在运行调试前请选择一张图片。",
|
||
"superadmin.builder-debug.toast.success.description": "Builder 管线运行成功并已清理产物。",
|
||
"superadmin.builder-debug.toast.success.title": "调试完成",
|
||
"superadmin.builder.title": "构建器设置",
|
||
"superadmin.nav.builder": "构建器",
|
||
"superadmin.nav.builder-debug": "Builder 调试",
|
||
"superadmin.nav.plans": "订阅计划",
|
||
"superadmin.nav.settings": "系统设置",
|
||
"superadmin.nav.tenants": "租户管理",
|
||
"superadmin.plans.description": "管理各个订阅计划的资源配额、定价信息与 Creem Product 连接,仅超级管理员可编辑。",
|
||
"superadmin.plans.title": "订阅计划配置",
|
||
"superadmin.settings.button.loading": "保存中...",
|
||
"superadmin.settings.button.save": "保存修改",
|
||
"superadmin.settings.description": "管理整个平台的注册策略与本地登录渠道,由超级管理员统一维护。",
|
||
"superadmin.settings.error.loading": "无法加载超级管理员设置:{{reason}}",
|
||
"superadmin.settings.message.dirty": "您有尚未保存的变更",
|
||
"superadmin.settings.message.error": "保存失败:{{reason}}",
|
||
"superadmin.settings.message.idle": "所有设置已同步",
|
||
"superadmin.settings.message.saved": "保存成功,设置已更新",
|
||
"superadmin.settings.message.saving": "正在保存设置...",
|
||
"superadmin.settings.message.unknown-error": "未知错误",
|
||
"superadmin.settings.stats.remaining": "剩余可注册名额",
|
||
"superadmin.settings.stats.total-users": "当前用户总数",
|
||
"superadmin.settings.stats.unlimited": "不限",
|
||
"superadmin.settings.title": "系统设置",
|
||
"superadmin.tenants.button.ban": "封禁",
|
||
"superadmin.tenants.button.processing": "处理中…",
|
||
"superadmin.tenants.button.unban": "解除封禁",
|
||
"superadmin.tenants.description": "为特定租户切换订阅计划或封禁违规租户。",
|
||
"superadmin.tenants.empty": "当前没有可管理的租户。",
|
||
"superadmin.tenants.error.loading": "无法加载租户数据:{{reason}}",
|
||
"superadmin.tenants.modal.overview.details": "详细信息",
|
||
"superadmin.tenants.modal.overview.photos": "照片总数",
|
||
"superadmin.tenants.modal.tab.overview": "概览",
|
||
"superadmin.tenants.modal.tab.photos": "照片",
|
||
"superadmin.tenants.plan.placeholder": "选择订阅计划",
|
||
"superadmin.tenants.refresh.button": "刷新列表",
|
||
"superadmin.tenants.refresh.loading": "正在刷新…",
|
||
"superadmin.tenants.status.active": "活跃",
|
||
"superadmin.tenants.status.banned": "已封禁",
|
||
"superadmin.tenants.status.inactive": "未激活",
|
||
"superadmin.tenants.status.suspended": "已暂停",
|
||
"superadmin.tenants.table.ban": "封禁",
|
||
"superadmin.tenants.table.created": "创建时间",
|
||
"superadmin.tenants.table.plan": "订阅计划",
|
||
"superadmin.tenants.table.status": "状态",
|
||
"superadmin.tenants.table.tenant": "租户",
|
||
"superadmin.tenants.table.usage": "用量",
|
||
"superadmin.tenants.title": "租户订阅管理",
|
||
"superadmin.tenants.toast.ban-error": "更新封禁状态失败",
|
||
"superadmin.tenants.toast.ban-success": "已封禁租户 {{name}}",
|
||
"superadmin.tenants.toast.plan-error": "更新订阅失败",
|
||
"superadmin.tenants.toast.plan-success": "已将 {{name}} 切换到 {{planId}} 计划",
|
||
"superadmin.tenants.toast.unban-success": "已解除封禁 {{name}}",
|
||
"superadmin.tenants.usage.empty": "尚无用量记录",
|
||
"welcome.tenant-missing.code": "404",
|
||
"welcome.tenant-missing.description": "未能在该地址找到空间,可能已被删除或链接有误。请检查 URL,或注册自己的空间继续使用 Afilmory。",
|
||
"welcome.tenant-missing.home": "返回首页",
|
||
"welcome.tenant-missing.register": "立即注册",
|
||
"welcome.tenant-missing.request": "请求的主机:",
|
||
"welcome.tenant-missing.title": "未找到空间",
|
||
"welcome.tenant-restricted.code": "403",
|
||
"welcome.tenant-restricted.description": "该主机名被系统保留,无法用于仪表盘或公开站点。如需继续体验 Afilmory,请使用其他主机名或注册专属空间。",
|
||
"welcome.tenant-restricted.home": "返回首页",
|
||
"welcome.tenant-restricted.register": "创建新空间",
|
||
"welcome.tenant-restricted.request": "请求的主机:",
|
||
"welcome.tenant-restricted.title": "空间已被保留"
|
||
}
|