- Add AtlasUpdateChecker with GitHub Releases API integration - Add AtlasVersionComparator for semantic version comparison - Add AboutUpdateToolbarButton with popover update UI - Enhance AboutFeatureView with social QR codes and layout refinements - Add CHANGELOG.md and CODE_OF_CONDUCT.md - Rebrand project files from Mole to Atlas for Mac - Update build script to support version/build number injection - Add installation guide to README - Add bilingual localization strings for update feature - Add unit tests for update checker and version comparator
630 lines
44 KiB
Plaintext
630 lines
44 KiB
Plaintext
"app.name" = "Atlas for Mac";
|
||
"language.zhHans" = "简体中文";
|
||
"language.en" = "English";
|
||
|
||
"route.overview.title" = "概览";
|
||
"route.overview.subtitle" = "查看健康摘要、预计可释放空间和下一步安全操作。";
|
||
"route.smartclean.title" = "智能清理";
|
||
"route.smartclean.subtitle" = "先生成并复核清理计划,再决定是否执行。";
|
||
"route.apps.title" = "应用";
|
||
"route.apps.subtitle" = "先查看应用占用、残留和卸载计划,再决定是否移除。";
|
||
"route.history.title" = "历史";
|
||
"route.history.subtitle" = "跟踪任务、结果和恢复入口。";
|
||
"route.permissions.title" = "权限";
|
||
"route.permissions.subtitle" = "先解释原因,再请求访问。";
|
||
"route.settings.title" = "设置";
|
||
"route.settings.subtitle" = "偏好、排除项、致谢和通知。";
|
||
"route.about.title" = "关于";
|
||
"route.about.subtitle" = "了解作者,探索更多产品。";
|
||
|
||
"risk.safe" = "安全";
|
||
"risk.review" = "复核";
|
||
"risk.advanced" = "高级";
|
||
|
||
"taskkind.scan" = "智能清理扫描";
|
||
"taskkind.executePlan" = "执行清理计划";
|
||
"taskkind.uninstallApp" = "卸载应用";
|
||
"taskkind.restore" = "恢复项目";
|
||
"taskkind.inspectPermissions" = "检查权限状态";
|
||
|
||
"taskstatus.queued" = "排队中";
|
||
"taskstatus.running" = "进行中";
|
||
"taskstatus.completed" = "已完成";
|
||
"taskstatus.failed" = "失败";
|
||
"taskstatus.cancelled" = "已取消";
|
||
|
||
"permission.fullDiskAccess" = "完全磁盘访问";
|
||
"permission.accessibility" = "辅助功能";
|
||
"permission.notifications" = "通知";
|
||
|
||
"category.developer" = "开发者";
|
||
"category.system" = "系统";
|
||
"category.apps" = "应用";
|
||
"category.browsers" = "浏览器";
|
||
|
||
"settings.acknowledgement.body" = "Atlas for Mac 是一个基于 MIT 协议开源的项目,并基于开源项目 Mole(https://github.com/tw93/mole,作者 tw93 及贡献者)进行复用与演进。项目中使用的 Mole 相关代码同样依据 MIT 许可证使用。Atlas for Mac 是独立产品,与原作者不存在关联或背书关系。";
|
||
"settings.notices.body" = "Atlas for Mac 项目以 MIT 许可证开源。本产品同时包含源自开源项目 Mole(https://github.com/tw93/mole,作者 tw93 及贡献者)的软件,并依据 MIT 许可证使用。";
|
||
"fixture.finding.derivedData.title" = "Xcode 派生数据";
|
||
"fixture.finding.derivedData.detail" = "来自旧项目的构建产物和索引。";
|
||
"fixture.finding.browserCaches.title" = "浏览器缓存";
|
||
"fixture.finding.browserCaches.detail" = "低风险的 WebKit 和 Chromium 缓存目录。";
|
||
"fixture.finding.oldRuntimes.title" = "旧模拟器运行时";
|
||
"fixture.finding.oldRuntimes.detail" = "需要删除前先复核的闲置 iOS 模拟器资源。";
|
||
"fixture.finding.launchAgents.title" = "启动代理残留";
|
||
"fixture.finding.launchAgents.detail" = "与已删除应用或旧实验相关的后台辅助项。";
|
||
|
||
"fixture.plan.reclaimCommonClutter.title" = "回收常见杂项";
|
||
"fixture.plan.item.moveDerivedData.title" = "将 Xcode 派生数据移入废纸篓";
|
||
"fixture.plan.item.moveDerivedData.detail" = "保留恢复路径,可在历史和恢复中找回。";
|
||
"fixture.plan.item.reviewRuntimes.title" = "复核模拟器运行时";
|
||
"fixture.plan.item.reviewRuntimes.detail" = "执行前先确认计划细节。";
|
||
"fixture.plan.item.inspectAgents.title" = "检查启动代理";
|
||
"fixture.plan.item.inspectAgents.detail" = "移除受权限影响的项目之前,需要先通过系统辅助工具校验。";
|
||
|
||
"fixture.task.scan.summary" = "已扫描 214 个位置,并生成预计可释放 35.3 GB 的清理计划。";
|
||
"fixture.task.execute.summary" = "正在将安全缓存项移入恢复区。";
|
||
"fixture.task.permissions.summary" = "权限状态已刷新,无需立即弹窗请求。";
|
||
|
||
"fixture.recovery.chromeCache.title" = "Chrome 缓存包";
|
||
"fixture.recovery.chromeCache.detail" = "来自上一次智能清理的可恢复缓存包。";
|
||
"fixture.recovery.chromeCache.payload" = "从上一次智能清理中恢复的缓存数据。";
|
||
"fixture.recovery.simulatorSupport.title" = "旧版模拟器设备支持";
|
||
"fixture.recovery.simulatorSupport.detail" = "这是仍需复核的项目,保留一周后才会清除。";
|
||
"fixture.recovery.simulatorSupport.payload" = "等待复核的模拟器支持文件。";
|
||
|
||
"fixture.permission.fullDiskAccess.rationale" = "只有在扫描系统级缓存、应用残留和受保护的 Library 路径时才需要。";
|
||
"fixture.permission.accessibility.rationale" = "卸载流程需要安全关闭正在运行的应用时,再请求此权限即可。";
|
||
"fixture.permission.notifications.rationale" = "用于长任务完成通知和恢复提醒。";
|
||
|
||
"fixture.health.optimization.dns.title" = "DNS 与 Spotlight 检查";
|
||
"fixture.health.optimization.dns.detail" = "刷新 DNS 缓存并确认 Spotlight 状态。";
|
||
"fixture.health.optimization.finder.title" = "Finder 缓存刷新";
|
||
"fixture.health.optimization.finder.detail" = "刷新 QuickLook 缩略图与图标服务缓存。";
|
||
"fixture.health.optimization.memory.title" = "内存优化";
|
||
"fixture.health.optimization.memory.detail" = "释放非活跃内存以改善系统响应。";
|
||
|
||
"fixture.storage.downloads.title" = "下载归档";
|
||
"fixture.storage.downloads.age" = "大部分文件已超过 90 天";
|
||
"fixture.storage.movies.title" = "影片导出目录";
|
||
"fixture.storage.movies.age" = "最近 6 个月内生成的大型媒体文件";
|
||
"fixture.storage.installers.title" = "未使用的安装器";
|
||
"fixture.storage.installers.age" = "大部分磁盘镜像已超过 30 天";
|
||
"application.error.workerRejected" = "后台服务拒绝了请求(%@):%@";
|
||
"xpc.error.encodingFailed" = "无法编码后台请求:%@";
|
||
"xpc.error.decodingFailed" = "无法解析后台响应:%@";
|
||
"xpc.error.invalidResponse" = "后台工作组件返回了无效响应。请完全退出并重新打开 Atlas;若仍失败,请重新安装当前版本。";
|
||
"xpc.error.connectionUnavailable" = "后台工作组件不可用。请完全退出 Atlas,并从“应用程序”文件夹重新打开当前安装版本;若仍失败,请删除旧版本后重新安装。系统详情:%@";
|
||
"xpc.error.timedOut" = "后台工作组件响应超时(%.1f 秒)。请重试;若持续出现,请重新打开 Atlas。";
|
||
"application.plan.inspectPrivileged" = "检查 %@ 的受权限影响清理项";
|
||
"application.plan.reviewFinding" = "复核 %@";
|
||
"application.plan.reviewSelected.one" = "复核 1 个已选发现项";
|
||
"application.plan.reviewSelected.other" = "复核 %d 个已选发现项";
|
||
"application.scan.completed" = "智能清理扫描已完成,并已生成清理计划。";
|
||
"application.preview.updated.one" = "已根据 1 个操作更新清理计划。";
|
||
"application.preview.updated.other" = "已根据 %d 个操作更新清理计划。";
|
||
"application.plan.executed" = "清理计划已执行完成。";
|
||
"application.recovery.completed" = "恢复操作已完成。";
|
||
"application.apps.loaded.one" = "已载入 1 个应用占用项。";
|
||
"application.apps.loaded.other" = "已载入 %d 个应用占用项。";
|
||
"application.apps.previewUpdated" = "已更新 %@ 的卸载计划。";
|
||
"application.apps.uninstallCompleted" = "应用卸载已完成。";
|
||
|
||
"infrastructure.permission.fullDiskAccess.granted" = "Atlas 已可检查更广范围的受保护用户数据位置。";
|
||
"infrastructure.permission.fullDiskAccess.needed" = "只有在扫描 Mail、Safari 或 Messages 等受保护的 Library 区域时才需要。若你刚在系统设置里开启,请完全退出并重新打开 Atlas 后再检查权限状态。";
|
||
"infrastructure.permission.accessibility.granted" = "Atlas 已可协调关闭应用,以支持更安全的卸载流程。";
|
||
"infrastructure.permission.accessibility.needed" = "当卸载流程需要安全关闭正在运行的应用时,再请求此权限即可。";
|
||
"infrastructure.permission.notifications.granted" = "Atlas 已可为长任务发送完成和恢复提醒。";
|
||
"infrastructure.permission.notifications.needed" = "用于长任务完成通知和恢复提醒。";
|
||
"infrastructure.scan.completed.one" = "已扫描 1 组发现项,并生成清理计划。";
|
||
"infrastructure.scan.completed.other" = "已扫描 %d 组发现项,并生成清理计划。";
|
||
"infrastructure.execute.summary.clean.one" = "已将 1 个智能清理项目移入恢复区。";
|
||
"infrastructure.execute.summary.clean.other" = "已将 %d 个智能清理项目移入恢复区。";
|
||
"infrastructure.execute.summary.clean.mixed" = "已将 %d 个智能清理项目移入恢复区;仍有 %d 个高级项目需复核。";
|
||
"infrastructure.restore.summary.one" = "已将 1 个项目恢复回工作区。";
|
||
"infrastructure.restore.summary.other" = "已将 %d 个项目恢复回工作区。";
|
||
"infrastructure.apps.loaded.one" = "已载入 1 个应用占用项。";
|
||
"infrastructure.apps.loaded.other" = "已载入 %d 个应用占用项。";
|
||
"infrastructure.apps.preview.summary" = "已为 %@ 生成卸载计划。";
|
||
"infrastructure.apps.uninstall.summary" = "已将 %@ 及其残留移入恢复区。";
|
||
"infrastructure.recovery.app.detail.one" = "可恢复的卸载包,包含 1 个残留项目。";
|
||
"infrastructure.recovery.app.detail.other" = "可恢复的卸载包,包含 %d 个残留项目。";
|
||
"infrastructure.plan.review.one" = "复核 1 个已选发现项";
|
||
"infrastructure.plan.review.other" = "复核 %d 个已选发现项";
|
||
"infrastructure.plan.uninstall.title" = "卸载 %@";
|
||
"infrastructure.plan.uninstall.moveBundle.title" = "将 %@ 应用包移入恢复区";
|
||
"infrastructure.plan.uninstall.moveBundle.detail" = "将位于 %@ 的应用包移入废纸篓,同时在历史中保留本次卸载记录。";
|
||
"infrastructure.plan.uninstall.archive.one" = "归档 1 个残留项目";
|
||
"infrastructure.plan.uninstall.archive.other" = "归档 %d 个残留项目";
|
||
"infrastructure.plan.uninstall.archive.detail" = "支持文件、缓存和启动项仍会通过恢复历史保留可追溯性。";
|
||
"infrastructure.action.reviewUninstall" = "复核 %@ 的卸载计划";
|
||
"infrastructure.action.inspectPrivileged" = "检查 %@ 的受权限影响清理项";
|
||
"infrastructure.action.archiveRecovery" = "将 %@ 归档到恢复区";
|
||
"infrastructure.action.moveToTrash" = "将 %@ 移入废纸篓";
|
||
"app.search.prompt" = "搜索发现项、应用、历史";
|
||
"app.search.hint" = "搜索当前页面中可见的内容。";
|
||
"app.search.prompt.route" = "搜索 %@";
|
||
"app.search.hint.route" = "搜索 %@ 中当前可见的内容。";
|
||
|
||
"commands.navigate.menu" = "导航";
|
||
"commands.actions.menu" = "操作";
|
||
"commands.taskcenter.open" = "打开任务中心";
|
||
"commands.taskcenter.close" = "关闭任务中心";
|
||
"commands.actions.refreshCurrent" = "刷新当前页面";
|
||
"commands.actions.runScan" = "运行智能清理扫描";
|
||
"commands.actions.refreshApps" = "刷新应用占用";
|
||
"commands.actions.refreshPermissions" = "检查权限状态";
|
||
"commands.actions.refreshHealth" = "刷新系统快照";
|
||
|
||
"toolbar.taskcenter" = "任务中心";
|
||
"toolbar.taskcenter.help" = "打开最近任务活动(⌘7)";
|
||
"toolbar.taskcenter.accessibilityLabel" = "打开任务中心";
|
||
"toolbar.taskcenter.accessibilityHint" = "显示最近任务活动,并可快速跳转到历史页面。";
|
||
"toolbar.permissions" = "权限";
|
||
"toolbar.permissions.help" = "检查权限状态(⌥⌘P)";
|
||
"toolbar.permissions.accessibilityLabel" = "打开权限并检查状态";
|
||
"toolbar.permissions.accessibilityHint" = "进入权限页面并检查当前权限快照。";
|
||
"toolbar.settings" = "设置";
|
||
"toolbar.settings.help" = "打开设置(⌘6)";
|
||
"toolbar.settings.accessibilityLabel" = "打开设置";
|
||
"toolbar.settings.accessibilityHint" = "进入偏好、保留策略、通知和说明页面。";
|
||
"sidebar.route.hint" = "键盘快捷键 Command-%@。";
|
||
|
||
"common.days" = "天";
|
||
"common.enabled" = "已开启";
|
||
"common.disabled" = "已关闭";
|
||
"common.granted" = "已授予";
|
||
"common.neededLater" = "暂不需要";
|
||
"common.recoverable" = "可恢复";
|
||
"common.manualReview" = "需复核";
|
||
"common.visible" = "可见";
|
||
|
||
"model.scan.ready" = "准备开始扫描并生成清理计划。";
|
||
"model.scan.submitting" = "正在开始智能清理扫描并生成清理计划…";
|
||
"model.apps.ready" = "准备检查应用占用并生成卸载计划。";
|
||
"model.apps.refreshing" = "正在刷新应用占用并更新卸载计划…";
|
||
"model.permissions.ready" = "需要时可随时检查权限状态。";
|
||
"model.permissions.refreshing" = "正在检查权限状态…";
|
||
"model.permissions.summary.one" = "%d / %d 个跟踪权限当前可用。";
|
||
"model.permissions.summary.other" = "%d / %d 个跟踪权限当前可用。";
|
||
"model.taskcenter.none" = "当前没有活动任务";
|
||
"model.taskcenter.matching.one" = "1 个匹配任务";
|
||
"model.taskcenter.matching.other" = "%d 个匹配任务";
|
||
"model.taskcenter.active.one" = "1 个活动任务";
|
||
"model.taskcenter.active.other" = "%d 个活动任务";
|
||
|
||
"taskcenter.title" = "任务中心";
|
||
"taskcenter.callout.empty.title" = "当前没有匹配的任务活动";
|
||
"taskcenter.callout.empty.detail" = "运行扫描、执行清理计划、卸载应用或恢复项目后,任务时间线就会出现在这里。";
|
||
"taskcenter.callout.active.title" = "最近任务活动会集中显示在这里";
|
||
"taskcenter.callout.active.detail" = "想看完整审计轨迹和可恢复项目时,可以打开历史页面。";
|
||
"taskcenter.empty.title" = "还没有任务";
|
||
"taskcenter.empty.detail" = "试试新的搜索词,或者运行一次智能清理扫描来填充任务时间线。";
|
||
"taskcenter.openHistory" = "打开历史";
|
||
"taskcenter.openHistory.hint" = "进入历史页面,查看完整审计轨迹和恢复项。";
|
||
"taskcenter.timeline.finished" = "开始于 %@ • 结束于 %@";
|
||
"taskcenter.timeline.running" = "开始于 %@ • 仍在进行中";
|
||
|
||
"overview.screen.title" = "概览";
|
||
"overview.screen.subtitle" = "先看最重要的信息,再在理解取舍的前提下执行下一步安全维护。";
|
||
"overview.callout.ready.title" = "Atlas 已为当前主流程做好准备";
|
||
"overview.callout.ready.detail" = "当前主流程所需的核心权限已经就绪。像辅助功能、通知这类可稍后授予的权限,不会再把状态标记为受限。";
|
||
"overview.callout.limited.title" = "你仍然可以在受限模式下继续使用";
|
||
"overview.callout.limited.detail" = "当前仍缺少至少一项主流程必需权限,因此 Atlas 会保持受限模式;补齐后就会自动恢复为就绪状态。";
|
||
"overview.metric.reclaimable.title" = "预计可释放空间";
|
||
"overview.metric.reclaimable.detail" = "基于当前清理计划和最近的工作区状态估算。执行后会按剩余项目重新计算。";
|
||
"overview.metric.findings.title" = "就绪发现项";
|
||
"overview.metric.findings.detail" = "在真正执行前,Atlas 会先将其分为安全、复核和高级三个分区。";
|
||
"overview.metric.permissions.title" = "权限就绪度";
|
||
"overview.metric.permissions.ready" = "Atlas 已具备当前流程所需的权限。";
|
||
"overview.metric.permissions.limited" = "仍有主流程必需权限未就绪,因此当前显示为受限模式。";
|
||
"overview.snapshot.title" = "系统快照";
|
||
"overview.snapshot.subtitle" = "高信号健康数据,以及最适合优先处理的维护建议。";
|
||
"overview.snapshot.loading.title" = "正在刷新系统快照";
|
||
"overview.snapshot.loading.detail" = "Atlas 正在收集最新健康数据,然后更新推荐内容。";
|
||
"overview.snapshot.memory.title" = "已用内存";
|
||
"overview.snapshot.memory.detail" = "用于快速判断内存压力和长期后台负载。";
|
||
"overview.snapshot.disk.title" = "磁盘占用";
|
||
"overview.snapshot.disk.detail" = "当前系统卷已使用 %@ / %@ GB。";
|
||
"overview.snapshot.uptime.title" = "运行时长";
|
||
"overview.snapshot.uptime.detail" = "有助于发现陈旧缓存、长时间会话和重启时机。";
|
||
"overview.snapshot.callout.warning.title" = "当前存储压力较高,值得尽快处理";
|
||
"overview.snapshot.callout.warning.detail" = "建议先从智能清理中的“安全”分区开始,在不扩大风险的前提下释放空间。";
|
||
"overview.snapshot.callout.ok.title" = "当前系统状态稳定,适合进行一次安全清理";
|
||
"overview.snapshot.callout.ok.detail" = "先看下方维护建议,再在需要时进入智能清理做更深一步的规划。";
|
||
"overview.snapshot.empty.title" = "暂时无法获取系统快照";
|
||
"overview.snapshot.empty.detail" = "Atlas 仍然可以显示已持久化的发现项和恢复数据,并等待下一次健康刷新。";
|
||
"overview.actions.title" = "推荐操作";
|
||
"overview.actions.subtitle" = "当前工作区里最值得优先处理的高价值发现项。";
|
||
"overview.actions.empty.title" = "没有匹配的发现项";
|
||
"overview.actions.empty.detail" = "重新运行智能清理,或者清空当前搜索,以重新生成推荐操作列表。";
|
||
"overview.activity.title" = "最近活动";
|
||
"overview.activity.subtitle" = "查看 Atlas 最近做了什么,以及哪些操作仍可恢复。";
|
||
"overview.activity.empty.title" = "最近没有活动";
|
||
"overview.activity.empty.detail" = "下一次扫描、执行或恢复操作后,这里就会出现任务时间线。";
|
||
"overview.activity.timeline.finished" = "开始于 %@ • 结束于 %@";
|
||
"overview.activity.timeline.running" = "开始于 %@ • 仍在进行中";
|
||
"overview.risk.safe" = "低风险清理";
|
||
"overview.risk.review" = "建议删除前先复核";
|
||
"overview.risk.advanced" = "建议高级检查";
|
||
"overview.actions.viewAll" = "查看全部 %d 项发现";
|
||
"overview.activity.viewAll" = "查看全部活动";
|
||
"overview.snapshot.viewAllOptimizations" = "展开全部 %d 条建议";
|
||
"overview.snapshot.collapseOptimizations" = "收起建议";
|
||
"overview.action.smartClean" = "运行智能清理";
|
||
"overview.action.smartClean.hint" = "前往智能清理并开始扫描。";
|
||
"overview.action.permissions" = "修复权限";
|
||
"overview.action.permissions.hint" = "前往权限页面检查并授权。";
|
||
|
||
"smartclean.screen.title" = "智能清理";
|
||
"smartclean.screen.subtitle" = "先把扫描结果变成清晰的清理计划,再决定是否执行任何具有破坏性的操作。";
|
||
"smartclean.controls.title" = "扫描与计划";
|
||
"smartclean.controls.subtitle" = "先运行扫描,再更新计划,然后选择下一步最安全的动作。";
|
||
"smartclean.loading.scan" = "正在扫描可回收杂项";
|
||
"smartclean.loading.execute" = "正在执行已复核的清理计划";
|
||
"smartclean.action.runScan" = "运行扫描";
|
||
"smartclean.action.runScan.hint" = "开始新的智能清理扫描,并重建当前清理计划。";
|
||
"smartclean.action.refreshPreview" = "更新计划";
|
||
"smartclean.action.refreshPreview.hint" = "基于当前发现项重新生成清理计划,不会立即执行任何操作。";
|
||
"smartclean.action.execute" = "执行计划";
|
||
"smartclean.action.execute.hint" = "执行已复核的清理计划,并在历史中保留可恢复项目。";
|
||
"smartclean.primary.scan.title" = "先运行新的扫描";
|
||
"smartclean.primary.scan.detail" = "当你还没有当前可复核的计划时,扫描应该是唯一主动作。";
|
||
"smartclean.primary.refresh.title" = "先更新当前计划";
|
||
"smartclean.primary.refresh.detail" = "在信任这份计划之前,先刷新它,尤其是在发现项或验证状态发生变化后。";
|
||
"smartclean.primary.execute.title" = "执行已复核的计划";
|
||
"smartclean.primary.execute.detail" = "当前计划已经可用,因此执行应成为唯一主动作。";
|
||
"smartclean.metric.previewSize.title" = "预计释放空间";
|
||
"smartclean.metric.previewSize.detail" = "当前清理计划预计可释放的空间。执行后会按剩余项目重新计算。";
|
||
"smartclean.metric.actions.title" = "已选操作";
|
||
"smartclean.metric.actions.detail" = "Atlas 会在真正修改之前先列出每一个步骤。";
|
||
"smartclean.metric.review.title" = "需要复核";
|
||
"smartclean.metric.review.none" = "这份计划中的所有项目都可恢复。";
|
||
"smartclean.metric.review.some" = "这些项目在执行前值得再看一眼。";
|
||
"smartclean.preview.title" = "当前清理计划";
|
||
"smartclean.execution.real" = "可直接执行";
|
||
"smartclean.execution.reviewOnly" = "仅供复核";
|
||
"smartclean.execution.coverage.full" = "这份计划中的 %d 个步骤都可直接执行";
|
||
"smartclean.execution.coverage.partial" = "这份计划中有 %d/%d 个步骤可直接执行";
|
||
"smartclean.execution.coverage.full.detail" = "这些步骤会真正移动到废纸篓,并在有恢复路径时支持恢复。";
|
||
"smartclean.execution.coverage.partial.detail" = "其余 %d 个步骤仍需复核,或当前还不支持直接执行。";
|
||
"smartclean.preview.metric.space.title" = "这份计划预计释放";
|
||
"smartclean.preview.metric.space.detail.one" = "按当前 1 个计划步骤估算。";
|
||
"smartclean.preview.metric.space.detail.other" = "按当前 %d 个计划步骤估算。";
|
||
"smartclean.preview.callout.safe.title" = "当前计划主要来自“安全”分区";
|
||
"smartclean.preview.callout.safe.detail" = "大多数已选步骤都可以在历史和恢复中找回。";
|
||
"smartclean.preview.empty.detail.postExecution" = "运行一次扫描或更新计划,把当前发现项变成具体的清理步骤。若刚执行完计划,这里只显示剩余项目。";
|
||
"smartclean.preview.callout.review.detail" = "建议在执行前检查高亮步骤,确认哪些仍可恢复、哪些需要额外判断。";
|
||
"smartclean.preview.empty.title" = "还没有清理计划";
|
||
"smartclean.preview.empty.detail" = "运行一次扫描或更新计划,把当前发现项变成具体的清理步骤。";
|
||
"smartclean.empty.title" = "没有匹配的发现项";
|
||
"smartclean.empty.detail" = "清空当前搜索,或重新运行一次扫描来填充智能清理分区。";
|
||
"smartclean.status.scanning" = "正在扫描可回收杂项";
|
||
"smartclean.status.executing" = "正在应用已复核的清理方案";
|
||
"smartclean.status.empty" = "运行新的扫描以生成清理计划";
|
||
"smartclean.status.cached" = "当前计划尚未重新验证";
|
||
"smartclean.status.revalidationFailed" = "未能更新当前计划";
|
||
"smartclean.cached.title" = "这份计划来自上一次结果";
|
||
"smartclean.revalidationFailed.title" = "重新验证失败,以下仍是上一次计划";
|
||
"smartclean.cached.detail" = "请先重新运行扫描或更新计划,再执行。当前显示的只是上一次保存的计划,不能直接视为当前可执行结果。";
|
||
"smartclean.status.empty.detail" = "Atlas 会先把扫描结果变成清理计划,再执行任何操作,方便你先复核风险和恢复方式。";
|
||
"smartclean.status.ready" = "先复核计划,再执行";
|
||
"smartclean.status.ready.detail" = "当前已有 %d 个发现项。建议先从“安全”分区开始,再复核“复核”和“高级”分区中的项目。";
|
||
"smartclean.support.removeCache" = "适合作为可恢复的清理步骤。";
|
||
"smartclean.support.removeApp" = "卸载前先复核占用和残留,更容易形成可预期结果。";
|
||
"smartclean.support.archiveFile" = "在支持的情况下,Atlas 会将此类项目保留在可恢复路径中。";
|
||
"smartclean.support.inspectPermission" = "在 Atlas 能安全继续之前,需要额外确认。";
|
||
"smartclean.section.safe" = "高置信度的清理候选项,通常也更容易恢复。";
|
||
"smartclean.section.review" = "建议删除前快速复核一次。";
|
||
"smartclean.section.advanced" = "可能较敏感的项目,值得做更审慎的决定。";
|
||
"smartclean.expectation.safe" = "通常可恢复";
|
||
"smartclean.expectation.review" = "删除前先复核";
|
||
"smartclean.expectation.advanced" = "建议谨慎检查";
|
||
|
||
"apps.screen.title" = "应用";
|
||
"apps.screen.subtitle" = "先检查每个应用的占用、残留和恢复路径,再决定是否卸载。";
|
||
"apps.callout.default.title" = "先复核卸载计划,再决定是否移除";
|
||
"apps.callout.default.detail" = "Atlas 会先列出占用较大的应用,再生成卸载计划,方便你检查残留和恢复预期。";
|
||
"apps.callout.preview.title" = "卸载计划已准备好";
|
||
"apps.callout.preview.detail" = "请先复核下面的步骤,确认会删除什么、哪些项目可恢复、哪些残留需要额外注意。";
|
||
"apps.maintenance.title" = "应用维护";
|
||
"apps.maintenance.subtitle" = "刷新本地应用清单,并优先复核占用较大的卸载候选项。";
|
||
"apps.inventory.title" = "应用清单";
|
||
"apps.inventory.subtitle" = "先刷新清单,再一次只处理一个应用,而不是在长列表里直接做卸载决定。";
|
||
"apps.loading.title" = "正在刷新应用占用";
|
||
"apps.metric.listed.title" = "已列出应用";
|
||
"apps.metric.listed.detail" = "Atlas 当前可以检查并生成卸载计划的已安装应用数量。";
|
||
"apps.metric.footprint.title" = "总应用占用";
|
||
"apps.metric.footprint.detail" = "当前应用清单的总体空间占用。";
|
||
"apps.metric.leftovers.title" = "残留文件";
|
||
"apps.metric.leftovers.detail" = "Atlas 会在卸载前先把这些附加文件纳入计划,方便你逐项确认。";
|
||
"apps.refresh.action" = "刷新应用占用";
|
||
"apps.refresh.running" = "正在刷新…";
|
||
"apps.refresh.hint" = "刷新已安装应用清单,并重新计算占用。";
|
||
"apps.preview.title" = "卸载计划";
|
||
"apps.preview.metric.size.title" = "预计释放空间";
|
||
"apps.preview.metric.size.detail" = "执行这份卸载计划后,预计可释放的空间,包含残留文件。";
|
||
"apps.preview.metric.actions.title" = "计划步骤";
|
||
"apps.preview.metric.actions.detail" = "Atlas 会在真正移除前先列出每一个卸载步骤。";
|
||
"apps.preview.metric.recoverable.title" = "可恢复步骤";
|
||
"apps.preview.metric.recoverable.detail" = "支持恢复的步骤会在历史和恢复中保留。";
|
||
"apps.preview.callout.safe.title" = "这份卸载计划大多可恢复";
|
||
"apps.preview.callout.safe.detail" = "在支持的情况下,Atlas 会为所选应用及相关文件保留恢复路径。";
|
||
"apps.preview.callout.review.title" = "这份卸载计划中仍有步骤需要复核";
|
||
"apps.preview.callout.review.detail" = "建议逐项查看计划,确保卸载结果和残留清理方式符合你的预期。";
|
||
"apps.preview.row.recoverable" = "支持时可通过历史恢复。";
|
||
"apps.preview.row.review" = "执行前需复核。";
|
||
"apps.preview.action" = "查看计划";
|
||
"apps.preview.running" = "正在生成计划…";
|
||
"apps.preview.hint" = "先为这个应用生成卸载计划,再决定是否真正移除。";
|
||
"apps.uninstall.action" = "执行卸载";
|
||
"apps.uninstall.running" = "正在卸载…";
|
||
"apps.uninstall.hint" = "执行已复核的卸载计划,并在支持时保留可恢复项目。";
|
||
"apps.list.title" = "已安装应用占用";
|
||
"apps.list.subtitle" = "在一个列表中查看应用占用、标识符、残留数量和卸载操作。";
|
||
"apps.list.empty.title" = "没有匹配的应用";
|
||
"apps.list.empty.detail" = "试试新的搜索词,或者刷新应用列表以检查最新的候选项。";
|
||
"apps.list.row.footnote" = "%@ • 残留 %d 项";
|
||
"apps.list.row.leftovers" = "残留 %d 项";
|
||
"apps.browser.title" = "逐个复核应用";
|
||
"apps.browser.subtitle" = "从分组列表里选择一个应用,先检查占用,再生成卸载计划并决定是否执行。";
|
||
"apps.group.large" = "大体积应用";
|
||
"apps.group.leftovers" = "有残留";
|
||
"apps.group.other" = "其他应用";
|
||
"apps.detail.title" = "应用详情";
|
||
"apps.detail.empty.title" = "选择一个应用";
|
||
"apps.detail.empty.detail" = "从左侧列表选择一个应用,以检查占用并生成卸载计划。";
|
||
"apps.detail.size" = "应用占用";
|
||
"apps.detail.leftovers" = "残留文件";
|
||
"apps.detail.path" = "应用包路径";
|
||
"apps.detail.callout.preview.title" = "先生成卸载计划";
|
||
"apps.detail.callout.preview.detail" = "为了让卸载更可控,Atlas 会先展示准确步骤,再决定是否真正移除。";
|
||
"apps.detail.callout.ready.title" = "这个应用已经可以在复核后卸载";
|
||
"apps.detail.callout.ready.detail" = "下面的计划会说明将删除什么,以及哪些内容仍可恢复。";
|
||
|
||
"history.screen.title" = "历史";
|
||
"history.screen.subtitle" = "查看执行过的任务、发生的变更,以及在恢复窗口关闭前仍可找回的项目。";
|
||
"history.callout.empty.title" = "即使恢复区为空,历史仍然可用";
|
||
"history.callout.empty.detail" = "审计轨迹仍会记录已完成的工作,下一次可恢复操作也会自动出现在这里。";
|
||
"history.callout.expiring.title" = "有恢复项即将到期";
|
||
"history.callout.expiring.detail" = "先查看恢复列表,确认是否有仍需找回的项目,避免在保留窗口关闭后再处理。";
|
||
"history.callout.running.title" = "最近有任务仍在进行中";
|
||
"history.callout.running.detail" = "保留时间线可帮助你确认任务何时完成,以及是否会产生新的可恢复项目。";
|
||
"history.callout.recovery.title" = "恢复优先的清理策略已启用";
|
||
"history.callout.recovery.detail" = "每个可恢复操作都会在保留期结束前保持可见,便于你有把握地撤销决定。";
|
||
"history.metric.activity.title" = "当前记录";
|
||
"history.metric.activity.detail.empty" = "运行一次扫描或清理操作后,这里会开始形成审计轨迹。";
|
||
"history.metric.activity.detail.latest" = "最近更新 %@";
|
||
"history.metric.running.title" = "进行中";
|
||
"history.metric.running.detail.none" = "当前没有仍在运行的任务。";
|
||
"history.metric.running.detail.active" = "正在运行的任务会固定显示在时间线中,直到完成。";
|
||
"history.metric.recovery.title" = "可恢复项";
|
||
"history.metric.recovery.detail.none" = "当前没有等待恢复的项目。";
|
||
"history.metric.recovery.detail.available" = "共 %@,仍可恢复。";
|
||
"history.browser.title" = "浏览历史";
|
||
"history.browser.subtitle" = "先看仍可恢复的内容,需要回溯旧任务时再打开归档,避免信息混在一起。";
|
||
"history.browser.section.recovery" = "可恢复";
|
||
"history.browser.section.archive" = "归档";
|
||
"history.browser.summary.archive.one" = "1 条归档任务记录";
|
||
"history.browser.summary.archive.other" = "%d 条归档任务记录";
|
||
"history.browser.summary.recovery.one" = "1 个可恢复项目";
|
||
"history.browser.summary.recovery.other" = "%d 个可恢复项目";
|
||
"history.runs.title" = "归档";
|
||
"history.runs.subtitle" = "把当前和过往任务分组展示,避免旧记录把页面拖得太长。";
|
||
"history.runs.empty.title" = "没有匹配的任务";
|
||
"history.runs.empty.detail" = "运行一次扫描,或者清空当前搜索,以查看最新任务时间线。";
|
||
"history.timeline.latest" = "最新";
|
||
"history.timeline.meta.started" = "开始于 %@";
|
||
"history.timeline.meta.finished" = "结束于 %@";
|
||
"history.timeline.meta.running" = "仍在进行中";
|
||
"history.recovery.title" = "可恢复项目";
|
||
"history.recovery.subtitle" = "恢复前先确认原始位置和保留窗口。";
|
||
"history.recovery.empty.title" = "没有匹配的恢复项";
|
||
"history.recovery.empty.detail" = "恢复优先的删除策略已启用,但当前搜索下没有匹配的项目。";
|
||
"history.recovery.badge.available" = "可恢复";
|
||
"history.recovery.badge.expiring" = "即将到期";
|
||
"history.recovery.filter.all" = "全部";
|
||
"history.recovery.filter.expiring" = "即将到期";
|
||
"history.recovery.filtered.empty.title" = "这个筛选下没有项目";
|
||
"history.recovery.filtered.empty.detail" = "试试其他恢复分类,或清空当前筛选来查看所有仍可恢复的项目。";
|
||
"history.recovery.group.expiring" = "即将到期";
|
||
"history.recovery.group.apps" = "应用";
|
||
"history.recovery.group.developer" = "开发者";
|
||
"history.recovery.group.browsers" = "浏览器";
|
||
"history.recovery.group.system" = "系统";
|
||
"history.recovery.group.other" = "其他";
|
||
"history.recovery.meta.deleted" = "删除于 %@";
|
||
"history.recovery.meta.expires" = "可恢复至 %@";
|
||
"history.recovery.meta.noexpiry" = "保留窗口仍然开放";
|
||
"history.recovery.path.label" = "原始位置";
|
||
"history.archive.group.active" = "仍在运行";
|
||
"history.archive.group.recent" = "近期记录";
|
||
"history.archive.group.older" = "更早归档";
|
||
"history.detail.title" = "详情";
|
||
"history.detail.empty.title" = "选择一个项目";
|
||
"history.detail.empty.detail" = "在左侧选择一条时间线记录或一个恢复项,即可在这里查看详情。";
|
||
"history.detail.task.status" = "状态";
|
||
"history.detail.task.started" = "开始时间";
|
||
"history.detail.task.finished" = "结束时间";
|
||
"history.detail.task.finished.running" = "仍在进行中";
|
||
"history.detail.task.callout.queued.title" = "任务已进入队列";
|
||
"history.detail.task.callout.queued.detail" = "系统已经接受这项任务,但执行尚未真正开始。";
|
||
"history.detail.task.callout.running.title" = "任务仍在运行中";
|
||
"history.detail.task.callout.running.detail" = "如果你想确认任务何时完成,可以先保留这个详情视图。";
|
||
"history.detail.task.callout.completed.title" = "任务已成功完成";
|
||
"history.detail.task.callout.completed.detail" = "可通过下面的摘要和时间信息确认这次变更实际做了什么。";
|
||
"history.detail.task.callout.failed.title" = "任务未能完整结束";
|
||
"history.detail.task.callout.failed.detail" = "建议先检查摘要和最近活动,再决定是否重新执行。";
|
||
"history.detail.recovery.size" = "大小";
|
||
"history.detail.recovery.deleted" = "删除时间";
|
||
"history.detail.recovery.window" = "保留窗口";
|
||
"history.detail.recovery.window.open" = "仍可恢复";
|
||
"history.detail.recovery.callout.available.title" = "这个项目仍可恢复";
|
||
"history.detail.recovery.callout.available.detail" = "只要保留窗口还在,你可以在准备好后随时恢复。";
|
||
"history.detail.recovery.callout.expiring.title" = "如果还需要它,请尽快恢复";
|
||
"history.detail.recovery.callout.expiring.detail" = "这个恢复项已经接近保留窗口的结束时间。";
|
||
"history.restore.action" = "恢复";
|
||
"history.restore.running" = "正在恢复…";
|
||
"history.restore.hint" = "只要恢复窗口仍然开放,就可以把这个项目恢复回工作区。";
|
||
"history.run.footnote.finished" = "开始于 %@ • 结束于 %@";
|
||
"history.run.footnote.running" = "开始于 %@ • 仍在进行中";
|
||
"history.recovery.footnote.deleted" = "删除于 %@";
|
||
"history.recovery.footnote.expires" = "可恢复至 %@";
|
||
|
||
"permissions.screen.title" = "权限";
|
||
"permissions.screen.subtitle" = "先解释为什么需要访问,保持受限模式可用,并且只在具体流程真正需要时再打开系统设置。";
|
||
"permissions.callout.ready.title" = "核心访问能力已就绪";
|
||
"permissions.callout.ready.detail" = "当前主流程所需的权限已经齐备。其余权限即使暂未授予,也只会在相关流程真正需要时再提示。";
|
||
"permissions.callout.limited.title" = "当前仍处于受限模式";
|
||
"permissions.callout.limited.detail" = "至少还有一项主流程必需权限未就绪。你仍可继续浏览和部分扫描,但更深层操作会保持受限,直到权限状态刷新为止。";
|
||
"permissions.next.title" = "下一步";
|
||
"permissions.next.subtitle" = "只突出当前最重要的权限决策,其余状态留在上下文中查看。";
|
||
"permissions.next.missing.title" = "下一步:%@";
|
||
"permissions.next.ready.title" = "当前没有紧急权限事项";
|
||
"permissions.next.ready.detail" = "当前已具备 %d/%d 项跟踪权限。";
|
||
"permissions.controls.title" = "权限概览";
|
||
"permissions.controls.subtitle" = "检查当前权限快照,并在打开系统设置前理解每项权限的用途。";
|
||
"permissions.loading.title" = "正在刷新权限状态";
|
||
"permissions.metric.granted.title" = "已授予";
|
||
"permissions.metric.granted.detail" = "Atlas 当前已可依赖的权限数量。";
|
||
"permissions.metric.required.title" = "当前必需";
|
||
"permissions.metric.required.detail" = "决定是否退出受限模式的核心权限。";
|
||
"permissions.metric.later.title" = "暂不需要";
|
||
"permissions.metric.later.detail" = "这些权限暂未授予也不会让 Atlas 进入受限模式,只有相关流程需要时才会用到。";
|
||
"permissions.metric.tracked.title" = "跟踪权限";
|
||
"permissions.metric.tracked.detail" = "当前版本展示的最小权限集合。";
|
||
"permissions.refresh" = "检查权限状态";
|
||
"permissions.refresh.hint" = "检查当前权限快照,而不会直接打开系统设置。";
|
||
"permissions.requiredSection.title" = "当前必需";
|
||
"permissions.requiredSection.subtitle" = "这些权限决定了 Atlas 是否能完整支持当前主流程。";
|
||
"permissions.optionalSection.title" = "可稍后处理";
|
||
"permissions.optionalSection.subtitle" = "先折叠这些权限,等相关流程真正需要时再展开。";
|
||
"permissions.optionalSection.disclosure" = "可选权限";
|
||
"permissions.optionalSection.count.one" = "%d 项待处理";
|
||
"permissions.optionalSection.count.other" = "%d 项待处理";
|
||
"permissions.status.title" = "权限详情";
|
||
"permissions.status.subtitle" = "每张卡片都会说明这项权限能解锁什么、什么时候需要,以及是否可以稍后再处理。";
|
||
"permissions.empty.title" = "没有匹配的权限状态";
|
||
"permissions.empty.detail" = "刷新权限,或清空当前搜索,以查看当前访问模型。";
|
||
"permissions.row.ready" = "依赖这项权限的流程现在已经可以运行。";
|
||
"permissions.row.required" = "当前主流程需要这项权限。";
|
||
"permissions.row.optional" = "这项权限可以等相关流程真正需要时再授予。";
|
||
"permissions.status.required" = "需要授权";
|
||
"permissions.status.optional" = "可稍后授权";
|
||
"permissions.grant.action" = "打开系统设置";
|
||
"permissions.grant.notifications" = "请求通知权限";
|
||
"permissions.support.fullDiskAccess" = "只有在你想扫描更深层的受保护 Library 位置时才需要。若刚开启,请完全退出并重新打开 Atlas,再回来检查。";
|
||
"permissions.support.accessibility" = "只有在 Atlas 需要先安全关闭正在运行的应用再卸载时才需要。";
|
||
"permissions.support.notifications" = "不是必须项,但对长任务提醒和恢复提醒很有帮助。";
|
||
|
||
"settings.screen.title" = "设置";
|
||
"settings.screen.subtitle" = "在这里调整语言、恢复保留期、通知、排除项,并查看致谢与说明。";
|
||
"settings.callout.title" = "Atlas 会将状态保存在本地,并让破坏性操作保持可审计";
|
||
"settings.callout.detail" = "恢复保留策略、通知、排除项、致谢和说明都集中在这里,方便你在真正依赖产品前先理解其行为。";
|
||
"settings.panel.title" = "偏好中心";
|
||
"settings.panel.subtitle" = "在活跃设置、恢复行为和信任信息之间切换,而不是在一个长页面里反复滚动。";
|
||
"settings.panel.general" = "通用";
|
||
"settings.panel.recovery" = "恢复";
|
||
"settings.panel.trust" = "信任";
|
||
"settings.general.title" = "通用";
|
||
"settings.general.subtitle" = "设置日常维护会用到的语言、恢复保留期和通知。";
|
||
"settings.language.title" = "界面语言";
|
||
"settings.language.detail" = "当前优先支持简体中文和英文切换。";
|
||
"settings.language.picker" = "选择界面语言";
|
||
"settings.language.hint" = "在简体中文和英文之间切换,默认语言为简体中文。";
|
||
"settings.retention.title" = "恢复保留时长";
|
||
"settings.retention.value" = "%d 天";
|
||
"settings.retention.detail" = "可恢复的清理结果会在这个时间窗口内保留。";
|
||
"settings.retention.adjust" = "调整保留时长";
|
||
"settings.retention.hint" = "更改可恢复项目的保留天数。";
|
||
"settings.recoveryPanel.title" = "恢复行为";
|
||
"settings.recoveryPanel.subtitle" = "控制可恢复结果保留多久,以及哪些路径不进入计划。";
|
||
"settings.notifications.title" = "任务通知";
|
||
"settings.notifications.detail" = "适合在扫描、更新计划或清理需要较长时间时提醒你。";
|
||
"settings.notifications.toggle" = "启用任务通知";
|
||
"settings.notifications.hint" = "打开或关闭任务和恢复通知。";
|
||
"settings.distribution.title" = "分发方式";
|
||
"settings.distribution.value" = "Developer ID + Notarization";
|
||
"settings.distribution.detail" = "当前版本采用直接分发,而不是 Mac App Store。";
|
||
"settings.exclusions.title" = "规则与排除项";
|
||
"settings.exclusions.subtitle" = "这些路径不会出现在扫描结果和清理计划里。";
|
||
"settings.exclusions.empty.title" = "还没有配置排除项";
|
||
"settings.exclusions.empty.detail" = "在后续迭代前,Atlas 会先使用默认覆盖范围进行扫描。";
|
||
"settings.exclusions.row.subtitle" = "不会纳入清理建议和计划。";
|
||
"settings.trust.title" = "信任";
|
||
"settings.trust.subtitle" = "这些承诺帮助你理解 Atlas 如何安全地处理清理与恢复。";
|
||
"settings.trust.ack.title" = "开源致谢";
|
||
"settings.trust.ack.subtitle" = "在应用内可见,帮助用户理解产品来源。";
|
||
"settings.trust.notices.title" = "第三方说明";
|
||
"settings.trust.notices.subtitle" = "与致谢内容一起在应用内展示。";
|
||
"settings.trust.destructive.title" = "破坏性操作";
|
||
"settings.trust.destructive.subtitle" = "Atlas 会尽量把具有破坏性的操作做成可恢复、可复核、可追溯。";
|
||
"settings.trust.destructive.badge" = "恢复优先";
|
||
"settings.trust.documents.title" = "参考文档";
|
||
"settings.trust.documents.subtitle" = "只有在需要完整文本时再打开致谢和第三方说明。";
|
||
"settings.trust.documents.ack" = "查看致谢";
|
||
"settings.trust.documents.notices" = "查看第三方说明";
|
||
"settings.legal.title" = "法律信息";
|
||
"settings.legal.subtitle" = "致谢与第三方声明";
|
||
"settings.acknowledgement.title" = "致谢";
|
||
"settings.acknowledgement.subtitle" = "用户无需离开产品,就能查看应用内致谢文本。";
|
||
"settings.notices.title" = "第三方说明";
|
||
"settings.notices.subtitle" = "用于展示随产品一起分发的第三方说明信息。";
|
||
|
||
"confirm.title" = "确认";
|
||
"confirm.cancel" = "取消";
|
||
"smartclean.confirm.execute.title" = "执行这份清理计划?";
|
||
"smartclean.confirm.execute.message" = "将按复核后的计划执行清理。标记为可恢复的项目可以在历史中找回。";
|
||
"apps.confirm.uninstall.title" = "卸载这个应用?";
|
||
"apps.confirm.uninstall.message" = "将移除 %@ 及其残留文件。可恢复的项目可以在历史中找回。";
|
||
"emptystate.action.scan" = "运行智能清理";
|
||
"emptystate.action.refresh" = "刷新应用";
|
||
"emptystate.action.viewHistory" = "查看历史";
|
||
"emptystate.action.startScan" = "开始扫描";
|
||
"about.screen.title" = "关于";
|
||
"about.screen.subtitle" = "Atlas for Mac 背后的开发者与愿景。";
|
||
"about.author.title" = "开发者";
|
||
"about.author.name" = "Lizi KK";
|
||
"about.author.role" = "前百度 & 阿里技术负责人 · atomstorm.ai 创始人";
|
||
"about.author.bio" = "使用 AI Coding 构建 Atlas。每一行代码都由 AI 辅助,但都经过了人的决策、审美和架构判断。";
|
||
"about.author.quote" = "AI 是极其强大的手和脚,但你必须做那个头脑清醒的大脑。";
|
||
"about.product.title" = "作者的其他产品";
|
||
"about.product.name" = "AtomStorm Studio";
|
||
"about.product.detail" = "AI Agent 驱动的设计创作平台——从想法到演示文稿、落地页和海报,几分钟搞定。";
|
||
"about.product.visit" = "访问 AtomStorm Studio";
|
||
"about.opensource.title" = "开源项目";
|
||
"about.opensource.name" = "Atlas for Mac (CleanMyPc)";
|
||
"about.opensource.detail" = "本项目已开源。欢迎在 GitHub 上 Star、Fork 或参与贡献。";
|
||
"about.opensource.visit" = "在 GitHub 上查看";
|
||
"about.social.title" = "关注作者";
|
||
"about.social.wechat" = "微信公众号";
|
||
"about.social.xiaohongshu" = "小红书";
|
||
"about.social.x" = "X (Twitter)";
|
||
"about.social.discord" = "Discord";
|
||
|
||
"smartclean.preview.callout.review.title" = "这份计划中仍有步骤需要复核";
|
||
|
||
"sidebar.section.core" = "核心";
|
||
"sidebar.section.manage" = "管理";
|
||
"about.window.title" = "关于 Atlas";
|
||
"commands.about" = "关于 Atlas";
|
||
|
||
"storage.screen.title" = "存储";
|
||
"storage.screen.subtitle" = "为未来版本预留的基于列表的存储视图。";
|
||
"storage.largeItems.title" = "大文件";
|
||
|
||
"update.version.title" = "版本信息";
|
||
"update.version.current" = "当前版本";
|
||
"update.version.build" = "构建号";
|
||
"update.check.action" = "检查更新";
|
||
"update.check.checking" = "正在检查…";
|
||
"update.available.title" = "发现新版本 %@";
|
||
"update.available.detail" = "当前版本 %@,最新版本 %@。建议前往 GitHub 下载更新。";
|
||
"update.available.download" = "前往下载";
|
||
"update.upToDate.title" = "已是最新版本";
|
||
"update.upToDate.detail" = "当前版本 %@ 已是最新,无需更新。";
|
||
"update.notice.title" = "暂时无法提供更新";
|
||
"update.notice.noPublishedRelease" = "Atlas for Mac 目前还没有发布可下载安装的版本。";
|
||
"update.error.title" = "检查更新失败";
|
||
"update.error.detail" = "无法连接到更新服务器,请稍后再试。";
|
||
"update.error.requestFailed" = "无法连接到 GitHub 更新服务器。";
|