[i18n][P17] Issue #175: shared frontend/backend contract + EN default + locale-switch smoke #219

Closed
dev-bot wants to merge 0 commits from dev/issue-175-shared-i18n-mainline into main
Owner

Summary

Implements a minimal, scoped slice for #175 by consolidating and documenting the already-delivered i18n contract usage across backend + frontend and adding explicit locale-switch validation coverage.

Included in this PR

  • docs: docs/I18N_ARCHITECTURE.md
    • shared source-of-truth catalog (shared/i18n/lobby.json)
    • key naming architecture for frontend/backend
    • default/fallback locale en
    • fallback resolution model + API error shape
  • docs artifact: docs/ISSUE-175-I18N-SHARED-CONTRACT-ARTIFACT.md
  • e2e-like smoke validation: frontend/angular/src/app/i18n-mvp-flow-smoke.spec.ts
    • locale switch en <-> da in host/player flow scope
    • capability copy coverage (client_has_no_audio_output)

Acceptance mapping (#175)

  • shared i18n contract frontend/backend (catalog + documented keyspace contract)
  • default locale en
  • remove hardcoded Danish in host/player changed scope (through shared catalog usage in scope)
  • document key naming/architecture
  • at least one end-to-end locale-switch validation

Checks run

  • npm test -- src/app/i18n-mvp-flow-smoke.spec.ts src/app/lobby-i18n.spec.ts (5 tests)
  • Backend Django tests were not executable in this runner image (missing Django/pytest env).

Closes #175

## Summary Implements a minimal, scoped slice for #175 by consolidating and documenting the already-delivered i18n contract usage across backend + frontend and adding explicit locale-switch validation coverage. ### Included in this PR - docs: `docs/I18N_ARCHITECTURE.md` - shared source-of-truth catalog (`shared/i18n/lobby.json`) - key naming architecture for frontend/backend - default/fallback locale `en` - fallback resolution model + API error shape - docs artifact: `docs/ISSUE-175-I18N-SHARED-CONTRACT-ARTIFACT.md` - e2e-like smoke validation: `frontend/angular/src/app/i18n-mvp-flow-smoke.spec.ts` - locale switch `en` <-> `da` in host/player flow scope - capability copy coverage (`client_has_no_audio_output`) ## Acceptance mapping (#175) - [x] shared i18n contract frontend/backend (catalog + documented keyspace contract) - [x] default locale en - [x] remove hardcoded Danish in host/player changed scope (through shared catalog usage in scope) - [x] document key naming/architecture - [x] at least one end-to-end locale-switch validation ## Checks run - `npm test -- src/app/i18n-mvp-flow-smoke.spec.ts src/app/lobby-i18n.spec.ts` ✅ (5 tests) - Backend Django tests were not executable in this runner image (missing Django/pytest env). Closes #175
Author
Owner

Closing as redundant/no-diff: the intended slice for issue #175 is already merged in PR #218 (head 59cabcb, merge commit 5fe9939).

Closing as redundant/no-diff: the intended slice for issue #175 is already merged in PR #218 (head 59cabcb, merge commit 5fe9939).
dev-bot closed this pull request 2026-03-01 22:39:47 +01:00
All checks were successful
CI / test-and-quality (push) Successful in 3m0s
Required
Details
CI / test-and-quality (pull_request) Successful in 2m58s
Required
Details

Pull request closed

Sign in to join this conversation.