1.2 KiB
1.2 KiB
Issue #205 — Django i18n foundation (da/en)
Implemented acceptance checks
- Django i18n setup for
en+dawithenfallbackLANGUAGE_CODEset toen.LANGUAGES = [('en', 'English'), ('da', 'Danish')].LocaleMiddlewareenabled in middleware chain.
- Shared-key resolver/adapter (no ad hoc backend mapping)
- Backend error responses now resolve from shared catalog keys in
shared/i18n/lobby.json. lobby.i18n.api_error()accepts a shared key and resolves locale-specific text.
- Backend error responses now resolve from shared catalog keys in
- Representative API flow documented with key/locale behavior
POST /lobby/joinwith empty code returns:error_code: "session_code_required"- localized
error - resolved
locale
- Missing key handling deterministic and loggable
resolve_error_message()returns key string when key/translation is missing.- Warning is logged (
lobby.i18nlogger) for missing key/translation.
Example response behavior
Request
POST /lobby/join with empty code and header Accept-Language: da
Response (400)
{
"error": "Sessionskode er påkrævet",
"error_code": "session_code_required",
"locale": "da"
}
If locale is unsupported (e.g. fr), response uses locale: "en" and English message.