{ "common": { "you": "Você", "confirm": "Confirmar", "cancel": "Cancelar", "loading": "Carregando..." }, "home": { "slogan": "Aprendizagem Generativa em Sala de Aula Interativa Multi-Agente" }, "toolbar": { "pdfParser": "Analisador", "pdfUpload": "Enviar PDF", "removePdf": "Remover arquivo", "documentExtractor": "Extrator", "courseMaterialUpload": "Enviar material do curso", "courseMaterialsSelected": "{{n}} materiais selecionados", "courseMaterialMergeOrder": "Os materiais serão mesclados na ordem mostrada abaixo.", "removeCourseMaterial": "Remover arquivo", "webSearchOn": "Ativada", "webSearchOff": "Clique para ativar", "webSearchDesc": "Pesquise na web por informações atualizadas antes da geração", "webSearchProvider": "Mecanismo de busca", "webSearchNoProvider": "Configure a chave de API de busca em Configurações", "selectProvider": "Selecionar provedor", "configureProvider": "Configurar modelo", "configureProviderHint": "Configure pelo menos um provedor de modelo para gerar cursos", "enterClassroom": "Entrar na Sala", "advancedSettings": "Configurações Avançadas", "thinking": "Raciocínio", "thinkingBudget": "Orçamento", "default": "Padrão", "on": "Ativado", "off": "Desativado", "auto": "Auto", "dynamic": "Dinâmico", "ttsTitle": "Texto para Fala", "ttsHint": "Escolha uma voz para o professor de IA", "ttsPreview": "Pré-visualizar", "ttsPreviewing": "Reproduzindo...", "interactiveModeHint": "Ative o modo interativo para conteúdos mais práticos", "interactiveModeLabel": "Modo Interativo" }, "export": { "pptx": "Exportar PPTX", "resourcePack": "Exportar Pacote de Recursos", "resourcePackDesc": "PPTX + páginas interativas", "exporting": "Exportando...", "exportSuccess": "Exportação concluída", "exportFailed": "Falha na exportação", "classroomZip": "Exportar ZIP da Sala", "classroomZipDesc": "Estrutura do curso + arquivos de mídia", "inlinePartial": "{{count}} recurso(s) externo(s) não puderam ser empacotados; o curso pode não ser exibido corretamente offline.", "video": "Exportar Vídeo", "videoDesc": "Projeto Hyperframes autossuficiente (renderizável em MP4)", "videoNoScenes": "Nenhuma cena disponível para exportar.", "videoCompiling": "Compilando a linha do tempo do vídeo...", "videoRendering": "Renderizando slides e coletando recursos...", "videoPackaging": "Empacotando o projeto de vídeo...", "videoSuccess": "Projeto de vídeo exportado", "videoFailed": "Falha na exportação do vídeo", "videoWarnings": "{{assets}} recurso(s) ausente(s) e {{diagnostics}} problema(s) no relatório de exportação.", "videoMp4Success": "Vídeo renderizado", "videoServiceUnavailable": "Serviço de renderização não configurado — o ZIP do projeto foi baixado para renderização local.", "videoResolution": "Resolução", "videoFps": "Taxa de quadros", "videoQuality": "Qualidade", "videoQuality_draft": "Rascunho", "videoQuality_standard": "Padrão", "videoQuality_high": "Alta", "videoProgress": "{{percent}}%", "videoProgressWithEta": "{{percent}}% · ~{{remaining}} restante(s)", "videoEtaMinSec": "{{min}} min {{sec}} s", "videoEtaSec": "{{sec}} s", "videoRenderMp4": "Renderizar MP4", "videoDownloadZip": "Baixar ZIP do projeto", "videoServiceHint": "A renderização de MP4 requer o serviço de renderização. Baixe o ZIP para renderizar localmente.", "videoBurnSubtitles": "Gravar legendas no vídeo", "videoBurnSubtitlesDesc": "Desligado: exporte um vídeo limpo e adicione o arquivo de legenda no seu editor.", "videoQuizCtaPrompt": "Quer experimentar um quiz interativo?", "videoPblCtaPrompt": "Quer explorar a aprendizagem baseada em projetos?", "videoCtaVisit": "Acesse", "videoDownloadSubtitles": "Baixar legendas (.srt)", "subtitlesCompiling": "Compilando legendas...", "subtitlesSuccess": "Legendas baixadas", "subtitlesEmpty": "Nenhuma narração para gerar legendas", "subtitlesFailed": "Falha ao baixar legendas", "noSlides": "Não há slides para exportar", "noSlidesSkipped": "Este curso não tem slides — PPTX ignorado", "nothingToExport": "Nada para exportar" }, "import": { "classroom": "Importar Sala de Aula", "pptx": "Importar PPTX", "parsing": "Lendo ZIP...", "parsingPptx": "Lendo PPTX...", "validating": "Validando dados...", "writingMedia": "Gravando arquivos de mídia...", "writingCourse": "Gravando dados do curso...", "success": "Sala de aula importada com sucesso", "pptxSuccess": "PPTX processado com sucesso ({{count}} slides, saída registrada no console)", "error": { "invalidZip": "Arquivo inválido. Selecione um arquivo .maic.zip válido.", "invalidPptx": "Falha ao processar o PPTX. Verifique se o arquivo é válido.", "parserUnavailable": "A importação de PPTX está indisponível: o pacote do analisador não foi implantado. Execute install/sync novamente.", "invalidManifest": "Arquivo inválido: manifest.json ausente ou corrompido.", "missingData": "Arquivo inválido: dados obrigatórios do curso ausentes.", "storageFull": "Falha na importação: armazenamento do navegador cheio. Tente apagar salas antigas." } }, "chat": { "lecture": "Aula", "noConversations": "Sem conversas", "startConversation": "Digite uma mensagem abaixo para começar", "noMessages": "Ainda não há mensagens", "ended": "encerrada", "unknown": "Desconhecido", "stopDiscussion": "Encerrar Discussão", "endQA": "Encerrar Perguntas", "softClosing": "Continuar discussão", "error": { "emptyAgentResponses": "Os agentes retornaram respostas vazias; a discussão foi interrompida. Tente novamente ou verifique as configurações do modelo.", "streamInterrupted": "O fluxo de dados terminou inesperadamente; a discussão não foi concluída. Por favor, tente novamente." }, "tabs": { "lecture": "Anotações", "chat": "Conversa" }, "lectureNotes": { "empty": "As anotações aparecerão aqui após a reprodução da aula", "emptyHint": "Pressione play para iniciar a aula", "pageLabel": "Página {{n}}", "currentPage": "Atual", "jumpToLine": "Jump to this line", "jumpUnavailable": "Jump unavailable for this line" }, "badge": { "qa": "P&R", "discussion": "DEB", "lecture": "AULA" } }, "actions": { "names": { "spotlight": "Destaque", "laser": "Laser", "wb_open": "Abrir Quadro", "wb_draw_text": "Texto no Quadro", "wb_draw_shape": "Forma no Quadro", "wb_draw_chart": "Gráfico no Quadro", "wb_draw_latex": "Fórmula no Quadro", "wb_draw_table": "Tabela no Quadro", "wb_draw_line": "Linha no Quadro", "wb_clear": "Limpar Quadro", "wb_delete": "Excluir Elemento", "wb_close": "Fechar Quadro", "discussion": "Discussão" }, "status": { "inputStreaming": "Aguardando", "inputAvailable": "Executando", "outputAvailable": "Concluído", "outputError": "Erro", "outputDenied": "Negado", "running": "Executando", "result": "Concluído", "error": "Erro" } }, "agentBar": { "readyToLearn": "Vamos aprender juntos?", "expandedTitle": "Configuração de Papéis da Sala", "configTooltip": "Clique para configurar os papéis da sala", "voiceLabel": "Voz", "voiceLoading": "Carregando...", "voiceAutoAssign": "As vozes serão atribuídas automaticamente", "searchVoice": "Pesquisar vozes", "noMatchingVoices": "Nenhuma voz correspondente", "noVoice": "Sem voz" }, "proactiveCard": { "discussion": "Discussão", "join": "Entrar", "skip": "Pular", "pause": "Pausar", "resume": "Continuar" }, "voice": { "startListening": "Entrada por voz", "stopListening": "Parar gravação" }, "edit": { "proMode": "Pro", "undo": "Desfazer", "redo": "Refazer", "delete": "Excluir", "title": "Editando · {{type}}", "unsupportedScene": "{{type}} ainda não pode ser editada", "readOnlyBadge": "{{type}} · somente visualização", "sceneType": { "slide": "Slide", "quiz": "Questionário", "interactive": "Interativa", "pbl": "PBL" }, "multiTab": { "conflict": { "title": "Outra aba está editando este curso", "body": "A edição fica restrita a uma única aba para evitar alterações conflitantes. Feche a outra aba (ou aguarde a sessão dela expirar) antes de entrar no modo de edição aqui.", "actionDismiss": "Entendi" } }, "text": { "toolbar": "Barra de texto", "label": "Texto", "font": "Fonte", "fontDefault": "Padrão", "sizeUp": "Aumentar tamanho", "sizeDown": "Diminuir tamanho", "fontSize": "Tamanho da fonte", "bold": "Negrito", "italic": "Itálico", "underline": "Sublinhado", "color": "Cor do texto", "alignLeft": "Alinhar à esquerda", "alignCenter": "Centralizar", "alignRight": "Alinhar à direita", "bullet": "Lista com marcadores", "colorHex": "Código da cor" }, "line": { "toolbar": "Barra de linha", "kind": "Tipo de linha", "color": "Cor da linha", "width": "Espessura da linha", "style": "Estilo da linha", "start": "Estilo inicial", "end": "Estilo final", "straight": "Reta", "broken": "Linha quebrada", "broken2": "Linha quebrada dupla", "curve": "Curva", "cubic": "Curva cúbica", "solid": "Sólida", "dashed": "Tracejada", "dotted": "Pontilhada", "none": "Nenhum", "arrow": "Seta", "dot": "Ponto" }, "insert": { "toolbar": "Barra de inserção", "textBox": "Caixa de texto", "line": "Linha", "linePresets": { "straight": "Linha reta", "dashed": "Linha tracejada", "arrow": "Linha com seta", "dashedArrow": "Linha tracejada com seta", "dottedEnd": "Linha com ponta circular", "broken": "Linha quebrada", "doubleBroken": "Linha com quebra dupla", "curve": "Curva", "cubic": "Curva cúbica" }, "table": "Tabela", "formula": "Fórmula", "chart": "Gráfico", "chartBar": "Gráfico de barras", "chartLine": "Gráfico de linhas", "chartPie": "Gráfico de pizza", "tableDimensions": "Tabela {{rows}} x {{columns}}", "dragToolbar": "Mover ferramentas de inserção", "dragToolbarKeyboard": "Mover ferramentas: pressione Enter ou Espaço e use as setas", "image": "Imagem", "imageDrop": "Arraste uma imagem ou clique para escolher um arquivo", "imageOr": "ou cole a URL de uma imagem", "imageUrlPlaceholder": "https://…", "imageInsert": "Inserir", "video": "Vídeo", "videoDrop": "Arraste um vídeo ou clique para escolher um arquivo", "videoOr": "ou cole a URL de um vídeo", "videoUrlPlaceholder": "https://…", "videoInsert": "Inserir", "audio": "Áudio", "audioDrop": "Arraste um áudio ou clique para escolher um arquivo", "audioOr": "ou cole a URL de um áudio", "audioUrlPlaceholder": "https://…", "audioInsert": "Inserir" }, "asset": { "drop": "Arraste um arquivo ou clique para escolher", "orUrl": "ou cole a URL do arquivo", "urlPlaceholder": "https://…", "insert": "Inserir", "invalidType": "Tipo de arquivo não compatível", "readFailed": "Não foi possível ler o arquivo" }, "latex": { "toolbar": "Barra de fórmulas", "editFormula": "Editar fórmula", "dialog": "Editor de fórmulas", "source": "Código-fonte LaTeX", "preview": "Pré-visualização", "symbols": "Símbolos", "presets": "Fórmulas predefinidas", "invalidSource": "O código-fonte LaTeX é inválido." }, "video": { "toolbar": "Barra de vídeo", "poster": "Definir capa" }, "audio": { "toolbar": "Barra de áudio", "preview": "Ouvir áudio", "pause": "Pausar prévia", "loop": "Repetir" }, "table": { "doubleClickToEdit": "Clique duas vezes para editar" }, "nav": { "addSlide": "Adicionar slide", "duplicate": "Duplicar", "delete": "Excluir", "deleted": "Excluído", "undo": "Desfazer", "copySuffix": "(cópia)", "untitledSlide": "Slide sem título", "collapse": "Recolher painel", "expand": "Expandir painel", "dragHandle": "Arraste para reordenar", "deckLabel": "Cenas", "moreActions": "Mais ações", "rename": "Renomear", "sceneIncomplete": "Esta página tem conteúdo incompleto" }, "zorder": { "toFront": "Trazer para a frente", "toBack": "Enviar para trás" }, "image": { "toolbar": "Barra da imagem", "replace": "Substituir imagem", "flipH": "Inverter horizontalmente", "flipV": "Inverter verticalmente", "crop": "Recortar imagem" }, "contextMenu": { "horizontalAlignment": "Alinhamento horizontal", "verticalAlignment": "Alinhamento vertical", "selectAll": "Selecionar tudo", "copy": "Copiar", "cut": "Recortar", "paste": "Colar", "unlock": "Desbloquear", "lock": "Bloquear", "group": "Agrupar", "ungroup": "Desagrupar", "bringForward": "Trazer para frente", "sendBackward": "Enviar para trás", "alignTop": "Alinhar acima", "alignMiddle": "Alinhar ao meio", "alignBottom": "Alinhar abaixo" }, "background": { "label": "Fundo", "solid": "Cor sólida", "image": "Imagem", "color": "Cor" }, "common": { "cancel": "Cancelar", "confirm": "Confirmar" }, "quiz": { "addQuestion": "Adicionar pergunta", "reorder": "Arraste para reordenar", "deleteQuestion": "Excluir pergunta", "untitledQuestion": "Pergunta sem título", "questionLabel": "Pergunta", "questionPlaceholder": "Digite a pergunta…", "typeLabel": "Tipo", "pointsLabel": "Pontos", "optionsLabel": "Opções", "optionPlaceholder": "Texto da opção", "addOption": "Adicionar opção", "deleteOption": "Remover opção", "markCorrect": "Marcar como correta", "moveUp": "Mover para cima", "moveDown": "Mover para baixo", "analysisLabel": "Explicação", "analysisPlaceholder": "Exibida após a correção…", "commentPromptLabel": "Orientação de correção", "commentPromptPlaceholder": "Como esta resposta aberta deve ser avaliada?", "empty": "Nenhuma pergunta ainda", "emptyHint": "Use “Adicionar pergunta” para criar a primeira.", "type": { "single": "Escolha única", "multiple": "Múltipla escolha", "short_answer": "Resposta curta" }, "shortAnswerGradingNote": "Respostas curtas são sempre avaliadas por IA com base na orientação abaixo.", "hint": { "emptyText": "Pergunta {{n}}: adicione o texto da pergunta", "fewOptions": "Pergunta {{n}}: adicione ao menos duas opções", "emptyOption": "Pergunta {{n}}: há uma opção vazia", "noCorrect": "Pergunta {{n}}: marque a resposta correta" } }, "cue": { "speech": "Narração", "spotlight": "Destaque", "laser": "Laser", "whiteboardOpen": "Quadro", "whiteboardText": "Escrita", "whiteboardShape": "Forma", "whiteboardLatex": "Fórmula", "whiteboardTable": "Tabela", "action": "Ação", "discussion": "Discussão" }, "element": { "toolbar": "Barra do elemento", "text": "Texto", "image": "Imagem", "shape": "Forma", "line": "Linha", "chart": "Gráfico", "table": "Tabela", "latex": "Fórmula", "video": "Vídeo", "audio": "Áudio", "code": "Código" }, "agent": { "expand": "Expandir assistente de IA", "collapse": "Recolher", "stopped": "Interrompido", "emptyTitle": "O que você gostaria de mudar?", "emptyHint": "Depois de editar este slide no canvas, deixe a IA regenerar a narração correspondente ao conteúdo.", "placeholder": "Descreva suas alterações neste slide…", "stop": "Parar geração", "empty": { "lead": "Tell me how to change this slide — I'll redo the content and re-align the narration.", "boundary": "For fine-grained edits use the editor; add / delete / reorder slides from the left nav.", "comingSoon": "More capabilities coming soon." }, "cap": { "content": { "label": "Regenerate the slide", "examples": "“Condense to 3 points”, “Add a real-world example”" }, "narration": { "label": "Regenerate the narration script", "examples": "“Make it more conversational”, “Align with my canvas edits”" }, "fixHtml": { "examples": "\"O botão de iniciar não faz nada\", \"Os painéis se sobrepõem no celular\"", "label": "Corrigir um bug na página" }, "elements": { "label": "Ajustar elementos", "examples": "“Deixe o título azul e suba”, “Diminua esta figura”" } }, "newConversation": "New conversation", "sessionHistory": "Histórico", "sessionUntitled": "Conversa sem título", "sessionDelete": "Excluir", "sessionEmpty": "Nenhuma conversa", "reasoning": "Raciocínio", "thought": "Pensou por", "interactive": { "boundary": "Faço correções pontuais na página; não recrio a página inteira. Troque de cena pela navegação à esquerda.", "emptyTitle": "O que precisa ser corrigido nesta página?", "lead": "Descreva um bug nesta página interativa — por exemplo, um botão que não faz nada — e eu corrijo apenas isso, mantendo o resto.", "placeholder": "Descreva o bug desta página interativa…" }, "thinking": "Pensando…", "title": "Editar com IA" }, "timeline": { "title": "Roteiro de narração", "regenAllTts": "Regenerar toda a narração", "voiceAll": "Narrar tudo", "counts": "{{speech}} narração · {{cue}} ações", "panLeft": "Mover para a esquerda", "panRight": "Mover para a direita", "collapseAxis": "Recolher para o eixo", "expandTrack": "Expandir trilha", "emptyHint": "Arraste as ações para o eixo para começar, ou deixe o MAIC Agent gerar a narração.", "speechPlaceholder": "Digite esta linha de narração…", "reorder": "Arraste para reordenar", "moveLeft": "Mover à esquerda", "moveRight": "Mover à direita", "pickElement": "Escolher elemento", "bound": "Vinculado", "fieldAction": "Ação", "fieldElement": "Elemento", "fieldContent": "Conteúdo", "addDiscussionExists": "Apenas uma discussão por cena", "discussionTerminal": "FIM", "discussionTerminalHint": "A discussão fica no final da cena (uma por cena)", "discussionTopicPlaceholder": "Tópico da discussão (obrigatório)", "discussionPromptPlaceholder": "Orientação (opcional)", "discussionAgent": "Iniciador", "discussionAgentUnset": "Não especificado", "addAction": "Adicionar ação" }, "picker": { "title": "Inserir ação", "speechDesc": "Fale uma frase — pode ter narração automática", "spotlightDesc": "Destacar um elemento na tela", "laserDesc": "Apontar um laser para um elemento", "discussionDesc": "Faça uma pergunta e escolha quem inicia" }, "tts": { "preview": "Pré-visualizar", "regenerate": "Regenerar narração", "statusReady": "Narrado", "statusNone": "Sem narração", "statusGenerating": "Gerando", "statusError": "Falhou" }, "pick": { "pickFor": "Escolha um elemento para \"{{label}}\"", "pickHint": "Clique em um elemento destacado ou na lista abaixo · Esc para cancelar", "pageElements": "Elementos da página · {{count}}", "expand": "Expandir", "collapse": "Recolher", "noElements": "Nenhum elemento localizável neste slide.", "bindHint": "Clique em um elemento destacado no canvas para vincular" }, "regen": { "title": "Regenerar narração", "running": "Gerando…", "noActions": "Nenhuma ação gerada", "actionsCount": "{{count}} ações", "generating": "Gerando", "notGenerated": "Não gerado", "updated": "Atualizado" }, "regenScene": { "title": "Regenerar slide", "generating": "Gerando", "updated": "Atualizado", "notGenerated": "Não gerado", "elementsCount": "{{count}} elementos", "restore": "Restaurar anterior", "restored": "Restaurado", "resume": "Refazer" }, "readCard": { "title": "Read slide content", "reading": "Reading", "done": "Read", "failed": "Not read" }, "fixHtml": { "editsCount": "{{count}} edição(ões)", "fixed": "Corrigido", "fixing": "Corrigindo", "notFixed": "Não corrigido", "title": "Corrigir página interativa" }, "editElements": { "title": "Editar elementos", "editing": "Editando", "applied": "Aplicado", "notApplied": "Não aplicado", "applyFailed": "O editor não conseguiu aplicar a edição do elemento. Nada foi alterado.", "applyPartiallyFailed": "O editor não conseguiu aplicar uma ou mais edições de elementos. Outras edições podem ter sido aplicadas." }, "roster": { "title": "Elenco da sala", "count": "{{count}} integrantes", "editHint": "Clique em um integrante para editar", "personaLabel": "Persona", "personaPlaceholder": "Descreva a personalidade, o estilo de ensino e as tarefas do papel...", "noPersona": "Nenhuma persona ainda", "unnamed": "Sem título", "teacherBadge": "Principal", "moveUp": "Mover para cima", "moveDown": "Mover para baixo", "removeFromClass": "Remover da sala", "aiClassmates": "Colegas de IA · {{count}}", "addRole": "Adicionar papel" } }, "stage": { "currentScene": "Cena Atual", "generating": "Gerando...", "paused": "Pausado", "generationFailed": "Falha na geração", "confirmSwitchTitle": "Trocar de Cena", "confirmSwitchMessage": "Há um tópico em andamento. Trocar de cena vai encerrá-lo. Tem certeza?", "generatingNextPage": "A cena está sendo gerada, aguarde...", "courseComplete": "Curso concluído", "fullscreen": "Tela cheia", "exitFullscreen": "Sair da tela cheia", "editCourse": "Editar curso", "doneEditing": "Concluir edição", "proModeDisabledHint": "A edição não está disponível nesta página — abra um slide do curso para editar no modo Pro." }, "classroomComplete": { "title": "Curso concluído", "trailLabels": { "slide": "páginas", "quiz": "questionários", "interactive": "interativas", "pbl": "projetos" }, "quizScoreLabel": "{{correct}} de {{total}} corretas", "encouragement": { "high": "Excelente — você arrasou!", "mid": "Bom trabalho — continue assim.", "low": "Um bom começo — revise e tente novamente." } }, "whiteboard": { "title": "Quadro Interativo", "open": "Abrir Quadro", "clear": "Limpar Quadro", "minimize": "Minimizar Quadro", "ready": "O quadro está pronto", "readyHint": "Os elementos aparecerão aqui quando adicionados pela IA", "clearSuccess": "Quadro limpo com sucesso", "clearError": "Falha ao limpar o quadro: ", "resetView": "Reiniciar Visão", "restoreError": "Falha ao restaurar o quadro: ", "history": "Histórico", "restore": "Restaurar", "noHistory": "Sem histórico ainda", "restored": "Quadro restaurado", "elementCount": "{{count}} elementos" }, "quiz": { "title": "Questionário", "subtitle": "Teste seu conhecimento", "questionsCount": "questões", "totalPrefix": "", "pointsSuffix": "pts", "startQuiz": "Iniciar Questionário", "multipleChoiceHint": "(Múltipla escolha — selecione todas as alternativas corretas)", "inputPlaceholder": "Digite sua resposta aqui...", "charCount": "caracteres", "yourAnswer": "Sua resposta:", "notAnswered": "Não respondida", "aiComment": "Feedback da IA", "singleChoice": "Única", "multipleChoice": "Múltipla", "shortAnswer": "Discursiva", "analysis": "Análise: ", "excellent": "Excelente!", "keepGoing": "Continue assim!", "needsReview": "Precisa revisar", "correct": "correta", "incorrect": "incorreta", "answering": "Em andamento", "submitAnswers": "Enviar Respostas", "aiGrading": "A IA está corrigindo...", "aiGradingWait": "Aguarde, analisando suas respostas", "quizReport": "Relatório do Questionário", "retry": "Tentar novamente" }, "roundtable": { "teacher": "PROFESSOR", "you": "VOCÊ", "inputPlaceholder": "Digite sua mensagem...", "listening": "Ouvindo...", "processing": "Processando...", "noSpeechDetected": "Nenhuma fala detectada, tente novamente", "discussionEnded": "Discussão encerrada", "qaEnded": "Perguntas e respostas encerradas", "softClosing": "Continuar discussão", "thinking": "Pensando", "yourTurn": "Sua vez", "stopDiscussion": "Encerrar Discussão", "autoPlay": "Reprodução automática", "autoPlayOff": "Parar reprodução automática", "speed": "Velocidade", "previousLine": "Previous line", "nextLine": "Next line", "lineProgress": "Line {{current}} / {{total}}", "voiceInput": "Entrada por voz", "voiceInputDisabled": "Entrada por voz desativada", "textInput": "Entrada por texto", "stopRecording": "Parar gravação", "startRecording": "Iniciar gravação" }, "pbl": { "emptyProject": "O projeto PBL ainda não foi gerado. Crie via geração de curso.", "v2": { "hero": { "title": "Project-Based Learning", "stage": "Stages", "task": "Tasks", "tutor": "Tutor", "greetingBanner": "Your tutor is saying hello…", "startProject": "Start Project", "continueProject": "Continuar projeto", "resetProgress": "Redefinir progresso de aprendizagem", "resetConfirmTitle": "Redefinir o progresso de aprendizagem?", "resetConfirmDescription": "Isso apaga todo o progresso deste projeto — histórico de conversa, envios e status das etapas — e você começará do zero. Esta ação não pode ser desfeita.", "resetConfirmConfirm": "Redefinir", "resetConfirmCancel": "Cancelar", "startHint": "Click to enter the workspace. {{name}} will guide you through each stage.", "startError": "Unable to start: {{error}}", "youWillLearn": "O que você vai ganhar", "instructorTagline": "Acompanha você durante todo o projeto", "scenarioCharacter": "Personagem do cenário", "scenarioCharacterTagline": "O personagem com quem você interage no cenário", "scenarioFlow": "Etapas", "close": "Close" }, "sidebar": { "title": "Project Roadmap", "summary": "{{completed}} / {{total}} tasks · {{stages}} stages", "enterScenario": "Entrar na cena", "advanceScene": "Avançar a cena", "continueScene": "Próxima etapa", "stagePrep": "Preparação", "stageRoleplay": "Simulação", "stageWrapup": "Balanço", "completeAct": "Concluir este ato", "completeTask": "Concluir" }, "workspace": { "progressLabel": "Progress", "resizeSidebar": "Resize sidebar and chat", "resizeSubmission": "Resize chat and submission panel", "enterFullscreen": "Expand to fullscreen workspace", "exitFullscreen": "Exit fullscreen workspace", "exitNativeFullscreen": "Sair da tela cheia", "returnToHero": "Voltar à visão geral do projeto", "breadcrumbOverview": "Visão geral", "breadcrumbCurrent": "Espaço de trabalho" }, "chat": { "placeholder": "Chat with {{name}} about your progress...", "placeholderCompleted": "Project complete. Check out your report.", "send": "Send", "voiceInput": "Entrada de voz", "keyboardHint": "Enter to send · Shift+Enter for newline", "readingSubmission": "Reading submission…", "generatingMilestoneFeedback": "Generating milestone feedback…", "generatingFinalEval": "Generating final evaluation…", "readingSubmissionWithTitle": "Reading latest submission for \"{{title}}\"…", "evaluatingTask": "{{name}} · Reviewing task", "evaluatingFinal": "{{name}} · Final evaluation", "narrating": "Definindo a cena…", "choosePrompt": "Escolha uma opção", "choiceOrType": "Escolha ou escreva o seu…", "suggestionsToggle": "Precisa de ideias? Veja formas de responder", "guidancePointer": "Sem ideias? Veja o objetivo e as dicas deste ato no painel à direita.", "roleplayHistoryTitle": "Histórico da simulação", "coachHint": "Dica do coach", "thinking": "{{name}} · Thinking", "typing": "{{name}} · Typing…", "submitted": "Work submitted", "evaluatingSubmission": "Evaluating your submission…", "evaluatingSubmissionDetail": "Task: \"{{title}}\". Feedback on this submission will appear here once evaluation is complete.", "milestoneFeedbackPending": "The milestone feedback will appear once ready.", "emptyChat": "No messages yet.", "emptyChatHint": "Your project walkthrough with {{name}} will start here.", "continueError": "Unable to continue: {{error}}", "stillTyping": "Still typing", "handoverHint": "Click \"Continue to Next Stage\" to keep going." }, "scene": { "expand": "Expandir", "collapse": "Recolher", "greetHint": "Toque para cumprimentar", "label": "A cena" }, "milestoneCard": { "title": "Milestone Review", "youLearned": "What you learned", "nextStage": "Next stage:", "continueHint": "Click Continue to enter the next stage.", "alreadyEntered": "Next stage entered", "continueToNext": "Continue to Next Stage", "projectAlmostDone": "🎉 Project almost done — awaiting completion report" }, "taskEvalCard": { "title": "Submission Feedback", "strengths": "What went well", "improvements": "Next steps" }, "briefing": { "intro": "A premissa apresentada na preparação fica aqui para você revisitar a qualquer momento na cena.", "tablistLabel": "Abas do painel direito", "submissionTab": "Enviar", "briefingTab": "Resumo", "setting": "Cenário", "learnerRole": "Seu papel", "goal": "Objetivo", "rules": "Regras", "cast": "Personagens", "identity": "Identidade", "situation": "Situação" }, "submission": { "textSubmission": "Text submission", "fileTooLarge": "File exceeds 5 MB limit. Try splitting or compressing.", "contentRequired": "Content cannot be empty", "readFileFailed": "Failed to read file: {{error}}", "parsingPdf": "Parsing PDF…", "parsePdfFailed": "Failed to parse PDF: {{error}}", "pdfNoText": "No extractable text found in this PDF.", "imageUploadFailed": "Failed to upload image: {{error}}", "imageTooLargeNoStorage": "Image too large to attach without storage configured (max 2 MB locally).", "imageNeedsCaptionNoVision": "The current model can't read images. Add a text description of the image before submitting, or switch to a vision-capable model in Settings.", "unsupportedFileType": "Unsupported file type. Only text files (.txt, .md, .csv, .json, .py, …) and PDF are accepted.", "pasteTab": "Paste text / image", "uploadTab": "Upload file", "pastePlaceholder": "Paste your code, document, answer — or an image / screenshot — here…", "uploadPlaceholder": "Uploaded content will appear here. Edit before submitting…", "imageCaptionPlaceholder": "Add an optional caption for this image…", "imageSelectedReplace": "Image selected · click to replace", "removeImage": "Remove image", "processing": "Processing…", "cancelProcessingConfirm": "A file is still being processed. Cancel and discard this upload?", "currentTask": "Current Task", "hints": "Hints", "submitOutput": "Submit", "evaluating": "Evaluating submission…", "lockedWhileStreaming": "The instructor is replying — please wait before submitting.", "evalFailed": "Falha na avaliação: {{error}}", "submittedCount": "{{count}} submitted", "submissionHistory": "Submission History", "fromTask": "Task: {{title}}", "download": "Download", "viewSubmission": "View submission", "noActiveTask": "No active task.", "canceling": "Cancel", "submitting": "Submitting…", "selectFileHint": "Choose a file · Max 5 MB · Text, PDF or image", "modalTitle": "Submit your work", "modalTaskLabel": "Task: {{title}}", "fileRead": "Read: {{filename}} · {{size}} KB", "submittedBadge": "Submitted ({{count}})", "receiptFile": "File: {{filename}}", "receiptTemplate": "Submitted work for this task ({{label}})." }, "agentTabs": { "noAgent": "No AI agent configured for this project." }, "completion": { "noWhatsNext": "The final evaluation hasn't been written yet.", "backToWorkspace": "Back to Workspace", "completionCta": "View Report", "title": "Completion Report", "whatYouBuilt": "What you built", "whatYouLearned": "What you learned", "whatsNext": "What's next", "noDataFallback": "Not yet written", "stageReview": "Stage Reviews", "summary": "You completed {{completed}} of {{total}} tasks across {{stages}} stages.", "statConcepts": "Concepts mastered", "statTurns": "Messages exchanged", "statScope": "Stages · Tasks", "statDuration": "Time spent", "statSubmissions": "Work submitted", "coreStageBadge": "Core", "conceptsInStageLabel": "Concepts:", "submissionsInStage": "Submitted {{count}} piece(s) of work", "coreConceptGrasp": "Core concept \"{{concept}}\" — {{quality}}", "stageNoData": "No recorded output in this stage.", "highlightsTitle": "Highlights", "scenario": { "summary": "Você concluiu todos os {{acts}} atos deste cenário. Veja como foi o role-play.", "whatYouDidWell": "O que você fez bem", "skillsPracticed": "Habilidades praticadas", "statGoals": "Metas atingidas", "statActs": "Atos concluídos", "goalReviewTitle": "Revisão ato a ato", "goalReviewHint": "Este cenário definiu algumas metas-chave para cada ato. Veja uma retrospectiva de como sua conversa realmente foi — desta vez você atingiu {{achieved}} de {{total}}.", "goalListTitle": "O que cada ato pediu de você", "goalListHint": "Este cenário definiu algumas metas-chave para cada ato. Veja uma retrospectiva do que cada ato pediu que você fizesse.", "goalAchieved": "atingida", "goalPartial": "parcial", "goalMissed": "não atingida", "statGoodDecisions": "Boas decisões", "statScore": "Pontuação de decisão", "statBeats": "Atos concluídos", "decisionReviewTitle": "Revisão das decisões", "good": "boas", "ok": "razoáveis", "poor": "a melhorar", "decisionScore": "Pontuação de decisão {{score}}", "castLabel": "Você interagiu com: {{names}}" }, "highlight": { "independence": "You demonstrated {{unlocks}}/{{total}} concepts on your own — no prompting needed. Solid understanding.", "resilience": "In \"{{title}}\" you overcame {{errors}} errors, tackling each one — real grit.", "resilienceGeneral": "You overcame {{errors}} errors, tackling each one — real grit.", "completion": "You completed every task. Steady progress all the way through." }, "synthesisQuality": { "strong": "Strong understanding ✅", "ok": "Good grasp 👍", "weak": "Room to grow 💪" }, "durationMinutes": "{{m}} min", "durationHours": "{{h}} hr", "durationHoursMinutes": "{{h}} hr {{m}} min" }, "completionCard": { "title": "Project Complete · Completion", "subtitle": "Congratulations! You finished the entire project.", "description": "Based on your performance data (time spent, conversations, error recovery, concepts unlocked…), we have generated a completion report showing what you built, what you learned, and where to go next." } } }, "share": { "notReady": "Disponível após a geração ser concluída" }, "classroom": { "recentClassrooms": "Recentes", "today": "Hoje", "yesterday": "Ontem", "daysAgo": "dias atrás", "slides": "slides", "nameCopied": "Nome copiado", "deleteConfirmTitle": "Excluir", "delete": "Excluir", "rename": "Renomear", "renamePlaceholder": "Digite o nome da sala", "renameFailed": "Falha ao renomear a sala", "searchPlaceholder": "Pesquisar cursos...", "searchAriaLabel": "Pesquisar cursos", "clearSearch": "Limpar", "searchEmpty": "Nenhum curso corresponde à sua busca", "newFolderTitle": "Nova pasta", "newFolderDesc": "Organize cursos por tópico para facilitar o acesso.", "newFolderInline": "Nova pasta", "folderNameLabel": "Nome da pasta", "folderNamePlaceholder": "Ex: Matemática, Inglês, Cursos principais", "folderNameHint": "Caracteres largos e estreitos são aceitos; espaços contam.", "folderNameExists": "Já existe uma pasta com esse nome.", "folderCountLimit": "Limite de pastas atingido.", "folderWidth": "Largura {{width}}/{{max}}", "folderCreate": "Criar", "folderBadge": "Pasta", "folderCourseCountUnit": "cursos", "deleteFolderTitle": "Excluir pasta \"{{name}}\"", "deleteFolderEmptyDesc": "Esta pasta está vazia. A exclusão não pode ser desfeita.", "deleteFolderUngroupDesc": "Os cursos permanecem em \"Meus cursos\", apenas sem pasta.", "moveToFolder": "Mover para pasta", "moveToFolderLabel": "Mover para a pasta", "ungrouped": "Sem pasta", "searchResults": "Resultados da busca", "folderCreateFailed": "Falha ao criar a pasta", "folderRenameFailed": "Falha ao renomear a pasta", "folderDeleteFailed": "Falha ao excluir a pasta", "moveFailed": "Falha ao mover o curso", "emptyFolderHint": "Esta pasta está vazia", "emptyLibraryHint": "Nenhum curso ainda — crie um acima ou importe um curso.", "folderNameEmpty": "O nome da pasta não pode estar vazio", "deleteFolderOnly": "Excluir apenas a pasta", "deleteFolderAndCourses": "Excluir pasta e {{count}} curso", "deleteFolderAndCourses_other": "Excluir pasta e {{count}} cursos", "deleteFolderConfirmRemove": "Isto remove a pasta e seus cursos, incluindo o histórico de chat." }, "upload": { "pdfSizeLimit": "Suporta arquivos PDF de até 50 MB", "courseMaterialSizeLimit": "Documentos, apresentações, planilhas, imagens e texto — até 50 MB (formatos aceitos dependem do extrator selecionado)", "generateFailed": "Falha ao gerar a sala, tente novamente", "requirementPlaceholder": "Conte-me o que você quer aprender, por exemplo:\n\"Me ensine Python do zero em 30 minutos\"\n\"Explique a Transformada de Fourier no quadro\"\n\"Como jogar o jogo de tabuleiro Avalon\"", "requirementRequired": "Por favor, descreva os objetivos do curso", "fileTooLarge": "Arquivo muito grande. Selecione um arquivo com menos de 50 MB", "courseMaterialCountLimit": "Você pode enviar até 5 arquivos de material do curso", "courseMaterialTotalSizeLimit": "O tamanho total dos materiais deve ser menor que 150 MB", "unsupportedCourseMaterial": "O extrator atual não suporta este formato. Troque o extrator ou escolha outro arquivo." }, "generation": { "modeLabel": "Modo de geração", "normalMode": "Geração padrão", "largeMode": "Tarefa grande", "pdfLoadFailed": "Falha ao carregar o PDF, tente novamente", "pdfParseFailed": "Falha ao analisar o PDF", "analyzingCourseMaterial": "Analisando documentos", "analyzingCourseMaterialDesc": "Extraindo estrutura e conteúdo do documento...", "courseMaterialLoadFailed": "Falha ao carregar o material do curso, tente novamente", "courseMaterialParseFailed": "Falha ao analisar o material do curso", "streamNotReadable": "Não foi possível ler o fluxo de geração", "generatingOutlines": "Esboçando o Roteiro do Curso", "generatingOutlinesDesc": "Estruturando o caminho de aprendizagem...", "generatingSlideContent": "Gerando Conteúdo das Páginas", "generatingSlideContentDesc": "Criando slides, questionários e conteúdo interativo...", "generatingActions": "Gerando Ações de Ensino", "generatingActionsDesc": "Orquestrando narração, destaques e interações...", "generationComplete": "Geração concluída!", "generationFailed": "Falha na geração", "speechFailed": "Falha ao gerar a fala", "retryScene": "Tentar novamente", "retryingScene": "Regerando...", "backToHome": "Voltar ao Início", "sessionNotFound": "Sessão Não Encontrada", "sessionNotFoundDesc": "Preencha os objetivos do curso para iniciar a geração.", "goBackAndRetry": "Voltar e Tentar de Novo", "classroomReady": "Seu ambiente de aprendizagem com IA foi gerado com sucesso.", "aiWorking": "Agentes de IA Trabalhando...", "textTruncated": "O texto do documento é longo; usando os primeiros {{n}} caracteres", "imageTruncated": "{{total}} imagens encontradas, excedendo o limite de {{max}}. As imagens excedentes usarão apenas descrições em texto", "agentRevealTitle": "Seus Papéis da Sala", "viewAgents": "Ver Papéis", "continue": "Continuar", "outlineRetrying": "Problema na geração do roteiro, tentando novamente...", "outlineEmptyResponse": "O modelo não retornou roteiros válidos. Verifique a configuração do modelo e tente novamente", "outlineGenerateFailed": "Falha ao gerar roteiro, tente novamente mais tarde", "sceneGenerateFailed": "Falha ao gerar cena, tente novamente mais tarde", "sceneGenerateAuthFailed": "A geração da cena falhou porque o provedor do modelo rejeitou as credenciais. Verifique a configuração do modelo.", "sceneGenerateRateLimited": "A geração da cena atingiu o limite de requisições. Aguarde um momento e tente novamente.", "sceneGenerateProviderUnavailable": "O provedor do modelo está temporariamente indisponível. Tente novamente mais tarde.", "sceneGenerateInvalidResponse": "O modelo não retornou conteúdo de cena válido. Tente outro modelo ou ajuste os requisitos do curso.", "reviewOutlineTitle": "Revise seu roteiro", "reviewOutlineDesc": "Edite, reordene, remova ou adicione cenas antes do início da geração de conteúdo.", "reviewOutlineAutoContinue": "A geração continuará automaticamente, a menos que você revise o roteiro.", "outlineEditorTitle": "Roteiro das cenas", "outlineEditorSummary": "{{count}} cenas no total. Você pode editar, adicionar, remover ou reordenar antes do início da geração.", "addFirstScene": "Adicionar primeira cena", "noOutlines": "Ainda não há roteiros de cenas", "sceneTitlePlaceholder": "Título da cena", "sceneTypeSlide": "Slide", "sceneTypeQuiz": "Questionário", "sceneTypeInteractive": "Interativa", "sceneTypePbl": "PBL", "sceneDescriptionPlaceholder": "Descreva brevemente o propósito e o conteúdo desta cena", "quizQuestionCount": "Número de questões", "quizDifficulty": "Dificuldade", "quizType": "Tipo de questão", "quizDifficultyEasy": "Fácil", "quizDifficultyMedium": "Média", "quizDifficultyHard": "Difícil", "quizTypeSingle": "Escolha única", "quizTypeMultiple": "Múltipla escolha", "quizTypeText": "Discursiva", "alwaysReviewOutlines": "Sempre revisar roteiros antes de gerar", "outlineEditorEyebrow": "Roteiro gerado por IA", "outlineEditorStreamingProgress": "Em streaming · {{count}} cenas prontas", "outlineEditorStreamingWaiting": "Aguardando a primeira cena chegar…", "outlineEditorWaitingConfirm": "Aguardando roteiros…", "outlineExpandHint": "Toque para revisar", "reviewOutlineStreamingDesc": "O roteiro ainda está chegando. Você poderá editar quando estiver completo.", "addKeyPoint": "Adicionar ponto-chave", "removeKeyPoint": "Remover ponto-chave", "insertSceneHere": "Inserir uma cena aqui", "deleteSceneConfirm": "Excluir esta cena?", "deleteSceneConfirmDesc": "Esta cena e seus pontos-chave serão removidos do roteiro.", "deleteSceneConfirmAction": "Excluir", "collapseEditor": "Recolher", "quizConfigSummary": "{{count}} questões", "interactiveWidgetKind": "Tipo de widget", "widgetSimulation": "Simulação", "widgetDiagram": "Diagrama", "widgetCode": "Código", "widgetGame": "Jogo", "widgetVisualization3d": "3D", "interactiveConcept": "Conceito", "interactiveConceptPlaceholder": "Conceito a explorar", "pblConfigSummary": "Projeto", "pblSubtype": "Tipo de PBL", "pblSubtypeProject": "Projeto", "pblSubtypeScenario": "Cenário", "pblProjectTopic": "Tema do projeto", "pblProjectTopicPlaceholder": "Tema do projeto", "pblProjectDescription": "Descrição", "pblProjectDescriptionPlaceholder": "O que os alunos vão criar", "pblScenarioBrief": "Resumo do cenário", "pblScenarioBriefPlaceholder": "Situação, personagens e objetivo de prática", "pblTargetSkills": "Habilidades-alvo", "pblAddSkill": "Adicionar habilidade", "widgetProceduralSkill": "Habilidade prática", "removeSkill": "Remover habilidade", "dragSceneHint": "Arraste para reordenar; ou foque e pressione Ctrl/⌘ + ↑ / ↓", "deleteScene": "Excluir cena", "backToRequirements": "Voltar aos objetivos", "confirmAndGenerateCourse": "Confirmar e gerar curso", "generatingInProgress": "Gerando...", "webSearching": "Buscando na Web", "webSearchingDesc": "Pesquisando informações atualizadas na web", "webSearchFailed": "Falha na pesquisa na web", "outlinesReadyCount": "{{ready}} / {{total}} seções prontas", "jumpToBlankTitle": "Ir para uma seção que ainda precisa de título", "analyzingMediaMaterial": "Analisando áudio/vídeo" }, "settings": { "title": "Configurações", "description": "Configurar opções do aplicativo", "language": "Idioma", "languageDesc": "Selecione o idioma da interface", "theme": "Tema", "themeDesc": "Selecione o modo de tema (Claro/Escuro/Sistema)", "themeOptions": { "light": "Claro", "dark": "Escuro", "system": "Sistema" }, "apiKey": "Chave de API", "apiKeyDesc": "Configure sua chave de API", "apiBaseUrl": "URL do Endpoint da API", "apiBaseUrlDesc": "Configure a URL do endpoint da sua API", "apiKeyRequired": "A chave de API não pode ficar vazia", "model": "Configuração do Modelo", "modelDesc": "Configure os modelos de IA", "modelPlaceholder": "Digite ou selecione o nome do modelo", "ttsModel": "Modelo TTS", "ttsModelDesc": "Configure os modelos TTS", "ttsModelPlaceholder": "Digite ou selecione o nome do modelo TTS", "ttsModelOptions": { "openaiTts": "OpenAI TTS", "azureTts": "Azure TTS" }, "availableModels": "Modelos Disponíveis", "modelSelectedViaVoice": "O modelo é determinado pela escolha da voz", "testConnection": "Testar Conexão", "testConnectionDesc": "Testar se a configuração de API atual está disponível", "testing": "Testando...", "agentSettings": "Configurações dos Agentes", "agentSettingsDesc": "Selecione os agentes que participarão da conversa. Escolha 1 para modo de agente único, ou vários para modo colaborativo.", "agentMode": "Modo de Agentes", "agentModePreset": "Predefinido", "agentModeAuto": "Gerar automaticamente", "agentModeAutoDesc": "A IA criará automaticamente papéis adequados", "autoAgentCount": "Número de Agentes", "autoAgentCountDesc": "Quantidade de agentes a gerar (incluindo o professor)", "atLeastOneAgent": "Selecione ao menos 1 agente", "singleAgentMode": "Modo de Agente Único", "directAnswer": "Resposta Direta", "multiAgentMode": "Modo Multi-Agente", "agentsCollaborating": "Discussão Colaborativa", "agentsCollaboratingCount": "{{count}} agentes selecionados para discussão colaborativa", "priority": "Prioridade", "actions": "Ações", "actionCount": "{{count}} ações", "selectedAgent": "Agente Selecionado", "selectedAgents": "Agentes Selecionados", "required": "Obrigatório", "agentNames": { "default-1": "Professor de IA", "default-2": "Assistente de IA", "default-3": "Animador da Turma", "default-4": "Mente Curiosa", "default-5": "Anotador", "default-6": "Pensador Profundo" }, "agentRoles": { "teacher": "Professor", "assistant": "Assistente", "student": "Estudante" }, "agentDescriptions": { "default-1": "Professor principal com explicações claras e bem estruturadas", "default-2": "Apoia o aprendizado e ajuda a esclarecer pontos-chave", "default-3": "Traz humor e energia para a sala de aula", "default-4": "Sempre curioso, adora perguntar por quê e como", "default-5": "Registra e organiza as anotações da aula com dedicação", "default-6": "Pensa profundamente e explora a essência dos temas" }, "close": "Fechar", "save": "Salvar", "providers": "LLM", "addProviderDescription": "Adicione provedores de modelo personalizados para ampliar os modelos de IA disponíveis", "providerNames": { "openai": "OpenAI", "azure": "Azure OpenAI", "anthropic": "Claude", "google": "Gemini", "bedrock": "Amazon Bedrock", "deepseek": "DeepSeek", "qwen": "Qwen", "kimi": "Kimi", "minimax": "MiniMax", "glm": "GLM", "siliconflow": "SiliconFlow", "doubao": "Doubao", "openrouter": "OpenRouter", "grok": "Grok", "tencent-hunyuan": "Tencent Hunyuan", "xiaomi": "Xiaomi MiMo", "lemonade": "Lemonade (Local)", "ollama": "Ollama (Local)", "tavily": "Tavily", "bocha": "Bocha", "brave": "Brave Search", "baidu": "Baidu", "claude": "Claude", "searxng": "SearXNG" }, "providerTypes": { "openai": "Protocolo OpenAI", "azure": "Azure OpenAI", "anthropic": "Protocolo Claude", "google": "Protocolo Gemini", "bedrock": "Amazon Bedrock" }, "modelCount": "modelos", "modelSingular": "modelo", "defaultModel": "Modelo Padrão", "webSearch": "Busca na Web", "mcp": "MCP", "knowledgeBase": "Base de Conhecimento", "documentParser": "Analisador de Documentos", "conversationSettings": "Conversa", "keyboardShortcuts": "Atalhos", "generalSettings": "Geral", "systemSettings": "Sistema", "addProvider": "Adicionar", "importFromClipboard": "Importar da Área de Transferência", "apiSecret": "Chave de API", "apiHost": "URL Base", "azureDeploymentHint": "Informe o endpoint do Azure OpenAI acima e adicione cada nome de implantação do Azure como um modelo.", "baseUrlRegion": { "china": "China", "international": "Internacional", "xiaomiPayg": "Pagamento por uso", "xiaomiTokenPlanCN": "Plano de Tokens CN", "xiaomiTokenPlanSGP": "Plano de Tokens SG", "xiaomiTokenPlanEU": "Plano de Tokens EU" }, "requestUrl": "URL da Requisição", "models": "Modelos", "comfyuiWorkflows": "Fluxos de trabalho", "comfyuiRefresh": "Atualizar", "comfyuiNoWorkflowsFoundPrefix": "Nenhum arquivo JSON de fluxo de trabalho encontrado em", "comfyuiAddWorkflowPrefix": "Adicione um arquivo", "comfyuiAddWorkflowSuffix": "para começar.", "comfyuiFolderHintPrefix": "Coloque os arquivos JSON de fluxo de trabalho na sua pasta", "comfyuiFolderHintMiddle": "O nome do arquivo se torna o nome exibido — ex.", "comfyuiLoadError": "Falha ao carregar fluxos de trabalho: {error}", "addModel": "Adicionar", "reset": "Restaurar", "fetch": "Buscar", "connectionSuccess": "Conexão bem-sucedida", "connectionFailed": "Falha na conexão", "capabilities": { "vision": "Visão", "tools": "Ferramentas", "streaming": "Streaming" }, "contextWindow": "Contexto", "contextShort": "ctx", "outputWindow": "Saída", "addProviderButton": "Adicionar", "addProviderDialog": "Adicionar Provedor de Modelo", "providerName": "Nome", "providerNamePlaceholder": "ex.: Meu Proxy OpenAI", "providerNameRequired": "Digite o nome do provedor", "providerApiMode": "Modo da API", "apiModeOpenAI": "Protocolo OpenAI", "apiModeAnthropic": "Protocolo Claude", "apiModeGoogle": "Protocolo Gemini", "defaultBaseUrl": "URL Base Padrão", "providerIcon": "URL do Ícone do Provedor", "requiresApiKey": "Requer Chave de API", "deleteProvider": "Excluir Provedor", "deleteProviderConfirm": "Tem certeza que deseja excluir este provedor?", "addCustomTTSProvider": "Adicionar Provedor TTS Personalizado", "addCustomASRProvider": "Adicionar Provedor ASR Personalizado", "addCustomAudioProviderDescription": "Adicione um provedor de áudio personalizado compatível com OpenAI", "customVoices": "Vozes", "voiceIdPlaceholder": "ID da Voz (ex.: alloy)", "voiceNamePlaceholder": "Nome de Exibição", "addVoice": "Adicionar", "modelNamePlaceholder": "Opcional", "defaultModelHint": "Nome do modelo enviado nas requisições à API (ex.: kokoro, tts-1)", "noVoicesAdded": "Nenhuma voz adicionada ainda. Adicione vozes abaixo para seleção por agente.", "noModelsAdded": "Nenhum modelo adicionado ainda. Adicione modelos abaixo para habilitar a seleção.", "noModelsWarning": "Adicione pelo menos um modelo abaixo antes de usar este provedor.", "asrNoTranscription": "Nenhuma transcrição gerada. Tente falar mais alto ou por mais tempo.", "cannotDeleteBuiltIn": "Não é possível excluir provedor nativo", "resetToDefault": "Restaurar Padrão", "resetToDefaultDescription": "Restaure a lista de modelos para a configuração padrão (chave de API e URL base serão preservadas)", "resetConfirmDescription": "Isto removerá todos os modelos personalizados e restaurará a lista padrão. Chave de API e URL base serão preservadas.", "confirmReset": "Confirmar Restauração", "resetSuccess": "Restauração para padrão bem-sucedida", "saveSuccess": "Configurações salvas", "saveFailed": "Falha ao salvar configurações, tente novamente", "cannotDeleteBuiltInModel": "Não é possível excluir modelo nativo", "cannotEditBuiltInModel": "Não é possível editar modelo nativo", "modelIdRequired": "Digite o ID do modelo", "noModelsAvailable": "Nenhum modelo disponível para teste", "providerMetadata": "Metadados do Provedor", "editModel": "Editar Modelo", "editModelDescription": "Edite a configuração e capacidades do modelo", "addNewModel": "Novo Modelo", "modelsManagementDescription": "Gerencie os modelos e capacidades disponíveis para este provedor.", "addNewModelDescription": "Adicionar uma nova configuração de modelo", "modelId": "ID do Modelo", "modelIdPlaceholder": "ex.: gpt-4o", "modelName": "Nome de Exibição", "modelCapabilities": "Capacidades", "advancedSettings": "Configurações Avançadas", "contextWindowLabel": "Janela de Contexto", "contextWindowPlaceholder": "ex.: 128000", "outputWindowLabel": "Tokens Máx. de Saída", "outputWindowPlaceholder": "ex.: 4096", "testModel": "Testar Modelo", "deleteModel": "Excluir", "cancelEdit": "Cancelar", "saveModel": "Salvar", "howToUse": "Como Usar", "step1ConfigureProvider": "Vá em \"Provedores de Modelo\", selecione ou adicione um provedor e configure a conexão (chave de API, URL base etc.)", "step2SelectModel": "Escolha o modelo que deseja usar em \"Modelo Ativo\" abaixo", "step3StartUsing": "Após salvar, o sistema usará o modelo selecionado", "activeModel": "Modelo Ativo", "activeModelDescription": "Selecione o modelo para conversas e geração de conteúdo", "searchModels": "Pesquisar modelos", "noModelsFound": "Nenhum modelo correspondente encontrado", "noConfiguredProviders": "Nenhum provedor configurado", "configureProvidersFirst": "Configure a conexão em \"Provedores de Modelo\" à esquerda", "currentlyUsing": "Em uso", "ttsSettings": "Texto para Fala", "asrSettings": "Reconhecimento de Fala", "audioSettings": "Configurações de Áudio", "ttsSection": "Texto para Fala (TTS)", "asrSection": "Reconhecimento Automático de Fala (ASR)", "ttsDescription": "TTS (Texto para Fala) — converte texto em fala", "asrDescription": "ASR (Reconhecimento Automático de Fala) — converte fala em texto", "enableTTS": "Habilitar Texto para Fala", "ttsEnabledDescription": "Quando ativado, o áudio de fala será gerado durante a criação do curso", "ttsVoiceConfigHint": "A voz por agente pode ser configurada em \"Configuração de Papéis da Sala\" na página inicial", "enableASR": "Habilitar Reconhecimento de Fala", "asrEnabledDescription": "Quando ativado, os estudantes podem usar o microfone para entrada por voz", "ttsProvider": "Provedor TTS", "ttsLanguageFilter": "Filtro de Idioma", "allLanguages": "Todos os Idiomas", "ttsVoice": "Voz", "ttsSpeed": "Velocidade", "ttsBaseUrl": "URL Base", "ttsApiKey": "Chave de API", "doubaoAppId": "App ID", "doubaoAccessKey": "Access Key", "asrProvider": "Provedor ASR", "asrLanguage": "Idioma de Reconhecimento", "asrBaseUrl": "URL Base", "asrApiKey": "Chave de API", "enterApiKey": "Digite a chave de API", "enterCustomBaseUrl": "Digite uma URL base personalizada", "browserNativeNote": "O ASR nativo do navegador não exige configuração e é totalmente gratuito", "providerOpenAITTS": "OpenAI TTS (gpt-4o-mini-tts)", "providerAzureTTS": "Azure TTS", "providerGLMTTS": "GLM TTS", "providerQwenTTS": "Qwen TTS (Alibaba Cloud Bailian)", "providerVoxCPMTTS": "VoxCPM2", "providerDoubaoTTS": "Doubao TTS 2.0 (Volcengine)", "providerElevenLabsTTS": "ElevenLabs TTS", "providerMiniMaxTTS": "MiniMax TTS", "providerLemonadeTTS": "Lemonade TTS (Local)", "providerBrowserNativeTTS": "TTS Nativo do Navegador", "voxcpmBackend": "Backend", "voxcpmBaseUrlPending": "Digite uma URL base para gerar a URL da requisição", "voxcpmAutoVoiceNoPreview": "A Voz Automática é gerada a partir do contexto do agente e não pode ser pré-visualizada diretamente", "voxcpmVoicesTitle": "Vozes VoxCPM", "voxcpmVoicesDescription": "Salvas neste navegador e adicionadas ao conjunto de vozes da Barra de Agentes.", "voxcpmAutoVoicePrivacyNote": "A Voz Automática envia a persona do agente ao seu backend VoxCPM configurado como prompt de voz.", "voxcpmPromptCount": "Prompt {{count}}", "voxcpmCloneCount": "Clone {{count}}", "voxcpmCloneUnsupported": "O backend atual não suporta clonagem", "voxcpmVoicePool": "Conjunto de Vozes", "voxcpmVoiceCount": "{{count}} vozes", "voxcpmAutoVoice": "Voz Automática", "voxcpmAutoVoiceDescription": "Usa a persona do agente como prompt de voz", "voxcpmUnavailable": "Indisponível", "voxcpmClone": "Clonar", "voxcpmCloneUnsupportedDetail": "O backend atual não suporta clonagem", "voxcpmNoCustomVoices": "Ainda não há vozes personalizadas", "voxcpmCloneSaveOnly": "Salva somente para este backend", "voxcpmVoiceNamePlaceholder": "Nome da voz", "voxcpmPromptPlaceholder": "Exemplo: voz de professor clara, natural e em ritmo moderado", "voxcpmAddVoice": "Adicionar Voz", "voxcpmCloneVoiceNamePlaceholder": "Nome da voz clonada", "voxcpmUploadReferenceAudio": "Enviar áudio de referência", "voxcpmRecord": "Gravar", "voxcpmReferenceAudioLimitHint": "O áudio de referência deve ter no máximo 10 MB / 60 segundos e é convertido para WAV antes de ser salvo.", "voxcpmReferenceTextPlaceholder": "Transcrição do áudio de referência, opcional", "voxcpmVoiceDescriptionPlaceholder": "Descrição da voz, opcional", "voxcpmAddClone": "Adicionar Clone", "voxcpmRecordingUnsupported": "Este navegador não suporta gravação", "voxcpmRecordedVoiceName": "Voz Gravada", "voxcpmRecordingFailed": "Falha na conversão da gravação", "voxcpmRecordingStartFailed": "Não foi possível iniciar a gravação", "voxcpmBaseUrlRequired": "Digite uma URL base do VoxCPM primeiro", "voxcpmPreviewFailed": "Falha na pré-visualização", "voxcpmVoiceSaved": "Voz VoxCPM salva", "voxcpmVoiceSaveFailed": "Falha ao salvar a voz", "voxcpmReferenceAudioInvalid": "Áudio de referência inválido", "voxcpmCloneSaved": "Voz clonada VoxCPM salva", "voxcpmCloneSaveFailed": "Falha ao salvar voz clonada", "voxcpmStopPreview": "Parar pré-visualização", "voxcpmPreviewVoice": "Pré-visualizar voz", "voxcpmDeleteVoice": "Excluir voz", "providerOpenAIWhisper": "OpenAI ASR (gpt-4o-mini-transcribe)", "providerBrowserNative": "ASR Nativo do Navegador", "providerQwenASR": "Qwen ASR (Alibaba Cloud Bailian)", "providerFunASRASR": "FunASR (Local)", "providerLemonadeASR": "Lemonade ASR (Local)", "providerAzureASR": "Azure STT", "providerUnpdf": "unpdf (Nativo)", "providerMinerU": "MinerU", "providerMinerUCloud": "MinerU (Nuvem)", "browserNativeTTSNote": "O TTS nativo do navegador não exige configuração e é totalmente gratuito, usando vozes integradas ao sistema", "testTTS": "Testar TTS", "testASR": "Testar ASR", "testSuccess": "Teste bem-sucedido", "testFailed": "Teste falhou", "ttsTestText": "Texto de Teste TTS", "ttsTestSuccess": "Teste TTS bem-sucedido, áudio reproduzido", "ttsTestFailed": "Falha no teste TTS", "asrTestSuccess": "Reconhecimento de fala bem-sucedido", "asrTestFailed": "Falha no reconhecimento de fala", "asrProcessing": "Processando...", "asrResult": "Resultado do Reconhecimento", "asrNotSupported": "O navegador não suporta a API de Reconhecimento de Fala", "browserTTSNotSupported": "O navegador não suporta a API de Síntese de Fala", "browserTTSNoVoices": "O navegador atual não tem vozes TTS disponíveis", "microphoneAccessDenied": "Acesso ao microfone negado", "microphoneAccessFailed": "Falha ao acessar o microfone", "asrResultPlaceholder": "O resultado do reconhecimento aparecerá após a gravação", "useThisProvider": "Usar Este Provedor", "fetchVoices": "Buscar Lista de Vozes", "fetchingVoices": "Buscando...", "voicesFetched": "Vozes obtidas", "fetchVoicesFailed": "Falha ao buscar vozes", "voiceApiKeyRequired": "Chave de API obrigatória", "voiceBaseUrlRequired": "URL base obrigatória", "ttsTestTextPlaceholder": "Digite o texto a ser convertido", "ttsTestTextDefault": "Olá, este é um teste de fala.", "startRecording": "Iniciar Gravação", "stopRecording": "Parar Gravação", "recording": "Gravando...", "transcribing": "Transcrevendo...", "transcriptionResult": "Resultado da Transcrição", "noTranscriptionResult": "Sem resultado de transcrição", "baseUrlOptional": "URL Base (opcional)", "defaultValue": "Padrão", "voiceMarin": "Recomendada — Melhor Qualidade", "voiceCedar": "Recomendada — Melhor Qualidade", "voiceAlloy": "Neutra, Equilibrada", "voiceAsh": "Firme, Profissional", "voiceBallad": "Elegante, Lírica", "voiceCoral": "Calorosa, Amigável", "voiceEcho": "Masculina, Clara", "voiceFable": "Narrativa, Vívida", "voiceNova": "Feminina, Brilhante", "voiceOnyx": "Masculina, Grave", "voiceSage": "Sábia, Serena", "voiceShimmer": "Feminina, Suave", "voiceVerse": "Natural, Fluida", "glmVoiceTongtong": "Voz padrão", "glmVoiceChuichui": "Voz Chuichui", "glmVoiceXiaochen": "Voz Xiaochen", "glmVoiceJam": "Voz Jam", "glmVoiceKazi": "Voz Kazi", "glmVoiceDouji": "Voz Douji", "glmVoiceLuodo": "Voz Luodo", "qwenVoiceCherry": "Solar, calorosa e natural", "qwenVoiceSerena": "Gentil e suave", "qwenVoiceEthan": "Enérgica e vibrante", "qwenVoiceChelsie": "Namorada virtual estilo anime", "qwenVoiceMomo": "Brincalhona e alegre", "qwenVoiceVivian": "Fofa e atrevida", "qwenVoiceMoon": "Descolado e bonito", "qwenVoiceMaia": "Intelectual e gentil", "qwenVoiceKai": "Um SPA para os seus ouvidos", "qwenVoiceNofish": "Designer que não consegue pronunciar sons retroflexos", "qwenVoiceBella": "Lolita que não fica bêbada", "qwenVoiceJennifer": "Voz feminina americana cinematográfica e de marca", "qwenVoiceRyan": "Ritmo acelerado, performance dramática", "qwenVoiceKaterina": "Mulher madura com ritmo marcante", "qwenVoiceAiden": "Menino americano que domina a cozinha", "qwenVoiceEldricSage": "Ancião firme e sábio", "qwenVoiceMia": "Suave como água de primavera, bem-comportada como a neve", "qwenVoiceMochi": "Pequena adulta esperta com inocência infantil", "qwenVoiceBellona": "Voz alta, pronúncia clara, personagens vívidos", "qwenVoiceVincent": "Voz rouca única que conta histórias de guerra e honra", "qwenVoiceBunny": "Lolita super fofa", "qwenVoiceNeil": "Apresentador profissional de notícias", "qwenVoiceElias": "Instrutor profissional", "qwenVoiceArthur": "Voz simples marcada pelos anos e pelo tabaco seco", "qwenVoiceNini": "Voz macia e grudenta como mochi", "qwenVoiceEbona": "Seu sussurro é como uma chave enferrujada", "qwenVoiceSeren": "Voz gentil e tranquilizante para te ajudar a dormir", "qwenVoicePip": "Travesso, mas cheio de inocência infantil", "qwenVoiceStella": "Voz de menina doce e confusa que se firma ao gritar", "qwenVoiceBodega": "Tio espanhol entusiasmado", "qwenVoiceSonrisa": "Senhora latino-americana entusiasmada", "qwenVoiceAlek": "Frio em batalha, caloroso sob o casaco de lã", "qwenVoiceDolce": "Tio italiano preguiçoso", "qwenVoiceSohee": "Unnie coreana gentil e alegre", "qwenVoiceOnoAnna": "Amiga de infância travessa", "qwenVoiceLenn": "Jovem alemão racional, de terno, que ouve pós-punk", "qwenVoiceEmilien": "Irmão mais velho francês e romântico", "qwenVoiceAndre": "Voz masculina magnética, natural e calma", "qwenVoiceRadioGol": "Poeta do futebol — Rádio Gol!", "qwenVoiceJada": "Senhora animada de Xangai", "qwenVoiceDylan": "Garoto de Pequim", "qwenVoiceLi": "Professora paciente de yoga", "qwenVoiceMarcus": "Rosto largo, palavras curtas, coração firme — sotaque típico de Shaanxi", "qwenVoiceRoy": "Garoto taiwanês bem-humorado e direto", "qwenVoicePeter": "Animador profissional de crosstalk de Tianjin", "qwenVoiceSunny": "Doce garota de Sichuan", "qwenVoiceEric": "Cavalheiro de Chengdu", "qwenVoiceRocky": "Cara bem-humorado de Hong Kong", "qwenVoiceKiki": "Garota doce de Hong Kong", "lang_auto": "Detecção automática", "lang_zh": "中文", "lang_yue": "粤語", "lang_en": "English", "lang_ja": "日本語", "lang_ko": "한국어", "lang_es": "Español", "lang_fr": "Français", "lang_de": "Deutsch", "lang_ru": "Русский", "lang_ar": "العربية", "lang_pt": "Português", "lang_it": "Italiano", "lang_af": "Afrikaans", "lang_hy": "Հայերեն", "lang_az": "Azərbaycan", "lang_be": "Беларуская", "lang_bs": "Bosanski", "lang_bg": "Български", "lang_ca": "Català", "lang_hr": "Hrvatski", "lang_cs": "Čeština", "lang_da": "Dansk", "lang_nl": "Nederlands", "lang_et": "Eesti", "lang_fi": "Suomi", "lang_gl": "Galego", "lang_el": "Ελληνικά", "lang_he": "עברית", "lang_hi": "हिन्दी", "lang_hu": "Magyar", "lang_is": "Íslenska", "lang_id": "Bahasa Indonesia", "lang_kn": "ಕನ್ನಡ", "lang_kk": "Қазақша", "lang_lv": "Latviešu", "lang_lt": "Lietuvių", "lang_mk": "Македонски", "lang_ms": "Bahasa Melayu", "lang_mr": "मराठी", "lang_mi": "Te Reo Māori", "lang_ne": "नेपाली", "lang_no": "Norsk", "lang_fa": "فارسی", "lang_pl": "Polski", "lang_ro": "Română", "lang_sr": "Српски", "lang_sk": "Slovenčina", "lang_sl": "Slovenščina", "lang_sw": "Kiswahili", "lang_sv": "Svenska", "lang_tl": "Tagalog", "lang_fil": "Filipino", "lang_ta": "தமிழ்", "lang_th": "ไทย", "lang_tr": "Türkçe", "lang_uk": "Українська", "lang_ur": "اردو", "lang_vi": "Tiếng Việt", "lang_cy": "Cymraeg", "lang_zh-CN": "中文(简体,中国)", "lang_zh-TW": "中文(繁體,台灣)", "lang_zh-HK": "粵語(香港)", "lang_yue-Hant-HK": "粵語(繁體)", "lang_en-US": "English (United States)", "lang_en-GB": "English (United Kingdom)", "lang_en-AU": "English (Australia)", "lang_en-CA": "English (Canada)", "lang_en-IN": "English (India)", "lang_en-NZ": "English (New Zealand)", "lang_en-ZA": "English (South Africa)", "lang_ja-JP": "日本語(日本)", "lang_ko-KR": "한국어(대한민국)", "lang_de-DE": "Deutsch (Deutschland)", "lang_fr-FR": "Français (France)", "lang_es-ES": "Español (España)", "lang_es-MX": "Español (México)", "lang_es-AR": "Español (Argentina)", "lang_es-CO": "Español (Colombia)", "lang_it-IT": "Italiano (Italia)", "lang_pt-BR": "Português (Brasil)", "lang_pt-PT": "Português (Portugal)", "lang_ru-RU": "Русский (Россия)", "lang_nl-NL": "Nederlands (Nederland)", "lang_pl-PL": "Polski (Polska)", "lang_cs-CZ": "Čeština (Česko)", "lang_da-DK": "Dansk (Danmark)", "lang_fi-FI": "Suomi (Suomi)", "lang_sv-SE": "Svenska (Sverige)", "lang_no-NO": "Norsk (Norge)", "lang_tr-TR": "Türkçe (Türkiye)", "lang_el-GR": "Ελληνικά (Ελλάδα)", "lang_hu-HU": "Magyar (Magyarország)", "lang_ro-RO": "Română (România)", "lang_sk-SK": "Slovenčina (Slovensko)", "lang_bg-BG": "Български (България)", "lang_hr-HR": "Hrvatski (Hrvatska)", "lang_ca-ES": "Català (Espanya)", "lang_ar-SA": "العربية (السعودية)", "lang_ar-EG": "العربية (مصر)", "lang_he-IL": "עברית (ישראל)", "lang_hi-IN": "हिन्दी (भारत)", "lang_th-TH": "ไทย (ประเทศไทย)", "lang_vi-VN": "Tiếng Việt (Việt Nam)", "lang_id-ID": "Bahasa Indonesia (Indonesia)", "lang_ms-MY": "Bahasa Melayu (Malaysia)", "lang_fil-PH": "Filipino (Pilipinas)", "lang_af-ZA": "Afrikaans (Suid-Afrika)", "lang_uk-UA": "Українська (Україна)", "pdfSettings": "Análise de PDF", "documentParsingSettings": "Análise de Documentos", "supportedFormats": "Formatos Suportados", "mineruSelfHostFormatsNote": "A análise de PDF e imagens requer os extras mineru[pipeline] ou mineru[core] no seu servidor MinerU. Instalações leves do mineru-api podem processar apenas documentos do Office.", "pdfParsingSettings": "Configurações de Análise de PDF", "pdfDescription": "Escolha o mecanismo de análise de PDF com suporte a extração de texto, processamento de imagens e reconhecimento de tabelas", "pdfProvider": "Analisador de PDF", "pdfFeatures": "Recursos Suportados", "pdfApiKey": "Chave de API", "pdfBaseUrl": "URL Base", "mineruDescription": "O MinerU é um serviço comercial de análise de PDF com recursos avançados como extração de tabelas, reconhecimento de fórmulas e análise de layout.", "mineruApiKeyRequired": "É preciso solicitar uma chave de API no site do MinerU antes de usar.", "mineruWarning": "Aviso", "mineruCostWarning": "O MinerU é um serviço comercial e pode gerar cobranças. Confira os preços no site do MinerU.", "enterMinerUApiKey": "Digite a chave de API do MinerU", "mineruLocalDescription": "O MinerU suporta implantação local com análise avançada de PDF (tabelas, fórmulas, layout). Requer implantar o serviço MinerU primeiro.", "mineruServerAddress": "Endereço local do servidor MinerU (ex.: http://localhost:8080)", "mineruApiKeyOptional": "Necessária somente se o servidor exigir autenticação", "mineruCloudApiKeyPlaceholder": "Digite a chave de API do MinerU Cloud", "optionalApiKey": "Chave de API opcional", "featureText": "Extração de Texto", "featureImages": "Extração de Imagens", "featureTables": "Extração de Tabelas", "featureFormulas": "Reconhecimento de Fórmulas", "featureLayoutAnalysis": "Análise de Layout", "featureMetadata": "Metadados", "enableImageGeneration": "Habilitar Geração de Imagens por IA", "imageGenerationDisabledHint": "Quando ativado, imagens serão geradas automaticamente durante a criação do curso", "imageSettings": "Geração de Imagens", "imageSection": "Texto para Imagem", "imageProvider": "Provedor de Geração de Imagens", "imageModel": "Modelo de Geração de Imagens", "providerSeedream": "Seedream (ByteDance)", "providerOpenAIImage": "OpenAI Image", "providerQwenImage": "Qwen Image (Alibaba)", "providerNanoBanana": "Nano Banana (Gemini)", "providerMiniMaxImage": "MiniMax Image", "providerGrokImage": "Grok Image (xAI)", "providerComfyUIImage": "ComfyUI Image", "providerLemonadeImage": "Lemonade Image (Local)", "testImageGeneration": "Testar Geração de Imagem", "testImageConnectivity": "Testar Conexão", "imageConnectivitySuccess": "Serviço de imagem conectado com sucesso", "imageConnectivityFailed": "Falha na conexão com o serviço de imagem", "imageTestSuccess": "Teste de geração de imagem bem-sucedido", "imageTestFailed": "Falha no teste de geração de imagem", "imageTestPromptPlaceholder": "Digite uma descrição de imagem para testar", "imageTestPromptDefault": "Um gatinho fofo sentado em uma mesa", "imageGenerating": "Gerando imagem...", "imageGenerationFailed": "Falha na geração de imagem", "enableVideoGeneration": "Habilitar Geração de Vídeos por IA", "videoGenerationDisabledHint": "Quando ativado, vídeos serão gerados automaticamente durante a criação do curso", "videoSettings": "Geração de Vídeos", "videoSection": "Texto para Vídeo", "videoProvider": "Provedor de Geração de Vídeos", "videoModel": "Modelo de Geração de Vídeos", "providerSeedance": "Seedance (ByteDance)", "providerKling": "Kling (Kuaishou)", "providerVeo": "Veo (Google)", "providerSora": "Sora (OpenAI)", "providerMiniMaxVideo": "MiniMax Video", "providerGrokVideo": "Grok Video (xAI)", "providerHappyHorse": "HappyHorse (Alibaba Cloud)", "testVideoGeneration": "Testar Geração de Vídeo", "testVideoConnectivity": "Testar Conexão", "videoConnectivitySuccess": "Serviço de vídeo conectado com sucesso", "videoConnectivityFailed": "Falha na conexão com o serviço de vídeo", "testingConnection": "Testando...", "videoTestSuccess": "Teste de geração de vídeo bem-sucedido", "videoTestFailed": "Falha no teste de geração de vídeo", "videoTestPromptDefault": "Um gatinho fofo andando sobre uma mesa", "videoGenerating": "Gerando vídeo (estimativa: 1-2 min)...", "videoGenerationWarning": "A geração de vídeo geralmente leva 1-2 minutos. Aguarde com paciência", "mediaRetry": "Tentar novamente", "mediaContentSensitive": "Desculpe, este conteúdo acionou uma verificação de segurança.", "mediaGenerationDisabled": "Geração desabilitada nas configurações", "singleAgent": "Agente Único", "multiAgent": "Multi-Agente", "selectAgents": "Selecionar Agentes", "noVisionWarning": "O modelo atual não suporta visão. As imagens ainda podem ser colocadas nos slides, mas o modelo não conseguirá entender o conteúdo das imagens para otimizar seleção e layout", "serverConfigured": "Servidor", "serverConfiguredNotice": "Este provedor é gerenciado pelo servidor e não pode ser editado aqui. Para usar suas próprias credenciais, adicione um provedor separado.", "ttsProviderEnabledLabel": "Ativar este provedor", "ttsProviderEnabledHint": "Quando desligado, este provedor fica oculto no seletor de voz e nunca é atribuído automaticamente.", "ttsProviderUnavailableHint": "Configure este provedor antes de ativá-lo.", "ttsProviderDisabledByAdmin": "Este provedor foi desativado pelo administrador do servidor e não pode ser ativado.", "optionalOverride": "Opcional — deixe vazio para usar a configuração do servidor", "setupNeeded": "Configuração necessária", "modelNotConfigured": "Selecione um modelo para começar", "dangerZone": "Zona de Perigo", "clearCache": "Limpar Cache Local", "clearCacheDescription": "Apaga todos os dados armazenados localmente, incluindo salas de aula, histórico de conversa, cache de áudio e configurações do app. Esta ação não pode ser desfeita.", "clearCacheConfirmTitle": "Tem certeza que deseja limpar todo o cache?", "clearCacheConfirmDescription": "Isto apagará permanentemente todos os dados a seguir e não poderá ser recuperado:", "clearCacheConfirmItems": "Salas e cenas, Histórico de conversa, Cache de áudio e imagens, Configurações e preferências do app", "clearCacheConfirmInput": "Digite \"DELETE\" para continuar", "clearCacheConfirmPhrase": "DELETE", "clearCacheButton": "Excluir Permanentemente Todos os Dados", "clearCacheSuccess": "Cache limpo. A página será atualizada em instantes", "clearCacheFailed": "Falha ao limpar o cache, tente novamente", "clearCacheBlockedByOtherTabs": "Feche as outras abas do app e tente novamente.", "persistUnavailable": "Suas alterações não estão sendo salvas porque o aplicativo não consegue acessar os dados armazenados. Se recarregar não resolver, limpe o cache local nas Configurações.", "persistChangesLost": "O armazenamento voltou a funcionar, mas as alterações feitas enquanto ele estava indisponível não puderam ser salvas e foram substituídas pela última versão salva.", "webSearchSettings": "Busca na Web", "webSearchApiKey": "Chave de API de Busca", "webSearchApiKeyPlaceholder": "Digite sua chave de API de busca", "webSearchApiKeyPlaceholderServer": "Chave configurada no servidor, opcionalmente sobreponha", "webSearchApiKeyHint": "Obtenha uma chave de API com o provedor de busca selecionado", "claudeSearchModel": "Modelo de busca", "claudeSearchModelHint": "O modelo Claude que realiza as buscas na web e resume os resultados.", "webSearchApiKeyOptional": "A chave de API é opcional. Sem ela, será usada extração pública de páginas como alternativa.", "searxngServerOnlyNotice": "O SearXNG deve ser configurado no servidor. Defina a variável de ambiente SEARXNG_BASE_URL (ou a seção web-search em server-providers.yml). URLs de instância fornecidas pelo cliente não são aceitas.", "baiduSubSources": "Fontes do Baidu", "baiduSubSourcesDescription": "Escolha pelo menos uma fonte do Baidu para consultar.", "baiduSubSourceWeb": "Busca Web", "baiduSubSourceWebDescription": "Páginas web gerais do Baidu AI Search.", "baiduSubSourceBaike": "Baidu Baike", "baiduSubSourceBaikeDescription": "Verbetes de enciclopédia do Baidu Baike.", "baiduSubSourceScholar": "Baidu Scholar", "baiduSubSourceScholarDescription": "Artigos acadêmicos do Baidu Scholar.", "viewDocs": "Documentação da API", "webSearchBaseUrl": "URL Base", "webSearchServerConfigured": "Chave de API de busca configurada no servidor", "optional": "Opcional", "selectProvider": "Select Provider", "customProvider": "Custom", "presetPickHint": "Picking a provider auto-fills its base URL and protocol; enter your key then click \"Fetch Models\". Not listed? Use \"Custom\".", "presetCategory": { "tokenPlan": "Token Plans", "aggregator": "Aggregators", "thirdParty": "Vendors", "official": "Official" }, "fetchModels": "Fetch Models", "fetchModelsResult": "Fetched {total} models, added {added}", "fetchModelsNoEndpoint": "This provider has no model list endpoint — add models manually", "fetchModelsAuthError": "API key is invalid or expired", "fetchModelsFailed": "Failed to fetch models", "usage": { "title": "Usage", "refresh": "Refresh", "disclaimer": "Usage is system-tracked; only server-side calls are counted.", "totalRequests": "Requests", "totalTokens": "LLM Tokens", "dailyTrend": "Daily Token Trend", "tokens": "Tokens", "byModel": "By Model", "model": "Model", "type": "Type", "reqs": "Reqs", "usage": "Usage", "empty": "No usage data yet", "kindLlm": "LLM", "kindImage": "Image", "kindVideo": "Video", "kindTts": "Speech", "kindAsr": "ASR", "unitToken": "tokens", "unitImage": "images", "unitSecond": "sec", "unitCharacter": "chars" }, "tokenPlan": { "nav": "Token Plan", "title": "Token Plan Setup", "desc": "Pick your token plan provider and enter the key — it auto-configures every adapted modality (LLM/image/video/speech/web search).", "selectPlan": "Select Provider", "apiKey": "API Key", "enable": "Enable", "updateKey": "Update key", "modelsCount": "{{n}} models", "capabilities": "Capabilities offered", "offeredNote": "Models offered by this plan. Pick the ones you want on the generation bar — availability depends on your plan tier, and unsupported models will error at generation time." }, "ttsBrowserNativeTimelineNotice": "O TTS nativo do navegador não suporta os recursos de áudio da linha do tempo do editor (pré-visualizar, regenerar e narração em lote). Mude para um provedor de TTS gerenciado para gerar e gerenciar o áudio de cada linha.", "alidocmindAccessKeyId": "AccessKey ID", "alidocmindAccessKeySecret": "AccessKey Secret" }, "profile": { "title": "Perfil", "defaultNickname": "Estudante" }, "media": { "imageCapability": "Geração de Imagens", "imageShort": "Imagem", "imageHint": "Gerar imagens nos slides", "videoCapability": "Geração de Vídeos", "videoShort": "Vídeo", "videoHint": "Gerar vídeos nos slides", "ttsCapability": "Texto para Fala", "ttsShort": "Voz", "ttsHint": "O professor de IA fala em voz alta", "asrCapability": "Reconhecimento de Fala", "asrShort": "Microfone", "asrHint": "Entrada por voz nas discussões", "webSearchShort": "Buscar", "provider": "Provedor", "model": "Modelo", "voice": "Voz", "speed": "Velocidade", "language": "Idioma" }, "accessCode": { "title": "Digite o Código de Acesso", "placeholder": "Código de acesso", "error": "Código inválido. Tente novamente." } }