{
	"api_kicker": "Udvikler-API",
	"api_title": "Byg aktiviteter fra dit eget system",
	"api_intro": "Ét POST-kald pr. aktivitetstype. Send dit indhold som JSON, og få en aktivitet i din Puzzel.org-konto og en URL, du kan give til spillerne eller sætte ind i et iframe.",
	"api_search_placeholder": "Søg i endpoints, felter og indstillinger",
	"api_search_results": "der matcher denne side",
	"api_search_empty": "Intet på denne side matcher det. Prøv et endpoint-navn, et felt som activity_key, eller en statuskode.",
	"api_search_clear": "Ryd søgning",
	"api_nav_guide": "Kom i gang",
	"api_nav_endpoints": "Endpoints",
	"api_toc_label": "På denne side",
	"api_hero_base_label": "Base-URL",
	"api_hero_method_label": "Metode",
	"api_hero_method_value": "POST, JSON-body",
	"api_hero_auth_label": "Godkendelse",
	"api_hero_auth_value": "Nøgle + e-mail i JSON-bodyen",
	"api_hero_limit_label": "Kvote",
	"api_hero_limit_value": "[limit] aktiviteter om dagen",
	"api_hero_count_label": "Endpoints",
	"api_hero_count_value": "[count] aktivitetstyper",
	"api_s_quickstart_title": "Din første anmodning",
	"api_s_quickstart_body": "Intet at installere og intet håndtryk: send en JSON-body med din nøgle, din e-mail og dit indhold. Svaret indeholder den nye aktivitets nøgle og den URL, den spilles på.",
	"api_s_quickstart_note": "Hvert eksempel på denne side er en komplet anmodning, du kan køre direkte. Sæt din egen nøgle og dit eget indhold ind, og det virker uden ændringer.",
	"api_s_auth_title": "Godkendelse",
	"api_s_auth_body": "Der er ingen headers og ingen bearer-token. Begge oplysninger sendes i JSON-bodyen for hver anmodning, og nøglen bliver kun accepteret for den konto, som e-mailen tilhører.",
	"api_s_auth_where": "Din nøgle ligger under kontoafsnittet på dit dashboard, bag Vis.",
	"api_s_auth_where_link": "Åbn min API-nøgle",
	"api_s_auth_premium": "API-nøgler bliver uddelt, når et abonnement starter, så en gratis konto har endnu ikke en.",
	"api_s_auth_plans": "Se planerne",
	"api_s_auth_secret": "Behandl nøglen som en adgangskode. Den opretter og overskriver aktiviteter på din konto, så hold den på serversiden og væk fra alt, en browser kan læse.",
	"api_prefill_kicker": "Eksempler",
	"api_prefill_label": "Udfyld eksemplerne med min egen API-nøgle",
	"api_prefill_signed_out": "Log ind, så bliver din nøgle sat ind i hvert eksempel på denne side.",
	"api_prefill_sign_in": "Log ind",
	"api_prefill_none": "Ingen API-nøgle på denne konto endnu.",
	"api_prefill_warning": "Hvert eksempel indeholder nu din rigtige nøgle. Indsæt den ikke i en chat, et issue eller et offentligt repo.",
	"api_s_request_title": "Anmodningens body",
	"api_s_request_body": "Hvert endpoint tager de samme fem felter. Det, der adskiller dem, er content-feltet nedenunder: de fleste tager en liste af items, nogle få tager én sentence eller ét image, og sudoku tager slet intet.",
	"api_s_request_settings": "settings er et objekt med indstillinger for det enkelte endpoint. Hvilke indstillinger et endpoint læser, står angivet under det; alt andet, du putter der, bliver ignoreret.",
	"api_col_field": "Felt",
	"api_col_type": "Type",
	"api_col_notes": "Hvad det gør",
	"api_col_status": "Status",
	"api_col_meaning": "Hvad det betyder",
	"api_required": "påkrævet",
	"api_optional": "valgfri",
	"api_default_label": "Standard",
	"api_allowed_label": "En af",
	"api_in_settings": "i settings",
	"api_f_account_api_key": "Din kontos API-nøgle. Den bliver sendt i bodyen, ikke i en header.",
	"api_f_email": "Adressen, din Puzzel.org-konto logger ind med. Nøglen er kun gyldig sammen med den.",
	"api_f_title": "Navnet, aktiviteten får på dit dashboard. Udelad det, så bruger endpointet sit eget standardnavn.",
	"api_f_language": "Bestemmer kun locale i den URL, du får tilbage — den oversætter ikke noget af det, du sender. Ordsøgning bruger den også til at skifte fyldbogstaverne til arabisk, når den er \"ar\".",
	"api_f_activity_key": "Udelad det for at oprette en ny aktivitet. Angiv nøglen til en, du allerede ejer, så bliver den aktivitet genopbygget i stedet.",
	"api_f_sentence_cryptogram": "Sætningen, der skal krypteres. Spillerne afkoder den tegn for tegn.",
	"api_f_sentence_calculation": "Sætningen, spillerne afslører ved at løse regnestykkerne.",
	"api_f_image": "Absolut URL til billedet, der skal skæres op. Sendes på øverste niveau, ikke inde i settings.",
	"api_f_image_setting": "Absolut URL til billedet, der skal blandes. I modsætning til puslespillets ligger denne inde i settings.",
	"api_s_response_title": "Hvad du får tilbage",
	"api_s_response_body": "Et vellykket kald svarer 200 med den nye aktivitets nøgle og den URL, den spilles på. Alt andet svarer med success sat til false og en enkelt error-streng.",
	"api_response_success": "Succes",
	"api_response_error": "Fejl",
	"api_s_response_urls": "Den url, du får tilbage, er embed-visningen. Skift embed ud med play for at åbne den i fuld side, eller med build for at åbne den i editoren — nøglen efter p= er den samme.",
	"api_s_updating_title": "Oprettelse vs. opdatering",
	"api_s_updating_body": "Send activity_key, så bliver aktiviteten bag den genopbygget på stedet: dens indhold bliver udskiftet, dens navn og versionsstempel bliver opdateret, og selve nøglen forbliver den samme — så links og indlejringer, du allerede har delt, bliver ved med at virke. Resultater, mappeplacering og alle indstillinger, som endpointet ikke selv skriver til, forbliver som de var.",
	"api_s_updating_own": "Du kan kun opdatere aktiviteter, din egen konto ejer. En andens nøgle svarer 403.",
	"api_s_updating_name": "title bliver anvendt ved hver opdatering, også dens standardværdi — udelad det, så bliver aktiviteten omdøbt til det pågældende endpoints standardnavn.",
	"api_s_updating_settings": "De indstillingsblokke, et endpoint selv skriver til, bliver skrevet helt om, så en opdatering også nulstiller dem til de værdier, du sender, eller til endpointets standardværdier.",
	"api_s_updating_quota": "En opdatering koster det samme som en oprettelse: ét kald af dagens kvote.",
	"api_s_limits_title": "Kaldegrænse",
	"api_s_limits_body": "Hvert vellykket kald tæller, oprettelser og opdateringer på lige fod. Går du over grænsen, svarer den næste anmodning 429, indtil tælleren bliver nulstillet.",
	"api_s_limits_counter": "[limit] aktiviteter pr. konto pr. dag",
	"api_s_limits_reset": "Tælleren bliver nulstillet én gang om dagen af et planlagt job, ikke over et glidende 24-timers vindue.",
	"api_s_errors_title": "Fejl",
	"api_s_errors_body": "Fejl kommer altid som JSON med de samme to felter, aldrig som en HTML-side. Error-strengen er skrevet, så et menneske kan læse den — den navngiver det felt eller den grænse, der fejlede.",
	"api_err_400": "Noget i bodyen mangler, er forkert formet eller ligger uden for det tilladte område. Beskeden navngiver feltet.",
	"api_err_401": "E-mailen er ukendt, eller nøglen hører ikke til den konto.",
	"api_err_403": "Den activity_key, du sendte, hører til en anden konto.",
	"api_err_429": "Dagens kvote er brugt op. Den nulstilles én gang om dagen.",
	"api_err_500": "Generatoren kunne ikke bygge en opgave ud fra det, du sendte — som regel for få ord, eller ord, der ikke kan passes sammen.",
	"api_endpoints_title": "Endpoints",
	"api_endpoints_intro": "Én sti pr. aktivitetstype, alle er POST, alle under samme base-URL. Hver enkelt lister det indhold, den skal bruge, de settings, den læser, og en anmodning, du kan køre.",
	"api_group_words": "Ord & bogstaver",
	"api_group_cards": "Kort & par",
	"api_group_questions": "Spørgsmål & svar",
	"api_group_text": "Sætninger & tal",
	"api_group_images": "Billeder",
	"api_ep_content_label": "Indhold",
	"api_ep_settings_label": "Settings, den læser",
	"api_ep_settings_none": "Dette endpoint læser ingen settings.",
	"api_ep_example_label": "Eksempel på anmodning",
	"api_ep_notes_label": "Værd at vide",
	"api_ep_min_items": "Mindst [count] i items",
	"api_ep_no_items": "Tager ingen items",
	"api_ep_default_title": "Falder tilbage til navnet “[title]”",
	"api_copy": "Kopiér",
	"api_copied": "Kopieret",
	"api_toast_copied": "Kopieret til udklipsholderen",
	"api_ep_open_builder": "Åbn editoren",
	"api_ep_back_to_top": "Til toppen",
	"api_e_crossword": "Sammenfletter dine svar i et gitter og nummererer definitionerne for dig.",
	"api_c_crossword": "En liste af ord. Hver post parrer svaret med den clue, der peger på det.",
	"api_note_crossword_length": "Svar, der er kortere end to tegn, bliver fjernet, før gitteret bliver bygget, og mindst to skal overleve det.",
	"api_note_crossword_layout": "Svar bliver sat med store bogstaver, og generatoren får tyve forsøg til at placere dem. Hvis den ikke kan placere et eneste ord, svarer kaldet 500.",
	"api_e_wordseeker": "Gemmer dine ord i et bogstavgitter, i de retninger og den form, du vælger.",
	"api_c_wordseeker": "En liste af ord. Clue-teksten bliver den ordbeholdning, spillerne arbejder ud fra.",
	"api_note_wordseeker_length": "Svar under to tegn bliver fjernet, og hvert svar bliver sat med store bogstaver, før det kommer ind i gitteret.",
	"api_note_wordseeker_arabic": "Gitteret bliver fyldt op med latinske bogstaver, medmindre language er \"ar\", hvilket skifter fyldbogstaverne til arabisk.",
	"api_set_wordseeker_hidden_solution": "De resterende bogstaver staver dette. Når du angiver den, fortæller det også generatoren, at den skal placere løsningen først i stedet for at proppe så mange ord ind, den kan.",
	"api_set_wordseeker_directions": "Hvilke retninger et ord må løbe i. Udelad det, og ord løber kun mod øst, sydøst og syd.",
	"api_set_wordseeker_template": "Skærer gitteret til i en form i stedet for at lade det være kvadratisk.",
	"api_e_acrostic": "Stabler dine svar, så én kolonne staver et skjult ord.",
	"api_c_acrostic": "En liste af ord. Tilsammen skal de levere hvert bogstav i det skjulte ord.",
	"api_set_acrostic_hidden_solution": "Ordet, den fremhævede kolonne staver. Dette endpoint kan ikke køre uden det.",
	"api_note_acrostic_letters": "Hvis svarene ikke kan levere de bogstaver, løsningen har brug for, svarer kaldet 500 i stedet for at gemme et halvfærdigt gitter.",
	"api_note_acrostic_order": "Generatoren omarrangerer dine svar, så kolonnen går op, så den rækkefølge, du sender, ikke er den rækkefølge, spillerne ser.",
	"api_e_word-scramble": "Blander bogstaverne i hvert svar, så spillerne kan sortere dem.",
	"api_c_word-scramble": "En liste af ord. Clue bliver vist ved siden af de blandede bogstaver.",
	"api_set_scramble_hidden_solution": "Et valgfrit bonusord, spillerne indtaster, når resten er løst.",
	"api_note_scramble_random": "Aktiviteter, der bliver lavet via API'en, har altid indstillingen bland-rækkefølgen slået til, så den rækkefølge, du sender, ikke er den rækkefølge, spillerne får.",
	"api_e_hangman": "Gør dine ord eller udtryk til gæt-bogstavet-runder.",
	"api_c_hangman": "En liste af ord eller korte udtryk. Clue er det tip, spillerne ser.",
	"api_e_wordle": "Laver et gæt-ordet-spil ud af hvert ord, du sender.",
	"api_c_wordle": "En liste af ord. Spillerne får én runde pr. ord.",
	"api_note_wordle_dictionary": "Lavet med indstillingen tjek-at-gæt-er-rigtige-ord slået til. Slå den fra i editoren, hvis dine ord er navne eller opdigtede.",
	"api_e_typing-practice": "Gør sætninger til skriveøvelser.",
	"api_c_typing-practice": "En liste af ord eller sætninger, der skal skrives af. Clue-feltet fungerer også som en instruktion.",
	"api_e_wheel-of-fortune": "Fylder et lykkehjul med dine egne segmenter.",
	"api_c_wheel-of-fortune": "En liste af segmenter. Hvert svar bliver til én kile.",
	"api_note_wheel_outcome": "Lavet med \"vis kun udfaldet på hjulet\", så resultatet bliver aflæst på hjulet i stedet for annonceret ved siden af det.",
	"api_e_memory": "Vendte kort, der skal vendes om og parres.",
	"api_c_memory": "En liste af par. Hvert par indeholder de to kort, der hører sammen.",
	"api_note_cards_media": "Et kort er et objekt med en type og en value. Brug \"text\" til ord, eller \"image\", \"audio\", \"youtube\" eller \"link\" med en URL i value, og tilføj alt for en beskrivelse.",
	"api_e_matching-pairs": "To kolonner med kort, der skal trækkes sammen.",
	"api_c_matching-pairs": "En liste af par. Det første kort i hvert par lander i den ene side, dets makker i den anden.",
	"api_e_flash-cards": "Tosidede kort, der skal bladres igennem.",
	"api_c_flash-cards": "En liste af kort. Det første kort er forsiden, det andet bagsiden.",
	"api_note_flashcards_sides": "Endpointet gemmer lige så mange kort, som du sender, så send præcis to pr. post — forside, så bagside.",
	"api_e_categorize": "Kort, der skal sorteres i den kategori, de hører til i.",
	"api_c_categorize": "En liste af kategorier, hver med et navn og de kort, der hører til i den.",
	"api_note_categorize_name": "En kategori, der bliver sendt uden navn, bliver gemt som \"Untitled Category\", så send altid ét.",
	"api_e_reorder": "En sekvens, spillerne skal sætte i rækkefølge igen.",
	"api_c_reorder": "En liste af sekvenser. Hver indeholder sine kort i den rigtige rækkefølge.",
	"api_note_reorder_order": "Den rækkefølge, du sender, bliver gemt som den rigtige rækkefølge — nummer et først.",
	"api_e_quiz": "Multiple choice og åbne spørgsmål, der bliver bedømt undervejs.",
	"api_c_quiz": "En liste af spørgsmål. Multiple choice-spørgsmål indeholder deres svarmuligheder; åbne spørgsmål indeholder det svar, du accepterer.",
	"api_note_question_types": "question_type er enten \"multiple_choice\", hvor den rigtige svarmulighed har isCorrect true, eller \"open_answer\", som i stedet bruger correct_answer. Udelades det, bliver det behandlet som multiple choice.",
	"api_note_quiz_settings": "Quiz-endpointet sender settings direkte videre som aktivitetens indstillingsblokke, så det er ikke stedet til løse valgmuligheder — justér quizzen i editoren bagefter.",
	"api_e_board-game": "Et brætspil, du skal kapløbe hen over, med dine spørgsmål på felterne.",
	"api_c_board-game": "En liste af spørgsmål, præcis den samme form som quiz-endpointet tager.",
	"api_set_board_tiles": "Hvor mange felter brættet har. Mellem 10 og 75.",
	"api_set_board_mode": "Om spillerne kapløber til mål, eller om de samler genstande undervejs.",
	"api_e_cryptogram": "Gør en sætning til en kode, der skal knækkes, ét tegn ad gangen.",
	"api_c_cryptogram": "Én sætning, i sentence-feltet. Dette endpoint tager ingen items.",
	"api_note_cryptogram_no_items": "Alt, du sender i items, bliver ignoreret — opgaven bliver bygget ud fra sentence alene.",
	"api_set_cryptogram_helpers": "Hvilke tegn der bliver givet gratis som en indgang: ingen, de mest almindelige, vokalerne, eller dem, du selv angiver i en liste.",
	"api_set_cryptogram_character_list": "Alfabetet, chifferet bliver bygget ud fra. Efterlades det tomt, vælger krypteringen sit eget.",
	"api_set_cryptogram_extra_letters": "De tegn, der bliver givet væk, når helpers er \"custom\". Ignoreres for de andre hjælpetilstande.",
	"api_set_cryptogram_hide_unused": "Udelader tegn, som sætningen aldrig bruger, fra nøglen.",
	"api_e_calculation": "Gemmer en sætning bag regnestykker — løs regnestykket, afslør bogstavet.",
	"api_c_calculation": "Én sætning, i sentence-feltet. Dette endpoint tager ingen items.",
	"api_set_calc_difficulty": "Det højeste svar, et regnestykke må have.",
	"api_set_calc_operators": "Hvilke regnearter der må optræde. x er gange, : er division.",
	"api_set_calc_max_operations": "Hvor mange regnearter ét regnestykke må kæde sammen.",
	"api_set_calc_number_difficulty": "Sætter loft over de enkelte tal inde i et regnestykke. Alt fra 5 til 1000.",
	"api_note_calculation_fit": "Hvis begrænsningerne er for stramme til at indkode sætningen, svarer kaldet 400 og beder dig løsne dem i stedet for at gemme en halvfærdig opgave.",
	"api_e_sudoku": "Genererer et løst gitter og fjerner derefter tal igen.",
	"api_c_sudoku": "Intet. Hele opgaven kommer ud af dens to settings.",
	"api_note_sudoku_no_items": "Send ingen items og ingen sentence — size og difficulty er hele input.",
	"api_note_sudoku_difficulty_sizes": "Editoren tilbyder kun difficulty for 2x3, 3x3 og 3x4. API'en anvender den på enhver size, inklusive 2x2 og 4x4.",
	"api_set_sudoku_size": "Størrelsen på én blok, skrevet som rækker gange kolonner — 3x3 giver det klassiske 9x9-gitter. Endpointet tjekker kun, at det kan tolkes som to tal, så hold dig til de størrelser, editoren tilbyder.",
	"api_set_sudoku_difficulty": "Hvor mange tal der bliver stående i gitteret til at starte ud fra.",
	"api_e_jigsaw": "Skærer et billede i brikker, der skal trækkes sammen igen.",
	"api_c_jigsaw": "Én billed-URL, i image-feltet. Dette endpoint tager ingen items.",
	"api_note_jigsaw_grid": "API'en laver altid et puslespil på 4 gange 4. Antal brikker, uregelmæssige brikker og lige kanter er indstillinger i editoren — det gør ingen forskel at sende rows eller columns her.",
	"api_note_image_reachable": "URL'en bliver gemt, som du sendte den, og filen bliver aldrig kopieret, så den skal blive ved med at være offentligt tilgængelig, så længe aktiviteten bliver spillet.",
	"api_e_slidingpuzzle": "Blander et billede til felter, der glider på plads.",
	"api_c_slidingpuzzle": "Én billed-URL, inde i settings. Dette endpoint tager ingen items.",
	"api_note_sliding_image_slot": "I modsætning til puslespillet læser dette endpoint sit billede fra settings.image. Et image-felt på øverste niveau bliver ignoreret, og kaldet svarer 400.",
	"api_help_title": "Opfører noget sig ikke, som det skal?",
	"api_help_body": "Send den anmodning, du prøvede, og den fejl, du fik tilbage, så får du et rigtigt svar — fra den person, der skrev endpointet.",
	"api_help_cta": "Skriv til support",
	"api_int_kicker": "Integrationer til udviklere",
	"api_int_title": "Kobl Puzzel til din egen platform",
	"api_int_intro": "Puzzel kan sende en spillers resultat direkte videre til et andet system — deres score, hvor langt de kom, hvad de svarede — uden at det system behøver at være et helt LMS. Denne side er alle kanalerne, der findes: hvad der sendes ud, hvornår det sendes ud, og det mindste, du selv skal bygge for at tage imod det.",
	"api_int_hero_out_label": "Resultater sendes ud via",
	"api_int_hero_out_value": "En webhook, eller en besked til siden omkring aktiviteten",
	"api_int_hero_in_label": "Din side kan",
	"api_int_hero_in_value": "Logge spilleren ind og nulstille aktiviteten",
	"api_int_hero_where_label": "Slås til",
	"api_int_hero_where_value": "Pr. aktivitet, under Udvikler i editoren",
	"api_int_hero_plan_label": "Inkluderet med",
	"api_int_hero_plan_value": "En betalt plan — disse indstillinger er slået fra på en gratis konto",
	"api_int_search_placeholder": "Søg i kanaler, felter og eksempler",
	"api_int_search_empty": "Der er ikke noget på denne side, der matcher det. Prøv en kanal som webhook eller postMessage, eller et felt som progress.",
	"api_int_nav_channels": "Kanaler",
	"api_int_s_choose_title": "Hvilken kanal har du brug for?",
	"api_int_s_choose_body": "Tre ting kan forlade en aktivitet, og én kan komme ind. Hvilken der passer, afhænger af ét spørgsmål: sidder spilleren inde i din side, eller et helt andet sted?",
	"api_int_choose_out": "Ud af Puzzel",
	"api_int_choose_in": "Ind i Puzzel",
	"api_int_choose_when": "Brug den når",
	"api_int_choose_needs": "Du skal bruge",
	"api_int_choose_setting": "Indstilling",
	"api_int_ch_webhook_name": "Resultatwebhook",
	"api_int_ch_webhook_summary": "Hvert gemt resultat sendes med POST til en URL, du selv ejer, som JSON.",
	"api_int_ch_webhook_when": "Spilleren kan være hvor som helst — et delt link, en QR-kode, en andens hjemmeside — og du vil have resultatet i din egen database.",
	"api_int_ch_webhook_needs": "Et https-endpoint, der accepterer et cross-origin-POST.",
	"api_int_ch_parent_name": "Resultater til siden omkring den",
	"api_int_ch_parent_summary": "Samme JSON, sendt til den side, der indlejrer aktiviteten, i stedet for til en server.",
	"api_int_ch_parent_when": "Du indlejrer aktiviteten på din egen kursusside, og siden selv kan gøre noget med resultatet.",
	"api_int_ch_parent_needs": "En iframe på din side og en listener til beskeder. Ingen server, ingen CORS.",
	"api_int_ch_completion_name": "Afslutningssignal",
	"api_int_ch_completion_summary": "Én besked, når spilleren er færdig, og den indeholder ikke andet end det faktum.",
	"api_int_ch_completion_when": "Alt, du vil vide, er, om de er færdige — for at afkrydse lektionen, låse den næste op eller vise din egen skærm.",
	"api_int_ch_completion_needs": "En iframe på din side og en listener til beskeder.",
	"api_int_ch_trigger_name": "Nulstil fra din side",
	"api_int_ch_trigger_summary": "Din side beder den indlejrede aktivitet om at rydde spillerens svar og starte forfra.",
	"api_int_ch_trigger_when": "Du har din egen \"prøv igen\"-knap uden for aktiviteten.",
	"api_int_ch_trigger_needs": "En iframe på din side. Beskeden accepteres kun fra den side, der indlejrer aktiviteten.",
	"api_int_s_webhook_title": "Resultatwebhook",
	"api_int_s_webhook_body": "Slå \"Send resultater til en webhook\" til i editoren, og giv den en URL. Fra da af sender spillerens browser hele resultatet som JSON med POST til den URL, hver gang deres fremskridt gemmes.",
	"api_int_webhook_steps_title": "Sådan sætter du det op",
	"api_int_webhook_step_1": "Åbn aktiviteten i editoren, og gå til menuen Udvikler.",
	"api_int_webhook_step_2": "Slå \"Send resultater til en webhook\" til, og indsæt dit endpoint i feltet nedenunder. Det skal være en fuld URL — et rent domæne bliver afvist — og det skal være https, fordi browseren blokerer et almindeligt http-kald fra en side, der serveres over https.",
	"api_int_webhook_step_3": "Spil aktiviteten selv én gang. Det første POST-kald lander, så snart du svarer på noget.",
	"api_int_webhook_receiver": "En modtager, fra ende til anden",
	"api_int_webhook_timing_title": "Det udløses, mens du spiller — ikke kun til sidst",
	"api_int_webhook_timing_body": "Et resultat sendes ud, hver gang indtastningen gemmes: efter en pause i skrivningen, når et kort placeres, når uret stopper, og igen når aktiviteten er færdig. Et langt krydsord er et par dusin kald, ikke ét — så skriv din handler som en upsert med nøgle på playerUid og activityKey i stedet for som en insert. Hvert kald indeholder hele tilstanden, så det nyeste altid overskriver det sidste, og et kald, der går tabt, bliver rettet op af det næste.",
	"api_int_webhook_finished_title": "Sådan kender du en afslutning fra en gemning",
	"api_int_webhook_finished_body": "progress er en procentdel: 100 betyder, at aktiviteten er fuldført. Nogle få typer kan slutte uden at nå dertil — en quiz besvaret helt igennem, et løst løsningsfelt — og de bærer i stedet hasAlternateCompletion. Behandl begge dele som færdig.",
	"api_int_webhook_cors_title": "Det bliver sendt af spillerens browser",
	"api_int_webhook_cors_body": "POST-kaldet kommer fra den fane, aktiviteten spilles i, ikke fra en Puzzel-server. De fleste endpoints, der er bygget til at modtage webhooks, accepterer det allerede. Hvis dit aldrig ser et kald, er det derfor: browseren spørger om lov først, så besvar OPTIONS-preflighten med en Access-Control-Allow-Origin-header, og det rigtige POST-kald følger efter.",
	"api_int_webhook_trust_title": "Behandl payloaden som noget, der hævdes, ikke som et bevis",
	"api_int_webhook_trust_body": "Der er ingen signatur på kaldet, og det kommer fra en browser, du ikke selv styrer, så alle, der kigger på siden, kan sende dig ét ligeså. Det er fint til at udfylde en fremskridtsbjælke eller et dashboard. For alt, du ikke ville lade en elev sætte selv — en karakter, der tæller, et certifikat, en betaling — så tjek det mod resultaterne i dit eget Puzzel-dashboard, eller lad LMS'ets karakterforbindelse overføre scoren i stedet.",
	"api_int_s_parent_title": "Resultater til siden omkring den",
	"api_int_s_parent_body": "Hvis du indlejrer aktiviteten, kan du få den samme JSON sendt til din egen side i stedet for til en server. Slå \"Send resultater til den overordnede side\" til, og lyt efter beskeden. Intet forlader browseren, så der er intet endpoint at bygge og ingen CORS at tænke på.",
	"api_int_parent_origin_title": "Tjek, hvor beskeden kom fra",
	"api_int_parent_origin_body": "Din listener hører hver eneste besked, der sendes til siden, også fra andre frames og browserudvidelser. Sammenlign event.origin med https://puzzel.org, før du stoler på indholdet.",
	"api_int_parent_same_title": "Samme payload, samme timing",
	"api_int_parent_same_body": "Dette er webhookens tvilling: de samme felter, sendt på de samme tidspunkter. Alt under \"Hvad et resultat indeholder\" gælder også her.",
	"api_int_s_completion_title": "Afslutningssignal",
	"api_int_s_completion_body": "Den mindste kanal, til når selve resultatet ikke er din sag: slå \"Send et afslutningssignal\" til, og din side får én besked, i det øjeblik spilleren er færdig.",
	"api_int_completion_shape": "Hvad der kommer",
	"api_int_completion_order_title": "Resultatet er allerede gemt, når det ankommer",
	"api_int_completion_order_body": "Signalet sendes bevidst, efter den afsluttende gemning er landet, så en side, der reagerer ved at læse resultatet tilbage, vil finde det der.",
	"api_int_completion_embed_title": "Kun inde i en iframe",
	"api_int_completion_embed_body": "Begge beskedkanaler sender til den side, der rammer aktiviteten ind. Åbnet i sin egen fane er der ingen at fortælle det til, så der bliver ikke sendt noget.",
	"api_int_s_payload_title": "Hvad et resultat indeholder",
	"api_int_s_payload_body": "Én form, uanset hvilken kanal der bærer den. Spillerens svar er nøglet efter aktivitetens egne item-id'er, så de samme nøgler dukker op i correctUids.",
	"api_int_col_when": "Hvornår det er der",
	"api_int_always": "altid",
	"api_int_sometimes": "nogle gange",
	"api_int_payload_absent_title": "Fraværende, ikke tomt",
	"api_int_payload_absent_body": "Et felt, der ikke er relevant, udelades af JSON'en i stedet for at blive sendt som null eller nul. Sådan kan en type, der ikke giver point for en runde, kendes fra en runde, der scorede nul — så læs med en standardværdi, og gå aldrig ud fra, at en nøgle er der.",
	"api_int_payload_example": "En færdig quiz, som den ankommer",
	"api_int_f_activity_key": "Den aktivitet, resultatet hører til. Samme nøgle, som du ser i aktivitetens egen URL, efter ?p=.",
	"api_int_f_player_uid": "Hvem der spillede, som et anonymt id. Stabilt for denne spiller på denne enhed, så det er det, du nøgler resultater på — det er ikke en e-mailadresse og ikke en Puzzel-konto.",
	"api_int_f_player": "De tilmeldingsfelter, aktiviteten beder om, sådan som du har konfigureret dem: name, email, class, student_id og så videre. Fraværende, indtil spilleren har tilmeldt sig, og helt fraværende på en aktivitet, der ikke beder om noget.",
	"api_int_f_progress": "Hvor langt spilleren er nået, som en procentdel. 100 betyder færdig.",
	"api_int_f_time_passed": "Tid brugt på aktiviteten, i millisekunder.",
	"api_int_f_last_played_at": "Hvornår dette resultat blev gemt, som et Unix-timestamp i millisekunder.",
	"api_int_f_created": "Hvornår forsøget blev startet, som et Unix-timestamp i millisekunder.",
	"api_int_f_player_input": "Hvad spilleren faktisk indtastede, nøglet efter id'et på det item, det hører til. Formen indeni afhænger af aktivitetstypen — et ord, en liste over placerede kort, en valgt mulighed.",
	"api_int_f_correct_uids": "Hvilke af de items der er rigtige, nøglet på samme måde. Fraværende, så længe der ikke er svaret på noget endnu.",
	"api_int_f_score": "Point scoret, på de typer, der giver point for en runde. Fraværende alle andre steder — også på en runde, der reelt scorede nul, så tjek, at nøglen findes, før du læser den.",
	"api_int_f_performance": "En types eget mål for, hvor godt det gik, hvor den holder ét — for eksempel ord i minuttet i tastetræning.",
	"api_int_f_attempts": "Hvilken runde det er: 1 første gang, én mere for hver gang, der startes forfra. Kun på typer, der kan afslutte en runde tidligt og tæller de gentagne forsøg.",
	"api_int_f_knocked_out": "Runden sluttede på et forkert svar og er slut uden at være gennemført.",
	"api_int_f_alternate": "Aktiviteten blev afsluttet på en måde, der ikke når 100 % — en quiz besvaret helt igennem, et løsningsfelt løst. Behandl det som en gennemførelse.",
	"api_int_f_missed_keys": "Tegn, spilleren blev ved med at ramme forkert, de mest fejlramte først. Kun i tastetræning.",
	"api_int_f_content_version": "Hvilken version af aktivitetens indhold, dette blev spillet mod. Den ændrer sig, når ejeren redigerer spørgsmålene, så et gammelt resultat kan kendes fra et aktuelt.",
	"api_int_s_control_title": "Nulstil aktiviteten fra din side",
	"api_int_s_control_body": "Én instruktion rejser den anden vej. Med \"Modtag triggere fra den overordnede side\" slået til kan den side, der indlejrer, rydde spillerens svar og sætte aktiviteten tilbage til starten — til din egen \"prøv igen\"-knap uden for frame'n.",
	"api_int_control_only_title": "Nulstil er den eneste trigger",
	"api_int_control_only_body": "Der er ingen besked til at indsende et resultat, åbne afslutningsbeskeden eller hoppe til et spørgsmål. En besked, der beder om andet end en nulstilling, bliver ignoreret.",
	"api_int_control_guard_title": "Kun den indlejrende side bliver hørt",
	"api_int_control_guard_body": "Triggeren accepteres kun fra den side, der rammer aktiviteten ind, og ingen andre steder fra — ikke en søsterframe, ikke et script på siden. Indstillingen er slået fra som standard, så slå den til for de aktiviteter, du styrer.",
	"api_int_s_identity_title": "Medbring din egen spilleridentitet",
	"api_int_s_identity_body": "Hvis din platform allerede ved, hvem der spiller, behøver aktiviteten ikke spørge igen. Der findes to håndtryk, begge til en aktivitet inde i din side, og begge slås til af os frem for i editoren — de ændrer, hvem et resultat hører til, så de sættes op sammen med dig frem for via et afkrydsningsfelt.",
	"api_int_identity_pm_title": "Send os spilleren",
	"api_int_identity_pm_body": "Aktiviteten melder sig selv med 'app-loaded' og venter. Din side sender spillerens oplysninger tilbage, og resultatet arkiveres under dem, uden at spilleren skal skrive noget eller se en tilmeldingsskærm.",
	"api_int_identity_sso_title": "Send os et token",
	"api_int_identity_sso_body": "Samme håndtryk, men din side sender den JWT, din identitetsudbyder har udstedt, i stedet for selve felterne. Vi verificerer den mod de issuers, der er sat op for din konto, før spilleren lukkes ind, så identiteten er bevist frem for hævdet — det er den, du skal bede om, når resultatet skal være troværdigt.",
	"api_int_identity_cta_title": "Bed os om at slå det til",
	"api_int_identity_cta_body": "Fortæl os, hvilken af de to du vil have, og hvor aktiviteterne skal indlejres, så sætter vi din konto op og gennemgår det sammen med dig.",
	"api_int_identity_cta_button": "Skriv til os om identitet",
	"api_int_s_create_title": "Opret aktiviteter fra dit eget system",
	"api_int_s_create_body": "Alt ovenfor handler om, at et resultat kommer ud. Den anden vej — at lave selve aktiviteterne ud fra indhold, du allerede har — er Puzzle API'et: ét POST-kald pr. aktivitetstype, og du får en nøgle og en URL til indlejring tilbage.",
	"api_int_create_link": "Læs API-referencen",
	"api_int_s_lms_title": "Når en færdig forbindelse er det bedre svar",
	"api_int_s_lms_body": "Hvis platformen i den anden ende er et rigtigt LMS, har du sandsynligvis ikke brug for noget af dette. Karakterer kan gå tilbage til dets karakterbog af sig selv, uden at du skal hoste noget.",
	"api_int_lms_lti_title": "Moodle, Canvas, Brightspace, Schoology, itslearning",
	"api_int_lms_lti_body": "Startet inde fra LMS'et, med scoren skrevet tilbage til dets karakterbog.",
	"api_int_lms_gc_title": "Google Classroom",
	"api_int_lms_gc_body": "Post en aktivitet som en opgave, og få karaktererne tilbage automatisk.",
	"api_int_lms_not_title": "Ikke nogen af dem?",
	"api_int_lms_not_body": "Kursusplatforme, medlemssider, intranet og alt, du selv har bygget, er lige præcis det, kanalerne på denne side er til. En indlejring plus afslutningssignalet dækker det meste.",
	"api_int_s_limits_title": "Hvad der ikke findes",
	"api_int_s_limits_body": "Så du ikke går og leder efter det:",
	"api_int_limit_no_read": "Intet endpoint til at læse resultater tilbage. API'et opretter aktiviteter; resultater forlader systemet gennem kanalerne på denne side eller gennem eksporterne i dit dashboard.",
	"api_int_limit_no_signature": "Ingen signatur på webhooken. Der er intet at verificere kaldet mod, og derfor bør et resultat ikke være det eneste, der står bag noget, der betyder noget.",
	"api_int_limit_per_activity": "Ingen kontobred webhook. URL'en er en indstilling på en aktivitet, så en aktivitet, du kopierer, tager den med, og en ny starter uden den.",
	"api_int_limit_no_multiplayer": "Ingenting i et holdspil eller et live-rum. Både beskedkanalerne og webhooken er til solospil, og indstillingerne slår sig selv fra, når holdspil er slået til.",
	"api_int_limit_no_retry": "Ingen leveringskø. Intet bliver gemt og sendt igen — den næste gemning er forsøget igen, og rundens sidste kald er det, der tæller.",
	"api_nav_integrations": "Sådan får du resultater ud igen"
}
