feat(i18n): extract keys from onboarding tour#17709
Conversation
Extract hardcoded strings from the onboarding product-tour configs and modals into a new `onboarding` react-i18next namespace. - Add en/onboarding.json (171 keys) grouped by tour/page (home, search, entityProfile, glossary, domains, users, groups, roles, policies, ingestion, lineageGraph, welcome, tour); rich step content uses <Trans> - Config step arrays stay module-scope consts using <Trans> (renders lazily), so no hook refactor and no change to OnboardingConfig/utils consumers; WelcomeToDataHubModal and OnboardingTour use useTranslation - Reuse common.feedback.loading and common.labels.owners/tags/columns - Register in i18n.ts + setupTests.ts; track the dir in translated-files.txt - Normalize source copy: ' to apostrophe, Datahub to DataHub, fix "standarized" and a "Lineage have"/"has" grammar slip EN-only; German translation follows separately. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Bundle ReportChanges will increase total bundle size by 15.78kB (0.07%) ⬆️. 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! |
Resolve translated-files.txt: keep onboarding glob (this PR) and auth glob (master, from #17711). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Summary
Extracts hardcoded strings from the onboarding product-tour configs and modals into a new
onboardingreact-i18next namespace.en/onboarding.json(171 keys) grouped by tour/page:home,search,entityProfile(+entityProfileV2),glossary,domains,users,groups,roles,policies,ingestion,lineageGraph,welcome(modal),tour. Rich step content (paragraphs with<strong>, "Learn more … here" links, bullet lists, keyboard-shortcut hints) uses<Trans>withbold/anchorslots; 10 keys are shared across the V1/V2 HomePage & EntityProfile configs.<Trans>(which defers translation to render), soOnboardingConfig/utils.tsxand their 10+ consumers are untouched.WelcomeToDataHubModalandOnboardingTourare real components and useuseTranslation('onboarding').common.feedback.loadingandcommon.labels.owners/tags/columns— 0 new common keys.i18n.ts+setupTests.ts; tracks the dir intranslated-files.txt.'→',Datahub→DataHub,standarized→standardized, and a"Lineage have"→"Lineage has"grammar fix.EN-only; German translation follows in a separate PR.
Pages to verify
The tour is triggered on first visit to each area (or any time via Cmd + Ctrl + T). With a non-English locale, trigger the tour and check the rich content renders/fits:
Checklist
tsc --noEmit, ESLint, Prettier, and Vitest (19/19) pass locally🤖 Generated with Claude Code