feat(copy): 处理状态的「入库」改为「整理」,术语表与 check:copy 同步
真正入库取决于媒体服务器有没有扫到,本工具只负责整理(元数据、NFO 与图片、按规则归到目录)。 界面与面向用户的服务端文案里「已入库 / 未入库 / 部分入库 / 入库失败 / 入库中 / 入库后 / 原地入库…」 改为「已整理 / 未整理 / 部分整理 / 整理失败 / 整理中 / 整理后 / 原地整理…」;文件管理快速筛选「已整理」、 目录副行「n 个已整理 / 未整理」、季卡片「已整理 x/y」。代码标识符不改,「Emby 已有」这类媒体服务器状态保留。 glossary 加「整理」口径条目;check:copy 拦处理状态语境的「入库」搭配,其它线待替换的文件暂列 TERM_PENDING。 Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
This commit is contained in:
1 parent
79c3b8c9b9
commit
550ac285f4
67 files changed
+171
-143
No files matched your search
@@ -186,7 +186,7 @@ export function SubscriptionMenu({
|
||||
open={confirmReset}
|
||||
onOpenChange={setConfirmReset}
|
||||
title="重置这个订阅的进度?"
|
||||
description="取消还没提交、或下载任务已不在的计划,清掉延后记录,然后重新评估。仍在下载的任务、已入库文件和总集数保留。"
|
||||
description="取消还没提交、或下载任务已不在的计划,清掉延后记录,然后重新评估。仍在下载的任务、已整理文件和总集数保留。"
|
||||
confirmLabel="重置"
|
||||
onConfirm={() =>
|
||||
ops.reset(sub.id).catch((e) => {
|
||||
@@ -216,7 +216,7 @@ export function DeleteSubscriptionsDialog({
|
||||
open={open}
|
||||
onOpenChange={onOpenChange}
|
||||
title={ids.length > 1 ? `删除 ${ids.length} 个订阅?` : "删除这个订阅?"}
|
||||
description="不再搜索和追更。已入库文件、收录版本和下载记录保留,可在订阅历史里重新订阅。"
|
||||
description="不再搜索和追更。已整理文件、收录版本和下载记录保留,可在订阅历史里重新订阅。"
|
||||
confirmLabel="删除"
|
||||
destructive
|
||||
onConfirm={() =>
|
||||
|
||||
@@ -65,7 +65,7 @@ export function slotBadge(s: SubscriptionSlotSummary): ToneLabel {
|
||||
if (s.inflight > 0) return { label: `在途 ${s.inflight}`, tone: "neutral" };
|
||||
if (s.missing > 0) return { label: `缺 ${s.missing}`, tone: "destructive" };
|
||||
if (s.total !== null && s.total > 0 && s.have >= s.total) return { label: "已齐", tone: "success" };
|
||||
return { label: s.have > 0 ? `已入库 ${s.have}` : "未开始", tone: "neutral" };
|
||||
return { label: s.have > 0 ? `已整理 ${s.have}` : "未开始", tone: "neutral" };
|
||||
}
|
||||
|
||||
/** 名称列表折叠:≤max 个名 + "+N";空 = emptyLabel */
|
||||
@@ -121,7 +121,7 @@ export function cellKind(c: CoverageCell): CellKind {
|
||||
}
|
||||
|
||||
export const CELL_LABEL: Record<CellKind, string> = {
|
||||
have: "已入库",
|
||||
have: "已整理",
|
||||
upgradable: "可升级",
|
||||
inflight: "在途",
|
||||
deferred: "延后",
|
||||
@@ -429,9 +429,9 @@ export function draftToParams(
|
||||
// ── 日历(设计 §4)──
|
||||
|
||||
export const CALENDAR_STATE_LABEL: Record<CalendarEntryState, string> = {
|
||||
have: "已入库",
|
||||
partial: "部分入库",
|
||||
missing: "未入库",
|
||||
have: "已整理",
|
||||
partial: "部分整理",
|
||||
missing: "未整理",
|
||||
upcoming: "未播出",
|
||||
};
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@ export function ProgressBlock({ x, className }: { x: Pick<Item, "progress" | "mo
|
||||
"bg-[repeating-linear-gradient(90deg,var(--color-foreground)_0_4px,transparent_4px_8px)] opacity-20",
|
||||
)}
|
||||
role="img"
|
||||
aria-label={`已入库 ${x.progress.have},在途 ${x.progress.inflight},总 ${x.progress.total ?? "未知"}`}
|
||||
aria-label={`已整理 ${x.progress.have},在途 ${x.progress.inflight},总 ${x.progress.total ?? "未知"}`}
|
||||
>
|
||||
{unknown ? null : (
|
||||
<>
|
||||
|
||||
@@ -110,7 +110,7 @@ export function SlotPanel({
|
||||
disabled={setOrder.isPending}
|
||||
renderExtra={(r, i) => (
|
||||
<span className="flex shrink-0 flex-wrap items-center gap-x-3 gap-y-1 text-meta text-muted-foreground tabular-nums max-sm:w-full max-sm:pl-9">
|
||||
<span>已入库 {r.summary.have}</span>
|
||||
<span>已整理 {r.summary.have}</span>
|
||||
<span className={r.summary.missing ? "text-destructive" : undefined}>缺 {r.summary.missing}</span>
|
||||
<span>在途 {r.summary.inflight}</span>
|
||||
{i === 0 ? null : <span>{r.autoFill ? "自动补全" : "只登记缺失"}</span>}
|
||||
|
||||
@@ -694,7 +694,7 @@ export function SubscriptionFormDialog({
|
||||
<FormField
|
||||
label="洗版"
|
||||
htmlFor={f("upgrade")}
|
||||
hint="已入库的低于规则组最高档时继续找更好的,拿到最高档即完成"
|
||||
hint="已整理的低于规则组最高档时继续找更好的,拿到最高档即完成"
|
||||
>
|
||||
<Pick
|
||||
id={f("upgrade")}
|
||||
|
||||
Reference in new issue
Block a user