Repository navigation
fix(i18n): 五处 zh-CN help 串按 B1 跟 label 收口 (#846) - #859
Merged
Merged
Conversation
The simplified-Chinese pack disagreed with itself in three places, and each one sent the reader looking for a word the product never displays: crm_account.name_normalized 线索转换的匹配键 vs 转化线索 / 已转化 crm_lead.company_normalized 线索转换的匹配键 vs 转化线索 / 已转化 crm_opportunity.win_reason 关闭为"赢单"时必填 vs stage.closed_won 成交 crm_opportunity.loss_reason 关闭为"丢单"时必填 vs stage.closed_lost 失败 crm_opportunity.crm_campaign 带来此商机的市场活动 vs 营销活动 (same line) The two reason fields are the sharpest: the help quotes a stage by name and neither quoted word is in the stage picklist, so a rep who reads the bubble and opens the dropdown finds 成交 / 失败. 市场活动 was a zero-label word — this help string was its last occurrence anywhere in the repo after #830. Help follows label (#829's A ruling applied inside the pack): only the words quoted as references moved. 赢单/丢单 are this pack's own outcome vocabulary (win_reason 赢单原因, loss_reason 丢单原因, loss_details 赢/丢单详情), so those labels are untouched, exactly as the Chinese docs kept them. en / es-ES / ja-JP were re-measured field by field and are already consistent, so nothing outside zh-CN changed. ja-JP already writes what this makes zh-CN write: win_reason is labelled 受注理由 while its help quotes the stage as 「成立」, the exact closed_won option label. Display text only — no field, option value, label, view or behaviour changed, and no documentation page rendered any of these five strings. Fixes #846. Co-authored-by: Claude <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
yinlianghui
marked this pull request as ready for review
August 6, 2026 00:21
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 #846
按 PM 的 B1 裁定(help 跟 label) 收口
src/translations/zh-CN.ts里五处 help 串。只改 help 里被当作引用的词,label 一个字未动。一、前提复核(基线 3912845 → 实施在 9d2c787)
issue 行号取自 3912845,逐条在最新 main 上重定位重核。五处全部仍然成立,行号也未漂移(中间的 #833/#854 只动了
content/):zh-CN.ts:110crm_account.fields.name_normalized.helpzh-CN.ts:400crm_lead.fields.company_normalized.helpzh-CN.ts:935crm_opportunity.fields.win_reason.helpzh-CN.ts:944crm_opportunity.fields.loss_reason.helpzh-CN.ts:925crm_opportunity.fields.crm_campaign.help被引用侧也实测过,确认 help 点的确实是包里不存在的词:
stage.closed_won= 「成交」、stage.closed_lost= 「失败」(:889、:1002两处阶段列表都是),选择列表里没有「赢单」「丢单」。convert_lead.label「转化线索」(:441)、is_converted「已转化」(:359)、success.converted(:1241)、confirm.convert_lead(:1243)等 14 处全是「转化」;「线索转换」只有:110/:400这两处。src/只有:925这一处(grep -rn 市场活动 src/→ 1 命中),追评说的「零-label 词」属实。二、五处改动
改动共 5 行,
git diff --stat=1 file changed, 5 insertions(+), 5 deletions(-)。label 一个字未动,按 #842 的裁定(赢单/丢单 是包自己的成败词汇):
win_reason.label「赢单原因」 — 原样loss_reason.label「丢单原因」 — 原样loss_details「赢/丢单详情」+ help「赢单或丢单原因的补充说明。」 — 原样(该 help 里的「赢单/丢单」指原因不指阶段值,不在本单口径内)一处刻意不改并在此说明:
:288crm_forecast.closed_amount={ label: '已成交金额', help: '本周期内已赢单的金额。' }。label 用「成交」、help 用「赢单」,形式上像第六处,但 help 这里说的是「已赢下的金额」这一结果,不是用引号点名一个阶段值,属于 #842 确认的成败词汇正常用法(同won_deals「赢单数」、win_rate_by_owner)。按本单「只改被当作阶段值引用的词」的口径,不动。三、四包复核(独立复测,未照抄追评)
逐字段读了四个包的对应条目:
甲组 · convert 动词面
en:115/422convert_leadConvert Lead /is_convertedConvertedzh-CN:110/400es-ES:67/353ja-JP:107/385convert_lead.labelリード変換乙组 · help 引号里的阶段值
closed_wonlabelclosed_lostlabelen:552/561zh-CN:935/944es-ES:562/572ja-JP:553/563ja-JP尤其值得记一笔:它的win_reason.label是「受注理由」(用自己的成败词汇),而 help 引号里逐字引用阶段 label「成立」——这正是 B1 要 zh-CN 变成的样子,四包里已经有一个现成范本。丙组 · campaign:复测与追评一致 ——
en:538Campaign/Marketing campaign that generated this opportunity、es-ES:545Campaña/Campaña de marketing…、ja-JP:540キャンペーン/…マーケティングキャンペーン,三个都是「修饰词 + label 中心词」,只有 zh-CN 换了中心词。结论:另外三个包在这五个条目上无同类孤例,故本 PR 未动
en.ts/es-ES.ts/ja-JP.ts。四、文档消费面 sweep
对五条 help 的旧原文逐条 grep
content/(含简繁两侧写法):content/命中线索转换的匹配键/匹配键(该义项)关闭为"赢单"/关闭为"丢单"/关闭为市场活动/市場活動带来此商机name_normalized/company_normalized预期成立:五条 help 在
content/零残留,#825 / #842 / #830(PR #849) 已把文档侧清完。content/docs/ai-copilot/**零命中,故与 #847 无文件面冲突。唯一一条相邻命中,不属于本单且已被既有单覆盖:
content/docs/administration/automation.zh-Hans.mdx:57(及 zh-Hant 孪生:57)的表格行「线索转换流程 / 線索轉換流程」。这是 flowlead_conversion的文档侧译名(flow 自身 label 是英文Lead Conversion Process,四个包都没有它的 label),不是这五条 help 的渲染。#844 正文已逐条点名了它(那里记的行号是:73,基线 a501812;#833/#854 改过该页后现为:57,同一行),并注明「纯文档侧的译名,跟不跟包可另判」。留给 #844,本 PR 未改。五、测试同步
grep
test/找是否有用例钉了这五条 help 原文:没有任何一处(匹配键/必填。/带来此商机/转化/成交/失败在test/全部零命中)。因此本 PR 未改任何测试文件,test/metadata-references.test.ts的 100KB hygiene 上限未被触及。两处相邻命中,核实后确认不是钉子、且不因本 PR 失效:
test/sharing-coverage.test.ts:535— 注释「This row read 「市场活动」 until zh-Hans 文档里 crm_campaign 有两个译名:administration 两页写「市场活动」,语言包与其余 14 个文件写「营销活动」 #830」,讲的是 OWD 文档表格那一行的历史,不是本 help 串;其陈述在本 PR 后依然准确(它说 zh-Hans 应为「营销活动」,正是包 label),不需改。test/automation-docs-coverage.test.ts:198—ROW_LABEL.lead_conversion钉的是上面第四节那条 flow 文档译名,属 convert 动词面:zh-Hant 侧整体没跟上简体侧,marketing/analytics/guides 等 20 余处仍写「轉換」而包里是「转化」 #844 范围。按 PM 边界,不新增守卫(包内一致性缺闸是 #802 / #846 已记录的能力缺口,#858 是它的第三个实例)。
六、验证输出(共享锁 +
NODE_OPTIONS=--max-old-space-size=4096)pnpm validate✓ Validation passed (1294ms);17 Objects 344 Fieldspnpm typechecktsc --noEmit无输出pnpm build✓ Build complete (1666ms);Artifact: dist/objectstack.json (1921.3 KB)pnpm test --maxWorkers=2Test Files 66 passed (66)/Tests 1587 passed | 1 skipped (1588)pnpm lint13 warning(s), 14 suggestion(s)— 全部为既有告警(approval 空审批人、line-item lookup 建议)pnpm hygiene✓ no raw control bytes in first-party files/✓ no source file over 100KB/✓ source hygiene cleanvalidate/build的 5 条⚠与lint的 13 条告警在基线上即存在(approval 审批人可能解析为空、crm_campaign_memberbasic 分组、line-item 关系建议),与本改动无关。test 输出里的✗ source hygiene failed: …stderr 是 source-hygiene 元测试构造失败样本时的预期打印,套件本身 66/66 通过。CI(
24d0551c)9 项检查全绿:Build and Test (22.x)/Quality Checks/Check Changeset/link-check/Playwright/CodeQL/Analyze Code (javascript)/Label Pull Request/Vercel Preview Comments。其中link-check绿确认 changeset 未踩 #797 的站内相对路径坑。控制字节自扫:
grep -naP '[\x00-\x08\x0b\x0c\x0e-\x1f]' src/translations/zh-CN.ts .changeset/help-strings-follow-labels.md→ 零命中。落地核验(比"回滚看红"更能定性的一步)
这是纯文案改动,且仓里没有任何一道闸门读 help 与 label 的一致性(这正是 #802 / #846 记录的缺闸),所以"把改动还原、看诊断转红"在本单不产生任何信号——如实说明,不编造。改为核验一件真正可判定的事:改后的串确实进入了发布产物,且它引用的词确实能在选择列表里找到。
对
dist/objectstack.json做结构化走查:产物里旧拼法零残留(
线索转换0 处、市场活动0 处,关闭为的 2 处均为新词)。即:用户读完 help 去阶段下拉里找「成交」/「失败」,现在找得到——这是本单要修的那件事的直接证据。七、changeset
.changeset/help-strings-follow-labels.md('hotcrm': patch)。按 #797 的教训,站内路径一律反引号,未使用任何 markdown 链接。