Skip to content

fix(i18n): fill 25 missing ja-JP page-component translation keys - #1084

Merged
huangyiirene merged 1 commit into
mainfrom
claude/issue-1060-ja-jp-page-keys
Aug 11, 2026
Merged

fix(i18n): fill 25 missing ja-JP page-component translation keys#1084
huangyiirene merged 1 commit into
mainfrom
claude/issue-1060-ja-jp-page-keys

Conversation

@huangyiirene

Copy link
Copy Markdown
Collaborator

Fixes #1060

What

Fills the remaining third of #1060's debt: the 25 ja-JP page-component
translation keys that #1080 deliberately left out (that file was claimed by
#858 in the same batch). #858's PR #1079 merged (83a8dbdb), and this branch
is cut from current origin/main (f71b5350, which already carries both
#1079 and #1080), so the cross-claim boundary is clear.

Premise re-verified at HEAD, not copied from the issue

Ran npx objectstack lint fresh on this branch before touching anything. It
reported exactly 25 i18n/missing-page warnings, all ja-JP, and the
key paths matched the PM's enumerated list exactly:

  • app_launcher_page.components.{app_search,app_grid}.label
  • case_detail_page.components.{case_highlights,case_status_path}.label
  • lead_detail_page.components.{lead_highlights,lead_path,main_tabs}.label
  • opportunity_detail_page.components.{opp_highlights,opp_stage_path}.label
  • sales_home_page.components.{quick_create,my_recent_items,key_metrics,home_tabs,ai_briefing,upcoming_events}.{title|label|description}
  • utility_bar_page.components.{notifications_panel,quick_notes,quick_search}.{title|label}

es-ES and zh-CN reported zero i18n/missing-page warnings — confirming
#1080's fill is intact and untouched by this change.

Implementation

Translated each string against its English source in src/pages/*.page.ts
(app_launcher.page.ts, case_detail.page.ts, lead_detail.page.ts,
opportunity_detail.page.ts, home.page.ts, utility_bar.page.ts), matching
the nesting shape and register #1080 already established for es-ES/zh-CN
(pages.<page>.components.<component>.<label|title|description>).

File surface: src/translations/ja-JP.ts only — additions, no existing
lines reordered or reformatted, per the card's instruction not to create a
needless conflict for #1061, which is queued behind this file for the
crm_opportunity competitors options (a disjoint region — crm_opportunity
field block vs. this PR's pages block).

Acceptance evidence

objectstack lint i18n/missing-page count:

before after
i18n/missing-page warnings 25 (all ja-JP) 0
total warnings 178 153

(lint's exit code is 0 either way — it does not fail on warnings, per
#1083 — so the rule-hit count above, not the exit code, is the evidence.)

Tests run

  • npx objectstack lint (no flag): 0 i18n/missing-page hits, 153 total
    warnings (down from 178), exit 0.
  • pnpm typecheck (tsc --noEmit): clean, no errors.
  • pnpm validate (objectstack validate): exit 0; remaining warnings are
    pre-existing, unrelated author-time issues (missing name on form
    sections, deprecated component props, colSpan usage) — none i18n, none
    touching ja-JP.ts.
  • pnpm build (objectstack build): exit 0, dist/objectstack.json produced
    (1890.1 KB), 157 pre-existing author-time warnings (none i18n).
  • npx vitest run test/i18n-references.test.ts --maxWorkers=2: 20/20 passed.
  • npx vitest run --maxWorkers=2 (full scoped suite): 86 files, 2086 passed /
    1 skipped, exit 0.
  • node scripts/check-source-hygiene.mjs: clean.
  • Control-byte self-scan (grep -naP '[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]') on
    the edited file: clean.

Changeset

Added (skip-changeset not applicable — this is a user-visible translation
fill; the ja-JP UI previously fell back to English source strings on these
25 component keys).


Generated by Claude Code

objectstack lint (run without --skip-i18n since #1080) reported 25
i18n/missing-page warnings, all ja-JP: page-component label/title/description
strings on app_launcher_page, case_detail_page, lead_detail_page,
opportunity_detail_page, sales_home_page and utility_bar_page that were
defined in src/pages/*.page.ts and never mirrored into
src/translations/ja-JP.ts.

#1080 filled the same 25 keys for es-ES/zh-CN but left ja-JP.ts untouched
because it was claimed by #858 (verb-terminology pass) in the same batch.
That claim merged (83a8dbd); this fills the remaining third.

Translated against each page's English source, matching the nesting shape
#1080 already established for es-ES/zh-CN. Additions only -- no existing
ja-JP.ts lines reordered, to avoid a needless conflict for #1061 which is
queued behind this file.

objectstack lint now reports zero i18n/missing-page warnings (down from 25;
178 -> 153 total warnings).

Fixes #1060

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NM6o28jmBgsyTRQHutn7LC
@vercel

vercel Bot commented Aug 11, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
hotcrm Ignored Ignored Aug 11, 2026 2:55pm

Request Review

@github-actions github-actions Bot added the metadata Declarative metadata — schema, security posture, UI surfaces label Aug 11, 2026
@huangyiirene
huangyiirene marked this pull request as ready for review August 11, 2026 15:12
@huangyiirene
huangyiirene added this pull request to the merge queue Aug 11, 2026
Merged via the queue into main with commit 9b6b196 Aug 11, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

metadata Declarative metadata — schema, security posture, UI surfaces

Projects

None yet

Development

Successfully merging this pull request may close these issues.

chore(lint): drop --skip-i18n from the lint script — i18n debt is zero, coverage should enter the gate (successor to #494)

2 participants