feat(i18n): extract keys from entity summary tab#17698
Conversation
Extract hardcoded user-visible strings from the entity summary tab (src/app/entityV2/summary) into the new entity.profile.summary namespace, and extend the existing modules namespace for the summary module cards (per the shipped ChildHierarchyModule convention). English only. - New en/entity.profile.summary.json (31 keys); extend en/modules.json (+24) - Add common.labels created/domain/none (generic, reused); register entity.profile.summary in i18n.ts/i18next.d.ts/setupTests.ts - Module-scope constants (property labels, document type/status options) -> lazy i18next getters (Pattern 2); 2 <Trans> for link bylines - Pre-existing programmatic strings (field arrays, dayjs format tokens) -> named constants - Add src/app/entityV2/summary glob to translated-files.txt Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Bundle ReportChanges will increase total bundle size by 5.05kB (0.02%) ⬆️. This is within the configured threshold ✅ Detailed changes
Affected Assets, Files, and Routes:view changes for bundle: datahub-react-web-esmAssets Changed:
Files in
Files in
|
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
…ts (removed on master via #17680) to avoid type-check OOM
Resolve setupTests.ts import conflict: keep both entity.profile.summary (this PR) and entity.profile.tabs (master) imports; ns array and resources auto-merged with both present. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Summary
Extracts hardcoded user-visible strings from the entity summary tab (
src/app/entityV2/summary) into the newentity.profile.summarynamespace, and extends the existingmodulesnamespace for the summary module cards (matching the shippedChildHierarchyModuleconvention). English-only — translations follow in a separate PR.en/entity.profile.summary.json(31 keys):documentation.*,links.*(incl. 2<Trans>bylines),documentType.*/documentStatus.*,menu.*, property labelsen/modules.json(+24, into existing blocks):assets.*,columns.*,dataProducts.*,lineage.*,relatedTerms.*(module empty-states, add-assets modal toasts)common.labels(created,domain,none) and reused existingcommon.*(owners, tags, status, type, add, cancel, publish, delete, remove, noResults, updating) — no duplicationentity.profile.summaryini18n.ts/i18next.d.ts/setupTests.ts(modulesalready registered)i18nextgetters (Pattern 2) so labels resolve after i18n init, with no call-site changes;valueliterals (GMS subTypes) preserved'll'/'ll LTS') extracted to named constants — not translatedsrc/app/entityV2/summary/**totranslated-files.txtPages to verify
Checklist
properties/__tests__/utils.test.ts— labels resolve via the registered namespaces). Note: 20 pre-existinglocalStorage/theme env failures in 5 summary test files are unchanged from master (verified) — not introduced here.🤖 Generated with Claude Code