feat(notes): liens internes, onglet Réseau, living blocks et consentement IA
Some checks failed
CI / Lint, Test & Build (push) Failing after 1m19s
CI / Deploy production (on server) (push) Has been skipped

Rend les liens entre notes visibles et persistants (sync NoteLink au save, auto-save, graphe réseau rafraîchi), ajoute living blocks, Memory Echo, recherche globale, consentement IA explicite et consolide les prototypes design en architectural-grid.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Antigravity
2026-05-24 14:27:29 +00:00
parent 077e665dfc
commit e2672cd2c2
323 changed files with 20670 additions and 42431 deletions

View File

@@ -183,6 +183,7 @@
"loading": "Carregando...",
"exportPDF": "Exportar PDF",
"savedStatus": "Salvo",
"saved": "Nota salva",
"dirtyStatus": "Modificado",
"completedLabel": "Concluídos",
"notes": {
@@ -270,7 +271,16 @@
"notes.emptyNotebook": "Empty notebook",
"notes.emptyNotebookDesc": "This notebook has no notes. Click + to create one.",
"notes.noNoteSelected": "No note selected",
"notes.selectOrCreateNote": "Select a note from the list or create a new one."
"notes.selectOrCreateNote": "Select a note from the list or create a new one.",
"attachments": "Anexos",
"createFirst": "Crie sua primeira nota",
"generateIllustration": "Gerar ilustração",
"illustrationGenerated": "Ilustração gerada",
"open": "Abrir",
"saveFailed": "Falha ao salvar",
"search": "Pesquisar",
"unarchived": "Desarquivado",
"uploading": "Enviando..."
},
"pagination": {
"previous": "←",
@@ -310,7 +320,9 @@
"count": "{count} etiquetas",
"noLabels": "Sem etiquetas",
"confirmDeleteShort": "Confirmar?",
"labelRemoved": "Etiqueta \"{label}\" removida"
"labelRemoved": "Etiqueta \"{label}\" removida",
"filterByTags": "Filtrar por tags",
"searchTags": "Pesquisar tags"
},
"search": {
"placeholder": "Pesquisar",
@@ -427,7 +439,10 @@
"create": "Criar",
"creating": "Criando rótulos...",
"notesCount": "{count} notas",
"typeForSuggestions": "Digite para sugestões"
"typeForSuggestions": "Digite para sugestões",
"noNotebook": "No notebook selected",
"noSuggestions": "No suggestions",
"regenerate": "Regenerate"
},
"batchOrganization": {
"title": "Organização em lote",
@@ -442,7 +457,10 @@
"noNotesSelected": "Nenhuma nota selecionada",
"applyFailed": "Falha ao aplicar",
"selectAllIn": "Selecionar tudo em",
"selectNote": "Selecionar nota"
"selectNote": "Selecionar nota",
"notesToOrganize": "Notes to organize",
"selected": "Selected",
"unorganized": "Unorganized"
},
"notebookSummary": {
"regenerate": "Regenerar Resumo",
@@ -516,7 +534,8 @@
"fixGrammar": "Corrigir gramática",
"translate": "Traduzir",
"explain": "Explicar",
"toRichText": "Converter para rich text"
"toRichText": "Converter para rich text",
"customLang": "Custom language"
},
"generate": {
"slides": "Gerar slides",
@@ -550,7 +569,8 @@
"insertDiagramInNote": "Incorporar PNG na nota atual",
"diagramImageAlt": "Diagrama gerado por IA",
"insertedInNote": "Diagrama inserido na nota",
"insertExportError": "Erro ao exportar/carregar diagrama"
"insertExportError": "Erro ao exportar/carregar diagrama",
"noNoteId": "No note ID"
},
"openAssistant": "Abrir assistente IA",
"poweredByMomento": "Desenvolvido por Momento AI",
@@ -631,6 +651,15 @@
"creative": "Creative",
"academic": "Academic",
"casual": "Casual"
},
"noHistory": "Sem histórico",
"webSearchDisabled": "Pesquisa web desativada",
"webSearchEnabled": "Pesquisa web ativada",
"result": {
"apply": "Apply",
"original": "Original",
"preview": "Preview",
"suggestion": "Suggestion"
}
},
"titleSuggestions": {
@@ -749,7 +778,8 @@
"brainstormInvite": "Brainstorming",
"brainstormJoined": "Brainstorming",
"systemNotification": "Sistema",
"downloadFailed": "Falha no download"
"downloadFailed": "Falha no download",
"brainstormShared": "Brainstorm compartilhado"
},
"nav": {
"home": "Home",
@@ -945,7 +975,8 @@
"testConnection": "Testar Conexão",
"clean": "Limpar",
"indexAll": "Indexar Tudo",
"preview": "Visualizar"
"preview": "Visualizar",
"delete": "Excluir"
},
"colors": {
"default": "Padrão",
@@ -965,7 +996,8 @@
"reminderDate": "Data do lembrete",
"reminderTime": "Hora do lembrete",
"save": "Definir lembrete",
"cancel": "Cancelar"
"cancel": "Cancelar",
"changeReminder": "Alterar lembrete"
},
"reminders": {
"title": "Lembretes",
@@ -1017,7 +1049,13 @@
"createSubnotebook": "Adicionar sub-notebook",
"createSubNotebook": "Add sub-notebook",
"rename": "Rename",
"moveToTrash": "Move to trash"
"moveToTrash": "Move to trash",
"noParent": "Sem pai",
"parentNotebook": "Caderno pai",
"under": "Sob",
"trashCascadeWarning": "Isso também excluirá todas as notas e sub-cadernos.",
"trashConfirm": "Mover este caderno para a lixeira?",
"trashTitle": "Mover para a lixeira"
},
"notebookSuggestion": {
"title": "Mover para {name}?",
@@ -1026,7 +1064,8 @@
"dismiss": "Descartar",
"dismissIn": "Descartar (fecha em {timeLeft}s)",
"moveToNotebook": "Mover para caderno",
"generalNotes": "Notas gerais"
"generalNotes": "Notas gerais",
"movedToNotebook": "Movido para o caderno"
},
"admin": {
"title": "Painel de Administração",
@@ -1430,8 +1469,17 @@
"title": "Limpar Dados Órfãos",
"description": "Remove etiquetas e conexões que referenciam notas excluídas.",
"button": "Limpar",
"failed": "Erro durante a limpeza"
}
"failed": "Erro durante a limpeza",
"success": "Cleanup successful"
},
"zipExport": {
"title": "Exportação RGPD do espaço (ZIP)",
"description": "Baixe todas as notas, anexos e canvas de brainstorm em Markdown num arquivo ZIP.",
"button": "Exportar ZIP",
"success": "Espaço exportado com sucesso",
"failed": "Falha na exportação"
},
"zipExporting": "Exportando…"
},
"appearance": {
"title": "Aparência",
@@ -1503,7 +1551,8 @@
"daysRemaining": "DAYS LEFT",
"notebookContentPreserved": "Notebook content preserved",
"notebookRestoreHint": "Restoring a notebook also restores all its notes.",
"filterAll": "All"
"filterAll": "All",
"autoDelete30": "Exclusão automática após 30 dias"
},
"footer": {
"privacy": "Privacidade",
@@ -1988,7 +2037,8 @@
"slideTheme": "Escolha uma paleta de cores para a apresentação. Automático permite que a IA decida.",
"slideStyle": "O estilo visual afeta o raio do canto, o espaçamento e a densidade da informação."
}
}
},
"intelligenceOS": "Sistema operacional inteligente"
},
"chat": {
"title": "Chat IA",
@@ -2260,9 +2310,16 @@
},
"usageMeter": {
"packName": "AI Discovery Pack",
"packPro": "Pacote Pro",
"packBusiness": "Pacote Business",
"packEnterprise": "Pacote Enterprise",
"featureSearch": "Search",
"featureTags": "Tags",
"featureTitles": "Titles",
"featureReformulate": "Reformular",
"featureChat": "Chat",
"featureBrainstormSessions": "Sessões de brainstorm",
"featureCharts": "Gráficos IA",
"unlimited": "Unlimited",
"remaining": "{count} left",
"upgradeTitle": "Upgrade to Pro",
@@ -2381,7 +2438,28 @@
"enterpriseFeature2": "SSO / SAML",
"enterpriseFeature3": "Dedicated support",
"enterpriseFeature4": "Custom invoicing",
"enterpriseFeature5": "Guaranteed SLA"
"enterpriseFeature5": "Guaranteed SLA",
"subtitle": "Escolha o plano que mais te convém",
"freeDescription": "Para descobrir Memento",
"freeF1": "30 pesquisas semânticas",
"freeF2": "15 tags automáticos",
"freeF3": "5 títulos automáticos",
"freeF4": "100 notas",
"freeF5": "3 cadernos",
"freePlanDesc": "Perfeito para descobrir Memento",
"freePrice": "Grátis",
"proDescription": "Para consultores e freelancers",
"proFeature5": "50 reformulações/mês",
"proFeature6": "50 mensagens IA/mês",
"proCta": "Atualizar para Pro",
"businessFeature5": "500 reformulações/mês",
"businessFeature6": "500 mensagens IA/mês",
"businessCta": "Atualizar para Business",
"recommended": "Recomendado",
"instantActivation": "Ativação instantânea",
"secureDesc": "Pagamentos seguros pelo Stripe",
"secureTransactions": "Transações seguras",
"satisfactionGuarantee": "Garantia de satisfação de 30 dias"
},
"landing": {
"nav": {
@@ -2535,7 +2613,8 @@
"feature3": "Audit Logs e SLA",
"feature4": "Suporte dedicado",
"feature5": "Onboarding ao vivo"
}
},
"basicPrice": "Free"
},
"byok": {
"label": "Tecnologia cloud aberta",
@@ -2612,6 +2691,34 @@
"cancel": "Cancel",
"save": "Save Preferences",
"saved": "Preferences updated successfully."
},
"ai": {
"modalTitle": "Consentimento necessário para processamento por IA",
"modalDescription": "Para analisar as suas notas, PDFs ou sessões de brainstorming, o Memento transmite estes dados de forma segura a APIs de IA de terceiros (OpenAI, Gemini, DeepSeek). Aplicamos uma política rigorosa de retenção zero de dados. Ao aceitar, autoriza este tratamento.",
"zeroRetentionTitle": "Retenção zero de dados",
"zeroRetentionDesc": "Todos os pedidos de saída incluem indicadores de não treino para proteger a sua propriedade intelectual.",
"rememberMe": "Lembrar a minha escolha (não voltar a perguntar)",
"acceptButton": "Autorizar e continuar",
"rejectButton": "Recusar",
"aborted": "Processamento por IA cancelado (consentimento recusado).",
"revocationTitle": "Consentimento de processamento por IA (RGPD)",
"revocationDescription": "Permissão opcional para enviar conteúdo das notas a fornecedores de IA externos apenas quando usar funções de IA.",
"revokeButton": "Revogar consentimento",
"grantButton": "Conceder consentimento",
"statusActive": "Ativo",
"statusInactive": "Não concedido",
"helpAriaLabel": "O que significa o consentimento de IA?",
"helpTooltip": "O Memento não vende os seus dados. Este consentimento só se aplica quando aciona uma função de IA (títulos, etiquetas, chat, reformulação). Sem ele, o resto da app funciona normalmente.",
"whatItMeansTitle": "O que isto significa?",
"inactiveHint": "Sem consentimento, apenas as funções de IA ficam desativadas. Pode continuar a criar, editar e organizar notas normalmente.",
"noCommercialUse": "O Memento não vende nem monetiza os seus dados pessoais.",
"affectedFeatures": "Funções afetadas: sugestões de títulos, etiquetas, chat assistente, reformulação, Memory Echo, etc.",
"dataPortabilityHint": "Pode exportar ou eliminar todos os dados a qualquer momento (Definições → Dados).",
"dataPortabilityLink": "Exportar os meus dados",
"revoked": "Consentimento não concedido",
"revokedToast": "Consentimento de IA revogado com sucesso.",
"complianceBadge": "Conformidade RGPD",
"auditFailed": "Não foi possível registar o seu consentimento. Tente novamente."
}
},
"account": {
@@ -2636,5 +2743,24 @@
"successRedirect": "Your account has been successfully deleted.",
"errorFailed": "Deletion failed. Please try again."
}
},
"attachments": {
"title": "Anexos",
"addToNote": "Adicionar à nota",
"analyzing": "Analisando...",
"askPlaceholder": "Faça uma pergunta sobre este documento...",
"askQuestions": "Fazer perguntas",
"deleted": "Anexo excluído",
"docExpert": "Especialista em documentos",
"docQaWelcome": "Faça perguntas sobre este documento",
"maxSize": "Tamanho máximo",
"onlyPdf": "Apenas PDF",
"processingFailed": "Falha no processamento",
"remove": "Remover",
"thinking": "Pensando...",
"uploaded": "Enviado",
"uploadError": "Erro ao enviar",
"uploadFailed": "Falha no envio",
"uploading": "Enviando..."
}
}
}