style(copy): punctuation rules and site-wide fix with a CI check (QA U11)

- glossary: 10 punctuation rules (full-width in Chinese, CJK/Latin spacing,
  full-width parens around Chinese, single ellipsis, 「」 quotes, period rules)
- scripts/check-copy-punctuation.mjs: checks string literals, templates and JSX
  text (not comments, types, keys, match/compare strings); --fix, --strict,
  --by-file; wired into deno task ci as check:copy in warn mode
- --fix applied to web, server and contracts; files other lanes were editing
  (subscriptions, sites, browser, agent, auth/account, inventory) left for them
- tests updated for the changed messages

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
rootandClaude Opus 5.5 committed 2026-09-28 20:09:29 +08:00
1 parent 9b017906cf
commit 52402864d6
143 files changed
+985 -606

No files matched your search

+1 -1
View File
@@ -29,7 +29,7 @@ export const MAX_INTERVAL_MS = 30 * 24 * 3600_000;
export const CronExpr = z
.string()
.trim()
.regex(/^(\S+\s+){4}\S+$/, "cron 需要 5 段:分 时 日 月 周");
.regex(/^(\S+\s+){4}\S+$/, "cron 需要 5 段:分 时 日 月 周");
export const ScheduleSpec = z.discriminatedUnion("type", [
z.object({ type: z.literal("interval"), everyMs: z.number().int().positive() }),
+1 -1
View File
@@ -516,7 +516,7 @@ export const SETTINGS_SECTIONS: readonly SettingsSectionDef[] = [
{
id: "sites",
label: "站点默认",
description: "新站点的限流、快照周期、UA 和代理;站点和凭证在站点页管理",
description: "新站点的限流、快照周期、UA 和代理;站点和凭证在站点页管理",
legacyTabs: [{ tab: "site-credentials" }],
anchors: [{ id: "defaults", label: "站点默认" }],
fields: [