Web UI i18n audit (hard-coded strings)
This document tracks the initial audit of user-facing strings that should be migrated to next-intl.
Known hard-coded headings (examples)
apps/web/app/recipes/[id]/edit/page.tsxEdit recipe
apps/web/app/recipes/[id]/water/mash/page.tsxMash waterResult (last calculated)Salt additions (manual, v0)
apps/web/app/recipes/[id]/water/sparge/page.tsxSparge waterResult (last calculated)Sparge salt additions (manual, v0)
apps/web/app/recipes/[id]/water/boil/page.tsxAdditional boil water
Known hard-coded paragraphs / status text (examples)
apps/web/app/recipes/[id]/edit/page.tsxLoading…
apps/web/app/DashboardClient.tsxLoading…
apps/web/app/[locale]/(auth)/select-workspace/page.tsxLoading…No workspaces found.
Known hard-coded accessibility text (examples)
apps/web/app/recipes/[id]/edit/page.tsxaria-label="Recipe sections"
apps/web/app/_components/PrimaryNav.tsxaria-label="Primary"aria-label="Session"
Next steps
- Migrate the core recipe + water pages to message keys in
packages/platform/i18n/src/en.json+packages/platform/i18n/src/it.json. - Add a guardrail check script to prevent new hard-coded strings under
apps/web/app/**.