Repository navigation
docs(zh-Hans): call crm_campaign 营销活动 everywhere, not 市场活动 (#830) - #849
Merged
Merged
Conversation
The locale pack ships crm_campaign as 营销活动 and fourteen zh-Hans pages already used that word, but administration/sharing-and-security and administration/profiles called it 市场活动. On the OWD table that put the master and its detail on adjacent rows under different names: | 市场活动 | 公共只读 | ... | | 营销活动成员 | 由父级控制(市场活动) | ... | Sweep the two administration pages (5 + 3 occurrences), the marketing card on the docs home page, and ROW_LABEL['crm_campaign']['zh-Hans'] in test/sharing-coverage.test.ts — the authored ledger the OWD guard joins the table against, which has to move in the same commit or the guard reports a missing row and a ghost row. The locale packs, the English pages and the zh-Hant pages (already 行銷活動 throughout) are untouched. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VHrPAGEgFDoHjphqYG4BMa
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
yinlianghui
marked this pull request as ready for review
August 5, 2026 23:47
This was referenced Aug 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #830
crm_campaign的 zh-Hans 译名统一到语言包与其余 14 个文件的写法「营销活动」。语言包一字未动(⛔),en 页、zh-Hant 页、src/**、content/docs/releases/均未触碰。基线取最新origin/main= 3912845(#811/#828/#843 之后)。前提复核:成立,但 issue 少数了一处
issue 记 sharing-and-security 有「4 处」,按行数是对的,按出现次数是 5 ——
:40一行上有两处:两处指的都是父对象
crm_campaign,故一并改。其余与 issue 一致:profiles 3 处、ledger 1 处。zh-Hant 侧实测市場活動零命中、行銷活動覆盖 18 个文件,issue「zh-Hant 无此问题」的判断成立,本 PR 未动繁体。改动面(9 处文档 + 1 处 ledger)
administration/sharing-and-security.zh-Hans.mdxadministration/profiles.zh-Hans.mdxindex.zh-Hans.mdx:36test/sharing-coverage.test.tsROW_LABEL['crm_campaign']['zh-Hans']改前 OWD 表把主从两个对象排在相邻两行、各叫各的名字:管理员既分不清「市场活动」与「营销活动成员」是不是同一族,拿任一个词去 Setup 里也找不到 —— 那里列的是「营销活动」。
反向验证:方向预先声明,实测吻合
先声明再跑:只改文档、
ROW_LABEL故意留旧 → 预测sharing-and-security.zh-Hans.mdx一页红两条(缺行 + 幽灵行),en 页块 / zh-Hant 页块 / ledger 完整性 / 标签歧义四项保持绿。方向是常规的「红」而非翻转 —— 该守卫是 ledger 串与表格首格的精确相等连接,单改一侧会同时从两端断开。阶段一(文档已改,ledger 未同步):
两条失败点名精确、且只落在 zh-Hans 一页;34 passed 说明预测为绿的四项确实绿。阶段二(同步 ledger):
Tests 36 passed (36)。ROW_LABEL是 authored ledger 而非从 stack 派生(该文件注释写明「the zh-Hans doc translates independently of the one it does ship」),所以它必须与页面同批移动 —— 这正是 issue 预告的方向。index.zh-Hans.mdx:36「开展市场活动」:判成对象名引用,已改按 #842 的判据。#842 立的是两条:(一)包里零 label 的词,出现在哪里都是漂移(唯一豁免是跨域同形词,如
integrations:132指开发环境的「开发期」);(二)包里活着的词,只在被当作 label 用时才算漂移。「市场活动」在
zh-CN.ts里是零-label 词 —— 全包唯一一次出现是一个 help 串(见下方越界发现),没有任何 label 用它。故适用第一条,除非这里是跨域同形词。三条证据表明它不是,而恰恰是动词开展的宾语位上的对象名:Run marketing campaigns——campaigns就是crm_campaign的 pluralLabel,不是泛指名词。index.zh-Hant.mdx),把繁体对象 label 原样放进同一个「开展+宾语」槽位。两页此处逐词对齐,只有简体这一个词岔开 —— 而 docs(sales): name the seven opportunity stages the way the locale pack ships them (#829) #842 的乙组正是把「简繁不同步」当缺陷收口的。href与正文就是 crm_campaign 的功能面:/zh-Hans/docs/marketing,「规划活动、纳入线索与联系人、追踪响应与 ROI」。所以动词是「开展」,漂的是它的宾语名词。#842 的动词豁免保护的是动作本身(如「通过资格审核」——「资格审核」是人做的动作、且不是任一 label),它不保护一个恰好坐在动词后面的对象 label。判定:改,「开展营销活动」。
一处诚实披露:同一卡片网格里「处理客户工单」的「工单」并不是包里的 label(包是「服务案例」),所以不能拿「本网格一律用包 label」来论证 —— 那本身是 #837 已记的另一条分歧。上面第 2、3 条证据不依赖这个前提。
全仓复扫
改后
市场活动在content/零命中;全仓仅剩两处,一处是下方越界发现,另一处是我在 ledger 注释里为说明历史而引用的旧写法。无第三处残留。越界发现(未修,已去重后挂到既有单)
zh-CN.ts:925crm_opportunity.fields.crm_campaign同一行上label: '营销活动'而help: '带来此商机的市场活动'。与 [观察] zh-CN.ts 的 help 串与它自己的 label 打架:help 说「线索转换」「关闭为赢单」,而 label 是「转化线索」「成交」 #846 甲/乙两组同类同文件(help 串用包自己 label 不用的词),且 [观察] zh-CN.ts 的 help 串与它自己的 label 打架:help 说「线索转换」「关闭为赢单」,而 label 是「转化线索」「成交」 #846 已pm:queue,故按去重纪律追评而非另立单。顺带补了 [观察] zh-CN.ts 的 help 串与它自己的 label 打架:help 说「线索转换」「关闭为赢单」,而 label 是「转化线索」「成交」 #846 正文自陈「只实测了 zh-CN」的缺口:四个包全测,en / es-ES / ja-JP 的 help 都用「(marketing 修饰词) + 对象名」构词、中心词即 label,zh-CN 是唯一孤例。本 PR ⛔ 不动语言包,故这是「市场活动」在整个仓库仅存的一处 —— 不收口它就仍活在用户看得见的字段帮助气泡里。crm_case在中文文档里有三种叫法:语言包「服务案例」、25 个页面「工单」、14 个页面「案例」(两页同页混用) #837(已存在,finding)——crm_case的三种叫法。上文第 2 节提到的「工单 vs 服务案例」正是它,已立单,未重复申报。验证(全量四件套,
flock /tmp/os-heavy-verify.lock,NODE_OPTIONS=--max-old-space-size=4096,vitest--maxWorkers=2)测试输出里的
✗ source hygiene failed: …数行来自test/source-hygiene-scan-surface.test.ts—— 它故意用埋雷夹具跑 hygiene 脚本并断言其大声失败,是该元测试的预期 stderr,不是真失败。控制字符自扫(越过 gate 盲区,5 个改动文件):
grep -naP '[\x00-\x08\x0b\x0c\x0e-\x1f]'零命中。注:本仓没有scripts/check-nul-bytes.mjs(那是 objectstack 仓的脚本),等价闸是pnpm hygiene的scripts/check-source-hygiene.mjs,其扫描面已覆盖content/与.changeset/,上面已绿 —— 照实报,不冒充跑过不存在的脚本。Generated by Claude Code