{ "locales": { "default": "en", "supported": [ "en", "da" ] }, "frontend": { "errors": { "session_code_required": { "en": "Session code is required.", "da": "Sessionskoden er påkrævet." }, "session_fetch_failed": { "en": "Could not load lobby status.", "da": "Kunne ikke indlæse lobby-status." }, "join_failed": { "en": "Join failed. Check code or nickname and try again.", "da": "Kunne ikke joine. Tjek kode eller kaldenavn og prøv igen." }, "start_round_failed": { "en": "Could not start round. Refresh the lobby and try again.", "da": "Kunne ikke starte runden. Opdater lobbyen og prøv igen." }, "session_not_found": { "en": "Session code is invalid or the session no longer exists.", "da": "Sessionskoden er ugyldig, eller sessionen findes ikke længere." }, "nickname_invalid": { "en": "Nickname must be between 2 and 40 characters.", "da": "Kaldenavn skal være mellem 2 og 40 tegn." }, "nickname_taken": { "en": "Nickname is already taken.", "da": "Kaldenavnet er allerede taget." }, "unknown": { "en": "Action failed. Refresh status and try again.", "da": "Handlingen fejlede. Opdater status og prøv igen." } }, "ui": { "common": { "refresh": { "en": "Refresh", "da": "Opdatér" }, "retry": { "en": "Retry", "da": "Prøv igen" }, "back_to_join": { "en": "Back to join", "da": "Tilbage til join" }, "session_code": { "en": "Session code", "da": "Sessionskode" }, "status": { "en": "Status", "da": "Status" }, "prompt": { "en": "Prompt", "da": "Spørgsmål" }, "round_question_id": { "en": "Round question id", "da": "Rundespørgsmål-id" }, "round": { "en": "round", "da": "runde" }, "points_short": { "en": "pts", "da": "point" }, "unknown_error": { "en": "Unknown error", "da": "Ukendt fejl" } }, "app": { "title": { "en": "WPP Angular Shell", "da": "WPP Angular Shell" }, "host_nav": { "en": "Host", "da": "Vært" }, "player_nav": { "en": "Player", "da": "Spiller" }, "language_label": { "en": "Language", "da": "Sprog" } }, "host": { "title": { "en": "Host gameplay flow", "da": "Vært gameplay-flow" }, "category": { "en": "Category", "da": "Kategori" }, "start_round": { "en": "Start round", "da": "Start runde" }, "show_question": { "en": "Show question", "da": "Vis spørgsmål" }, "mix_answers": { "en": "Mix answers → guess", "da": "Bland svar → gæt" }, "calculate_scores": { "en": "Calculate scores → reveal", "da": "Udregn score → afslør" }, "load_scoreboard": { "en": "Load scoreboard", "da": "Hent scoreboard" }, "start_next_round": { "en": "Start next round", "da": "Start næste runde" }, "finish_game": { "en": "Finish game", "da": "Afslut spil" }, "retry_scoreboard": { "en": "Retry scoreboard", "da": "Prøv scoreboard igen" }, "retry_next_round": { "en": "Retry next round", "da": "Prøv næste runde igen" }, "retry_finish": { "en": "Retry finish game", "da": "Prøv afslutning igen" }, "session_refresh_failed": { "en": "Session refresh failed", "da": "Kunne ikke opdatere session" }, "scoreboard_failed": { "en": "Scoreboard failed", "da": "Scoreboard fejlede" }, "next_round_failed": { "en": "Next round failed", "da": "Næste runde fejlede" }, "finish_game_failed": { "en": "Finish game failed", "da": "Afslutning fejlede" }, "session_code_required": { "en": "Session code is required", "da": "Sessionskode er påkrævet" }, "final_leaderboard": { "en": "Final leaderboard", "da": "Finale leaderboard" }, "winner": { "en": "Winner", "da": "Vinder" }, "audio_locale_hint": { "en": "Host locale for audio references", "da": "Værtens locale for lydreferencer" } }, "player": { "title": { "en": "Player gameplay flow", "da": "Spiller gameplay-flow" }, "nickname": { "en": "Nickname", "da": "Kaldenavn" }, "join": { "en": "Join", "da": "Join" }, "lie_label": { "en": "Lie", "da": "Løgn" }, "submit_lie": { "en": "Submit lie", "da": "Send løgn" }, "retry_lie_submit": { "en": "Retry lie submit", "da": "Prøv løgn igen" }, "submit_guess": { "en": "Submit guess", "da": "Send gæt" }, "retry_guess_submit": { "en": "Retry guess submit", "da": "Prøv gæt igen" }, "final_leaderboard": { "en": "Final leaderboard", "da": "Finale leaderboard" }, "reconnecting_text": { "en": "Reconnecting… trying to refresh session state.", "da": "Forbinder igen… prøver at opdatere session." }, "offline_text": { "en": "You are offline. Reconnect to continue gameplay.", "da": "Du er offline. Forbind igen for at fortsætte." }, "retry_now": { "en": "Retry now", "da": "Prøv nu" }, "loading_refresh": { "en": "Loading latest session state…", "da": "Indlæser seneste session-status…" }, "loading_join": { "en": "Joining session… restoring your player state.", "da": "Joiner session… gendanner spillerstatus." }, "loading_submit_lie": { "en": "Submitting lie… waiting for guess phase.", "da": "Sender løgn… venter på gættefase." }, "loading_submit_guess": { "en": "Submitting guess… waiting for reveal.", "da": "Sender gæt… venter på afsløring." }, "session_refresh_failed": { "en": "Session refresh failed", "da": "Kunne ikke opdatere session" }, "join_failed": { "en": "Join failed", "da": "Join fejlede" }, "lie_submit_failed": { "en": "Lie submit failed", "da": "Løgn-fejl" }, "guess_submit_failed": { "en": "Guess submit failed", "da": "Gætte-fejl" } } }, "capabilities": { "client_has_no_audio_output": true } }, "backend": { "error_codes": { "session_code_required": "session_code_required", "nickname_invalid": "nickname_invalid", "session_not_found": "session_not_found", "session_not_joinable": "session_not_joinable", "nickname_taken": "nickname_taken", "category_slug_required": "category_slug_required", "category_not_found": "category_not_found", "round_start_invalid_phase": "round_start_invalid_phase", "round_already_configured": "round_already_configured" }, "errors": { "session_code_required": { "en": "Session code is required", "da": "Sessionskode er påkrævet" }, "nickname_invalid": { "en": "Nickname must be between 2 and 40 characters", "da": "Kaldenavn skal være mellem 2 og 40 tegn" }, "session_not_found": { "en": "Session not found", "da": "Session blev ikke fundet" }, "session_not_joinable": { "en": "Session is not joinable", "da": "Sessionen kan ikke joine nu" }, "nickname_taken": { "en": "Nickname already taken", "da": "Kaldenavnet er allerede taget" }, "category_slug_required": { "en": "category_slug is required", "da": "category_slug er påkrævet" }, "category_not_found": { "en": "Category not found", "da": "Kategori blev ikke fundet" }, "round_start_invalid_phase": { "en": "Round can only be started from lobby", "da": "Runden kan kun startes fra lobbyen" }, "round_already_configured": { "en": "Round already configured", "da": "Runden er allerede konfigureret" } } }, "contract": { "ownership": { "artifact": "shared/i18n/lobby.json", "backend": "lobby/* reads backend/errors + backend/error_codes", "frontend": "frontend/* reads frontend/errors + frontend/ui + contract/backend_to_frontend_error_keys" }, "locale": { "default": "en", "supported": [ "en", "da" ], "fallback": "Use default locale when requested locale is unsupported or key translation is missing." }, "backend_to_frontend_error_keys": { "session_code_required": "session_code_required", "nickname_invalid": "nickname_invalid", "session_not_found": "session_not_found", "session_not_joinable": "join_failed", "nickname_taken": "nickname_taken", "category_slug_required": "start_round_failed", "category_not_found": "start_round_failed", "round_start_invalid_phase": "start_round_failed", "round_already_configured": "start_round_failed" } } }