feat(dashboard): tableau de bord Second Brain configurable avec chargement progressif
All checks were successful
CI / Lint, Unit Tests & Build (push) Successful in 7m3s
CI / Deploy production (on server) (push) Successful in 23s

Briefing granulaire, pistes rapides puis enrichissement async, layout persisté v5,
suggestions agents, intégration Gmail et navigation sidebar alignée sur /home.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Antigravity
2026-07-14 16:50:53 +00:00
parent d38a99586b
commit 30da592ba2
62 changed files with 7741 additions and 335 deletions

View File

@@ -73,6 +73,7 @@
"dropToRoot": "Déposez ici pour déplacer à la racine",
"noReminders": "Aucun rappel actif.",
"documents": "Documents",
"dashboardPanelBody": "Votre second brain en un coup d'œil : suggestions IA, capture rapide et prochaines pistes. Raccourcis pour agir tout de suite.",
"searchNotebooksPlaceholder": "Rechercher un carnet…",
"clearSearch": "Effacer la recherche",
"insightsPanelBody": "Cartographie sémantique de vos notes : clusters thématiques, notes-ponts et suggestions de connexion.",
@@ -82,7 +83,10 @@
"resizeSidebar": "Redimensionner la largeur de la barre latérale",
"dailyNote": "Note du jour",
"dailyNoteError": "Impossible d'ouvrir la note du jour",
"dailyNoteTooltip": "Ouvrir ou créer la note personnelle pour le journal d'aujourd'hui"
"dailyNoteTooltip": "Ouvrir ou créer la note personnelle pour le journal d'aujourd'hui",
"lightMode": "Mode clair",
"darkMode": "Mode sombre",
"searchShortcut": "Recherche (Ctrl+K)"
},
"notes": {
"title": "Notes",
@@ -324,7 +328,12 @@
"unarchived": "Désarchivée",
"savedJustNow": "Sauvegardé",
"unsaved": "Non sauvegardé",
"historyEnabledTooltip": "Historique des versions activé — les modifications sont suivies"
"historyEnabledTooltip": "Historique des versions activé — les modifications sont suivies",
"heading1": "Titre 1",
"heading2": "Titre 2",
"heading3": "Titre 3",
"importSuccess": "{{count}} notes importées !",
"unpublished": "Note dépubliée"
},
"pagination": {
"previous": "←",
@@ -366,7 +375,9 @@
"confirmDeleteShort": "Confirmer ?",
"labelRemoved": "Étiquette \"{label}\" supprimée",
"filterByTags": "Filtrer par étiquettes",
"searchTags": "Rechercher des étiquettes"
"searchTags": "Rechercher des étiquettes",
"activeCount": "{{count}} actifs",
"showMoreCount": "+ {{count}} de plus"
},
"search": {
"placeholder": "Rechercher",
@@ -775,6 +786,7 @@
"match": "{percentage}% correspondance",
"fused": "Fusionné",
"clickToView": "Cliquer pour voir la note →",
"defaultInsight": "Ces notes semblent sémantiquement liées.",
"overlay": {
"title": "Notes connectées",
"searchPlaceholder": "Rechercher des connexions...",
@@ -944,6 +956,8 @@
"graphView": "Carte des liens",
"insights": "Thèmes sémantiques",
"revision": "Révisions",
"dailyNotes": "Notes du jour",
"dashboard": "Tableau de bord",
"userManagement": "Gestion des utilisateurs",
"accountSettings": "Paramètres du compte",
"manageAISettings": "Gérer les paramètres IA",
@@ -1023,7 +1037,19 @@
"autoSave": "Auto-enregistrement",
"autoSaveDesc": "Enregistrer automatiquement les modifications pendant la frappe",
"autoSaveEnabled": "Auto-enregistrement activé !",
"autoSaveDisabled": "Auto-enregistrement désactivé"
"autoSaveDisabled": "Auto-enregistrement désactivé",
"publishedTitle": "Mes pages publiées",
"publishedDesc": "Gérez les notes que vous avez publiées publiquement.",
"publishedEmpty": "Aucune note publiée pour le moment.",
"notesViewLabel": "Affichage des notes",
"notesViewDescription": "Choisissez comment les notes sont affichées dans la liste.",
"notesViewList": "Liste",
"notesViewMasonry": "Mosaïque",
"notesViewTable": "Tableau",
"importExportHelp": "Import / Export — comment ça fonctionne ?",
"aiConfigHelp": "Comment configurer votre IA ?",
"integrationsTitle": "Intégrations",
"integrationsDesc": "Connectez des services externes à Memento."
},
"profile": {
"title": "Profil",
@@ -1230,7 +1256,8 @@
"dismissIn": "Rejeter (ferme dans {timeLeft}s)",
"moveToNotebook": "Déplacer vers un carnet",
"generalNotes": "Notes générales",
"movedToNotebook": "Déplacé vers le carnet"
"movedToNotebook": "Déplacé vers le carnet",
"filterNotebooks": "Filtrer les carnets…"
},
"admin": {
"title": "Tableau de bord Admin",
@@ -1922,7 +1949,9 @@
"outboundList": "Depuis cette note ({count})",
"unlinkedList": "Mentions non reliées ({count})",
"refBadge": "Entrant",
"toBadge": "Sortant"
"toBadge": "Sortant",
"noInbound": "Aucun lien wiki ne pointe vers cette note.",
"noOutbound": "Cette note ne contient pas encore de liens vers d'autres notes."
}
},
"languages": {
@@ -1960,7 +1989,7 @@
"off": "Désactivé",
"unknown": "Inconnu",
"notAvailable": "N/D",
"loading": "Chargement...",
"loading": "Chargement",
"error": "Erreur",
"success": "Succès",
"confirm": "Confirmer",
@@ -1974,7 +2003,14 @@
"search": "Rechercher...",
"noResults": "Aucune note trouvée",
"required": "Requis",
"optional": "Optionnel"
"optional": "Optionnel",
"notes": "notes",
"openMenu": "Ouvrir le menu",
"openNav": "Ouvrir la navigation",
"linkCopied": "Lien copié !",
"copyLink": "Copier le lien",
"untitled": "Sans titre",
"selectPlaceholder": "Sélectionner…"
},
"time": {
"justNow": "à l'instant",
@@ -2395,7 +2431,20 @@
},
"lab": {
"initializing": "Initialisation de l'espace de travail",
"loadingIdeas": "Chargement de vos idées..."
"loadingIdeas": "Chargement de vos idées...",
"loadingSlides": "Chargement des slides…",
"downloadFailed": "Échec du téléchargement de la présentation",
"exportPpt": "Exporter en PowerPoint",
"downloadHtml": "Télécharger le HTML",
"openFullscreen": "Ouvrir en plein écran",
"loadingPresentation": "Chargement de la présentation…",
"previousSlide": "Slide précédent",
"nextSlide": "Slide suivant",
"hideNotes": "Masquer les notes",
"toggleNotes": "Bascule des notes de présentation (Raccourci : N)",
"notes": "Notes",
"previous": "Précédent",
"next": "Suivant"
},
"richTextEditor": {
"slashHint": "↑↓ naviguer · Entrée insérer · Tab changer de section",
@@ -2694,7 +2743,15 @@
"previewDiagramTip": "Esquissez des concepts ou générez des diagrammes via IA.",
"previewLivingBlockTip": "Synchronisez du contenu entre plusieurs notes.",
"previewSlidesTip": "Créez des présentations interactives exportables.",
"previewTableTip": "Organisez vos données en lignes et colonnes."
"previewTableTip": "Organisez vos données en lignes et colonnes.",
"aiActionStarted": "IA Note sollicitée…",
"blockDeleted": "Bloc supprimé",
"blockDuplicated": "Bloc dupliqué",
"blockSelected": "Bloc sélectionné en entier",
"slashVideo": "Vidéo",
"startVoice": "Démarrer la dictée vocale",
"stopVoice": "Arrêter la dictée vocale",
"collapsibleSection": "Section repliable"
},
"flashcards": {
"generateTitle": "Générer des flashcards",
@@ -2788,7 +2845,8 @@
"cardSaved": "Carte enregistrée",
"cardTypeBadge": "{type}",
"reviewNow": "Réviser maintenant",
"deleteFailed": "Impossible de supprimer"
"deleteFailed": "Impossible de supprimer",
"toolbarGenerateHint": "Révision espacée SM-2"
},
"structuredViews": {
"enableTitle": "Organiser ce carnet (tableau, kanban, galerie…)",
@@ -2920,7 +2978,14 @@
"tagApplied": "appliqué",
"filterDone": "Fait",
"filterTodo": "À faire",
"propertyStatus": "Statut"
"propertyStatus": "Statut",
"exportCsv": "Exporter CSV",
"importCsv": "Importer CSV",
"relationEmpty": "Lier une note…",
"relationNoResults": "Aucune note trouvée",
"relationSearch": "Rechercher une note…",
"semanticResonances": "Résonances sémantiques",
"insertLink": "Insérer le lien dans l'éditeur"
},
"brainstorm": {
"title": "Vagues de pensée",
@@ -3167,8 +3232,8 @@
"planSince": "Membre depuis",
"checkoutSuccessTitle": "Abonnement activé !",
"checkoutSuccessBody": "Bienvenue sur {tier}. Vos fonctionnalités sont maintenant débloquées.",
"subscriptionType": "subscriptionType",
"renewalDate": "renewalDate",
"subscriptionType": "Type d'abonnement",
"renewalDate": "Date de renouvellement",
"noRenewalDate": "—",
"tab": "Facturation",
"currentUsage": "Utilisation actuelle",
@@ -3204,7 +3269,19 @@
"instantActivation": "Activation instantanée",
"secureDesc": "Paiements sécurisés par Stripe",
"secureTransactions": "Transactions sécurisées",
"satisfactionGuarantee": "Satisfait ou remboursé 30 jours"
"satisfactionGuarantee": "Satisfait ou remboursé 30 jours",
"cancelConfirm": "Êtes-vous sûr de vouloir résilier votre abonnement ? Vous conserverez vos accès Pro/Business jusqu'à la fin de la période en cours.",
"cancelSuccess": "Votre abonnement a été résilié avec succès. Il prendra fin à la fin de la période de facturation en cours.",
"invoices": "Factures & reçus",
"invoiceAmount": "Montant",
"invoiceDate": "Date",
"invoiceNumber": "Numéro",
"invoiceStatus": "Statut",
"noInvoices": "Aucune facture disponible.",
"checkoutFailed": "Échec du démarrage du paiement. Veuillez réessayer.",
"portalFailed": "Échec de l'ouverture du portail de facturation.",
"cancelFailed": "Échec de l'annulation de l'abonnement.",
"downloadPdf": "Télécharger le PDF"
},
"quotaPaywall": {
"title": "Limite mensuelle atteinte",
@@ -3693,7 +3770,9 @@
"openFully": "Ouvrir en plein écran",
"openFullyHelp": "Remplacer la note courante par cette note",
"readOnlyHint": "Aperçu en lecture seule — ouvrez en plein écran pour modifier.",
"loadFailed": "Impossible d'ouvrir l'aperçu de la note liée."
"loadFailed": "Impossible d'ouvrir l'aperçu de la note liée.",
"loading": "Chargement…",
"untitled": "Sans titre"
},
"structuredViewBlock": {
"insertLabel": "Vue structurée",
@@ -3860,11 +3939,317 @@
"hint_insights_refresh_desc": "Si vous avez ajouté de nouvelles notes, cliquez sur le bouton de rafraîchissement pour recalculer les clusters avec le contenu le plus récent."
},
"integrations": {
"title": "Intégrations"
"title": "Intégrations",
"gmail": {
"title": "Gmail",
"description": "Capture automatique des vols, colis et abonnements depuis vos e-mails",
"connect": "Connecter Gmail",
"disconnect": "Déconnecter",
"scanNow": "Scanner maintenant",
"connected": "Gmail connecté !",
"disconnected": "Gmail déconnecté",
"scanDone": "{created} note(s) créée(s) depuis les e-mails",
"recentCaptures": "{count} capture(s) cette semaine",
"helpTitle": "Comment fonctionne Gmail ?",
"helpStep1": "Connectez Gmail — vous serez redirigé vers Google pour autoriser un accès en lecture seule.",
"helpStep2": "Memento analyse vos e-mails récents : vols, colis, renouvellements d'abonnement.",
"helpStep3": "Chaque correspondance devient une note, avec rappel automatique si pertinent.",
"helpStep4": "Le scan tourne chaque jour en arrière-plan ; vous pouvez aussi lancer un scan manuel ici."
},
"calendarConnected": "Google Calendar connecté !",
"errorWith": "Erreur : {{error}}",
"readwiseError": "Erreur Readwise",
"readwiseConnected": "Readwise connecté — {{created}} notes créées, {{updated}} mises à jour",
"readwiseConnectError": "Erreur de connexion Readwise",
"syncError": "Erreur de synchronisation",
"readwiseSynced": "Sync Readwise — {{created}} créées, {{updated}} mises à jour",
"syncFailed": "Erreur de synchronisation",
"readwiseDisconnected": "Readwise déconnecté",
"noEvents": "Aucun événement aujourd'hui",
"eventsLoadError": "Erreur de chargement des événements",
"meetingNoteCreated": "Note de réunion créée : {{summary}}",
"createNoteError": "Erreur lors de la création de la note",
"calendarDisconnected": "Google Calendar déconnecté",
"gmailScanError": "Erreur de scan Gmail",
"calendarInfo": "Comment fonctionne Google Calendar ?",
"readwiseInfo": "Comment fonctionne Readwise ?",
"readwiseTokenPlaceholder": "Token Readwise…",
"connected": "Connecté",
"notConnected": "Non connecté",
"connectCalendar": "Connecter Google Calendar",
"todayEvents": "Événements aujourd'hui",
"disconnect": "Déconnecter",
"connect": "Connecter",
"syncNow": "Synchroniser maintenant",
"addNote": "+ Note",
"open": "Ouvrir",
"moreComing": "D'autres intégrations arrivent bientôt — Zapier, GitHub, Notion import…",
"calendarDesc": "Accédez à vos événements et créez des notes de réunion",
"readwiseDesc": "Importez vos surlignages de livres, articles et Kindle",
"lastSync": "Dernière sync :",
"createdLabel": "notes créées",
"updatedLabel": "mises à jour",
"calendarHelpStep1": "Cliquez « Connecter Google Calendar » — vous serez redirigé vers Google pour autoriser l'accès.",
"calendarHelpStep2": "Une fois connecté, revenez ici et cliquez « Événements aujourd'hui » pour voir votre agenda.",
"calendarHelpStep3": "Sur chaque événement, cliquez « + Note » pour créer automatiquement une note de réunion avec template (Ordre du jour / Notes / Actions).",
"calendarHelpStep4": "La note s'ouvre directement dans Memento — ajoutez vos notes en temps réel pendant la réunion.",
"readwiseHelpStep1": "Copiez votre token d'accès Readwise.",
"readwiseHelpStep2": "Collez-le dans le champ ci-dessous et cliquez « Connecter ». La première synchronisation importe tous vos livres et articles.",
"readwiseHelpStep3": "Chaque livre devient une note dans un carnet « Readwise 📚 » — avec tous vos surlignages organisés.",
"readwiseHelpStep4": "Pour mettre à jour avec de nouveaux surlignages, revenez ici et cliquez « Synchroniser maintenant ».",
"readwiseHelpStep5": "💡 Astuce : créez des flashcards IA depuis une note Readwise (bouton 🎓 dans l'éditeur) pour réviser vos lectures."
},
"homeDashboard": {
"title": "Tableau de bord",
"quickCapture": "Capture rapide",
"quickCapturePlaceholder": "Une idée, une pensée… Entrée pour capturer dans l'Inbox.",
"captured": "Capturé dans l'Inbox",
"captureError": "Erreur",
"mindMap": "Carte mentale",
"fullMap": "Vue complète →",
"mindMapEmpty": "Pas encore de thèmes détectés. L'analyse sémantique regroupe vos notes par sujets.",
"mindMapOpen": "Ouvrir la cartographie →",
"mindMapUnavailable": "Cartographie indisponible.",
"themes": "thèmes",
"bridges": "ponts",
"aiEchoes": "échos IA",
"bridgeNote": "Note-pont",
"theme": "Thème",
"suggestedResearch": "Recherches suggérées",
"dismiss": "Ignorer",
"createAgent": "Créer l'agent",
"agentsEmpty": "Aucune recherche suggérée pour l'instant. Continuez à écrire — Memento proposera des synthèses quand vos notes formeront des thèmes.",
"agentCreated": "Agent créé et lancé",
"agentFailed": "Échec de la création",
"notes": "notes",
"continue": "Reprendre ici",
"noRecentNotes": "Aucune note récente.",
"untitled": "Sans titre",
"inbox": "Inbox",
"sentiment": "Analyse émotionnelle",
"analyzing": "Analyse en cours…",
"notEnoughNotes": "Pas assez de notes cette semaine.",
"toReview": "À traiter",
"allCaughtUp": "Tout est à jour.",
"toOrganize": "à organiser",
"review": "Révisions",
"cardsDue": "cartes dues",
"reminders": "Rappels",
"aiFound": "L'IA a trouvé",
"new": "nouveaux",
"noConnections": "Aucune connexion trouvée. L'IA analyse vos notes.",
"match": "Connexion",
"semanticConnection": "Affinité sémantique",
"suggestedBridge": "Relier {clusterA} et {clusterB}",
"createBridgeNote": "Créer la note-pont",
"bridgeNoteCreated": "Note-pont créée",
"agentDiscovery": "Agent",
"connectionBetween": "Lien entre « {note1} » et « {note2} »",
"intelFilterAll": "Tout",
"intelFilterConnections": "Liens",
"intelFilterBridges": "Ponts",
"intelFilterIdeas": "Idées",
"intelFilterAgents": "Agents",
"intelFilterEmpty": "Rien dans cette catégorie pour l'instant.",
"intelOpenNote": "Ouvrir",
"intelCompare": "Comparer",
"intelMissingLink": "Lien manquant",
"intelViewAgent": "Voir l'agent",
"intelAgentNoResult": "Recherche terminée — voir le détail.",
"intelPrev": "Précédent",
"intelNext": "Suivant",
"intelGoTo": "Découverte {index}",
"intelPosition": "{current} / {total}",
"resumeOpen": "Reprendre",
"pulseInbox": "{count} à classer",
"pulseReview": "{count} à réviser",
"pulseDiscoveries": "{count} découvertes",
"pulseClear": "Tout est à jour — bonne session.",
"widgetCustomize": "Personnaliser",
"widgetDone": "Terminé",
"widgetAdd": "Ajouter",
"widgetReset": "Réinitialiser",
"widgetResetDone": "Tableau de bord par défaut restauré.",
"layoutEmptyTitle": "Votre tableau de bord est vide",
"layoutEmptyHint": "Restaurez la mise en page recommandée pour démarrer votre second brain.",
"widgetCatalog": "Catalogue",
"widgetCatalogTitle": "Personnaliser le tableau de bord",
"widgetActive": "Visible",
"widgetAddShort": "Ajouter",
"widgetOpen": "Ouvrir",
"widgetDrag": "Déplacer le widget",
"widgetHide": "Masquer le widget",
"widgetStatsBridges": "Ponts",
"widgetStatsNotes": "Notes",
"widgetAgentActivityEmpty": "Aucune activité d'agent sur les 48 dernières heures.",
"widgetPinnedEmpty": "Aucune note épinglée pour l'instant.",
"widgetActivityHint": "Notes modifiées sur les 90 derniers jours.",
"widgetUsageHint": "Consommation IA mensuelle par fonctionnalité.",
"widgetCategories": {
"essential": "Essentiels",
"paths": "Pistes & revue",
"cognition": "Carte de connaissances",
"productivity": "Productivité",
"agents": "IA & agents"
},
"widgets": {
"capture": "Capture rapide",
"resume": "Reprendre ici",
"intelligence": "L'IA a trouvé",
"reminders": "Rappels",
"mind-map": "Carte mentale",
"agents": "Recherches suggérées",
"sentiment": "Analyse émotionnelle",
"inbox": "Inbox",
"revision": "Flashcards",
"stats": "Statistiques sémantiques",
"agent-activity": "Activité agents",
"gmail": "Captures Gmail",
"activity": "Activité d'écriture",
"pinned": "Notes épinglées",
"usage": "Quota IA",
"next-paths": "Prochaines pistes",
"daily-review": "Revue quotidienne",
"open-loops": "Boucles ouvertes",
"daily-note": "Journal du jour",
"link-suggestions": "Liens à ajouter",
"bridges": "Opportunités de pont",
"flashcards-progress": "Progression apprentissage"
},
"widgetDescriptions": {
"capture": "Saisir une pensée immédiatement dans l'inbox.",
"resume": "Reprendre vos notes les plus récentes.",
"intelligence": "Liens sémantiques, idées-ponts et découvertes d'agents.",
"reminders": "Rappels de notes à venir en un coup d'œil.",
"mind-map": "Thèmes regroupés, taille proportionnelle au volume.",
"agents": "Agents de recherche suggérés par l'IA.",
"sentiment": "Tonalité émotionnelle de vos notes cette semaine.",
"inbox": "Notes en attente de classement dans un carnet.",
"revision": "Cartes à réviser (répétition espacée).",
"stats": "Clusters, notes-ponts et total de notes indexées.",
"agent-activity": "Dernières exécutions d'agents terminées.",
"gmail": "Captures e-mail synchronisées depuis Gmail.",
"activity": "Heatmap de votre rythme d'écriture.",
"pinned": "Accès rapide à vos notes épinglées.",
"usage": "Crédits IA restants et limites mensuelles.",
"next-paths": "Prochaines étapes suggérées à partir de votre travail récent.",
"daily-review": "Checklist matinale 10 min (inbox, découvertes, un lien).",
"open-loops": "Notes commencées mais laissées en suspens.",
"daily-note": "Entrée de journal du jour.",
"link-suggestions": "Passages à lier dans votre note en cours.",
"bridges": "Liens manquants entre vos thèmes de connaissance.",
"flashcards-progress": "Rétention, série et total de cartes."
},
"pathsTitle": "Vos prochaines pistes",
"pathsFromNote": "À partir de « {title} »",
"pathsLoading": "Analyse de votre activité récente…",
"pathsEnriching": "Affinage des suggestions…",
"pathsEmpty": "Travaillez une note pour débloquer des pistes personnalisées.",
"pathCompareHint": "Également lié : {title} — ouvrez Memory Echo pour comparer.",
"pathAddLinkHint": "Pensez à lier « {link} » dans votre note.",
"dailyReviewHint": "10 min chaque matin — l'habitude qui fait composer votre second brain.",
"dailyReviewInbox": "Traiter l'inbox",
"dailyReviewDiscoveries": "Revoir les découvertes IA",
"dailyReviewConnection": "Explorer une connexion",
"dailyReviewCards": "Réviser les flashcards",
"openLoopsEmpty": "Aucune note en suspens — vous êtes à jour.",
"openLoopsStale": "il y a {days} j",
"dailyNoteOpen": "Ouvrir le journal",
"linkSuggestionsEmpty": "Modifiez une note pour obtenir des suggestions de liens.",
"bridgesEmpty": "Pas d'opportunité de pont pour l'instant.",
"flashRetention": "Maîtrisées",
"flashStreak": "Série",
"flashTotal": "Cartes",
"pathTypes": {
"continue": "Continuer",
"connect": "Lien sémantique",
"add-link": "Ajouter à la note",
"bridge": "Idée-pont",
"research": "Agent de recherche",
"explore": "Explorer le thème",
"organize": "Organiser",
"review": "Réviser",
"resurface": "Resurfacer",
"daily": "Journal"
},
"widgetHelpLabel": "Aide du widget",
"widgetHelpClose": "Fermer",
"sentimentDominant": "Tonalité dominante cette semaine",
"widgetHelp": {
"capture": "Saisissez une pensée en une ligne. Elle arrive dans l'Inbox — classez-la lors de votre revue quotidienne.",
"next-paths": "Prochaines étapes suggérées à partir de votre dernière note : reprendre, lier, créer un pont ou lancer une recherche.",
"resume": "Vos notes les plus récemment modifiées. Reprenez là où vous vous êtes arrêté.",
"intelligence": "Découvertes IA : liens sémantiques, idées-ponts et résultats d'agents.",
"reminders": "Rappels de notes à venir. Vide quand tout est à jour.",
"mind-map": "Thèmes regroupés, taille proportionnelle au volume de notes. Cliquez pour explorer dans Insights.",
"agents": "Agents de recherche suggérés par l'IA pour vos sujets récurrents.",
"sentiment": "Tonalité émotionnelle des notes modifiées sur les 7 derniers jours. Nécessite au moins 3 notes récentes et l'IA activée.",
"inbox": "Notes sans carnet. Classez-les pour garder un second brain ordonné.",
"revision": "Cartes flashcards à réviser aujourd'hui (répétition espacée).",
"stats": "Statistiques de l'index sémantique : thèmes, notes-ponts, total indexé.",
"agent-activity": "Agents ayant terminé une exécution dans les 48 dernières heures.",
"gmail": "Captures e-mail synchronisées depuis l'intégration Gmail.",
"activity": "Heatmap des notes modifiées sur les 90 derniers jours.",
"pinned": "Accès rapide à vos notes épinglées.",
"usage": "Consommation mensuelle des crédits IA par fonctionnalité.",
"daily-review": "Checklist matinale 10 min : inbox, découvertes, une connexion, flashcards.",
"open-loops": "Notes commencées mais sans modification depuis 3+ jours.",
"daily-note": "Entrée de journal du jour — une note par jour.",
"link-suggestions": "Passages d'autres notes à lier dans votre travail en cours.",
"bridges": "Suggestions IA pour relier deux thèmes distincts par une note-pont.",
"flashcards-progress": "Taux de rétention, série de révisions et total de cartes."
},
"pathActions": {
"continue": "Reprendre",
"compare": "Comparer",
"addLink": "Ouvrir & lier",
"openInsight": "Explorer",
"createBridge": "Créer le pont",
"createAgent": "Lancer l'agent",
"exploreTheme": "Voir les thèmes",
"organizeInbox": "Ouvrir l'inbox",
"reviewCards": "Réviser",
"openDaily": "Ouvrir le journal"
},
"gmailCaptures": "Captures Gmail",
"gmailConnect": "Connecter Gmail",
"gmailRecent": "{count} cette semaine",
"aiConsentRequired": "Activez l'IA pour découvrir les connexions entre vos notes.",
"aiProviderUnavailable": "L'IA est temporairement indisponible. Vérifiez la configuration du fournisseur.",
"memoryEchoDisabled": "Memory Echo est désactivé dans vos paramètres IA.",
"enableAi": "Activer l'IA",
"analyzeNotes": "Analyser mes notes",
"echoFound": "Nouvelle connexion trouvée !",
"echoNone": "Pas de nouvelle connexion pour l'instant. Réessayez plus tard.",
"echoFailed": "Échec de l'analyse",
"alreadySeen": "vu",
"dismissConnection": "Ignorer cette connexion",
"loading": "…",
"emotions": {
"focused": "Concentré",
"curious": "Curieux",
"enthusiastic": "Enthousiaste",
"frustrated": "Frustré",
"calm": "Calme",
"anxious": "Anxieux",
"creative": "Créatif",
"reflective": "Réfléchi"
}
},
"editor": {
"voiceStart": "Dicter du texte (microphone)",
"voiceStop": "Arrêter la dictée"
"voiceStop": "Arrêter la dictée",
"backlinks": "Liens entrants",
"clickToEdit": "Cliquez pour éditer",
"bold": "Gras",
"italic": "Italique",
"highlight": "Surligner",
"link": "Lien",
"bulletList": "Liste à puces",
"taskList": "Liste de tâches",
"heading": "Titre",
"codeBlock": "Bloc de code",
"plus": "Plus"
},
"wizard": {
"title": "Créer un carnet avec l'IA",
@@ -3937,28 +4322,148 @@
"published": "Site publié !",
"openSite": "Ouvrir le site",
"updateSite": "Mettre à jour le site",
"unpublish": "Dépublier le site"
"unpublish": "Dépublier le site",
"selectAtLeastOne": "Sélectionne au moins une note",
"unpublished": "Site dépublié",
"online": "Site en ligne",
"unpublishing": "Dépublication en cours…"
},
"searchModal": {
"search_ariaLabel": "Recherche",
"search_placeholder": "Rechercher dans toutes vos notes…",
"search_caseSensitive": "Respecter la casse",
"search_regexMode": "Mode regex",
"search_trashIncluded": "Corbeille incluse",
"search_openInEditor": "Ouvrir dans l'éditeur",
"search_title": "Memento Search",
"search_favorites": "Favoris :",
"search_searching": "Recherche en cours…",
"search_noResults": "Aucun résultat",
"search_typeToSearch": "Tapez pour rechercher",
"search_aiAnalysis": "Analyse...",
"search_aiResponse": "Réponse IA",
"search_resultsSummary": "Synthèse des résultats...",
"search_documentPreview": "Aperçu du document",
"search_noMatch": "Aucune note ne correspond.",
"search_typeForResults": "Tapez pour obtenir des résultats instantanés.",
"search_hintNavigate": "naviguer",
"search_hintOpen": "ouvrir",
"search_hintClose": "fermer"
"ariaLabel": "Recherche",
"placeholder": "Rechercher dans toutes les notes…",
"caseSensitive": "Sensible à la casse",
"regexMode": "Mode regex",
"trashIncluded": "Corbeille incluse",
"openInEditor": "Ouvrir dans l'éditeur",
"title": "Recherche Memento",
"favorites": "Favoris :",
"searching": "Recherche en cours…",
"noResults": "Aucun résultat",
"typeToSearch": "Tapez pour rechercher",
"aiAnalysis": "Analyse en cours…",
"aiResponse": "Réponse IA",
"resultsSummary": "Synthèse des résultats",
"documentPreview": "Aperçu du document",
"noMatch": "Aucune note ne correspond à votre recherche.",
"typeForResults": "Tapez pour des résultats instantanés.",
"hintNavigate": "naviguer",
"hintOpen": "ouvrir",
"hintClose": "fermer"
},
"mobile": {
"aiNote": "IA Note",
"blockActions": "Actions sur le bloc",
"convertFormat": "Convertir le format",
"delete": "Supprimer",
"duplicate": "Dupliquer",
"paragraph": "Paragraphe",
"quote": "Citation",
"selectAll": "Sélectionner tout"
},
"clusters": {
"empty": "Aucun groupe à afficher",
"emptyHint": "Créez plus de notes pour générer des groupes",
"bridgeNote": "Note pont",
"regularNote": "Note standard",
"notes": "notes"
},
"bridgeNotes": {
"bridges": "Ponts",
"suggestions": "Suggestions",
"powerfulTitle": "Notes pont puissantes",
"score": "Score",
"empty": "Aucune note pont significative trouvée. Approfondissez vos recherches pour découvrir de nouvelles connexions.",
"missingLinks": "Liens manquants (générés par l'IA)",
"bridging": "Relie",
"dismiss": "Rejeter la suggestion",
"noSuggestions": "Aucune suggestion de connexion",
"allConnected": "Tous vos groupes sont peut-être déjà connectés !",
"generate": "Générer des suggestions"
},
"chart": {
"code": "Code du graphique",
"invalid": "Graphique invalide",
"invalidDescription": "Ce bloc de graphique contient des données invalides ou vides.",
"editSource": "Modifier le code source",
"suggestions": "Suggestions de graphiques",
"analyzing": "Analyse de votre contenu pour des données graphiques…",
"debugInfo": "Infos de débogage",
"escCancel": "Échap Annuler",
"insertFailed": "Échec de l'insertion du graphique : ",
"noDataDetected": "Aucune donnée détectée",
"noDataHint": "Essayez d'ajouter des données numériques à votre note. Les graphiques fonctionnent mieux avec :",
"dataHint1": "• Chiffres de vente, métriques ou mesures",
"dataHint2": "• Listes avec valeurs (ex. « Jan : 5000, Fév : 7500 »)",
"dataHint3": "• Pourcentages ou proportions",
"dataHint4": "• Données temporelles",
"debugShowAnalyzed": "Débogage : voir ce qui a été analysé",
"navigateHint": "← → Naviguer",
"selectHint": "↵ Sélectionner",
"dataPoints": "points de données",
"analyzingSelection": "sélection",
"analyzingNote": "note",
"words": "mots",
"found": "Trouvé"
},
"byok": {
"loadError": "Erreur de chargement",
"updated": "{{name}} mis à jour ✓",
"testHint": "Pour tester, entrez la clé API…",
"aliasPlaceholder": "ex. Ma clé pro",
"choose": "Choisir…",
"keyPlaceholder": "sk-… (optionnel)",
"keyValid": "Clé API valide ✓",
"verifyError": "Erreur de vérification",
"keySaved": "Clé {{name}} enregistrée ✓",
"keyDeleted": "Clé supprimée",
"noActiveKey": "Aucune clé active — utilisation des quotas Memento",
"savedKeys": "Clés enregistrées",
"chooseProvider": "Choisir un fournisseur…",
"apiKey": "Clé API",
"fetchingModels": "Récupération des modèles…",
"chooseModel": "Choisir un modèle…",
"editLabel": "Modifier — {{name}}",
"aliasLabel": "Alias",
"apiUrl": "URL de l'API",
"model": "Modèle",
"newKey": "Nouvelle clé API",
"newKeyHint": "(laisser vide pour conserver l'actuelle)",
"operational": "✓ Opérationnel",
"test": "Tester",
"saveChanges": "Enregistrer les modifications",
"contactError": "Impossible de contacter le serveur",
"baseUrlRequired": "Veuillez renseigner l'URL de l'API",
"keyInvalid": "Clé API invalide",
"byokActive": "BYOK actif",
"activeStatus": "● Actif",
"inactiveStatus": "○ Inactif",
"confirmDelete": "Supprimer la clé {{name}} ?",
"addOrReplace": "Ajouter / remplacer une clé",
"connectProvider": "Connecter votre fournisseur IA",
"optional": "(optionnel)",
"verify": "Vérifier",
"modelOperational": "Modèle opérationnel ✓",
"reply": "Réponse :",
"testFailed": "Échec du test",
"save": "Enregistrer",
"saveWithName": "Enregistrer — {{name}}"
},
"blockPicker": {
"searchPlaceholder": "Rechercher un extrait de note…"
},
"errors": {
"network": "Erreur réseau"
},
"pdf": {
"exportError": "Erreur export PDF"
},
"report": {
"explainProblem": "Expliquez le problème…"
},
"publish": {
"defaultTitle": "Note publiée",
"tagline": "Votre mémoire augmentée par l'IA",
"aiSheet": "Fiche générée par IA",
"publishedOn": "Publié sur"
}
}