Fix raw translation keys leaking after useTranslations migration#18823
Conversation
getSkillTranslationId still returned the legacy "namespace:key" form after the useTranslations migration (780bc22), so the namespace-bound t() in TutorialMetadata rendered the literal key. Return the bare key and use the bound t() in the tutorials listing as well.
Same class of bug as the tutorial skill tag: t bound to page-quizzes was passed the legacy "common:quizzes-title" id, so the WebPage and breadcrumb names in the structured data rendered the raw key. Bind a second translator for the common namespace.
✅ Deploy Preview for ethereumorg ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
🔎 First-pass review — ✅ Looks mergeableTight, correct fix for the raw-key leak introduced when AnalysisLane: code (3 files: Checked:
CI still running on a fresh PR — nothing to flag there. No blocking or non-blocking issues found.
|
Lighthouse scores are calculated based on the latest audit results |

Description
Fixes the Chromatic page-visual-test regression on tutorial pages caught on the v11.15.0 deploy PR (#18820): the skill tag rendered the raw key
PAGE-DEVELOPERS-TUTORIALS:PAGE-TUTORIAL-BEGINNERinstead of "Beginner", breaking the tag row layout.Root cause: 780bc22 migrated
TutorialMetadatato next-intl's namespace-bounduseTranslations, butgetSkillTranslationIdstill returned the legacynamespace:keyform, which next-intl cannot resolve.Changes:
getSkillTranslationIdreturns the bare key (page-tutorial-*); the tutorials listing uses its namespace-boundt()instead of the legacy<Translation>id form.app/[locale]/quizzes/page-jsonld.tsx:t("common:quizzes-title")on apage-quizzes-bound translator leaked the raw key into the JSON-LD WebPage/breadcrumb names. Now uses acommon-bound translator.A codebase-wide sweep found no other
namespace:keystrings passed to bound next-intl translators.Verified locally: type-check + lint pass; tutorial page renders the BEGINNER tag with baseline layout, tutorials listing pills correct, quizzes JSON-LD emits "Quiz Hub".
Targets
stagingto unblock the v11.15.0 release.