文案(媒体库组件):状态标签按术语表统一,去掉候选/退役/已预留等内部说法
Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
This commit is contained in:
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={
|
||||
<>
|
||||
|
||||
Reference in new issue
Block a user