{ "auth": { "signIn": "Entrar", "signUp": "Cadastrar-se", "email": "E-mail", "password": "Senha", "name": "Nome", "emailPlaceholder": "Digite seu endereço de e-mail", "passwordPlaceholder": "Digite sua senha", "namePlaceholder": "Digite seu nome", "passwordMinChars": "Digite a senha (mínimo 6 caracteres)", "resetPassword": "Redefinir senha", "resetPasswordInstructions": "Digite seu e-mail para redefinir sua senha", "forgotPassword": "Esqueceu sua senha?", "noAccount": "Não tem uma conta?", "hasAccount": "Já tem uma conta?", "signInToAccount": "Entre na sua conta", "createAccount": "Crie sua conta", "rememberMe": "Lembrar-me", "orContinueWith": "Ou continuar com", "checkYourEmail": "Verifique seu e-mail", "resetEmailSent": "Enviamos um link de redefinição de senha para seu endereço de e-mail se ele existir em nosso sistema.", "returnToLogin": "Voltar ao login", "forgotPasswordTitle": "Esqueci minha senha", "forgotPasswordDescription": "Digite seu endereço de e-mail e enviaremos um link para redefinir sua senha.", "sending": "Enviando...", "sendResetLink": "Enviar link de redefinição", "backToLogin": "Voltar ao login", "signOut": "Sair", "confirmPassword": "Confirmar senha", "confirmPasswordPlaceholder": "Confirme sua senha" }, "sidebar": { "notes": "Notas", "reminders": "Lembretes", "labels": "Etiquetas", "editLabels": "Editar etiquetas", "newNoteTabs": "Nova Nota", "newNoteTabsHint": "Criar nota neste caderno", "noLabelsInNotebook": "Nenhuma etiqueta neste caderno ainda", "archive": "Arquivo", "trash": "Lixeira", "clearFilter": "Remove filter" }, "notes": { "title": "Notas", "newNote": "Nova nota", "untitled": "Sem título", "placeholder": "Faça uma nota...", "markdownPlaceholder": "Faça uma nota... (Markdown suportado)", "titlePlaceholder": "Título", "listItem": "Item da lista", "addListItem": "+ Item da lista", "newChecklist": "Nova lista de verificação", "add": "Adicionar", "adding": "Adicionando...", "close": "Fechar", "confirmDelete": "Tem certeza de que deseja excluir esta nota?", "confirmLeaveShare": "Tem certeza de que deseja sair desta nota compartilhada?", "sharedBy": "Compartilhado por", "leaveShare": "Sair", "delete": "Excluir", "archive": "Arquivar", "unarchive": "Desarquivar", "pin": "Fixar", "unpin": "Desafixar", "color": "Cor", "changeColor": "Alterar cor", "setReminder": "Definir lembrete", "setReminderButton": "Definir Lembrete", "date": "Data", "time": "Hora", "reminderDateTimeRequired": "Por favor, insira data e hora", "invalidDateTime": "Data ou hora inválida", "reminderMustBeFuture": "O lembrete deve estar no futuro", "reminderSet": "Lembrete definido para {datetime}", "reminderPastError": "O lembrete deve estar no futuro", "reminderRemoved": "Lembrete removido", "addImage": "Adicionar imagem", "addLink": "Adicionar link", "linkAdded": "Link adicionado", "linkMetadataFailed": "Não foi possível obter metadados do link", "linkAddFailed": "Falha ao adicionar link", "invalidFileType": "Tipo de arquivo inválido: {fileName}. Apenas JPEG, PNG, GIF e WebP são permitidos.", "fileTooLarge": "Arquivo muito grande: {fileName}. O tamanho máximo é {maxSize}.", "uploadFailed": "Falha ao fazer upload de {filename}", "contentOrMediaRequired": "Por favor, insira algum conteúdo ou adicione um link/imagem", "itemOrMediaRequired": "Por favor, adicione pelo menos um item ou mídia", "noteCreated": "Nota criada com sucesso", "noteCreateFailed": "Falha ao criar nota", "deleted": "Note deleted", "deleteFailed": "Failed to delete note", "aiAssistant": "Assistente IA", "changeSize": "Alterar tamanho", "backgroundOptions": "Opções de fundo", "moreOptions": "Mais opções", "remindMe": "Lembrar-me", "markdownMode": "Markdown", "addCollaborators": "Adicionar colaboradores", "duplicate": "Duplicar", "share": "Compartilhar", "showCollaborators": "Mostrar colaboradores", "pinned": "Fixadas", "others": "Outros", "noNotes": "Sem notas", "noNotesFound": "Nenhuma nota encontrada", "createFirstNote": "Crie sua primeira nota", "size": "Tamanho", "small": "Pequeno", "medium": "Médio", "large": "Grande", "shareWithCollaborators": "Compartilhar com colaboradores", "view": "Ver nota", "edit": "Editar nota", "readOnly": "Somente leitura", "preview": "Visualizar", "noContent": "Sem conteúdo", "takeNote": "Faça uma nota...", "takeNoteMarkdown": "Faça uma nota... (Markdown suportado)", "addItem": "Adicionar item", "sharedReadOnly": "Esta nota é compartilhada com você no modo somente leitura", "makeCopy": "Fazer uma cópia", "saving": "Salvando...", "copySuccess": "Nota copiada com sucesso!", "copyFailed": "Falha ao copiar nota", "copy": "Copiar", "markdownOn": "Markdown LIGADO", "markdownOff": "Markdown DESLIGADO", "undo": "Desfazer (Ctrl+Z)", "redo": "Refazer (Ctrl+Y)", "pinnedNotes": "Notas fixadas", "recent": "Recentes", "addNote": "Adicionar nota", "readMore": "Ler mais", "remove": "Remover", "dragToReorder": "Arraste para reordenar", "more": "Mais", "emptyState": "Nenhuma nota aqui", "emptyStateTabs": "Nenhuma nota aqui ainda. Use \"Nova nota\" na barra lateral para adicionar uma (sugestões de título com IA aparecem no compositor).", "inNotebook": "No caderno", "moveFailed": "Falha ao mover", "clarifyFailed": "Falha ao esclarecer", "shortenFailed": "Falha ao encurtar", "improveFailed": "Falha ao melhorar", "transformFailed": "Falha ao transformar", "markdown": "Markdown", "unpinned": "Desafixado", "redoShortcut": "Refazer (Ctrl+Y)", "undoShortcut": "Desfazer (Ctrl+Z)", "viewCards": "Visualização em Cartões", "viewCardsTooltip": "Grade de cartões com reordenação por arrastar e soltar", "viewTabs": "Visualização em Lista", "viewTabsTooltip": "Abas no topo, nota abaixo — arraste abas para reordenar", "viewModeGroup": "Modo de exibição das notas", "reorderTabs": "Reordenar aba", "modified": "Modificado", "created": "Criado", "loading": "Carregando...", "exportPDF": "Exportar PDF", "savedStatus": "Salvo", "dirtyStatus": "Modificado", "completedLabel": "Concluídos", "notes.emptyNotebook": "Caderno vazio", "notes.emptyNotebookDesc": "Este caderno não tem notas. Clique em + para criar uma.", "notes.noNoteSelected": "Nenhuma nota selecionada", "notes.selectOrCreateNote": "Selecione uma nota da lista ou crie uma nova.", "commitVersion": "Salvar versão", "versionSaved": "Versão salva", "deleteVersion": "Excluir esta versão", "versionDeleted": "Versão excluída", "deleteVersionConfirm": "Excluir esta versão permanentemente?", "historyMode": "Modo de histórico", "historyModeManual": "Manual (botão commit)", "historyModeAuto": "Automático (inteligente)", "historyModeManualDesc": "Criar snapshots manualmente com o botão commit", "historyModeAutoDesc": "Snapshots automáticos com detecção inteligente", "history": "Histórico", "historyRestored": "Versão restaurada", "historyEnabled": "Histórico ativado", "historyDisabledTitle": "Version history", "historyDisabledDesc": "O histórico está desativado para sua conta.", "historyEnabledTitle": "History enabled!", "historyEnabledDesc": "Versions of this note will now be recorded.", "enableHistory": "Ativar histórico", "historyEmpty": "Nenhuma versão disponível", "historySelectVersion": "Selecione uma versão para visualizar seu conteúdo", "sortBy": "Ordenar por", "sortDateDesc": "Data (recente)", "sortDateAsc": "Data (antiga)", "sortTitleAsc": "Título A → Z", "sortTitleDesc": "Título Z → A", "suggestTitle": "AI title", "generateTitleFromImage": "Generate title from image", "titleGenerated": "Title generated", "content": "Content", "restore": "Restore", "createFailed": "Failed to create note", "updateFailed": "Failed to update note", "archived": "Note archived", "archiveFailed": "Failed to archive", "sort": "Sort", "confirmDeleteTitle": "Delete note", "leftShare": "Share removed", "dismissed": "Note dismissed from recent", "generalNotes": "General Notes", "noteType": "Tipo de nota", "typeText": "Texto", "typeMarkdown": "Markdown", "typeRichText": "Texto rico", "typeChecklist": "Lista de verificação", "convertedToRichText": "Converted to rich text", "conversionFailed": "Conversion failed, staying in Markdown", "richTextPlaceholder": "Tome uma nota...", "switchTypeTitle": "Alterar tipo de nota?", "switchTypeWarning": "Alguma formatação pode ser perdida ao mudar para {type}.", "switchTypeContentPreserved": "Seu conteúdo será preservado como texto simples.", "switchType": "Mudar para {type}" }, "pagination": { "previous": "←", "pageInfo": "Página {currentPage} / {totalPages}", "next": "→" }, "labels": { "title": "Labels", "filter": "Filter by Label", "manage": "Manage Labels", "manageTooltip": "Manage Labels", "changeColor": "Alterar Cor", "changeColorTooltip": "Alterar cor", "delete": "Delete", "deleteTooltip": "Delete label", "confirmDelete": "Tem certeza de que deseja excluir esta etiqueta?", "newLabelPlaceholder": "Create new label", "namePlaceholder": "Enter label name", "addLabel": "Adicionar etiqueta", "createLabel": "Create label", "labelName": "Label name", "labelColor": "Label color", "manageLabels": "Manage labels", "manageLabelsDescription": "Add or remove labels for this note. Click on a label to change its color.", "selectedLabels": "Selected Labels", "allLabels": "Todas as Etiquetas", "clearAll": "Limpar tudo", "filterByLabel": "Filter by label", "tagAdded": "Tag \"{tag}\" added", "showLess": "Show less", "showMore": "Show more", "editLabels": "Edit Labels", "editLabelsDescription": "Create, edit colors, or delete labels.", "noLabelsFound": "No labels found.", "loading": "Loading...", "notebookRequired": "⚠️ Labels are only available in notebooks. Move this note to a notebook first.", "count": "{count} etiquetas", "noLabels": "Sem etiquetas", "confirmDeleteShort": "Confirmar?", "labelRemoved": "Etiqueta \"{label}\" removida" }, "search": { "placeholder": "Pesquisar", "searchPlaceholder": "Pesquise suas notas...", "semanticInProgress": "Pesquisa semântica em andamento...", "semanticTooltip": "Pesquisa semântica com IA", "searching": "Pesquisando...", "noResults": "Nenhum resultado encontrado", "resultsFound": "{count} notas encontradas", "exactMatch": "Correspondência exata", "related": "Relacionado", "disabledAdmin": "Pesquisa desativada no modo admin" }, "collaboration": { "emailPlaceholder": "Digite o endereço de e-mail", "addCollaborator": "Adicionar colaborador", "removeCollaborator": "Remover colaborador", "owner": "Proprietário", "canEdit": "Pode editar", "canView": "Pode visualizar", "shareNote": "Compartilhar nota", "shareWithCollaborators": "Compartilhar com colaboradores", "addCollaboratorDescription": "Adicione pessoas para colaborar nesta nota através do endereço de e-mail.", "viewerDescription": "Você tem acesso a esta nota. Apenas o proprietário pode gerenciar colaboradores.", "emailAddress": "Endereço de e-mail", "enterEmailAddress": "Digite o endereço de e-mail", "invite": "Convidar", "peopleWithAccess": "Pessoas com acesso", "noCollaborators": "Ainda não há colaboradores. Adicione alguém acima!", "noCollaboratorsViewer": "Ainda não há colaboradores.", "pendingInvite": "Convite pendente", "pending": "Pendente", "remove": "Remover", "unnamedUser": "Usuário sem nome", "done": "Concluído", "willBeAdded": "{email} será adicionado como colaborador quando a nota for criada", "alreadyInList": "Este e-mail já está na lista", "nowHasAccess": "{name} agora tem acesso a esta nota", "accessRevoked": "O acesso foi revogado", "errorLoading": "Erro ao carregar colaboradores", "failedToAdd": "Falha ao adicionar colaborador", "failedToRemove": "Falha ao remover colaborador" }, "ai": { "analyzing": "IA analisando...", "clickToAddTag": "Clique para adicionar esta etiqueta", "ignoreSuggestion": "Ignorar esta sugestão", "generatingTitles": "Gerando títulos...", "generateTitlesTooltip": "Gerar títulos com IA", "poweredByAI": "Powered by AI", "languageDetected": "Idioma detectado", "processing": "Processando...", "tagAdded": "Etiqueta \"{tag}\" adicionada", "titleGenerating": "Gerando...", "titleGenerateWithAI": "Gerar títulos com IA", "titleGenerationMinWords": "O conteúdo deve ter pelo menos 10 palavras para gerar títulos (atual: {count} palavras)", "titleGenerationError": "Erro ao gerar títulos", "titlesGenerated": "{count} títulos gerados!", "titleGenerationFailed": "Falha ao gerar títulos", "titleApplied": "Título aplicado!", "reformulationNoText": "Selecione texto ou adicione conteúdo", "reformulationSelectionTooShort": "Seleção muito curta, usando conteúdo completo", "reformulationMinWords": "O texto deve ter pelo menos 10 palavras (atual: {count} palavras)", "reformulationMaxWords": "O texto deve ter no máximo 500 palavras", "reformulationError": "Erro durante a reformulação", "reformulationFailed": "Falha ao reformular texto", "reformulationApplied": "Texto reformulado aplicado!", "transformMarkdown": "Transformar para Markdown", "transforming": "Transformando...", "transformSuccess": "Texto transformado para Markdown com sucesso!", "transformError": "Erro durante a transformação", "assistant": "Assistente IA", "generating": "Gerando...", "generateTitles": "Gerar títulos", "reformulateText": "Reformular texto", "reformulating": "Reformulando...", "clarify": "Esclarecer", "shorten": "Encurtar", "improveStyle": "Melhorar estilo", "reformulationComparison": "Comparação da Reformulação", "original": "Original", "reformulated": "Reformulado", "autoLabels": { "error": "Falha ao buscar sugestões de etiquetas", "noLabelsSelected": "Nenhuma etiqueta selecionada", "created": "{count} etiquetas criadas com sucesso", "analyzing": "Analisando suas notas para sugestões de rótulos...", "title": "Sugestões de Rótulos", "description": "Detectei temas recorrentes em \"{notebookName}\" ({totalNotes} notas). Criar etiquetas para eles?", "note": "nota", "notes": "notas", "typeContent": "Digite o conteúdo para obter sugestões de etiquetas...", "createNewLabel": "Criar nova etiqueta", "new": "(novo)", "create": "Criar", "creating": "Criando rótulos...", "notesCount": "{count} notas", "typeForSuggestions": "Digite para sugestões" }, "batchOrganization": { "title": "Organização em lote", "description": "A IA analisará suas notas e sugerirá organizá-las em cadernos.", "analyzing": "Analisando suas notas...", "noNotebooks": "Nenhum caderno disponível. Crie cadernos primeiro para organizar suas notas.", "noSuggestions": "A IA não conseguiu encontrar uma boa forma de organizar estas notas.", "apply": "Aplicar", "applying": "Aplicando...", "success": "Organização concluída", "error": "Erro na organização", "noNotesSelected": "Nenhuma nota selecionada", "applyFailed": "Falha ao aplicar", "selectAllIn": "Selecionar tudo em", "selectNote": "Selecionar nota" }, "notebookSummary": { "regenerate": "Regenerar Resumo", "regenerating": "Regenerando resumo...", "exportPDF": "Exportar como PDF" }, "clarifyDesc": "Torne o texto mais claro e fácil de entender", "shortenDesc": "Resuma o texto e vá direto ao ponto", "improve": "Melhorar escrita", "improveDesc": "Corrija gramática e aprimore o estilo", "toMarkdown": "Formatar como Markdown", "toMarkdownDesc": "Adicione títulos, marcadores e estruture o texto", "translate": "Traduzir", "translateDesc": "Altere o idioma do texto", "translateBack": "Voltar", "translationApplied": "Tradução aplicada", "translationFailed": "Falha na tradução", "undo": "Desfazer IA", "undoAI": "Desfazer transformação da IA", "undoApplied": "Texto original restaurado", "minWordsError": "A nota deve conter pelo menos 5 palavras para usar ações de IA.", "genericError": "Erro de IA", "actionError": "Erro durante ação de IA", "appliedToNote": "Aplicado à nota", "applyToNote": "Aplicar à nota", "undoLastAction": "Desfazer última ação de IA", "selectContext": "Selecionar contexto...", "selectNotebook": "Selecionar caderno", "chatPlaceholder": "Peça à IA para editar, resumir ou redigir...", "assistantTitle": "Assistente IA", "currentNote": "Nota atual", "shrinkPanel": "Recolher painel", "expandPanel": "Expandir painel", "chatTab": "Chat", "noteActions": "Ações da nota", "askToStart": "Faça uma pergunta ao Assistente para começar.", "contextLabel": "Contexto", "thisNote": "Esta nota", "allMyNotes": "Todas as minhas notas", "notebookGeneric": "Caderno", "writingTone": "Tom de escrita", "askAboutThisNote": "Pergunte à IA algo sobre esta nota...", "askAboutYourNotes": "Pergunte à IA algo sobre suas notas...", "webSearchLabel": "Pesquisa web", "newLineHint": "Shift+Enter = nova linha", "resultLabel": "Resultado", "discardAction": "Descartar", "transformationsDesc": "Transformações — aplicadas diretamente à nota", "writeMinWordsAction": "Escreva pelo menos 5 palavras para ativar ações de IA.", "processingAction": "Processando...", "noImagesError": "No images in this note", "overview": "Overview", "action": { "clarify": "Esclarecer", "shorten": "Encurtar", "improve": "Melhorar", "toMarkdown": "Para Markdown", "describeImages": "Describe images" }, "openAssistant": "Abrir assistente IA", "poweredByMomento": "Desenvolvido por Momento AI", "welcomeMsg": "Olá! Sou seu assistente de IA. Como posso ajudá-lo com suas notas hoje? Posso refinar o tom, expandir mensagens ou resumir conteúdo.", "summaryLast5": "Resumo das últimas 5 notas", "analyzingProgress": "Analisando...", "generateInsightsBtn": "Gerar Insights", "newDiscussion": "Nova conversa", "noRecentConversations": "Sem conversas recentes.", "discussionContextLabel": "Contexto da discussão", "webSearchNotConfigured": "Pesquisa web (Não configurada)", "historyTab": "Histórico", "insightsTab": "Insights", "aiCopilot": "Copiloto IA", "suggestTitle": "Sugestão de título por IA", "generateTitleFromImage": "Generate title from image", "titleGenerated": "Title generated from image" }, "titleSuggestions": { "available": "Sugestões de título", "title": "Sugestões de IA", "generating": "Gerando...", "selectTitle": "Selecione um título", "dismiss": "Descartar" }, "semanticSearch": { "exactMatch": "Correspondência exata", "related": "Relacionado", "searching": "Pesquisando..." }, "paragraphRefactor": { "title": "Melhoria de texto", "shorten": "Encurtar", "expand": "Expandir", "improve": "Melhorar", "formal": "Formal", "casual": "Informal" }, "memoryEcho": { "title": "Percebi algo...", "description": "Conexões proativas entre suas notas", "dailyInsight": "Insight diário das suas notas", "insightReady": "Seu insight está pronto!", "viewConnection": "Ver Conexão", "helpful": "Útil", "notHelpful": "Não útil", "dismiss": "Descartar por enquanto", "thanksFeedback": "Obrigado pelo seu feedback!", "thanksFeedbackImproving": "Obrigado! Usaremos isso para melhorar.", "connections": "Conexões", "connection": "conexão", "connectionsBadge": "{count} conexão(ões)", "match": "{percentage}% correspondência", "fused": "Mesclado", "clickToView": "Clique para visualizar", "overlay": { "title": "Notas Conectadas", "searchPlaceholder": "Pesquisar conexões...", "sortBy": "Ordenar por:", "sortSimilarity": "Similaridade", "sortRecent": "Recentes", "sortOldest": "Mais antigas", "viewAll": "Ver todas lado a lado", "loading": "Carregando...", "noConnections": "Nenhuma conexão encontrada", "error": "Erro" }, "comparison": { "title": "💡 Comparação de notas", "similarityInfo": "Estas notas estão conectadas por {similarity}% de similaridade", "highSimilarityInsight": "Estas notas tratam do mesmo tema com alto grau de similaridade. Podem ser mescladas.", "untitled": "Sem título", "clickToView": "Clique para ver a nota", "helpfulQuestion": "Esta comparação é útil?", "helpful": "Útil", "notHelpful": "Não útil" }, "editorSection": { "title": "⚡ Notas conectadas ({count})", "loading": "Carregando...", "view": "Visualizar", "compare": "Comparar", "merge": "Mesclar", "compareAll": "Comparar tudo", "mergeAll": "Mesclar tudo", "close": "Fechar" }, "fusion": { "title": "🔗 Fusão inteligente", "mergeNotes": "Mesclar {count} nota(s)", "notesToMerge": "📝 Notas para mesclar", "optionalPrompt": "💬 Prompt de fusão (opcional)", "promptPlaceholder": "Instruções opcionais para IA (ex: 'Manter o estilo formal da nota 1')...", "generateFusion": "Gerar fusão", "generating": "Gerando...", "previewTitle": "📝 Prévia da nota mesclada", "edit": "Editar", "modify": "Modificar", "finishEditing": "Concluir edição", "optionsTitle": "Opções de fusão", "archiveOriginals": "Arquivar notas originais", "keepAllTags": "Manter todas as tags", "useLatestTitle": "Usar nota mais recente como título", "createBacklinks": "Criar link para notas originais", "cancel": "Cancelar", "confirmFusion": "Confirmar fusão", "success": "Notas mescladas com sucesso!", "error": "Falha ao mesclar notas", "generateError": "Falha ao gerar fusão", "noContentReturned": "Nenhum conteúdo de fusão retornado pela API", "unknownDate": "Data desconhecida" } }, "notification": { "accept": "Accept", "accepted": "Share accepted", "decline": "Decline", "noNotifications": "No new notifications", "shared": "compartilhou \"{title}\"", "untitled": "Sem título", "notifications": "Notificações", "declined": "Compartilhamento recusado", "removed": "Nota removida da lista" }, "nav": { "home": "Início", "notes": "Notas", "notebooks": "Cadernos", "generalNotes": "Notas gerais", "archive": "Arquivo", "settings": "Configurações", "profile": "Perfil", "aiSettings": "Configurações de IA", "logout": "Sair", "login": "Entrar", "adminDashboard": "Painel de administração", "diagnostics": "Diagnósticos", "trash": "Lixeira", "support": "Apoie o Memento ☕", "reminders": "Lembretes", "userManagement": "Gerenciamento de usuários", "accountSettings": "Configurações da conta", "manageAISettings": "Gerenciar configurações de IA", "configureAI": "Configure seus recursos com IA, provedor e preferências", "supportDevelopment": "Apoie o desenvolvimento do Memento ☕", "supportDescription": "Memento é 100% gratuito e de código aberto. Seu apoio ajuda a mantê-lo assim.", "buyMeACoffee": "Me pague um café", "donationDescription": "Faça uma doação única ou torne-se um apoiador mensal.", "donateOnKofi": "Doar no Ko-fi", "donationNote": "Sem taxas de plataforma • Pagamentos instantâneos • Seguro", "sponsorOnGithub": "Apoiar no GitHub", "sponsorDescription": "Torne-se um apoiador mensal e receba reconhecimento.", "workspace": "Espaço de trabalho", "quickAccess": "Acesso rápido", "myLibrary": "Minha biblioteca", "favorites": "Favoritos", "recent": "Recentes", "proPlan": "Plano Pro", "chat": "Chat IA", "lab": "O Laboratório", "agents": "Agentes" }, "settings": { "title": "Configurações", "description": "Gerencie suas configurações e preferências", "account": "Conta", "appearance": "Aparência", "theme": "Tema", "themeLight": "Claro", "themeDark": "Escuro", "themeSystem": "Sistema", "notifications": "Notificações", "language": "Idioma", "selectLanguage": "Selecionar idioma", "security": "Segurança", "about": "Sobre", "version": "Versão", "settingsSaved": "Configurações salvas", "cardSizeMode": "Note Size", "cardSizeModeDescription": "Choose between variable sizes or uniform size", "selectCardSizeMode": "Select display mode", "cardSizeVariable": "Variable sizes (small/medium/large)", "cardSizeUniform": "Uniform size", "settingsError": "Erro ao salvar configurações", "maintenance": "Manutenção", "maintenanceDescription": "Ferramentas para manter a saúde do seu banco de dados", "cleanTags": "Limpar Etiquetas Órfãs", "cleanTagsDescription": "Remove etiquetas que não são mais usadas por nenhuma nota", "cleanupDone": "Sincronizados {created} registro(s) de etiqueta(s), removidos {deleted} órfão(s)", "cleanupNothing": "Nada a fazer — as etiquetas já correspondem às suas notas", "cleanupWithErrors": "algumas operações falharam", "cleanupError": "Não foi possível limpar as etiquetas", "indexingComplete": "Indexação concluída: {count} nota(s) processada(s)", "indexingError": "Erro durante a indexação", "semanticIndexing": "Indexação Semântica", "semanticIndexingDescription": "Gere vetores para todas as notas para ativar a pesquisa baseada em intenção", "profile": "Perfil", "searchNoResults": "Nenhum resultado encontrado", "languageAuto": "Automático", "emailNotifications": "Notificações por e-mail", "emailNotificationsDesc": "Receba notificações importantes por e-mail", "desktopNotifications": "Notificações na área de trabalho", "desktopNotificationsDesc": "Receba notificações no seu navegador", "notificationsDesc": "Gerencie suas preferências de notificação", "themeBaseGroup": "Base", "themePalettesGroup": "Color palettes", "themeSepia": "Sepia", "themeMidnight": "Midnight", "themeRose": "Rose", "themeGreen": "Green", "themeLavender": "Lavender", "themeSand": "Sand", "themeOcean": "Ocean", "themeSunset": "Sunset", "themeBlue": "Blue" }, "profile": { "title": "Perfil", "description": "Atualize suas informações pessoais", "displayName": "Nome de exibição", "email": "E-mail", "changePassword": "Alterar senha", "changePasswordDescription": "Atualize sua senha. Você precisará da sua senha atual.", "currentPassword": "Senha atual", "newPassword": "Nova senha", "confirmPassword": "Confirmar senha", "updatePassword": "Atualizar senha", "passwordChangeSuccess": "Senha alterada com sucesso", "passwordChangeFailed": "Falha ao alterar senha", "passwordUpdated": "Senha atualizada", "passwordError": "Erro ao atualizar senha", "languagePreferences": "Preferências de idioma", "languagePreferencesDescription": "Escolha seu idioma preferido para recursos de IA e interface.", "preferredLanguage": "Idioma preferido", "selectLanguage": "Selecione um idioma", "languageDescription": "Este idioma será usado para recursos com IA, análise de conteúdo e texto da interface.", "autoDetect": "Detecção automática", "updateSuccess": "Perfil atualizado", "updateFailed": "Falha ao atualizar perfil", "languageUpdateSuccess": "Idioma atualizado com sucesso", "languageUpdateFailed": "Falha ao atualizar idioma", "profileUpdated": "Perfil atualizado", "profileError": "Erro ao atualizar perfil", "accountSettings": "Configurações da conta", "manageAISettings": "Gerenciar configurações de IA", "displaySettings": "Configurações de exibição", "displaySettingsDescription": "Personalize a aparência e o tamanho da fonte.", "fontSize": "Tamanho da fonte", "selectFontSize": "Selecionar tamanho da fonte", "fontSizeSmall": "Pequeno", "fontSizeMedium": "Médio", "fontSizeLarge": "Grande", "fontSizeExtraLarge": "Extra grande", "fontSizeDescription": "Ajuste o tamanho da fonte para melhor legibilidade. Isso se aplica a todos os textos da interface.", "fontSizeUpdateSuccess": "Tamanho da fonte atualizado com sucesso", "fontSizeUpdateFailed": "Falha ao atualizar tamanho da fonte", "showRecentNotes": "Mostrar Seção de Notas Recentes", "showRecentNotesDescription": "Exibir notas recentes (últimos 7 dias) na página principal", "recentNotesUpdateSuccess": "Configuração de notas recentes atualizada com sucesso", "recentNotesUpdateFailed": "Falha ao atualizar configuração de notas recentes" }, "aiSettings": { "title": "Configurações de IA", "description": "Configure seus recursos e preferências com IA", "features": "Recursos de IA", "provider": "Provedor de IA", "providerAuto": "Automático (Recomendado)", "providerOllama": "Ollama (Local)", "providerOpenAI": "OpenAI (Nuvem)", "frequency": "Frequência", "frequencyDaily": "Diariamente", "frequencyWeekly": "Semanalmente", "saving": "Salvando...", "saved": "Configuração atualizada", "error": "Falha ao atualizar configuração", "titleSuggestionsDesc": "Sugerir títulos para notas sem título após 50+ palavras", "paragraphRefactorDesc": "Opções de melhoria de texto com IA", "frequencyDesc": "Com que frequência analisar conexões entre notas", "providerDesc": "Escolha seu provedor de IA preferido", "providerAutoDesc": "Ollama quando disponível, OpenAI como alternativa", "providerOllamaDesc": "100% privado, roda localmente na sua máquina", "providerOpenAIDesc": "Mais preciso, requer chave de API" }, "general": { "loading": "Carregando...", "save": "Salvar", "cancel": "Cancelar", "add": "Adicionar", "edit": "Editar", "confirm": "Confirmar", "close": "Fechar", "back": "Voltar", "next": "Próximo", "previous": "Anterior", "submit": "Enviar", "reset": "Redefinir", "apply": "Aplicar", "clear": "Limpar", "select": "Selecionar", "tryAgain": "Por favor, tente novamente", "error": "Ocorreu um erro", "operationSuccess": "Operação bem-sucedida", "operationFailed": "Operação falhou", "testConnection": "Testar Conexão", "clean": "Limpar", "indexAll": "Indexar Tudo", "preview": "Visualizar" }, "colors": { "default": "Padrão", "red": "Vermelho", "blue": "Azul", "green": "Verde", "yellow": "Amarelo", "purple": "Roxo", "pink": "Rosa", "orange": "Laranja", "gray": "Cinza" }, "reminder": { "title": "Lembrete", "setReminder": "Definir lembrete", "removeReminder": "Remover lembrete", "reminderDate": "Data do lembrete", "reminderTime": "Hora do lembrete", "save": "Definir lembrete", "cancel": "Cancelar" }, "reminders": { "title": "Lembretes", "empty": "Nenhum lembrete", "emptyDescription": "Adicione um lembrete a uma nota para encontrá-lo aqui.", "upcoming": "Próximos", "overdue": "Atrasados", "done": "Concluídos", "markDone": "Marcar como concluído", "markUndone": "Marcar como não concluído", "todayAt": "Hoje às {time}", "tomorrowAt": "Amanhã às {time}" }, "notebook": { "create": "Criar caderno", "createNew": "Criar novo caderno", "createDescription": "Inicie uma nova coleção para organizar suas notas, ideias e projetos de forma eficiente.", "name": "Nome do caderno", "namePlaceholder": "ex. Estratégia de Marketing Q4", "myNotebook": "Meu Caderno", "saving": "Salvando...", "selectIcon": "Ícone", "selectColor": "Cor", "cancel": "Cancelar", "creating": "Criando...", "edit": "Editar caderno", "editDescription": "Mude o nome, ícone e cor do seu caderno.", "delete": "Excluir caderno", "deleteWarning": "Tem certeza de que deseja excluir este caderno? As notas serão movidas para Notas Gerais.", "deleteConfirm": "Excluir", "summary": "Resumo do caderno", "summaryDescription": "Gere um resumo baseado em IA de todas as notas neste caderno.", "generating": "Gerando resumo...", "summaryError": "Erro ao gerar resumo", "labels": "Etiquetas", "noLabels": "Sem etiquetas", "pdfTitle": "Resumo — {name}", "pdfNotesLabel": "Notas:", "pdfGeneratedOn": "Gerado em:", "confidence": "confiança", "savingReminder": "Falha ao salvar lembrete", "removingReminder": "Falha ao remover lembrete", "generatingDescription": "Please wait..." }, "notebookSuggestion": { "title": "Mover para {name}?", "description": "Esta nota parece pertencer a este caderno", "move": "Mover", "dismiss": "Descartar", "dismissIn": "Descartar (fecha em {timeLeft}s)", "moveToNotebook": "Mover para caderno", "generalNotes": "Notas gerais" }, "admin": { "title": "Painel de Administração", "userManagement": "Gerenciamento de Usuários", "chat": "Chat IA", "lab": "O Laboratório", "agents": "Agentes", "workspace": "Espaço de Trabalho", "settings": "Configurações do Administrador", "security": { "title": "Configurações de Segurança", "description": "Gerencie controle de acesso e políticas de registro.", "allowPublicRegistration": "Permitir Registro Público", "allowPublicRegistrationDescription": "Se desativado, novos usuários só podem ser adicionados por um Administrador pela página de Gerenciamento de Usuários.", "updateSuccess": "Configurações de segurança atualizadas", "updateFailed": "Falha ao atualizar configurações de segurança" }, "ai": { "title": "Configuração de IA", "description": "Configure provedores de IA para etiquetagem automática e pesquisa semântica. Use provedores diferentes para melhor desempenho.", "tagsGenerationProvider": "Provedor de Geração de Etiquetas", "tagsGenerationDescription": "Provedor de IA para sugestões automáticas de etiquetas. Recomendado: Ollama (gratuito, local).", "embeddingsProvider": "Provedor de Embeddings", "embeddingsDescription": "Provedor de IA para embeddings de pesquisa semântica. Recomendado: OpenAI (melhor qualidade).", "chatProvider": "Provedor de Chat", "chatDescription": "Provedor de IA para o assistente de chat. Usa o provedor de Etiquetas como alternativa se não configurado.", "provider": "Provedor", "baseUrl": "Base URL", "model": "Modelo", "apiKey": "API Key", "selectOllamaModel": "Selecione um modelo Ollama instalado no seu sistema", "openAIKeyDescription": "Sua chave de API OpenAI do platform.openai.com", "modelRecommendations": "gpt-4o-mini = Melhor custo-benefício • gpt-4o = Melhor qualidade", "commonModelsDescription": "Modelos comuns para APIs compatíveis com OpenAI", "selectEmbeddingModel": "Selecione um modelo de embedding instalado no seu sistema", "commonEmbeddingModels": "Modelos de embedding comuns para APIs compatíveis com OpenAI", "saving": "Salvando...", "saveSettings": "Salvar Configurações de IA", "openTestPanel": "Abrir Painel de Testes de IA", "updateSuccess": "Configurações de IA atualizadas com sucesso", "updateFailed": "Falha ao atualizar configurações de IA", "providerTagsRequired": "AI_PROVIDER_TAGS é obrigatório", "providerEmbeddingRequired": "AI_PROVIDER_EMBEDDING é obrigatório", "providerOllamaOption": "🦙 Ollama (Local e Gratuito)", "providerOpenAIOption": "🤖 OpenAI (GPT-5, GPT-4)", "providerCustomOption": "🔧 Compatível com OpenAI (Personalizado)", "providerDeepSeekOption": "🔍 DeepSeek", "providerOpenRouterOption": "🌐 OpenRouter", "providerMistralOption": "🌀 Mistral AI", "providerZAIOption": "✨ Z.AI", "providerLMStudioOption": "🖥️ LM Studio (Local)", "bestValue": "Melhor custo-benefício", "bestQuality": "Melhor qualidade", "saved": "(Salvo)", "fetchModelsFailed": "Falha ao buscar modelos", "refreshModels": "Atualizar modelos", "configured": "Configurado", "fetchingModels": "Buscando modelos...", "clickToLoadModels": "Clique em ↺ para carregar modelos", "searchModel": "Buscar modelo...", "noModels": "Sem modelos. Clique em ↺", "modelsAvailable": "{count} modelo(s) disponível(is)", "enterUrlToLoad": "Insira a URL e clique em ↺", "currentProvider": "(Atual: {provider})", "pageTitle": "Gestão de IA", "pageDescription": "Monitorar e configurar recursos de IA", "configure": "Configurar", "features": "Recursos de IA", "providerStatus": "Status de provedores de IA", "recentRequests": "Solicitações de IA recentes", "comingSoon": "Em breve", "activeFeatures": "Recursos ativos", "successRate": "Taxa de sucesso", "avgResponseTime": "Tempo médio de resposta", "configuredProviders": "Provedores configurados", "settingUpdated": "Configuração atualizada", "updateFailedShort": "Falha na atualização", "titleSuggestions": "Sugestões de título", "titleSuggestionsDesc": "Sugere títulos para notas após 50+ palavras", "aiAssistant": "Assistente de IA", "aiAssistantDesc": "Ativar chat de IA e ferramentas de melhoria", "memoryEchoFeature": "Notei algo...", "memoryEchoFeatureDesc": "Análise diária de conexões entre suas notas", "languageDetection": "Detecção de idioma", "languageDetectionDesc": "Detecta automaticamente o idioma de cada nota", "autoLabeling": "Rotulagem automática", "autoLabelingDesc": "Sugere e aplica rótulos automaticamente" }, "resend": { "title": "Resend (Recomendado)", "description": "Envie e-mails via API Resend. Tem prioridade sobre SMTP se configurado.", "apiKey": "Chave API do Resend", "apiKeyHint": "Obtenha sua chave API em resend.com. Usada para notificações de agentes e redefinição de senhas.", "saveSettings": "Salvar configurações do Resend", "updateSuccess": "Configurações do Resend atualizadas", "updateFailed": "Falha ao atualizar configurações do Resend", "configured": "Resend está configurado e ativo" }, "email": { "title": "Configuração de E-mail", "description": "Configure o envio de e-mails para notificações de agentes e redefinição de senhas.", "provider": "Provedor de E-mail", "saveSettings": "Salvar configurações de e-mail", "status": "Service Status", "keySet": "key configured", "activeAuto": "Auto mode: Resend will be used first, SMTP as fallback.", "activeSmtp": "Auto mode: SMTP will be used (Resend not configured).", "noneConfigured": "No email service configured. Set up Resend or SMTP.", "activeProvider": "Active provider", "testOk": "test passed", "testFail": "test failed" }, "smtp": { "title": "Configuração SMTP", "description": "Configure o servidor de e-mail para redefinição de senhas.", "host": "Host", "port": "Porta", "username": "Nome de Usuário", "password": "Senha", "fromEmail": "E-mail do Remetente", "forceSSL": "Forçar SSL/TLS (geralmente para porta 465)", "ignoreCertErrors": "Ignorar Erros de Certificado (Apenas auto-hospedado/desenvolvimento)", "saveSettings": "Salvar Configurações SMTP", "sending": "Enviando...", "testEmail": "E-mail de Teste", "updateSuccess": "Configurações SMTP atualizadas", "updateFailed": "Falha ao atualizar configurações SMTP", "testSuccess": "E-mail de teste enviado com sucesso!", "testFailed": "Falha: {error}" }, "users": { "createUser": "Criar Usuário", "addUser": "Adicionar Usuário", "createUserDescription": "Adicione um novo usuário ao sistema.", "name": "Nome", "email": "E-mail", "password": "Senha", "role": "Função", "createSuccess": "Usuário criado com sucesso", "createFailed": "Falha ao criar usuário", "deleteSuccess": "Usuário excluído", "deleteFailed": "Falha ao excluir", "roleUpdateSuccess": "Função do usuário atualizada para {role}", "roleUpdateFailed": "Falha ao atualizar função", "demote": "Rebaixar", "promote": "Promover", "confirmDelete": "Tem certeza de que deseja excluir este usuário?", "table": { "name": "Nome", "email": "E-mail", "role": "Função", "createdAt": "Criado em", "actions": "Ações" }, "roles": { "user": "Usuário", "admin": "Administrador" }, "title": "Usuários", "description": "Gerenciar usuários e permissões" }, "aiTest": { "title": "Teste de Provedores de IA", "description": "Teste seus provedores de IA para geração de etiquetas e embeddings de pesquisa semântica", "tagsTestTitle": "Teste de Geração de Etiquetas", "tagsTestDescription": "Teste o provedor de IA responsável pelas sugestões automáticas de etiquetas", "embeddingsTestTitle": "Teste de Embeddings", "embeddingsTestDescription": "Teste o provedor de IA responsável pelos embeddings de pesquisa semântica", "howItWorksTitle": "Como Funciona o Teste", "tagsGenerationTest": "Teste de Geração de Etiquetas:", "tagsStep1": "Envia uma nota de exemplo para o provedor de IA", "tagsStep2": "Solicita 3-5 etiquetas relevantes com base no conteúdo", "tagsStep3": "Exibe as etiquetas geradas com pontuações de confiança", "tagsStep4": "Mede o tempo de resposta", "embeddingsTestLabel": "Teste de Embeddings:", "embeddingsStep1": "Envia um texto de exemplo para o provedor de embeddings", "embeddingsStep2": "Gera uma representação vetorial (lista de números)", "embeddingsStep3": "Exibe as dimensões do embedding e valores de exemplo", "embeddingsStep4": "Verifica se o vetor é válido e está formatado corretamente", "tipContent": "Você pode usar provedores diferentes para etiquetas e embeddings! Por exemplo, use Ollama (gratuito) para etiquetas e OpenAI (melhor qualidade) para embeddings, otimizando custos e desempenho.", "provider": "Provedor:", "model": "Modelo:", "testing": "Testando...", "runTest": "Executar Teste", "testPassed": "Teste Passou", "testFailed": "Teste Falhou", "testSuccessToast": "Teste de {type} realizado com sucesso!", "testFailedToast": "Teste de {type} falhou", "testingType": "Testando {type}...", "technicalDetails": "Detalhes técnicos", "responseTime": "Tempo de resposta: {time}ms", "generatedTags": "Etiquetas Geradas:", "embeddingDimensions": "Dimensões do Embedding:", "vectorDimensions": "dimensões vetoriais", "first5Values": "Primeiros 5 valores:", "error": "Erro:", "testError": "Erro no Teste: {error}", "tipTitle": "Dica:", "tipDescription": "Use o Painel de Testes de IA para diagnosticar problemas de configuração antes de testar." }, "sidebar": { "dashboard": "Painel", "users": "Usuários", "aiManagement": "Gerenciamento de IA", "chat": "Chat IA", "lab": "O Laboratório (Ideias)", "agents": "Agentes", "settings": "Configurações" }, "metrics": { "vsLastPeriod": "em relação ao período anterior" }, "tools": { "title": "Ferramentas do Agente", "description": "Configure ferramentas externas para uso dos agentes: pesquisa na web, extração web e acesso à API.", "searchProvider": "Provedor de Pesquisa na Web", "searxng": "SearXNG (Auto-hospedado)", "brave": "Brave Search API", "both": "Ambos (SearXNG principal, Brave como fallback)", "searxngUrl": "URL do SearXNG", "braveKey": "Chave da Brave Search API", "jinaKey": "Chave da Jina Reader API", "jinaKeyOptional": "Opcional — funciona sem chave, mas com limites de taxa", "jinaKeyDescription": "Usado para extração web. Funciona sem chave, mas com limites de taxa.", "saveSettings": "Salvar Configurações de Ferramentas", "updateSuccess": "Configurações de ferramentas atualizadas com sucesso", "updateFailed": "Falha ao atualizar configurações de ferramentas", "testing": "Testando...", "testSearch": "Testar pesquisa web" }, "settingsDescription": "Configurar definições da aplicação", "dashboard": { "title": "Painel", "description": "Visão geral das métricas", "recentActivity": "Atividade recente", "recentActivityPlaceholder": "Atividade recente será exibida aqui." }, "error": { "title": "Erro no painel administrativo", "description": "Falha ao renderizar. Tente novamente.", "retry": "Tentar novamente" } }, "about": { "title": "Sobre", "description": "Informações sobre o aplicativo", "appName": "Memento", "appDescription": "Um poderoso aplicativo de notas com recursos baseados em IA", "version": "Versão", "buildDate": "Data de compilação", "platform": "Plataforma", "platformWeb": "Web", "features": { "title": "Recursos", "description": "Capacidades baseadas em IA", "titleSuggestions": "Sugestões de título com IA", "semanticSearch": "Pesquisa semântica com embeddings", "paragraphReformulation": "Reformulação de parágrafos", "memoryEcho": "Insights diários do Memory Echo", "notebookOrganization": "Organização por cadernos", "dragDrop": "Gerenciamento de notas com arrastar e soltar", "labelSystem": "Sistema de etiquetas", "multipleProviders": "Múltiplos provedores de IA (OpenAI, Ollama)" }, "technology": { "title": "Stack de tecnologia", "description": "Construído com tecnologias modernas", "frontend": "Frontend", "backend": "Backend", "database": "Banco de dados", "authentication": "Autenticação", "ai": "IA", "ui": "UI", "testing": "Testes" }, "support": { "title": "Suporte", "description": "Obtenha ajuda e feedback", "documentation": "Documentação", "reportIssues": "Reportar problemas", "feedback": "Feedback" } }, "support": { "title": "Apoie o desenvolvimento do Memento", "description": "Memento é 100% gratuito e de código aberto. Seu apoio ajuda a mantê-lo assim.", "buyMeACoffee": "Me pague um café", "donationDescription": "Faça uma doação única ou torne-se um apoiador mensal.", "donateOnKofi": "Doar no Ko-fi", "kofiDescription": "Sem taxas de plataforma • Pagamentos instantâneos • Seguro", "sponsorOnGithub": "Patrocine no GitHub", "sponsorDescription": "Torne-se um patrocinador mensal e obtenha reconhecimento.", "githubDescription": "Apoio recorrente • Reconhecimento público • Focado em desenvolvedores", "howSupportHelps": "Como seu apoio ajuda", "directImpact": "Impacto direto", "sponsorPerks": "Benefícios do patrocínio", "transparency": "Transparência", "transparencyDescription": "Acredito em total transparência. Veja como as doações são usadas:", "hostingServers": "Hospedagem e servidores:", "domainSSL": "Domínio e SSL:", "aiApiCosts": "Custos de API de IA:", "totalExpenses": "Despesas totais:", "otherWaysTitle": "Outras formas de apoiar", "starGithub": "Estrela no GitHub", "reportBug": "Reportar um bug", "contributeCode": "Contribuir com código", "shareTwitter": "Compartilhar no Twitter" }, "demoMode": { "title": "Modo demonstração", "activated": "Modo demonstração ativado! Memory Echo funcionará instantaneamente.", "deactivated": "Modo demonstração desativado. Parâmetros normais restaurados.", "toggleFailed": "Falha ao alternar modo demonstração", "description": "Acelera Memory Echo para testes. Conexões aparecem instantaneamente.", "parametersActive": "Parâmetros de demonstração ativos:", "similarityThreshold": "Limite de similaridade de 50% (normalmente 75%)", "delayBetweenNotes": "Atraso de 0 dias entre notas (normalmente 7 dias)", "unlimitedInsights": "Insights ilimitados (sem limites de frequência)", "createNotesTip": "Crie 2+ notas similares e veja Memory Echo em ação!" }, "resetPassword": { "title": "Redefinir senha", "description": "Digite sua nova senha abaixo.", "invalidLinkTitle": "Link inválido", "invalidLinkDescription": "Este link de redefinição de senha é inválido ou expirou.", "requestNewLink": "Solicitar novo link", "newPassword": "Nova senha", "confirmNewPassword": "Confirmar nova senha", "resetting": "Redefinindo...", "resetPassword": "Redefinir senha", "passwordMismatch": "As senhas não coincidem", "success": "Senha redefinida com sucesso. Você pode fazer login agora.", "loading": "Carregando..." }, "dataManagement": { "title": "Gerenciamento de Dados", "toolsDescription": "Ferramentas para manter a saúde do seu banco de dados", "exporting": "Exportando...", "importing": "Importando...", "deleting": "Excluindo...", "dangerZone": "Zona de perigo", "dangerZoneDescription": "Estas ações são irreversíveis", "indexingComplete": "Indexação concluída", "indexingError": "Erro na indexação", "cleanupComplete": "Limpeza concluída", "cleanupError": "Erro na limpeza", "export": { "title": "Exportar Todas as Notas", "description": "Baixe todas as suas notas como um arquivo JSON. Isso inclui todo o conteúdo, etiquetas e metadados.", "button": "Exportar Notas", "success": "Notas exportadas com sucesso", "failed": "Falha ao exportar notas" }, "import": { "title": "Importar Notas", "description": "Envie um arquivo JSON para importar notas. Isso adicionará às suas notas existentes, não as substituirá.", "button": "Importar Notas", "success": "Importadas {count} notas", "failed": "Falha ao importar notas" }, "delete": { "title": "Excluir Todas as Notas", "description": "Exclua permanentemente todas as suas notas. Esta ação não pode ser desfeita.", "button": "Excluir Todas as Notas", "confirm": "Tem certeza? Isso excluirá permanentemente todas as suas notas.", "success": "Todas as notas excluídas", "failed": "Falha ao excluir notas" }, "indexing": { "title": "Reconstruir Índice de Pesquisa", "description": "Regenerar embeddings para todas as notas para melhorar a pesquisa semântica.", "button": "Reconstruir Índice", "success": "Indexação concluída: {count} notas processadas", "failed": "Erro durante a indexação" }, "cleanup": { "title": "Limpar Dados Órfãos", "description": "Remove etiquetas e conexões que referenciam notas excluídas.", "button": "Limpar", "failed": "Erro durante a limpeza" } }, "appearance": { "title": "Aparência", "description": "Personalize a aparência do aplicativo", "notesViewDescription": "Escolha como as notas são exibidas na página inicial e nos cadernos.", "notesViewLabel": "Layout das notas", "notesViewTabs": "Abas (estilo OneNote)", "notesViewMasonry": "Cartões (grade)", "selectTheme": "Select theme", "fontFamilyLabel": "Família de fontes", "fontFamilyDescription": "Escolha a fonte usada em todo o aplicativo", "selectFontFamily": "Inter é otimizado para legibilidade, Sistema usa a fonte nativa do seu sistema operacional", "fontSystem": "Fonte padrão do sistema" }, "generalSettings": { "title": "Configurações gerais", "description": "Configurações gerais do aplicativo" }, "toast": { "saved": "Configuração salva", "saveFailed": "Falha ao salvar configuração", "operationSuccess": "Operação bem-sucedida", "operationFailed": "Operação falhou", "openingConnection": "Abrindo conexão...", "openConnectionFailed": "Falha ao abrir conexão", "thanksFeedback": "Obrigado pelo seu feedback!", "thanksFeedbackImproving": "Obrigado! Usaremos isso para melhorar.", "feedbackFailed": "Falha ao enviar feedback", "notesFusionSuccess": "Notas mescladas com sucesso!" }, "testPages": { "titleSuggestions": { "title": "Testar sugestões de título", "contentLabel": "Conteúdo (precisa de mais de 50 palavras):", "placeholder": "Digite pelo menos 50 palavras aqui...", "wordCount": "Contagem de palavras:", "status": "Status:", "analyzing": "Analisando...", "idle": "Inativo", "error": "Erro:", "suggestions": "Sugestões ({count}):", "noSuggestions": "Sem sugestões ainda. Digite 50+ palavras e espere 2 segundos." } }, "trash": { "title": "Lixeira", "empty": "A lixeira está vazia", "emptyDescription": "As notas excluídas aparecerão aqui", "restore": "Restaurar", "deletePermanently": "Excluir permanentemente", "noteTrashed": "Nota movida para a lixeira", "noteRestored": "Nota restaurada", "notePermanentlyDeleted": "Nota excluída permanentemente", "emptyTrash": "Esvaziar lixeira", "emptyTrashConfirm": "Excluir permanentemente todas as notas da lixeira?", "emptyTrashSuccess": "Lixeira esvaziada", "permanentDelete": "Excluir permanentemente", "permanentDeleteConfirm": "Esta nota será excluída permanentemente. Esta ação não pode ser desfeita." }, "footer": { "privacy": "Privacidade", "terms": "Termos", "openSource": "Clone de código aberto" }, "connection": { "similarityInfo": "Estas notas estão conectadas por {similarity}% de similaridade", "clickToView": "Clique para ver a nota", "isHelpful": "Esta conexão é útil?", "helpful": "Útil", "notHelpful": "Não útil", "memoryEchoDiscovery": "Descoberta Memory Echo" }, "diagnostics": { "title": "Diagnósticos", "description": "Verifique o status da conexão com seu provedor de IA", "configuredProvider": "Provedor configurado", "apiStatus": "Status da API", "operational": "Operacional", "errorStatus": "Erro", "checking": "Verificando...", "testDetails": "Detalhes do teste:", "troubleshootingTitle": "Dicas de solução de problemas:", "tip1": "Certifique-se de que o Ollama está rodando (ollama serve)", "tip2": "Verifique se o modelo está instalado (ollama pull llama3)", "tip3": "Verifique sua chave API para OpenAI", "tip4": "Verifique a conectividade de rede" }, "batch": { "organizeWithAI": "Organizar com IA", "organize": "Organizar" }, "common": { "unknown": "Desconhecido", "notAvailable": "Não disponível", "loading": "Carregando...", "error": "Erro", "success": "Sucesso", "confirm": "Confirmar", "cancel": "Cancelar", "close": "Fechar", "save": "Salvar", "delete": "Excluir", "edit": "Editar", "add": "Adicionar", "remove": "Remover", "search": "Pesquisar", "noResults": "Sem resultados", "required": "Obrigatório", "optional": "Opcional" }, "time": { "justNow": "Agora", "minutesAgo": "{count} minutos atrás", "hoursAgo": "{count} horas atrás", "daysAgo": "{count} dias atrás", "yesterday": "Ontem", "today": "Hoje", "tomorrow": "Amanhã" }, "favorites": { "title": "Favoritos", "toggleSection": "Alternar seção", "noFavorites": "Sem favoritos", "pinToFavorite": "Adicionar aos favoritos" }, "notebooks": { "create": "Criar caderno", "allNotebooks": "Todos os cadernos", "noNotebooks": "Nenhum caderno", "createFirst": "Crie seu primeiro caderno" }, "ui": { "close": "Fechar", "open": "Abrir", "expand": "Expandir", "collapse": "Recolher" }, "mcpSettings": { "title": "Configurações MCP", "description": "Gerencie suas chaves API e configure ferramentas externas", "whatIsMcp": { "title": "O que é MCP?", "description": "O Model Context Protocol (MCP) é um protocolo aberto que permite que modelos de IA interajam de forma segura com ferramentas e fontes de dados externas. Com o MCP, você pode conectar ferramentas como Claude Code, Cursor ou N8N à sua instância do Memento para ler, criar e organizar suas notas programaticamente.", "learnMore": "Saiba mais sobre o MCP" }, "serverStatus": { "title": "Status do servidor", "running": "Em execução", "stopped": "Parado", "mode": "Modo", "url": "URL" }, "apiKeys": { "title": "Chaves API", "description": "As chaves API permitem que ferramentas externas acessem suas notas via MCP. Mantenha suas chaves em segredo.", "generate": "Gerar nova chave", "empty": "Nenhuma chave API ainda. Gere uma para começar.", "active": "Ativa", "revoked": "Revogada", "revoke": "Revogar", "delete": "Excluir", "createdAt": "Criada", "lastUsed": "Último uso", "never": "Nunca", "confirmRevoke": "Tem certeza de que deseja revogar esta chave? As ferramentas que a usam perderão o acesso.", "confirmDelete": "Tem certeza de que deseja excluir permanentemente esta chave?" }, "createDialog": { "title": "Gerar chave API", "description": "Crie uma nova chave API para conectar ferramentas externas às suas notas.", "nameLabel": "Nome da chave", "namePlaceholder": "ex. Claude Code, Cursor, N8N", "generating": "Gerando...", "generate": "Gerar", "successTitle": "Chave API gerada", "successDescription": "Copie sua chave API agora. Você não poderá vê-la novamente.", "copy": "Copiar", "copied": "Copiada!", "done": "Concluído" }, "configInstructions": { "title": "Instruções de configuração", "description": "Use sua chave API para configurar estas ferramentas.", "claudeCode": { "title": "Claude Code", "description": "Adicione isto ao seu arquivo de configuração MCP do Claude Code:" }, "cursor": { "title": "Cursor", "description": "Adicione isto às suas configurações MCP do Cursor:" }, "n8n": { "title": "N8N", "description": "Use estas credenciais no seu nó MCP do N8N:" } } }, "agents": { "title": "Agentes", "subtitle": "Automatize suas tarefas de monitoramento e pesquisa", "newAgent": "Novo agente", "myAgents": "Meus agentes", "searchPlaceholder": "Search agents...", "filterAll": "All", "newBadge": "New", "noResults": "No agents match your search.", "noAgents": "Nenhum agente", "noAgentsDescription": "Crie seu primeiro agente ou instale um modelo abaixo para automatizar suas tarefas de monitoramento.", "types": { "scraper": "Monitor", "researcher": "Pesquisador", "monitor": "Observador", "custom": "Personalizado" }, "typeDescriptions": { "scraper": "Extrai conteúdo de vários sites e cria um resumo", "researcher": "Busca informações sobre um tema", "monitor": "Observa um caderno e analisa as notas", "custom": "Agente livre com seu próprio prompt" }, "form": { "agentType": "Tipo de agente", "name": "Nome", "namePlaceholder": "ex. Terça-feira IA Watch", "description": "Descrição (opcional)", "descriptionPlaceholder": "Resumo semanal de notícias de IA", "urlsLabel": "URLs para extrair", "urlsOptional": "(opcional)", "sourceNotebook": "Caderno para observar", "selectNotebook": "Selecione um caderno...", "targetNotebook": "Caderno de destino", "inbox": "Caixa de entrada", "instructions": "Instruções da IA", "instructionsPlaceholder": "Descreva o comportamento do agente...", "frequency": "Frequência", "cancel": "Cancelar", "saving": "Salvando...", "save": "Salvar", "create": "Criar agente", "editTitle": "Editar agente", "createTitle": "Novo agente", "nameRequired": "O nome é obrigatório", "addUrl": "Adicionar URL", "advancedMode": "Modo avançado", "instructionsHint": "substitui o prompt automático", "researchTopic": "Tema de pesquisa", "researchTopicPlaceholder": "ex: Últimos avanços em inteligência artificial", "notifyEmail": "Notificação por e-mail", "notifyEmailHint": "Receba um e-mail com os resultados do agente após cada execução", "includeImages": "Include images", "includeImagesHint": "Extract images from scraped pages and attach them to the generated note", "back": "Back", "configuration": "Configuration", "options": "Options" }, "frequencies": { "manual": "Manual", "hourly": "A cada hora", "daily": "Diariamente", "weekly": "Semanalmente", "monthly": "Mensalmente" }, "schedule": { "nextRun": "Next run", "pending": "Pending trigger", "time": "Time", "dayOfWeek": "Day of week", "dayOfMonth": "Day of month", "days": { "mon": "Monday", "tue": "Tuesday", "wed": "Wednesday", "thu": "Thursday", "fri": "Friday", "sat": "Saturday", "sun": "Sunday" } }, "status": { "success": "Bem-sucedido", "failure": "Falhou", "running": "Em execução", "pending": "Pendente", "nextRun": "Próx. exec.", "lastStatus": "Último status" }, "actions": { "edit": "Editar", "run": "Executar", "delete": "Excluir", "deleteConfirm": "Excluir o agente \"{name}\"?", "toggleOn": "Agente ativado", "toggleOff": "Agente desativado" }, "toasts": { "created": "Agente criado", "updated": "Agente atualizado", "deleted": "\"{name}\" excluído", "deleteError": "Erro ao excluir", "runSuccess": "\"{name}\" executado com sucesso", "runError": "Erro: {error}", "runFailed": "Execução falhou", "runGenericError": "Erro durante a execução", "toggleError": "Erro ao alternar o agente", "installSuccess": "\"{name}\" instalado", "installError": "Erro durante a instalação", "saveError": "Erro ao salvar", "autoRunSuccess": "Agent \"{name}\" executed automatically with success", "autoRunError": "Agent \"{name}\" failed during automatic execution" }, "templates": { "title": "Modelos", "install": "Instalar", "installing": "Instalando...", "veilleAI": { "name": "Watch IA", "description": "Extrai conteúdo de 5 sites especializados em IA e gera um resumo semanal." }, "veilleTech": { "name": "Watch Tech", "description": "Extrai conteúdo dos principais sites de tecnologia e cria um resumo de notícias." }, "veilleDev": { "name": "Watch Dev", "description": "Extrai conteúdo de sites de desenvolvimento e resume novas tecnologias e frameworks." }, "surveillant": { "name": "Observador de notas", "description": "Analisa notas recentes de um caderno e sugere complementos, referências e links." }, "chercheur": { "name": "Pesquisador de temas", "description": "Busca informações aprofundadas sobre um tema e cria uma nota estruturada com referências." } }, "runLog": { "title": "Histórico", "noHistory": "Nenhuma execução ainda", "toolTrace": "{count} chamadas de ferramentas", "step": "Passo {num}" }, "tools": { "title": "Ferramentas do Agente", "webSearch": "Pesquisa na Web", "webScrape": "Extração Web", "noteSearch": "Pesquisar Nota", "noteRead": "Ler Nota", "noteCreate": "Criar Nota", "urlFetch": "Buscar URL", "memorySearch": "Memória", "configNeeded": "configuração", "selected": "{count} selecionado(s)", "maxSteps": "Máx. iterações" }, "metadata": { "executions": "{count} exec." }, "defaultRoles": { "scraper": "Você é um assistente de monitoramento. Sintetize artigos de diferentes sites em um resumo claro e estruturado.", "researcher": "Você é um pesquisador rigoroso. Para o tema solicitado, produza uma nota de pesquisa com contexto, pontos-chave, debates e referências.", "monitor": "Você é um assistente analítico. Analise as notas fornecidas e sugira pistas, referências e conexões entre as notas.", "custom": "Você é um assistente útil." }, "help": { "title": "Guia de Agentes", "btnLabel": "Ajuda", "close": "Fechar", "whatIsAgent": "O que é um agente?", "whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, web scraping, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or scrapes information, then writes a structured note you can read later.", "howToUse": "Como usar um agente?", "howToUseContent": "1. Click **\"New Agent\"** (or start from a **Template** at the bottom of the page)\n2. Choose an **agent type** (Researcher, Monitor, Observer, Custom)\n3. Give it a **name** and fill in the type-specific fields\n4. Optionally pick a **target notebook** where results will be saved\n5. Choose a **frequency** (Manual = you trigger it yourself)\n6. Click **Create**, then hit the **Run** button on the agent card\n7. Once finished, a new note appears in your target notebook", "types": "Tipos de agentes", "typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, web scraping, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor (Scraper)\nScrapes a **list of URLs** you specify and produces a summary of their content.\n\n- **Fields:** name, list of URLs (e.g. tech news sites, blogs...)\n- **Default tools:** web scraping, note creation\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types", "advanced": "Modo avançado (Instruções IA, Iterações máx.)", "advancedContent": "Click **\"Advanced mode\"** at the bottom of the form to access additional settings.\n\n### AI Instructions\n\nThis field lets you **replace the default system prompt** for the agent. If left empty, the agent uses an automatic prompt adapted to its type.\n\n**Why use it?** You want to control exactly how the agent behaves. For example:\n- \"Write the summary in English, even if sources are in French\"\n- \"Structure the note with sections: Context, Key Points, Personal Opinion\"\n- \"Ignore articles older than 30 days and focus on recent news\"\n- \"For each detected theme, suggest 3 follow-up leads with links\"\n\n> **Note:** Your instructions replace the defaults, they don't add to them.\n\n### Max iterations\n\nThis is the **maximum number of cycles** the agent can perform. One cycle = the agent thinks, calls a tool, reads the result, then decides the next action.\n\n- **3-5 iterations:** for simple tasks (scraping a single page)\n- **10 iterations (default):** good balance for most cases\n- **15-25 iterations:** for deep research where the agent needs to explore multiple leads\n\n> **Warning:** More iterations = more time and potentially higher API costs.", "tools": "Ferramentas disponíveis (detalhes)", "toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, and can then scrape the most relevant pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then scrapes the top 3.\n\n### Web Scrape\nAllows the agent to **extract text content from a web page** given its URL.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes 5 tech blogs and produces a synthesized summary.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.", "frequency": "Frequência e agendamento", "frequencyContent": "| Frequency | Behavior\n|-----------|----------\n| **Manual** | You click \"Run\" yourself — no automatic scheduling\n| **Hourly** | Runs every hour\n| **Daily** | Runs once per day\n| **Weekly** | Runs once per week\n| **Monthly** | Runs once per month\n\n> **Tip:** Start with \"Manual\" to test your agent, then switch to an automatic frequency once you're satisfied with the results.", "targetNotebook": "Caderno de destino", "targetNotebookContent": "When an agent finishes its task, it **creates a note**. The **target notebook** determines where that note goes:\n\n- **Inbox** (default) — the note goes to your general notes\n- **Specific notebook** — choose a notebook to keep agent results organized\n\n> **Tip:** Create a dedicated notebook like \"Agent Reports\" to keep all automated content in one place.", "templates": "Modelos", "templatesContent": "Templates are pre-configured agents ready to install in one click. You'll find them at the **bottom of the Agents page**.\n\nAvailable templates include:\n\n- **AI Watch** — weekly AI news roundup from 5 specialized sites\n- **Tech Watch** — general tech news summary\n- **Dev Watch** — developer news and new frameworks\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nOnce installed, you can edit the agent to customize it.", "tips": "Dicas e solução de problemas", "tipsContent": "- **Start with a template** and customize it — it's the fastest way to get a working agent\n- **Test with \"Manual\"** frequency before enabling automatic scheduling\n- **A \"Researcher\" agent requires a web search provider** — configure SearXNG (JSON format) or Brave Search in **Admin > Agent Tools**\n- **If an agent fails**, click on its card then **History** to see the execution log and tool traces\n- **The \"Enabled/Disabled\" toggle** lets you pause an agent without deleting it\n- **Web scraping quality** improves with a Jina Reader API key (optional, in Admin > Agent Tools)\n- **Combine \"Note Search\" + \"Read Note\"** so the agent can find AND analyze your notes' content\n- **Enable \"Memory\"** if your agent runs regularly — it will avoid repeating the same information across runs", "tooltips": { "agentType": "Escolha o tipo de tarefa que o agente realizará. Cada tipo tem capacidades e campos diferentes.", "researchTopic": "O tema que o agente pesquisará na web. Seja específico para melhores resultados.", "description": "Uma breve descrição do que este agente faz. Ajuda você a lembrar seu propósito.", "urls": "Lista de sites para extrair conteúdo. O agente visitará cada URL e extrairá o conteúdo.", "sourceNotebook": "O caderno que o agente analisará. Ele lê notas deste caderno para encontrar conexões e temas.", "targetNotebook": "Onde a nota de resultado do agente será salva. Escolha Caixa de entrada ou um caderno específico.", "frequency": "Com que frequência o agente é executado automaticamente. Comece com Manual para testar.", "instructions": "Instruções personalizadas que substituem o prompt de IA padrão. Deixe vazio para usar o automático.", "tools": "Selecione quais ferramentas o agente pode usar. Cada ferramenta dá uma capacidade específica ao agente.", "maxSteps": "Número máximo de ciclos de raciocínio. Mais passos = análise mais profunda, mas mais lenta." } } }, "chat": { "title": "Chat IA", "subtitle": "Converse com suas notas e agentes de IA", "newConversation": "Nova conversa", "noHistory": "Sem histórico", "untitled": "Conversa sem título", "deleteConfirm": "Excluir esta conversa?", "yes": "Sim", "placeholder": "Envie uma mensagem ao assistente...", "allNotebooks": "Todos os cadernos", "inAllNotebooks": "Em todos os cadernos", "active": "ATIVO", "disclaimer": "A IA pode cometer erros. Verifique informações importantes.", "assistantError": "Erro do assistente", "loadError": "Erro ao carregar a conversa", "createError": "Erro ao criar a conversa", "deleteError": "Erro ao excluir", "renamed": "Conversa renomeada", "renameError": "Erro ao renomear", "welcome": "Estou aqui para ajudá-lo a sintetizar suas notas, gerar novas ideias ou discutir seus cadernos.", "searching": "Pesquisando...", "noNotesFoundForContext": "Nenhuma nota relevante encontrada para esta pergunta. Responda com seu conhecimento geral.", "webSearch": "Pesquisa na web", "timeoutWarning": "Response is taking longer than expected..." }, "labHeader": { "title": "O Laboratório", "live": "Ao vivo", "currentProject": "Projeto atual", "choose": "Escolher...", "yourSpaces": "Seus espaços", "updated": "Atualizado", "newSpace": "Novo espaço de pensamento", "new": "Novo", "renamed": "Espaço renomeado", "renameError": "Erro ao renomear", "created": "Novo espaço criado", "createFailed": "Falha ao criar", "deleteSpace": "Excluir espaço", "deleted": "Espaço excluído", "deleteError": "Erro ao excluir", "rename": "Rename" }, "lab": { "initializing": "Inicializando espaço", "loadingIdeas": "Carregando suas ideias..." } }