文案(媒体库组件):状态标签按术语表统一,去掉候选/退役/已预留等内部说法

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
This commit is contained in:
rootandClaude Opus 5.5 committed 2026-10-07 01:48:33 +08:00
1 parent 542f107566
commit 9c7ce109ea
10 files changed
+48 -48

No files matched your search

@@ -53,7 +53,7 @@ const KIND_OPTS: { value: string; label: string }[] = SubscriptionMediaKind.opti
}));
export const PUBLISH_NOTICE =
"发布后,作用范围内的下载、追更和整理按此策略自动执行,不再逐次审批。升级替换、媒体清理和下载缓存清理仍需单独审批。旧的已发布版本被替代,授权随之失效。";
"发布后,作用范围内的下载、追更和整理按这个策略自动执行,不再逐次审批;升级替换、媒体清理和下载缓存清理仍要单独审批。上一个已发布版本的授权随之失效。";
type TemplateDraft = { key: string; name: string; rules: SlotRulesDraft; open: boolean };
type PolicyDraft = {
@@ -164,7 +164,7 @@ function buildPolicy(d: PolicyDraft):
const strict = AcquisitionPolicyRules.strict().safeParse(rules);
if (!strict.success && !Object.keys(errors).length) {
const i = strict.error.issues[0];
errors.rules = `规则结构不合法:${i?.path.join(".")} ${i?.message}`;
errors.rules = `规则格式有误:${i?.path.join(".")} ${i?.message}`;
}
if (Object.keys(errors).length || !meta.success) return { ok: false, errors };
return {
@@ -308,7 +308,7 @@ function PolicyGroup({
) : (
<Button variant="outline" size="sm" onClick={() => onDraftFrom(head)}>
<FilePlus2 />
基于 r{head.revision} 新建草案
从 r{head.revision} 新建草案
</Button>
)
}
@@ -449,7 +449,7 @@ function PolicyDetailSheet({
>
{!pv?.success ? (
<p className="rounded-lg border border-warning/30 bg-warning/10 px-3 py-2 text-caption text-warning">
这个草案还没有预览。先预览可以看到影响范围。
还没有预览。预览后能看到影响范围。
</p>
) : null}
</ConfirmDialog>
@@ -458,14 +458,14 @@ function PolicyDetailSheet({
<>
<Button variant="outline" onClick={() => onDraftFrom(rev)}>
<FilePlus2 />
基于此版本新建草案
从这个版本新建草案
</Button>
{rev.status === "superseded" || rev.status === "rolled_back" ? (
<ConfirmDialog
trigger={
<Button variant="outline">
<Undo2 />
回滚到此版本
回滚到这个版本
</Button>
}
title={`回滚到 r${rev.revision}?`}
@@ -538,7 +538,7 @@ function PreviewBlock({ value }: { value: JsonObject | null }) {
if (!value)
return (
<p className="text-caption text-muted-foreground">
还没有预览。预览用最近已识别的资源评估模板,不会执行任何操作。
还没有预览。预览用最近识别的资源试算模板,不会下载或整理。
</p>
);
const p = PolicyPreview.safeParse(value);
@@ -565,7 +565,7 @@ function PreviewBlock({ value }: { value: JsonObject | null }) {
))}
</div>
<p className="text-meta text-muted-foreground">
计算于 {formatDateTime(v.evaluatedAt)};接受/排除按"资源 × 模板"计数。
计算于 {formatDateTime(v.evaluatedAt)};接受 / 排除按「资源 × 模板」计数。
</p>
{v.samples.length ? (
<ul className="divide-y divide-border/60 rounded-lg border border-border/70">
@@ -586,7 +586,7 @@ function PreviewBlock({ value }: { value: JsonObject | null }) {
))}
</ul>
) : (
<p className="text-caption text-muted-foreground">没有可用于回放的已识别资源。</p>
<p className="text-caption text-muted-foreground">没有可回放的已识别资源。</p>
)}
</div>
);
@@ -659,7 +659,7 @@ function PolicyEditorSheet({
open
onOpenChange={(o) => !o && !pending && onClose()}
width="lg"
title={editId ? `编辑草案 r${base?.revision}` : base ? `基于 r${base.revision} 新建草案` : "新建收录策略草案"}
title={editId ? `编辑草案 r${base?.revision}` : base ? `从 r${base.revision} 新建草案` : "新建收录策略草案"}
description="保存为草案,发布后才生效。"
footer={
<>