Repository navigation
docs(i18n): spell the lead convert verb 转化 on every Chinese page (#844) - #906
Merged
Merged
Conversation
The locale pack is the contract — `convert_lead.label` is 转化线索 and `is_converted` is 已转化 — so the docs say 转化 (#801/#825/#829). Two gaps survived those passes: - 17 places on eight zh-Hant pages still said 轉換 while the Simplified line beside them already said 转化 (marketing/campaign-members, campaigns, index; analytics/cubes, dashboards, reports; reference/glossary; guides/files-and-comments). - Five pages no pass had reached, in both scripts: sales/index, administration/{setup, sandbox-and-releases, state-machines, automation}. 33 occurrences over 18 pages, judged one by one. 状态转换 (state transition) is a different word that shares the old spelling, so the state-machines page kept its ten mechanism sentences and changed only the three lead-convert ones; the contract-activation, datetime-filter and type-coercion usages are untouched for the same reason. The automation page's flow row is pinned in ROW_LABEL, which flows need because they carry no locale-pack entry — the ledger moves in this commit, not after it. Verified in both directions: doc-only change first, guard red on both Chinese pages (no "线索转换流程" row / row "线索转化流程" names no flow), then green with the ledger synced. Documentation only; nothing under src/ changed, and the English pages were already right. 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 6, 2026 06:50
This was referenced Aug 6, 2026
Closed
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 #844
基线
origin/main= 90686a4。语言包是契约:convert_lead.label= 「转化线索」、is_converted= 「已转化」(src/translations/zh-CN.ts),所以文档的 lead convert 动词面写「转化 / 轉化」(#801/#825/#829 已立三次)。改动:18 个 zh 页共 33 处,逐处判义项;1 处 ROW_LABEL 钉子同批同步。 不动 en 页、
src/**、content/docs/releases/;不新增守卫;未升级@objectstack/*。一、前提复核:issue 行号全部过期,全量重 grep 重定位
issue 正文的行号取自基线 a501812,其后 #894 / #892 / #879 等大量 merge 落地。按
grep -rn "转换\|轉換" content/docs/全量重扫(改前 44 行 / 81 处)逐处重定位,与 issue 的差异如实列在下面。差异 1 —
administration/automation行号 73 → 57,且该行有两处而非一处issue 只点名「线索转换流程」这一处。实测该行是流程表的同一行,标签与描述同为 lead-convert 动词面:
只改标签会让同一行「线索转化流程 … 将合格潜在客户转换为客户」自相矛盾,正是 #801 批评的「半页对半页错」。两处一起改(zh-Hans / zh-Hant 各 2 处,合计 4 处)。描述格不在守卫的比对面内(守卫只比对第一格),所以这一半是纯文本修正。
差异 2 —
administration/setup行号 149 → 152sandbox-and-releases:153、state-machines:49/112/122行号未变。差异 3 — 「20 余处」的实际构成
issue 标题说 zh-Hant 侧「20 余处」。实测繁体单侧残留为 17 处(与 issue 正文逐页列举的 5+4+2+1+2+1+1+1 完全吻合);另有简繁都没改的五页共 16 处。合计 33 处 —— 标题的「20 余」是把两组混计的概数,正文的分页清单准确。
差异 4 —
state-machines页多出:3一处issue 的机制名排除清单列了
:8,17,42,94,97,104,115,119,121,133十处,实测该页还有 frontmatter:3的「有效的状态转换」,同为机制名,一并不动(该页机制名共 11 处)。二、义项判别表(改动的 33 处)
组 A — 仅 zh-Hant 落后,简体同位行早已是「转化」(17 处 / 8 页)
.zh-Hant.mdx)marketing/campaign-membersConverted成员状态的含义列marketing/campaignsmarketing/indexanalytics/cubesanalytics/dashboardsopen_leads.descriptionanalytics/reportsreference/glossaryguides/files-and-comments组 B — 简繁都没改(16 处 / 5 页 × 2 语)
sales/indexadministration/setupadministration/sandbox-and-releasesadministration/state-machinesconvert_lead动作administration/automationlead_conversion行,标签+描述state-machines逐句判:改 3 处,保留 11 处该页 14 处「转换」里 11 处是状态机机制名(state transition),与 convert 动词面同形不同义,禁止整页替换:
:3有效的状态转换(frontmatter) ·:8强制执行这些转换 ·:17它们的转换没那么严格 ·:42允许的转换: ·:94移除转换 ·:97在每次转换时 ·:104尝试不允许的转换 ·:115建议非法的转换 ·:119太多转换规则 ·:121状态机转换 ·:133由转换触发的工作流:17落在 #896(待派)的「哪些对象用状态机」小节内,本 PR 零触碰该小节。三、反向验证:方向先声明,再跑(两阶段实测)
预先声明的方向:
test/automation-docs-coverage.test.ts的 ledger↔页面连接是首格精确相等(unbold(cells[0]) === label,:390 / :434)。文档是被比对侧、ledger 是期望侧,所以从文档里移走旧拼法只会减少匹配 —— 预期是标准的 先红后绿,不是计数上移,也不是倒挂:两条规则 × 两个中文页 = 4 条失败。阶段 1(只改文档,ledger 留旧)—— 实测 EXIT=1,4 failed | 16 passed:
(zh-Hans 两条对称失败,同因同形。)
阶段 2(同批同步
ROW_LABEL['lead_conversion'])—— 实测 EXIT=0:方向与声明一致。ledger 里同时留了注释,说明该行为何跟语言包而不是自行取词。
四、改后复扫:剩余 44 行 / 48 处,逐条给理由
grep -rn "转换\|轉換" content/docs/改后仍有命中,全部非 lead-convert 义项:administration/state-machines简繁各 11;administration/index:18×2;reference/glossary:168×2 行共 4 处;sales/opportunities:172×2;sales/pipeline-management:113×2guides/import-and-export:25×2 行共 4 处;guides/importing-your-data:35,36,61/62共 6 处revenue/contracts:20简繁analytics/dashboards:96简繁analytics/cubes.zh-Hant:124、analytics/reports.zh-Hant:32—— 见下最后一类是 issue「不属于本条的」清单点名排除的,本 PR 遵守该边界未动;但实测其排除理由(指标名)与基线不符:全仓 zh-Hans 没有任何一处「转换率」,同位简体写的就是「转化率」,且
grep -rn "转化率\|转换率" src/零命中(conversion rate 在本仓没有 label 面)。已单独立 #905 交 PM 复判,未在本 PR 改动。五、验证输出(共享锁
flock /tmp/os-heavy-verify.lock+NODE_OPTIONS=--max-old-space-size=4096)pnpm validate✓ Validation passed (1477ms)· 5 条 author-time 警告为基线既有(approval 空名单 ×4、crm_campaign_memberfield-group-shadowed,即 #715)pnpm typechecktsc --noEmit无输出pnpm build✓ Build complete (1506ms)·Artifact: dist/objectstack.json (1921.4 KB)·Logic: 24 Flowspnpm test --maxWorkers=2Test Files 66 passed (66)/Tests 1587 passed | 1 skipped (1588)pnpm lint13 warning(s), 14 suggestion(s)—— 与基线同pnpm hygiene✓ no raw control bytes in first-party files·✓ source hygiene clean· 扫描面含content、.changesettest 输出里的
✗ source hygiene failed: …是source-hygiene-scan-surface.test.ts元测试自身的预期 stderr,不是失败。控制字节自扫(超出 gate 的盲区,20 个改动文件):
六、changeset
.changeset/zhhant-convert-sweep.md('hotcrm': patch),站内路径反引号(#797)。Generated by Claude Code