561 lines
19 KiB
JSON
561 lines
19 KiB
JSON
{
|
|
"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"
|
|
},
|
|
"audio_policy_notice": {
|
|
"en": "Audio playback is disabled on phone clients. Sound is available on the primary host device.",
|
|
"da": "Lydafspilning er slået fra på telefon-klienten. Lyd afspilles kun på den primære værtsenhed."
|
|
}
|
|
}
|
|
},
|
|
"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",
|
|
"category_has_no_questions": "category_has_no_questions",
|
|
"show_question_invalid_phase": "show_question_invalid_phase",
|
|
"round_config_missing": "round_config_missing",
|
|
"question_already_shown": "question_already_shown",
|
|
"no_available_questions": "no_available_questions",
|
|
"mix_answers_invalid_phase": "mix_answers_invalid_phase",
|
|
"round_question_not_found": "round_question_not_found",
|
|
"not_enough_answers_to_mix": "not_enough_answers_to_mix",
|
|
"host_only_start_round": "host_only_start_round",
|
|
"host_only_show_question": "host_only_show_question",
|
|
"host_only_mix_answers": "host_only_mix_answers",
|
|
"player_id_required": "player_id_required",
|
|
"session_token_required": "session_token_required",
|
|
"lie_text_invalid": "lie_text_invalid",
|
|
"player_not_found_in_session": "player_not_found_in_session",
|
|
"invalid_player_session_token": "invalid_player_session_token",
|
|
"lie_submission_closed": "lie_submission_closed",
|
|
"lie_already_submitted": "lie_already_submitted",
|
|
"host_only_view_scoreboard": "host_only_view_scoreboard",
|
|
"scoreboard_invalid_phase": "scoreboard_invalid_phase",
|
|
"host_only_start_next_round": "host_only_start_next_round",
|
|
"next_round_invalid_phase": "next_round_invalid_phase",
|
|
"host_only_finish_game": "host_only_finish_game",
|
|
"finish_game_invalid_phase": "finish_game_invalid_phase",
|
|
"host_only_calculate_scores": "host_only_calculate_scores",
|
|
"scores_already_calculated": "scores_already_calculated",
|
|
"calculate_scores_invalid_phase": "calculate_scores_invalid_phase",
|
|
"no_guesses_submitted": "no_guesses_submitted",
|
|
"guess_submission_closed": "guess_submission_closed",
|
|
"selected_answer_invalid": "selected_answer_invalid",
|
|
"guess_already_submitted": "guess_already_submitted",
|
|
"lie_submission_invalid_phase": "lie_submission_invalid_phase",
|
|
"selected_text_invalid": "selected_text_invalid",
|
|
"guess_submission_invalid_phase": "guess_submission_invalid_phase"
|
|
},
|
|
"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"
|
|
},
|
|
"category_has_no_questions": {
|
|
"en": "Category has no active questions",
|
|
"da": "Kategorien har ingen aktive spørgsmål"
|
|
},
|
|
"show_question_invalid_phase": {
|
|
"en": "Question can only be shown in lie phase",
|
|
"da": "Spørgsmålet kan kun vises i løgnefasen"
|
|
},
|
|
"round_config_missing": {
|
|
"en": "Round config missing",
|
|
"da": "Rundekonfiguration mangler"
|
|
},
|
|
"question_already_shown": {
|
|
"en": "Question already shown for this round",
|
|
"da": "Spørgsmålet er allerede vist for denne runde"
|
|
},
|
|
"no_available_questions": {
|
|
"en": "No available questions in category",
|
|
"da": "Ingen tilgængelige spørgsmål i kategorien"
|
|
},
|
|
"mix_answers_invalid_phase": {
|
|
"en": "Answers can only be mixed in lie or guess phase",
|
|
"da": "Svar kan kun blandes i løgne- eller gættefasen"
|
|
},
|
|
"round_question_not_found": {
|
|
"en": "Round question not found",
|
|
"da": "Rundespørgsmål blev ikke fundet"
|
|
},
|
|
"not_enough_answers_to_mix": {
|
|
"en": "Not enough answers to mix",
|
|
"da": "Ikke nok svar at blande"
|
|
},
|
|
"host_only_start_round": {
|
|
"en": "Only host can start round",
|
|
"da": "Kun værten kan starte runden"
|
|
},
|
|
"host_only_show_question": {
|
|
"en": "Only host can show question",
|
|
"da": "Kun værten kan vise spørgsmålet"
|
|
},
|
|
"host_only_mix_answers": {
|
|
"en": "Only host can mix answers",
|
|
"da": "Kun værten kan blande svar"
|
|
},
|
|
"player_id_required": {
|
|
"en": "player_id is required",
|
|
"da": "player_id er påkrævet"
|
|
},
|
|
"session_token_required": {
|
|
"en": "session_token is required",
|
|
"da": "session_token er påkrævet"
|
|
},
|
|
"lie_text_invalid": {
|
|
"en": "text must be between 1 and 255 characters",
|
|
"da": "text skal være mellem 1 og 255 tegn"
|
|
},
|
|
"player_not_found_in_session": {
|
|
"en": "Player not found in session",
|
|
"da": "Spiller blev ikke fundet i sessionen"
|
|
},
|
|
"invalid_player_session_token": {
|
|
"en": "Invalid player session token",
|
|
"da": "Ugyldigt spiller-session-token"
|
|
},
|
|
"lie_submission_closed": {
|
|
"en": "Lie submission window has closed",
|
|
"da": "Vinduet for løgn-indsendelse er lukket"
|
|
},
|
|
"lie_already_submitted": {
|
|
"en": "Lie already submitted for this player",
|
|
"da": "Løgnen er allerede indsendt for denne spiller"
|
|
},
|
|
"host_only_view_scoreboard": {
|
|
"en": "Only host can view scoreboard",
|
|
"da": "Kun værten kan se scoreboard"
|
|
},
|
|
"scoreboard_invalid_phase": {
|
|
"en": "Scoreboard is only available in reveal phase",
|
|
"da": "Scoreboard er kun tilgængeligt i reveal-fasen"
|
|
},
|
|
"host_only_start_next_round": {
|
|
"en": "Only host can start next round",
|
|
"da": "Kun værten kan starte næste runde"
|
|
},
|
|
"next_round_invalid_phase": {
|
|
"en": "Next round can only start from reveal phase",
|
|
"da": "Næste runde kan kun startes fra reveal-fasen"
|
|
},
|
|
"host_only_finish_game": {
|
|
"en": "Only host can finish game",
|
|
"da": "Kun værten kan afslutte spillet"
|
|
},
|
|
"finish_game_invalid_phase": {
|
|
"en": "Game can only be finished from reveal phase",
|
|
"da": "Spillet kan kun afsluttes fra reveal-fasen"
|
|
},
|
|
"host_only_calculate_scores": {
|
|
"en": "Only host can calculate scores",
|
|
"da": "Kun værten kan udregne score"
|
|
},
|
|
"scores_already_calculated": {
|
|
"en": "Scores already calculated for this round question",
|
|
"da": "Score er allerede udregnet for dette rundespørgsmål"
|
|
},
|
|
"calculate_scores_invalid_phase": {
|
|
"en": "Scores can only be calculated in guess phase",
|
|
"da": "Score kan kun udregnes i gættefasen"
|
|
},
|
|
"no_guesses_submitted": {
|
|
"en": "No guesses submitted for this round question",
|
|
"da": "Ingen gæt er indsendt for dette rundespørgsmål"
|
|
},
|
|
"guess_submission_closed": {
|
|
"en": "Guess submission window has closed",
|
|
"da": "Vinduet for gæt-indsendelse er lukket"
|
|
},
|
|
"selected_answer_invalid": {
|
|
"en": "Selected answer is not part of this round",
|
|
"da": "Det valgte svar er ikke en del af denne runde"
|
|
},
|
|
"guess_already_submitted": {
|
|
"en": "Guess already submitted for this player",
|
|
"da": "Gættet er allerede indsendt for denne spiller"
|
|
},
|
|
"lie_submission_invalid_phase": {
|
|
"en": "Lie submission is only allowed in lie phase",
|
|
"da": "Løgn kan kun indsendes i løgnefasen"
|
|
},
|
|
"selected_text_invalid": {
|
|
"en": "selected_text must be between 1 and 255 characters",
|
|
"da": "selected_text skal være mellem 1 og 255 tegn"
|
|
},
|
|
"guess_submission_invalid_phase": {
|
|
"en": "Guess submission is only allowed in guess phase",
|
|
"da": "Gæt kan kun indsendes i gættefasen"
|
|
}
|
|
}
|
|
},
|
|
"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",
|
|
"host_only_start_round": "start_round_failed",
|
|
"host_only_show_question": "start_round_failed",
|
|
"host_only_mix_answers": "start_round_failed",
|
|
"host_only_action": "start_round_failed",
|
|
"category_has_no_questions": "start_round_failed",
|
|
"show_question_invalid_phase": "start_round_failed",
|
|
"round_config_missing": "start_round_failed",
|
|
"question_already_shown": "start_round_failed",
|
|
"no_available_questions": "start_round_failed",
|
|
"mix_answers_invalid_phase": "start_round_failed",
|
|
"round_question_not_found": "start_round_failed",
|
|
"not_enough_answers_to_mix": "start_round_failed",
|
|
"player_id_required": "unknown",
|
|
"session_token_required": "unknown",
|
|
"lie_text_invalid": "unknown",
|
|
"lie_submission_invalid_phase": "unknown",
|
|
"player_not_found_in_session": "unknown",
|
|
"invalid_player_session_token": "unknown",
|
|
"lie_submission_closed": "unknown",
|
|
"lie_already_submitted": "unknown",
|
|
"selected_text_invalid": "unknown",
|
|
"guess_submission_invalid_phase": "unknown",
|
|
"guess_submission_closed": "unknown",
|
|
"selected_answer_invalid": "unknown",
|
|
"guess_already_submitted": "unknown",
|
|
"host_only_view_scoreboard": "unknown",
|
|
"scoreboard_invalid_phase": "unknown",
|
|
"host_only_start_next_round": "unknown",
|
|
"next_round_invalid_phase": "unknown",
|
|
"host_only_finish_game": "unknown",
|
|
"finish_game_invalid_phase": "unknown",
|
|
"host_only_calculate_scores": "unknown",
|
|
"scores_already_calculated": "unknown",
|
|
"calculate_scores_invalid_phase": "unknown",
|
|
"no_guesses_submitted": "unknown"
|
|
}
|
|
}
|
|
}
|