{
	"api_kicker": "API para programadores",
	"api_title": "Cria atividades a partir do teu próprio sistema",
	"api_intro": "Um POST por tipo de atividade. Envia o teu conteúdo em JSON e recebes uma atividade na tua conta Puzzel.org e um URL que podes dar aos jogadores ou colocar num iframe.",
	"api_search_placeholder": "Pesquisa endpoints, campos e definições",
	"api_search_results": "correspondências nesta página",
	"api_search_empty": "Nada nesta página corresponde a isso. Experimenta o nome de um endpoint, um campo como activity_key ou um código de estado.",
	"api_search_clear": "Limpar pesquisa",
	"api_nav_guide": "Como começar",
	"api_nav_endpoints": "Endpoints",
	"api_toc_label": "Nesta página",
	"api_hero_base_label": "URL base",
	"api_hero_method_label": "Método",
	"api_hero_method_value": "POST, corpo em JSON",
	"api_hero_auth_label": "Autenticação",
	"api_hero_auth_value": "Chave + e-mail no corpo",
	"api_hero_limit_label": "Quota",
	"api_hero_limit_value": "[limit] atividades por dia",
	"api_hero_count_label": "Endpoints",
	"api_hero_count_value": "[count] tipos de atividade",
	"api_s_quickstart_title": "O teu primeiro pedido",
	"api_s_quickstart_body": "Não há nada para instalar nem qualquer negociação prévia: envia um corpo em JSON com a tua chave, o teu e-mail e o teu conteúdo. A resposta traz a chave da nova atividade e o URL onde se joga.",
	"api_s_quickstart_note": "Todos os exemplos desta página são pedidos completos e prontos a executar. Troca a chave e o conteúdo pelos teus e funcionam tal como estão.",
	"api_s_auth_title": "Autenticação",
	"api_s_auth_body": "Não há cabeçalhos nem bearer token. As duas credenciais viajam no corpo JSON de cada pedido e a chave só é aceite para a conta a que esse e-mail pertence.",
	"api_s_auth_where": "A tua chave está na secção da conta, no painel, atrás de Mostrar.",
	"api_s_auth_where_link": "Abrir a minha chave de API",
	"api_s_auth_premium": "As chaves de API são atribuídas quando começa uma subscrição, por isso uma conta gratuita ainda não tem nenhuma.",
	"api_s_auth_plans": "Ver os planos",
	"api_s_auth_secret": "Trata a chave como uma palavra-passe. Cria e substitui atividades na tua conta, por isso guarda-a no servidor e fora de tudo o que um navegador possa ler.",
	"api_prefill_kicker": "Exemplos",
	"api_prefill_label": "Preencher os exemplos com a minha chave de API",
	"api_prefill_signed_out": "Inicia sessão e a tua chave entra em todos os exemplos desta página.",
	"api_prefill_sign_in": "Iniciar sessão",
	"api_prefill_none": "Esta conta ainda não tem chave de API.",
	"api_prefill_warning": "Todos os exemplos passam a conter a tua chave real. Não coles nenhum num chat, num issue ou num repositório público.",
	"api_s_request_title": "O corpo do pedido",
	"api_s_request_body": "Todos os endpoints recebem os mesmos cinco campos. O que muda é o campo de conteúdo por baixo deles: a maioria recebe um array de itens, alguns recebem uma frase ou uma imagem, e o sudoku não recebe nada.",
	"api_s_request_settings": "settings é um objeto com opções específicas de cada endpoint. As que cada endpoint lê estão listadas com ele mais abaixo; tudo o resto que lá puseres é ignorado.",
	"api_col_field": "Campo",
	"api_col_type": "Tipo",
	"api_col_notes": "O que faz",
	"api_col_status": "Estado",
	"api_col_meaning": "O que significa",
	"api_required": "obrigatório",
	"api_optional": "opcional",
	"api_default_label": "Predefinição",
	"api_allowed_label": "Um de",
	"api_in_settings": "em settings",
	"api_f_account_api_key": "A chave de API da tua conta. Vai no corpo, não num cabeçalho.",
	"api_f_email": "O endereço com que a tua conta Puzzel.org inicia sessão. A chave só é válida em conjunto com ele.",
	"api_f_title": "O nome que a atividade recebe no teu painel. Se o deixares de fora, o endpoint usa o nome alternativo dele.",
	"api_f_language": "Só define o idioma no URL que recebes de volta — não traduz nada do que envias. A sopa de letras também o lê para mudar as letras de preenchimento para árabe quando é \"ar\".",
	"api_f_activity_key": "Deixa-o de fora para criar uma atividade nova. Se enviares a chave de uma que já te pertence, essa atividade é reconstruída.",
	"api_f_sentence_cryptogram": "A frase a encriptar. Os jogadores descodificam-na caráter a caráter.",
	"api_f_sentence_calculation": "A frase que os jogadores descobrem ao resolver as contas.",
	"api_f_image": "URL absoluto da imagem a cortar. Enviado no nível superior, não dentro de settings.",
	"api_f_image_setting": "URL absoluto da imagem a baralhar. Ao contrário da do puzzle, esta fica dentro de settings.",
	"api_s_response_title": "O que recebes de volta",
	"api_s_response_body": "Uma chamada bem-sucedida responde 200 com a chave da nova atividade e o URL onde se joga. Tudo o resto responde com success a false e uma única string error.",
	"api_response_success": "Sucesso",
	"api_response_error": "Falha",
	"api_s_response_urls": "O url que recebes de volta é a vista de incorporação. Troca embed por play para a abrir em página inteira, ou por build para a abrir no editor — a chave depois de p= mantém-se igual.",
	"api_s_updating_title": "Criar vs. atualizar",
	"api_s_updating_body": "Envia activity_key e a atividade correspondente é reconstruída no lugar: o conteúdo é substituído, o nome e a marca de versão são atualizados e a chave em si mantém-se — por isso as ligações e as incorporações que já partilhaste continuam a funcionar. Os resultados, a pasta onde está e todas as definições que o endpoint não escreve ficam como estavam.",
	"api_s_updating_own": "Só podes atualizar atividades da tua própria conta. A chave de outra pessoa responde 403.",
	"api_s_updating_name": "title é aplicado em todas as atualizações, incluindo a predefinição — se o deixares de fora, a atividade passa a ter o nome alternativo desse endpoint.",
	"api_s_updating_settings": "Os blocos de definições que um endpoint escreve são reescritos de raiz, por isso uma atualização também os repõe nos valores que enviares, ou nas predefinições do endpoint.",
	"api_s_updating_quota": "Uma atualização custa o mesmo que uma criação: uma chamada retirada à quota de hoje.",
	"api_s_limits_title": "Limite de pedidos",
	"api_s_limits_body": "Todas as chamadas bem-sucedidas contam, tanto criações como atualizações. Se passares do limite, o pedido seguinte responde 429 até o contador ser reposto.",
	"api_s_limits_counter": "[limit] atividades por conta por dia",
	"api_s_limits_reset": "O contador é limpo uma vez por dia por uma tarefa agendada, não numa janela móvel de 24 horas.",
	"api_s_errors_title": "Erros",
	"api_s_errors_body": "Os erros chegam sempre em JSON com os mesmos dois campos, nunca como uma página HTML. A string error está escrita para ser lida por uma pessoa — indica o campo ou o limite que falhou.",
	"api_err_400": "Falta algo no corpo, está malformado ou fora do intervalo. A mensagem indica o campo.",
	"api_err_401": "O e-mail é desconhecido, ou a chave não pertence a essa conta.",
	"api_err_403": "O activity_key que enviaste pertence a outra conta.",
	"api_err_429": "A quota de hoje está esgotada. É reposta uma vez por dia.",
	"api_err_500": "O gerador não conseguiu criar um quebra-cabeças com o que enviaste — normalmente por serem poucas palavras, ou palavras que não encaixam umas nas outras.",
	"api_endpoints_title": "Endpoints",
	"api_endpoints_intro": "Um caminho por tipo de atividade, todos POST, todos sob o mesmo URL base. Cada um indica o conteúdo de que precisa, as definições que lê e um pedido que podes executar.",
	"api_group_words": "Palavras e letras",
	"api_group_cards": "Cartões e pares",
	"api_group_questions": "Perguntas e respostas",
	"api_group_text": "Frases e números",
	"api_group_images": "Imagens",
	"api_ep_content_label": "Conteúdo",
	"api_ep_settings_label": "Definições que lê",
	"api_ep_settings_none": "Este endpoint não lê nenhuma definição.",
	"api_ep_example_label": "Pedido de exemplo",
	"api_ep_notes_label": "Vale a pena saber",
	"api_ep_min_items": "Pelo menos [count] em items",
	"api_ep_item_range": "De [min] a [max] em items",
	"api_ep_max_cards": "No máximo [max] cartões, ao todo",
	"api_ep_no_items": "Não recebe items",
	"api_ep_default_title": "Por omissão, fica com o nome “[title]”",
	"api_copy": "Copiar",
	"api_copied": "Copiado",
	"api_toast_copied": "Copiado para a área de transferência",
	"api_ep_open_builder": "Abrir o editor",
	"api_ep_back_to_top": "Voltar ao topo",
	"api_e_crossword": "Encaixa as tuas respostas numa grelha e numera as definições por ti.",
	"api_c_crossword": "Um array de palavras. Cada entrada junta a resposta à definição que lhe aponta.",
	"api_note_crossword_length": "As respostas com menos de dois carateres são descartadas antes de a grelha ser criada, e pelo menos duas têm de sobreviver a isso.",
	"api_note_crossword_layout": "As respostas passam a maiúsculas e o gerador tem vinte tentativas para as encaixar. Se não conseguir colocar uma única palavra, a chamada responde 500.",
	"api_set_crossword_hidden_solution": "Uma palavra bónus opcional. As letras dela ficam marcadas em células da grelha concluída, para os jogadores as recolherem depois de resolverem as palavras cruzadas, por isso todas as letras dela têm de aparecer nas respostas.",
	"api_e_wordseeker": "Esconde as tuas palavras numa grelha de letras, nas direções e na forma que escolheres.",
	"api_c_wordseeker": "Um array de palavras. O texto da definição passa a ser a lista de palavras com que os jogadores trabalham.",
	"api_note_wordseeker_length": "As respostas com menos de dois carateres são descartadas, e todas as respostas passam a maiúsculas antes de entrarem na grelha.",
	"api_note_wordseeker_arabic": "A grelha é preenchida com letras latinas, a não ser que language seja \"ar\", o que muda o preenchimento para árabe.",
	"api_set_wordseeker_hidden_solution": "As letras que sobram formam isto. Defini-lo também diz ao gerador para encaixar primeiro a solução, em vez de meter o máximo de palavras que conseguir.",
	"api_set_wordseeker_directions": "As direções em que uma palavra pode seguir. Se o deixares de fora, as palavras seguem apenas para leste, sudeste e sul.",
	"api_set_wordseeker_template": "Recorta a grelha numa forma, em vez de a deixar quadrada.",
	"api_e_acrostic": "Empilha as tuas respostas para que uma coluna forme uma palavra escondida.",
	"api_c_acrostic": "Um array de palavras. Entre elas têm de fornecer todas as letras da palavra escondida.",
	"api_set_acrostic_hidden_solution": "A palavra que a coluna destacada forma. Este endpoint não funciona sem ela.",
	"api_note_acrostic_letters": "Se as respostas não conseguirem fornecer as letras de que a solução precisa, a chamada responde 500 em vez de guardar uma grelha meio construída.",
	"api_note_acrostic_order": "O gerador reordena as tuas respostas para a coluna funcionar, por isso a ordem que envias não é a ordem que os jogadores veem.",
	"api_e_word-scramble": "Baralha as letras de cada resposta para os jogadores as porem em ordem.",
	"api_c_word-scramble": "Um array de palavras. A pista é mostrada ao lado das letras baralhadas.",
	"api_set_scramble_hidden_solution": "Uma palavra bónus opcional que os jogadores escrevem depois de resolverem o resto.",
	"api_note_scramble_random": "As atividades criadas através da API têm sempre a definição de baralhar a ordem ativa, por isso a ordem que envias não é a ordem que os jogadores recebem.",
	"api_e_hangman": "Transforma as tuas palavras ou frases em rondas de adivinhar a letra.",
	"api_c_hangman": "Um array de palavras ou frases curtas. A pista é a dica que os jogadores veem.",
	"api_e_wordle": "Cria um jogo de adivinhar a palavra a partir de cada palavra que envias.",
	"api_c_wordle": "Um array de palavras. Os jogadores têm uma ronda por palavra.",
	"api_note_wordle_dictionary": "Criado com a definição de verificar se as tentativas são palavras reais ativa. Desliga-a no editor se as tuas palavras forem nomes ou inventadas.",
	"api_e_typing-practice": "Transforma frases em exercícios de escrita ao teclado.",
	"api_c_typing-practice": "Um array de palavras ou frases para escrever. O campo da pista serve também de instrução.",
	"api_e_wheel-of-fortune": "Enche uma roda giratória com os teus próprios segmentos.",
	"api_c_wheel-of-fortune": "Um array de segmentos. Cada resposta passa a ser uma fatia.",
	"api_note_wheel_outcome": "Criado com “mostrar o resultado apenas na roda”, por isso o resultado lê-se na roda em vez de aparecer ao lado dela.",
	"api_e_memory": "Cartões virados para baixo para revelar e juntar em pares.",
	"api_c_memory": "Um array de pares. Cada par contém os dois cartões que pertencem um ao outro.",
	"api_note_cards_media": "Um cartão é um objeto com um type e um value. Usa \"text\" para palavras, ou \"image\", \"audio\", \"youtube\" ou \"link\" com um URL em value, e acrescenta alt para uma descrição.",
	"api_e_matching-pairs": "Duas colunas de cartões para arrastar e juntar.",
	"api_c_matching-pairs": "Um array de pares. O primeiro cartão de cada par fica de um lado e o respetivo parceiro do outro.",
	"api_e_flash-cards": "Cartões de dois lados para folhear.",
	"api_c_flash-cards": "Um array de cartões. O primeiro cartão é a frente, o segundo o verso.",
	"api_note_flashcards_sides": "O endpoint guarda tantos cartões quantos enviares, por isso envia exatamente dois por entrada — primeiro a frente, depois o verso.",
	"api_e_categorize": "Cartões para arrumar na categoria a que pertencem.",
	"api_c_categorize": "Um array de categorias, cada uma com um nome e os cartões que lhe pertencem.",
	"api_note_categorize_name": "Uma categoria enviada sem nome é guardada como “Untitled Category”, por isso envia sempre um.",
	"api_e_reorder": "Uma sequência que os jogadores têm de voltar a pôr por ordem.",
	"api_c_reorder": "Um array de sequências. Cada uma contém os cartões pela ordem correta.",
	"api_note_reorder_order": "A ordem que envias é guardada como a ordem correta — o número um primeiro.",
	"api_e_quiz": "Perguntas de escolha múltipla e de resposta aberta, pontuadas à medida que os jogadores avançam.",
	"api_c_quiz": "Um array de perguntas. As perguntas de escolha múltipla levam as respetivas respostas; as de resposta aberta levam a resposta que aceitas.",
	"api_note_question_types": "question_type é \"multiple_choice\", em que a opção certa leva isCorrect a true; \"true_false\", o mesmo mas com exatamente duas opções, true primeiro e false depois; ou \"open_answer\", que usa antes correct_answer. Se for deixado de fora, é tratado como escolha múltipla.",
	"api_note_quiz_settings": "O endpoint do quiz passa settings diretamente como blocos de definições da atividade, por isso não é sítio para opções soltas — ajusta o quiz no editor depois.",
	"api_e_board-game": "Um tabuleiro para atravessar a correr, com as tuas perguntas nas casas.",
	"api_c_board-game": "Um array de perguntas, exatamente com a forma que o endpoint do quiz recebe.",
	"api_set_board_tiles": "Quantas casas tem o tabuleiro. Entre 10 e 75.",
	"api_set_board_mode": "Se os jogadores correm até à meta ou recolhem itens pelo caminho.",
	"api_e_cryptogram": "Transforma uma frase num código para decifrar, um caráter de cada vez.",
	"api_c_cryptogram": "Uma frase, no campo sentence. Este endpoint não recebe items.",
	"api_note_cryptogram_no_items": "Tudo o que enviares em items é ignorado — o quebra-cabeças é criado apenas a partir da frase.",
	"api_set_cryptogram_helpers": "Que carateres são revelados à partida como entrada: nenhuns, os mais comuns, as vogais, ou os que indicares.",
	"api_set_cryptogram_character_list": "O alfabeto com que a cifra é construída. Se ficar vazio, a encriptação escolhe o dela.",
	"api_set_cryptogram_extra_letters": "Os carateres revelados quando helpers é \"custom\". Ignorado nos outros modos de ajuda.",
	"api_set_cryptogram_hide_unused": "Deixa de fora da chave os carateres que a frase nunca usa.",
	"api_e_calculation": "Esconde uma frase por trás de contas — resolve a conta, revela a letra.",
	"api_c_calculation": "Uma frase, no campo sentence. Este endpoint não recebe items.",
	"api_set_calc_difficulty": "O resultado mais alto que uma conta pode ter.",
	"api_set_calc_operators": "Que operações podem aparecer. x é multiplicar, : é dividir.",
	"api_set_calc_max_operations": "Quantas operações uma conta pode encadear.",
	"api_set_calc_number_difficulty": "Limita os números individuais dentro de uma conta. De 5 a 1000.",
	"api_note_calculation_fit": "Se as restrições forem demasiado apertadas para codificar a frase, a chamada responde 400 a pedir que as alargues, em vez de guardar um quebra-cabeças incompleto.",
	"api_e_sudoku": "Gera uma grelha resolvida e depois volta a retirar números.",
	"api_c_sudoku": "Nada. O quebra-cabeças inteiro sai das duas definições dele.",
	"api_note_sudoku_no_items": "Não envies items nem sentence — size e difficulty são toda a entrada.",
	"api_note_sudoku_difficulty_sizes": "O editor só oferece a dificuldade para 2x3, 3x3 e 3x4. A API aplica-a a todos os tamanhos, incluindo 2x2 e 4x4.",
	"api_set_sudoku_size": "O tamanho de um bloco, escrito como linhas por colunas — 3x3 dá a grelha clássica de 9x9. O endpoint só verifica se é interpretável como dois números, por isso fica-te pelos tamanhos que o editor oferece.",
	"api_set_sudoku_difficulty": "Quantos números ficam no tabuleiro para começar.",
	"api_e_jigsaw": "Corta uma imagem em peças para voltar a juntar arrastando.",
	"api_c_jigsaw": "Um URL de imagem, no campo image. Este endpoint não recebe items.",
	"api_note_jigsaw_grid": "A API cria sempre um puzzle de 4 por 4. O número de peças, as peças irregulares e os bordos direitos são definições do editor — enviar rows ou columns aqui não faz nada.",
	"api_note_image_reachable": "O URL é guardado tal como o enviaste e o ficheiro nunca é copiado, por isso tem de continuar publicamente acessível enquanto a atividade for jogada.",
	"api_e_slidingpuzzle": "Baralha uma imagem em peças que deslizam para o lugar.",
	"api_c_slidingpuzzle": "Um URL de imagem, dentro de settings. Este endpoint não recebe items.",
	"api_note_sliding_image_slot": "Ao contrário do puzzle, este endpoint lê a imagem de settings.image. Um campo image no nível superior é ignorado e a chamada responde 400.",
	"api_help_title": "Algo não está a funcionar bem?",
	"api_help_body": "Envia o pedido que tentaste e o erro que recebeste e terás uma resposta a sério, de quem escreveu o endpoint.",
	"api_help_cta": "Enviar e-mail ao suporte",
	"api_int_kicker": "Integrações para programadores",
	"api_int_title": "Liga o Puzzel à tua própria plataforma",
	"api_int_intro": "O Puzzel pode entregar o resultado de um jogador diretamente a outro sistema — a pontuação, até onde chegou, o que respondeu — sem que esse sistema seja um LMS completo. Esta página reúne todos os canais que existem: o que sai, quando sai e o mínimo que precisas de construir para o receber.",
	"api_int_hero_out_label": "Os resultados saem através de",
	"api_int_hero_out_value": "Um webhook, ou uma mensagem para a página que envolve a atividade",
	"api_int_hero_in_label": "A tua página pode",
	"api_int_hero_in_value": "Iniciar sessão do jogador e reiniciar a atividade",
	"api_int_hero_where_label": "Ativado",
	"api_int_hero_where_value": "Por atividade, em Programador no editor",
	"api_int_hero_plan_label": "Incluído em",
	"api_int_hero_plan_value": "Um plano pago — estas definições estão desativadas numa conta gratuita",
	"api_int_search_placeholder": "Pesquisar canais, campos e exemplos",
	"api_int_search_empty": "Não há nada nesta página que corresponda a isso. Tenta um canal como webhook ou postMessage, ou um campo como progress.",
	"api_int_nav_channels": "Canais",
	"api_int_s_choose_title": "De que canal precisas?",
	"api_int_s_choose_body": "Há três coisas que podem sair de uma atividade e uma que pode entrar. A que serve depende de uma única pergunta: o jogador está dentro da tua página, ou completamente noutro lado?",
	"api_int_choose_out": "A sair do Puzzel",
	"api_int_choose_in": "A entrar no Puzzel",
	"api_int_choose_when": "Usa-o quando",
	"api_int_choose_needs": "Precisas de",
	"api_int_choose_setting": "Definição",
	"api_int_ch_webhook_name": "Webhook de resultados",
	"api_int_ch_webhook_summary": "Cada resultado guardado é enviado por POST, em JSON, para um URL que te pertence.",
	"api_int_ch_webhook_when": "O jogador pode estar em qualquer lado — uma ligação partilhada, um código QR, o site de outra pessoa — e queres o resultado na tua própria base de dados.",
	"api_int_ch_webhook_needs": "Um endpoint HTTPS que aceite um POST entre origens diferentes.",
	"api_int_ch_parent_name": "Resultados para a página que a envolve",
	"api_int_ch_parent_summary": "O mesmo JSON, enviado para a página que incorpora a atividade em vez de para um servidor.",
	"api_int_ch_parent_when": "Incorporas a atividade na tua própria página de curso e essa página consegue fazer algo com o resultado.",
	"api_int_ch_parent_needs": "Um iframe na tua página e um recetor de mensagens. Sem servidor, sem CORS.",
	"api_int_ch_completion_name": "Sinal de conclusão",
	"api_int_ch_completion_summary": "Uma mensagem quando o jogador termina, que não transporta mais nada além desse facto.",
	"api_int_ch_completion_when": "Só precisas de saber se terminaram — para marcar a lição como concluída, desbloquear a seguinte, ou mostrar o teu próprio ecrã.",
	"api_int_ch_completion_needs": "Um iframe na tua página e um recetor de mensagens.",
	"api_int_ch_trigger_name": "Reiniciar a partir da tua página",
	"api_int_ch_trigger_summary": "A tua página diz à atividade incorporada para limpar as respostas do jogador e recomeçar.",
	"api_int_ch_trigger_when": "Tens o teu próprio botão \"tentar novamente\" fora da atividade.",
	"api_int_ch_trigger_needs": "Um iframe na tua página. A mensagem só é aceite a partir da página que faz a incorporação.",
	"api_int_s_webhook_title": "Webhook de resultados",
	"api_int_s_webhook_body": "Ativa \"Enviar os resultados para um webhook\" no editor e indica um URL. A partir daí, sempre que o progresso do jogador é guardado, o navegador dele envia o resultado completo por POST, em JSON, para esse URL.",
	"api_int_webhook_steps_title": "Como configurar",
	"api_int_webhook_step_1": "Abre a atividade no editor e vai ao menu Programador.",
	"api_int_webhook_step_2": "Ativa \"Enviar os resultados para um webhook\" e cola o teu endpoint no campo por baixo. Tem de ser um URL completo — um domínio isolado é recusado — e tem de ser https, porque o navegador bloqueia uma chamada em http simples feita a partir de uma página servida por https.",
	"api_int_webhook_step_3": "Joga a atividade uma vez, tu próprio. O primeiro POST chega assim que respondes a alguma coisa.",
	"api_int_webhook_receiver": "Um recetor, do início ao fim",
	"api_int_webhook_timing_title": "Dispara enquanto jogas, não só no final",
	"api_int_webhook_timing_body": "Um resultado sai sempre que a entrada é guardada: depois de uma pausa a escrever, quando uma carta é colocada, quando o cronómetro para, e mais uma vez quando a atividade termina. Umas palavras cruzadas longas geram umas duas dezenas de chamadas, não uma só — por isso escreve o teu recetor como um upsert indexado por playerUid e activityKey, e não como uma inserção. Cada chamada transporta o estado completo, por isso a mais recente substitui sempre a anterior e uma chamada que se perde é compensada pela seguinte.",
	"api_int_webhook_finished_title": "Distinguir uma conclusão de um simples guardar",
	"api_int_webhook_finished_body": "progress é uma percentagem: 100 significa que a atividade está completa. Alguns tipos podem terminar sem chegar lá — um quiz respondido até ao fim, um campo de solução resolvido — e esses trazem hasAlternateCompletion em vez disso. Trata qualquer um dos dois casos como concluído.",
	"api_int_webhook_cors_title": "É enviado pelo navegador do jogador",
	"api_int_webhook_cors_body": "O POST vem do separador onde a atividade está a ser jogada, não de um servidor do Puzzel. A maioria dos endpoints criados para receber webhooks já aceita isto. Se o teu nunca vê um pedido, é por esta razão: o navegador pede autorização primeiro, por isso responde ao preflight OPTIONS com um cabeçalho Access-Control-Allow-Origin, e o POST verdadeiro segue-se.",
	"api_int_webhook_trust_title": "Trata o conteúdo enviado como uma afirmação, não uma prova",
	"api_int_webhook_trust_body": "Não há assinatura no pedido, e este vem de um navegador que não controlas, por isso qualquer pessoa que veja a página também te pode enviar um. Isso não é problema para preencher uma barra de progresso ou um painel. Para algo que não deixarias um aluno definir por si próprio — uma nota que conta, um certificado, um pagamento — confirma-o com os resultados no teu próprio painel do Puzzel, ou deixa que os conectores de notas do LMS transportem a pontuação em vez disso.",
	"api_int_s_parent_title": "Resultados para a página que a envolve",
	"api_int_s_parent_body": "Se incorporares a atividade, podes ter esse mesmo JSON enviado para a tua própria página em vez de para um servidor. Ativa \"Enviar os resultados para a página principal\" e fica à escuta da mensagem. Nada sai do navegador, por isso não há endpoint para construir nem CORS a considerar.",
	"api_int_parent_origin_title": "Confirma de onde veio a mensagem",
	"api_int_parent_origin_body": "O teu recetor ouve todas as mensagens enviadas para a página, incluindo de outras frames e extensões do navegador. Compara event.origin com https://puzzel.org antes de confiares no que traz.",
	"api_int_parent_same_title": "O mesmo conteúdo, o mesmo momento",
	"api_int_parent_same_body": "Isto é o gémeo do webhook: os mesmos campos, enviados nos mesmos momentos. Tudo o que está em \"O que contém um resultado\" também se aplica aqui.",
	"api_int_s_completion_title": "Sinal de conclusão",
	"api_int_s_completion_body": "O canal mais pequeno, para quando o resultado em si não te diz respeito: ativa \"Enviar um sinal de conclusão\" e a tua página recebe uma mensagem no momento em que o jogador termina.",
	"api_int_completion_shape": "O que chega",
	"api_int_completion_order_title": "O resultado já está guardado quando chega",
	"api_int_completion_order_body": "O sinal é enviado deliberadamente depois de o guardar de conclusão ter sido concluído, por isso uma página que reaja lendo o resultado de volta vai encontrá-lo lá.",
	"api_int_completion_embed_title": "Só dentro de um iframe",
	"api_int_completion_embed_body": "Ambos os canais de mensagens enviam para a página que enquadra a atividade. Aberta no seu próprio separador, não há ninguém para avisar, por isso nada é enviado.",
	"api_int_s_payload_title": "O que contém um resultado",
	"api_int_s_payload_body": "Uma única forma, seja qual for o canal que a transporta. As respostas do jogador são indexadas pelos ids dos próprios itens da atividade, por isso as mesmas chaves aparecem em correctUids.",
	"api_int_col_when": "Quando está presente",
	"api_int_always": "sempre",
	"api_int_sometimes": "por vezes",
	"api_int_payload_absent_title": "Ausente, não vazio",
	"api_int_payload_absent_body": "Um campo que não se aplica é deixado de fora do JSON, em vez de ser enviado como null ou zero. É assim que se distingue um tipo que não pontua uma partida de uma partida que pontuou zero — por isso lê sempre com um valor por omissão e nunca assumas que uma chave está presente.",
	"api_int_payload_example": "Um quiz terminado, tal como chega",
	"api_int_f_activity_key": "A atividade a que o resultado pertence. A mesma chave que vês no próprio URL da atividade, depois de ?p=.",
	"api_int_f_player_uid": "Quem jogou, como um id anónimo. Estável para este jogador neste dispositivo, por isso é nele que deves indexar os resultados — não é um endereço de e-mail nem uma conta do Puzzel.",
	"api_int_f_player": "Os campos de registo que a atividade pede, tal como os configuraste: nome, e-mail, turma, student_id, e assim por diante. Ausente até o jogador se registar, e ausente por completo numa atividade que não pede nada.",
	"api_int_f_progress": "Até onde chegou, em percentagem. 100 significa terminado.",
	"api_int_f_time_passed": "Tempo passado na atividade, em milissegundos.",
	"api_int_f_last_played_at": "Quando este resultado foi guardado, como um timestamp Unix em milissegundos.",
	"api_int_f_created": "Quando a tentativa foi iniciada, como um timestamp Unix em milissegundos.",
	"api_int_f_player_input": "O que o jogador realmente introduziu, indexado pelo id do item a que pertence. A forma interna depende do tipo de atividade — uma palavra, uma lista de cartas colocadas, uma opção escolhida.",
	"api_int_f_correct_uids": "Quais desses itens estão certos, indexados da mesma forma. Ausente enquanto ainda não foi respondido nada.",
	"api_int_f_score": "Pontos obtidos, nos tipos que pontuam uma partida. Ausente em todos os outros casos — incluindo numa partida que genuinamente pontuou zero, por isso confirma que a chave existe antes de a leres.",
	"api_int_f_performance": "A medida própria de um tipo de como correu, quando existe uma — palavras por minuto no treino de teclado, por exemplo.",
	"api_int_f_attempts": "Que partida é esta: 1 da primeira vez, mais um a cada recomeço. Só nos tipos que terminam uma partida antecipadamente e contam as repetições.",
	"api_int_f_knocked_out": "A partida terminou numa resposta errada e acabou sem estar completa.",
	"api_int_f_alternate": "A atividade foi terminada de uma forma que não chega aos 100% — um quiz respondido até ao fim, um campo de solução resolvido. Trata isto como uma conclusão.",
	"api_int_f_missed_keys": "Carateres que o jogador continuou a errar, começando pelos mais falhados. Só no treino de teclado.",
	"api_int_f_content_version": "Contra que versão do conteúdo da atividade isto foi jogado. Muda quando o proprietário edita as perguntas, por isso um resultado antigo pode ser distinguido de um atual.",
	"api_int_s_control_title": "Reiniciar a atividade a partir da tua página",
	"api_int_s_control_body": "Uma instrução viaja no sentido contrário. Com \"Aceitar comandos da página principal\" ativado, a página que faz a incorporação pode limpar as respostas do jogador e voltar a colocar a atividade no início — para um botão \"tentar novamente\" teu, fora da frame.",
	"api_int_control_only_title": "Reiniciar é o único comando",
	"api_int_control_only_body": "Não existe mensagem para submeter um resultado, abrir a mensagem final, ou saltar para uma pergunta. Uma mensagem que peça outra coisa que não um reinício é ignorada.",
	"api_int_control_guard_title": "Só a página de incorporação é ouvida",
	"api_int_control_guard_body": "O comando só é aceite a partir da página que enquadra a atividade e de mais lado nenhum — nem uma frame irmã, nem um script na página. A definição está desativada por omissão, por isso ativa-a nas atividades que controlas.",
	"api_int_s_identity_title": "Trazer a tua própria identidade de jogador",
	"api_int_s_identity_body": "Se a tua plataforma já sabe quem está a jogar, a atividade não precisa de perguntar outra vez. Existem dois handshakes, ambos para uma atividade dentro da tua página, e ambos ativados por nós em vez de no editor — mudam a quem pertence um resultado, por isso são configurados contigo em vez de a partir de uma caixa de verificação.",
	"api_int_identity_pm_title": "Envia-nos o jogador",
	"api_int_identity_pm_body": "A atividade anuncia-se com 'app-loaded' e espera. A tua página envia de volta os dados do jogador, e o resultado fica associado a esses dados sem que o jogador escreva nada ou veja um ecrã de registo.",
	"api_int_identity_sso_title": "Envia-nos um token",
	"api_int_identity_sso_body": "O mesmo handshake, mas a tua página envia o JWT emitido pelo teu fornecedor de identidade em vez dos próprios campos. Verificamo-lo em relação aos emissores configurados para a tua conta antes de o jogador ser deixado entrar, por isso a identidade é comprovada e não apenas declarada — este é o que deves pedir quando o resultado tem de ser fiável.",
	"api_int_identity_cta_title": "Pede-nos para o ativar",
	"api_int_identity_cta_body": "Diz-nos qual dos dois queres e onde as atividades vão ser incorporadas, e nós configuramos a tua conta e explicamos-te o processo passo a passo.",
	"api_int_identity_cta_button": "Envia-nos um e-mail sobre identidade",
	"api_int_s_create_title": "Criar atividades a partir do teu sistema",
	"api_int_s_create_body": "Tudo o que foi dito acima é sobre um resultado a sair. No sentido contrário — criar as próprias atividades a partir de conteúdo que já tens — está a Puzzle API: um POST por tipo de atividade, e recebes de volta uma chave e um URL para incorporar.",
	"api_int_create_link": "Ler a referência da API",
	"api_int_s_lms_title": "Quando um conector já feito é a melhor resposta",
	"api_int_s_lms_body": "Se a plataforma do outro lado for um LMS a sério, provavelmente não precisas de nada disto. As notas podem voltar sozinhas para o livro de notas, sem nada que precises de alojar.",
	"api_int_lms_lti_title": "Moodle, Canvas, Brightspace, Schoology, itslearning",
	"api_int_lms_lti_body": "Lançada de dentro do LMS, com a pontuação escrita de volta no livro de notas.",
	"api_int_lms_gc_title": "Google Classroom",
	"api_int_lms_gc_body": "Publica uma atividade como trabalho e as notas voltam automaticamente.",
	"api_int_lms_not_title": "Não é nenhum destes?",
	"api_int_lms_not_body": "Plataformas de cursos, sites de membros, intranets e qualquer coisa que tenhas construído tu próprio são exatamente para isso que servem os canais desta página. Uma incorporação mais o sinal de conclusão cobre a maior parte dos casos.",
	"api_int_s_limits_title": "O que não existe",
	"api_int_s_limits_body": "Para não andares à procura disso:",
	"api_int_limit_no_read": "Não há endpoint para ler resultados de volta. A API cria atividades; os resultados saem através dos canais desta página, ou através das exportações no teu painel.",
	"api_int_limit_no_signature": "Não há assinatura no webhook. Não há nada contra o qual verificar o pedido, e é por isso que um resultado não deve ser a única coisa a sustentar algo que importa.",
	"api_int_limit_per_activity": "Não há webhook à escala da conta. O URL é uma definição de uma atividade, por isso uma atividade que copias transporta-o consigo e uma nova começa sem ele.",
	"api_int_limit_no_multiplayer": "Nada num jogo em equipa ou numa sala ao vivo. Tanto os canais de mensagens como o webhook são para jogo a solo, e as definições desativam-se sozinhas quando o modo de equipas está ativado.",
	"api_int_limit_no_retry": "Não há fila de entrega. Nada é guardado e reenviado — o próximo guardar é a nova tentativa, e a última chamada da partida é a que conta.",
	"api_nav_integrations": "Como recuperar os resultados",
	"api_e_arrowword": "Palavras cruzadas diretas: as definições ficam dentro da grelha, cada uma com uma seta para a respetiva resposta.",
	"api_c_arrowword": "Um array de palavras. Cada entrada junta a resposta a uma definição curta o suficiente para caber numa célula.",
	"api_set_arrowword_hidden_solution": "Uma palavra bónus opcional. As letras dela ficam marcadas em células da grelha concluída, por isso todas as letras dela têm de aparecer nas respostas.",
	"api_e_strands": "Uma grelha em que cada letra pertence a uma palavra do tema, com uma palavra que dá nome ao tema e vai de uma ponta à outra.",
	"api_c_strands": "Um array de palavras-tema. Juntamente com o spangram, as letras delas têm de preencher exatamente uma grelha.",
	"api_set_strands_theme": "O enigma mostrado por cima da grelha. Se for deixado de fora, os jogadores veem o título.",
	"api_set_strands_spangram": "A palavra ou expressão que dá nome ao tema e atravessa a grelha de uma ponta à outra.",
	"api_note_strands_count": "As letras de todas as palavras e do spangram, em conjunto, têm de somar exatamente 30, 35, 36, 40, 42, 45, 48, 49, 50, 54, 56, 60, 63, 64, 70, 72 ou 80. Qualquer outro total responde 400 e indica quantas letras acrescentar ou retirar.",
	"api_e_fallen-phrase": "Uma frase cujas letras caíram abaixo das respetivas colunas, para os jogadores as voltarem a pôr no lugar.",
	"api_c_fallen-phrase": "Uma frase, no campo sentence. Este endpoint não recebe items.",
	"api_f_sentence_fallen_phrase": "A frase a esconder: uma citação, um provérbio, uma frase-chave. No máximo 120 letras e dígitos.",
	"api_set_fallen_phrase_columns": "A largura da grelha, de 8 a 18. Mais estreita empilha mais letras em cada coluna e é mais difícil.",
	"api_set_fallen_phrase_helpers": "Que letras ficam na grelha como ponto de partida: nenhuma, as mais comuns, as vogais, ou as que indicares.",
	"api_set_fallen_phrase_extra_letters": "As letras reveladas quando helpers é \"custom\".",
	"api_e_bingo": "Um bingo de turma que o anfitrião anuncia ao vivo: cada jogador recebe um cartão sorteado a partir dos teus itens.",
	"api_c_bingo": "Um array de itens a partir dos quais os cartões são sorteados. Envia claramente mais itens do que as casas de um cartão, para que os cartões sejam diferentes.",
	"api_set_bingo_mode": "O que preenche as casas: os teus itens, os teus itens anunciados pela pista deles, ou simples números (que não precisam de itens).",
	"api_set_bingo_rows": "Linhas de cada cartão, de 2 a 5.",
	"api_set_bingo_columns": "Colunas de cada cartão, de 2 a 5.",
	"api_set_bingo_highest_number": "No modo de números, os cartões são preenchidos de 1 até este número, 100 no máximo. É uma funcionalidade dos planos: sem plano, fica em 50.",
	"api_note_bingo_item": "Um item é um objeto com um value e, opcionalmente, um type (\"text\", \"image\" ou \"audio\" com um URL em value), uma description (a pista que o anfitrião lê em voz alta no modo de pistas) e alt.",
	"api_e_times-tables": "Um quadrado de multiplicação para preencher, tabuada a tabuada; as respostas certas pintam uma imagem.",
	"api_c_times-tables": "Nada. A grelha inteira sai das definições.",
	"api_set_times_tables_tables": "As tabuadas a praticar. Se for deixado de fora, são de 1 a 10; um 11 ou um 12 torna a grelha 12 por 12.",
	"api_set_times_tables_order": "Se as linhas e as colunas seguem a ordem ou aparecem baralhadas.",
	"api_set_times_tables_picture": "A imagem que as respostas certas pintam.",
	"api_set_times_tables_players_choose_tables": "Deixa cada jogador escolher quais das tabuadas praticar.",
	"api_set_times_tables_fill_same_sums": "Uma resposta certa preenche todas as casas com a mesma conta.",
	"api_e_i-have-who-has": "Uma cadeia para a turma toda: cada cartão responde à pergunta anterior e faz a seguinte.",
	"api_c_i-have-who-has": "Um array de pares, primeiro a pergunta e depois a resposta. A ordem em que enviares é a cadeia.",
	"api_set_i_have_who_has_chain_shape": "Um ciclo fecha-se sobre si próprio, por isso qualquer cartão pode começar; uma linha abre num cartão Início e termina num cartão Fim.",
	"api_note_ihwh_unique": "Nenhuma pergunta nem nenhuma resposta pode aparecer duas vezes: um aluno com a resposta na mão não saberia a que pergunta ela pertence.",
	"api_e_fill-in-the-gap": "Frases com palavras em falta, para os jogadores escreverem ou escolherem.",
	"api_c_fill-in-the-gap": "Um array de frases. Cada uma é escrita por inteiro, com cada lacuna entre asteriscos.",
	"api_note_gap_syntax": "Escreve a frase completa e põe asteriscos à volta de cada palavra a omitir: \"Water boils at *100* degrees.\" Várias palavras dentro de um mesmo par formam uma só lacuna. Uma entrada pode também levar uma instrução mostrada por cima da frase.",
	"api_e_deconstruct": "Frases em que os jogadores etiquetam as palavras: classes de palavras, funções na frase, ou etiquetas tuas.",
	"api_c_deconstruct": "Um array de frases. Cada palavra a etiquetar escreve-se como [word](label).",
	"api_set_deconstruct_categories": "As etiquetas entre as quais os jogadores escolhem, por ordem. Se for deixado de fora, são as etiquetas usadas nas frases. Envia-o para acrescentar uma etiqueta que nenhuma palavra leva, ou para acertar a ordem.",
	"api_note_deconstruct_syntax": "Escreve uma frase como \"The [dog](noun) [barks](verb).\" As palavras sem etiqueta são mostradas, mas não são perguntadas. As etiquetas noun, verb, adjective e subject são mostradas a cada jogador no idioma dele.",
	"api_e_name-them-all": "Uma lista de memória: os jogadores dizem o maior número que conseguirem de um conjunto antes de o tempo acabar.",
	"api_c_name-them-all": "Um array de nomes. Cada um pode levar outras grafias que contam, uma dica e o grupo em que fica.",
	"api_set_name_them_all_list_match_mode": "Se um nome conta no momento em que é escrito, ou só com Enter.",
	"api_set_name_them_all_list_slot_hint": "O que uma casa vazia revela: nada, o comprimento do nome, a primeira letra, ou a dica que escreveste.",
	"api_set_name_them_all_list_arrange": "Uma coluna por grupo, ou uma só lista.",
	"api_set_name_them_all_list_allow_give_up": "Mostra um botão de desistir que termina a ronda e revela o que ficou por dizer.",
	"api_note_names_item": "Uma entrada é um objeto com answer e, opcionalmente, aliases (outras grafias que contam), uma description (a dica) e um group. As maiúsculas, os acentos e a pontuação são ignorados quando um nome é verificado.",
	"api_e_keypad": "Um cadeado de código: um conjunto de cartões, alguns dos quais formam o código.",
	"api_c_keypad": "Um array de cartões. Os cartões que fazem parte do código levam o lugar que ocupam nele.",
	"api_set_keypad_instructions": "A pergunta ou o enigma a que o código responde, mostrado com os cartões.",
	"api_set_keypad_force_solution_in_correct_order": "Os cartões têm de ser premidos por ordem. Desligado, qualquer ordem dos cartões certos abre o cadeado.",
	"api_set_keypad_randomize_order": "Cada jogador recebe os cartões numa disposição baralhada.",
	"api_note_keypad_item": "Um cartão é um objeto com um value e, opcionalmente, um type (\"text\", \"image\" ou \"audio\" com um URL em value), alt e code_position: o lugar dele no código, sendo 1 o primeiro. Um cartão só pode estar uma vez no código, e pelo menos um cartão tem de estar.",
	"api_e_maze": "Um labirinto para percorrer: cada pergunta é uma sala e as respostas são as portas.",
	"api_c_maze": "Um array de perguntas de escolha múltipla ou de verdadeiro ou falso, exatamente com a forma que o endpoint do quiz recebe. As perguntas abertas são recusadas: uma porta precisa de uma resposta escrita nela.",
	"api_set_maze_maze_width": "Como as salas ficam dispostas: numa coluna, num quadrado, ou mais largas.",
	"api_set_maze_maze_corridors": "Quanto labirinto há entre duas perguntas.",
	"api_set_maze_maze_fog": "Mostra o labirinto todo, ou só o que o jogador já viu de perto.",
	"api_set_maze_maze_wrong_door_pause": "Quanto tempo as portas ficam fechadas depois de uma errada.",
	"api_set_maze_maze_walk_there": "Oferece um botão que leva o peão até à sala seguinte.",
	"api_set_maze_maze_seed": "A semente a partir da qual o labirinto é gerado. A mesma semente e as mesmas perguntas dão o mesmo labirinto; se for deixada de fora, é sorteado um novo.",
	"api_e_jeopardy": "Um quadro de concurso televisivo: categorias em cima e, por baixo, definições que valem mais quanto mais abaixo estão.",
	"api_c_jeopardy": "Um array de categorias, da esquerda para a direita. Cada uma tem um nome e as respetivas definições, da linha de cima para baixo.",
	"api_set_jeopardy_jeopardy_buzzer_mode": "Quem joga e como: o anfitrião gere tudo a partir da consola, os jogadores tocam a campainha pelo telemóvel, ou cada jogador joga o quadro sozinho.",
	"api_set_jeopardy_jeopardy_contestants": "Se a consola fala de equipas ou de jogadores.",
	"api_set_jeopardy_jeopardy_value_step": "Quanto vale uma linha: uma definição vale este valor vezes o número da linha. De 50 a 500, em passos de 50.",
	"api_set_jeopardy_jeopardy_answer_time": "Segundos para responder depois de uma definição abrir, até 300. 0 é sem relógio.",
	"api_set_jeopardy_jeopardy_wrong_answer_costs": "Uma resposta errada tira o valor da definição à pontuação.",
	"api_set_jeopardy_jeopardy_reveal_on_timeout": "O quadro mostra ele próprio a resposta quando o tempo acaba.",
	"api_set_jeopardy_jeopardy_require_question_form": "Lembra os jogadores de responderem sob a forma de pergunta.",
	"api_note_jeopardy_clue": "Uma definição é uma pergunta tal como o endpoint do quiz a recebe, open_answer a não ser que diga outra coisa, com correct_answer e, opcionalmente, aliases. Pode também levar value (o valor dela) e daily_double. null deixa uma célula vazia.",
	"api_e_logic-puzzle": "Um quebra-cabeças de lógica: o Puzzel escreve as pistas a partir da tua tabela de respostas e prova que só uma solução encaixa.",
	"api_c_logic-puzzle": "Um array de 3 a 5 categorias, cada uma com um nome e os itens dela. O item 1 de cada categoria pertence ao mesmo grupo, o item 2 também, e assim por diante: essa é a solução.",
	"api_set_logic_puzzle_story": "A história de fundo mostrada por cima das pistas.",
	"api_set_logic_puzzle_difficulty": "Que tipos de pista o gerador pode usar.",
	"api_set_logic_puzzle_hints": "Oferece um botão que mostra o passo seguinte.",
	"api_set_logic_puzzle_auto_cross": "Marcar uma correspondência risca o resto da linha e da coluna dela.",
	"api_set_logic_puzzle_clue_mode": "Quem escreve as pistas que os jogadores veem: geradas a partir da tabela, as tuas próprias frases em free_clues, ou nenhuma.",
	"api_set_logic_puzzle_free_clues": "As tuas próprias frases de pista, mostradas tal como as escreveres, com clue_mode \"free\". Nada as verifica.",
	"api_note_logic_table": "Todas as categorias precisam do mesmo número de itens, de 3 a 6, todos diferentes. Uma categoria pode ser marcada como ordered (preços, horas, idades), com uma unit opcional, o que permite ao gerador escrever pistas sobre mais, menos e quanto.",
	"api_e_quartets": "O jogo de cartas: os jogadores pedem cartões uns aos outros para reunir quartetos.",
	"api_c_quartets": "Um array de quartetos. Cada um tem um nome e exatamente quatro cartões.",
	"api_set_quartets_type": "Um jogo simples, ou um jogo de aprendizagem em que cada cartão mostra um facto. Se for deixado de fora, é learn quando algum cartão tem uma description.",
	"api_note_quartets_card": "Um cartão é um nome, ou um objeto com um name e uma description (o facto mostrado nele). Nenhum nome de cartão pode aparecer duas vezes no jogo: os jogadores pedem os cartões pelo nome.",
	"api_e_scavenger-hunt": "Um percurso de etapas resolvidas por ordem: cada código abre a etapa seguinte.",
	"api_c_scavenger-hunt": "Um array de etapas, por ordem. Cada uma tem um título ou uma descrição, e o código que a resolve.",
	"api_note_hunt_step": "Uma etapa é um objeto com title, description, code e, opcionalmente, accepted_codes (outras grafias que contam), url e link_text. Um código é verificado sem distinguir maiúsculas de minúsculas nem espaços. O mapa com marcadores só pode ser acrescentado no editor.",
	"api_e_spatial-reasoning": "Exercícios em que os jogadores dispõem formas para tornar todas as regras verdadeiras: o quadrado dentro do círculo, a estrela acima do coração.",
	"api_c_spatial-reasoning": "Um array de exercícios. Cada um é uma lista de regras da forma objeto, relação, alvo.",
	"api_set_spatial_reasoning_clue_mode": "Regras mostradas como imagens ou como frases.",
	"api_set_spatial_reasoning_unique_object_picks": "Cada forma só pode ser colocada uma vez.",
	"api_set_spatial_reasoning_hide_color_picker": "Os jogadores não podem mudar a cor das formas.",
	"api_note_spatial_rule": "Os objetos e os alvos são square, triangle, circle, hexagon, pentagon, star, diamond ou heart. As relações são inside, outside, behind, in_front_of, right_of, left_of, above, below, same_color_as, different_color_from, larger_than e smaller_than. Uma regra que nunca pode ser cumprida responde 400.",
	"api_e_interactive-video": "Um vídeo que pára nos momentos que escolheres, para fazer uma pergunta ou mostrar uma nota.",
	"api_c_interactive-video": "Um array de popups. Cada um tem o momento em que aparece e o que mostra.",
	"api_set_interactive_video_video_url": "O vídeo: uma página do YouTube, do Vimeo ou do Bunny Stream, ou uma ligação direta para um ficheiro mp4, webm ou mov.",
	"api_set_interactive_video_video_duration": "A duração do vídeo em segundos. Quando indicada, um popup depois do fim é recusado.",
	"api_note_video_popup": "Um popup é um objeto com time (segundos, ou \"1:23\"), kind (\"question\", a não ser que diga \"note\", \"think\" ou \"chapter\") e description. Uma pergunta é uma pergunta tal como o endpoint do quiz a recebe e pode levar rewind_to: o ponto a partir do qual o vídeo recomeça depois de uma resposta errada.",
	"api_e_rebus": "Frases escritas como imagens: os jogadores leem as imagens e as mudanças de letras que as transformam outra vez em palavras.",
	"api_c_rebus": "Um array de frases. Cada uma lista as palavras desenhadas como imagens; todas as outras palavras ficam em letras.",
	"api_set_rebus_rebus_commas": "Desenha uma primeira ou última letra retirada como uma vírgula ao lado da imagem.",
	"api_note_rebus_word": "Uma palavra é desenhada a partir de partes que, juntas, a escrevem. Uma parte tem as letras que representa (text), um emoji, e shows: a palavra para o que a imagem mostra (\"broom\" para uma imagem que representa \"room\"). O Puzzel calcula as mudanças de letras. Uma parte pode ser antes um símbolo, como 4 para \"for\"."
}
