45 lines
1.3 KiB
Markdown
45 lines
1.3 KiB
Markdown
# ISSUE-225 Artifact — Backend i18n baseline (resolver + fallback)
|
|
|
|
Issue: **#225** (`[MVP][READY] #175-A: Backend i18n baseline (resolver + fallback)`)
|
|
|
|
## Scope verified
|
|
|
|
- Backend locale resolver supports `da` + `en` and normalizes language tags.
|
|
- Unsupported locale requests fall back to default locale (`en`).
|
|
- Error payload contract is stable for API errors:
|
|
- `error_code`
|
|
- `error`
|
|
- `locale`
|
|
|
|
## Implementation references
|
|
|
|
- Locale resolution + fallback chain:
|
|
- `lobby/i18n.py`
|
|
- `resolve_locale()`
|
|
- `resolve_error_message()`
|
|
- `api_error()`
|
|
- Shared locale contract source:
|
|
- `shared/i18n/lobby.json` (`locales.default=en`, supported includes `en`, `da`)
|
|
|
|
## Acceptance checks run
|
|
|
|
Command:
|
|
|
|
```bash
|
|
.venv/bin/python manage.py test \
|
|
lobby.tests.I18nResolverTests \
|
|
lobby.tests.LobbyFlowTests \
|
|
lobby.tests.StartRoundTests
|
|
```
|
|
|
|
Result (2026-03-02):
|
|
|
|
- `Ran 28 tests in 24.781s — OK`
|
|
- `System check identified no issues (0 silenced).`
|
|
- Confirms resolver behavior for locale normalization + fallback and stable error payload fields across flow endpoints.
|
|
|
|
## Notes
|
|
|
|
- Existing merged follow-ups in `main` include Accept-Language parsing fixes for q-values and locale tag normalization.
|
|
- This artifact documents the final baseline state and verification evidence for #225.
|