docs(i18n): name the case views on the Chinese SLA page as the console labels them - #1617
Merged
Merged
Conversation
…e labels them content/docs/service/sla-and-escalation.zh-Hans.mdx named every crm_case list view in English across 14 lines, while src/translations/zh-CN.ts ships a Chinese label for all eight and the console resolves a view's label through that pack. The sibling content/docs/service/cases.zh-Hans.mdx already uses the pack wording, so the two Chinese pages of the same section named the same eight views two different ways. Thirteen lines convert. Only view names move: the pack carries all eight, keyed by the view keys src/views/case.view.ts registers. Dashboard tile names keep their spelling. The pack does carry SLA Violations, Critical Cases and the Customer Service dashboard title, but the change that executed this rule was made with those same pack entries already present and deliberately left tiles in English, and the sibling page names them in English too. Converting them here would reopen the cross-page disagreement this closes. Report names keep theirs because there is nothing to take: no locale file declares a reports surface, so SLA Performance Report has no pack wording. Sharing-rule names (Escalated Cases Sharing, Escalated Cases - Service Director) and the phantom names the page exists to debunk (Breached SLA) are unchanged. The zh-Hant and English faces are untouched. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018xtjdpZFjgWh4Ad9Wcx68J
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
This was referenced Sep 6, 2026
os-steve
marked this pull request as ready for review
September 6, 2026 00:19
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 #1609
Description
content/docs/service/sla-and-escalation.zh-Hans.mdxnamed everycrm_caselist view in English across 14 lines, whilesrc/translations/zh-CN.tsships a Chinese label for all eight and the console resolves a view'slabelthrough that pack. The siblingcontent/docs/service/cases.zh-Hans.mdxwas already rewritten to the pack wording (PR #1548), so the two Chinese pages of the same section named the same eight views two different ways.Thirteen lines convert. The fourteenth is a deliberate keep, explained below.
Type of Change
Related Issues
Fixes #1609. Executes
AGENTS.mdDocumentation discipline rule 6 under the #1329 ruling as carried out by PR #1548.#1552is not addressed here and remains open: it asks the opposite condition (a view name the pack does not carry), and nothing in this PR answers it.The three-surface question, derived
The card names three surfaces on this page. They do not move together. Measured on
origin/mainata0362a37, which is this branch's base.1. View names — CONVERTED.
The pack carries all eight, and the keys match
src/views/case.view.tsone-for-one. Re-derived here rather than taken from the card:src/views/case.view.ts)labelzh-CNpack label (src/translations/zh-CN.ts:798-812)all_casescase_workflowsla_calendarcase_timelinemy_open_casesunassigned_triageescalated_casessla_at_riskThe card's eight-row table reproduces exactly. The emoji is carried in the one place the English face carries it — the canonical eight-name enumeration on line 144 — and dropped in running prose, so the two faces stay line-for-line parallel.
2. Dashboard tile names — NOT converted, and "the pack lacks them" is NOT the reason.
The pack does carry them:
sla_violations→SLA 违约,critical_cases→紧急工单,sla_compliance_gauge→SLA 达成率, and the dashboard's ownservice_dashboard.label→客户服务(src/translations/zh-CN.ts:1595-1606). So a pack-carriage test alone would have converted them. Two measurements say not to:Critical CasesandSLA Violationsmetric tiles, theEscalated Cases Sharingsharing rule, and the phantom names the pages exist to debunk." Verified that this was informed, not an oversight:git show 392405f7:src/translations/zh-CN.tsalready carriedcritical_cases: '紧急工单'andsla_violations: 'SLA 违约'at lines 1430/1432 when that exclusion was written.test/docs-dashboard-tiles.test.tsreads this page and requires every**Name** 磁贴reference to resolve to a widgettitleinsrc/dashboards/**— and those titles are English in every locale by design. Ablation run on this branch, at9c640819: converting the three**SLA Violations**references to**SLA 违约**turns the file red with "prose points at a 'SLA 违约' tile, which no dashboard ships", plus a second failure on the#949rule that keeps the two Chinese scripts reading the same tile references. Restore verified byte-for-byte (git diff HEADempty; blob hash back toc5786ccb).Converting tiles would also have reopened the very cross-page disagreement this PR closes — the sibling
cases.zh-Hans.mdx:185names both tiles in English.3. Report names — NOT converted, because there is nothing to take.
No locale file declares a
reportssurface at all:grep -c '^ reports: {'is 0 in each ofen.ts,zh-CN.ts,es-ES.ts,ja-JP.ts. Sosla_performance(labelSLA Performance Report) andcases_opened_by_day_priorityhave no pack wording. The page's existing Chinese report names (SLA 表现,按优先级 × 天的建单量) are coined, not pack-derived — which is the #1552 condition, not this one. Left exactly as they were.A fourth surface worth naming, since it is on the page and the card did not list it: dataset measure names.
SLA Compliance Rateon line 55 does have a pack wording (case_metrics.measures.sla_compliance_rate→SLA 达标率). Left in English — it is the semantic layer, whichAGENTS.mdrule 5 puts on the non-documentable side of its boundary, and it is outside the executed scope of #1548 for the same reason tiles are.Changes Made
content/docs/service/sla-and-escalation.zh-Hans.mdxrewritten to thezh-CNpack wording for the eightcrm_caseviews.Escalated Cases SharingandEscalated Cases — Service Directorare sharing rule names, not views, and docs(i18n): name list views in Chinese docs the way the console labels them #1548 kept them in English explicitly.Breached SLAand the phantom-Critical Casesmentions on lines 144 and 156 unchanged — those are the names the page exists to debunk.Untouched, per the ruling: the
.zh-Hant.mdxface (a Traditional page labels platform navigation in English on purpose, because the console falls back to Simplified), the English.mdxface, all ofsrc/, all oftest/.Line budget
13 insertions(+), 13 deletions(-)in one page, net 0; plus a 45-line changeset. Measured page counts before → after: lines carrying an English view name 14 → 1 (the sharing-rule line), lines carrying a pack wording 0 → 13.Site-absolute links preserved: five
/zh-Hans/-prefixed links before and after, zero unprefixed/docs/links. This is the class PR #1599 fixed and none were disturbed.Testing
Full
pnpm verifychain, run on this branch at9c640819, each step's exit code captured before any pipe:pnpm validatepnpm typecheckpnpm lint17 warning(s), 12 suggestion(s)— pre-existingpnpm lint:i18n-gate✓ i18n lint gate: 0 i18n/missing-* issuespnpm hygiene✓ source hygiene cleanpnpm hygiene:tokens✓ source token ratchet cleanpnpm buildArtifact: dist/objectstack.jsonpnpm testTest Files 160 passed (160),Tests 3394 passed, 1 skippedWhat
pnpm lint:i18n-gateestablishes about this diff, precisely: nothing about the wordings.scripts/check-lint-i18n-gate.mjsrunsobjectstack lint --jsonand counts findings whose rule starts withi18n/missing-. That walks authored metadata undersrc/; it never openscontent/docs. Its green means this diff introduced no missing-translation finding — trivially true, since the diff touches no metadata and no translation file. It is not evidence that the Chinese strings on the page are the right ones. The evidence for that is the derivation above, read out ofsrc/translations/zh-CN.tsandsrc/views/case.view.ts.What does cover the edit:
test/docs-dashboard-tiles.test.ts(green, and shown above to be capable of failing on this exact page),test/docs-anchor-links.test.ts,test/docs-object-term-consistency.test.tsandtest/docs-role-hierarchy.test.ts, all of which read this file.test/docs-view-rosters.test.tsdoes not reach it — that rule keys on a## 标准列表视图roster heading, which this page does not have. That gap is the card's own observation and is unchanged by this PR..changeset/only, sotest/**was out of bounds.Checklist
Additional Notes
Draft on purpose: not marked ready, not enqueued, no auto-merge.
One channel deviation to declare: the repo-scoped REST read used for the issue body and comments works, but
GET /search/issuesreturns 403 from this container, so the duplicate check before filing a follow-up finding was made with a single targeted MCPsearch_issuescall instead. Total MCP GitHub calls for this run are reported on the issue.Generated by Claude Code