feat(insights): UX gap closure — i18n, network graph, recalc panel, toasts
Some checks failed
CI / Lint, Unit Tests & Build (push) Failing after 1m6s
CI / Deploy production (on server) (push) Has been skipped

Bugs fixes:
- network-graph.tsx: 2 strings hardcoded FR → props i18n (untitledLabel, resetFocusLabel)
- Panneau recalcul: clés i18n réutilisées avec mauvais sens → nouvelles clés recalcSystem.*
- 13 locales: section insightsView.* complète (67 clés × 13 = 871 traductions)

UX features:
- Hint /insights ≠ /graph (semanticGraphLegend + lien vers /graph)
- Toasts succès/échec/zéro-clusters après analyse (analysisSuccess/Failed/NoClusters)
- État vide différencié: emptyNeedMoreNotes si < 10 notes
- Tips contextuels sections Bridge Notes et Suggestions

Sprint:
- 4 epics marqués done (3,4,5,6 — toutes stories terminées)
- sprint-status.yaml last_updated corrigé
This commit is contained in:
Antigravity
2026-06-28 08:06:05 +00:00
parent 96e7902f01
commit b3fb46fc52
23 changed files with 1301 additions and 23 deletions

View File

@@ -2959,5 +2959,88 @@
"copyRefFailed": "Could not copy block reference",
"copyRefNoNote": "Save the note before copying a block reference",
"copyRefUnsupported": "This block type cannot be referenced yet"
},
"insightsView": {
"title": "بینش‌های معنایی",
"subtitle": "معماری پنهان دانش خود را کشف کنید",
"resync": "همگام‌سازی مجدد شبکه",
"mapping": "در حال نقشه‌برداری…",
"loading": "در حال بارگذاری یادداشت‌ها…",
"mappingTitle": "در حال نقشه‌برداری دانش شما…",
"mappingHint": "This can take one to three minutes. You can keep browsing; the page will update when it's done.",
"analyzeNow": "شروع تحلیل معنایی",
"emptyNeedMoreNotes": "Add {count} more notes to unlock semantic clustering (minimum 10).",
"embeddingsHint": "فقط {indexed} از {total} یادداشت برای هوش مصنوعی نمایه‌سازی شده‌اند.",
"vsGraphHint": "This is not the same as “Link map” (network icon in the sidebar): here, AI groups your notes by theme.",
"openGraphMap": "باز کردن نقشه پیوندها",
"analysisFailed": "تحلیل ناموفق. تنظیمات هوش مصنوعی را بررسی کنید.",
"analysisSuccess": "تحلیل کامل شد: {count} موضوع شناسایی شد.",
"analysisNoClusters": "هنوز موضوعی شناسایی نشده است.",
"staleResults": "نمایش نتایج آخرین تحلیل.",
"semanticGraphLegend": "نمای کلی موضوعات (نه نقشه پیوندها)",
"fitGraphView": "تنظیم نما",
"graphPreviewHint": "Theme overview: the number is how many notes belong here. Hover a dot for the title, click to open. Full list on the right.",
"graphMoreNotes": "+{count} more in this theme",
"graphNotesLabel": "یادداشت",
"clusterFallback": "موضوع {index}",
"unclusteredNotes": "{count} notes not assigned to a theme (hidden from graph).",
"emptyTitle": "کلاسترهای دانش خود را کشف کنید",
"emptyDescription": "Click \"Re-sync network\" to analyze your notes and find hidden connections",
"stats": {
"clusters": "کلاسترها",
"bridgeNotes": "یادداشت‌های پل"
},
"clusters": {
"title": "Semantic clusters",
"notesCount": "{count} notes",
"centralNotes": "Central notes",
"emptyCluster": "No notes in this cluster"
},
"bridgeNotes": {
"title": "Powerful bridge notes",
"score": "امتیاز: {score}%",
"empty": "No significant bridge notes yet. Deepen your research to find new connections."
},
"suggestions": {
"title": "Missing links (AI generated)",
"bridging": "اتصال {clusterA} و {clusterB}",
"emptyTitle": "بدون پیشنهاد",
"emptyDescription": "All your clusters may already be connected!",
"createNote": "ایجاد یادداشت پل"
},
"unknownNote": "بدون عنوان",
"viewSplit": "Split",
"viewGraph": "گراف",
"viewDashboard": "داشبورد",
"isolatedClusters": {
"title": "Isolated clusters ({count})",
"badge": "متصل نیست",
"empty": "همه کلاسترها به هم متصل‌اند!"
},
"focusCluster": {
"title": "تمرکز روی کلاستر فعال",
"description": "This thematic cluster gathers {count} complementary notes. Click on a note to access it directly:",
"close": "بستن"
},
"badgeDominant": "Dominant",
"bridgeCount": "پل",
"echoTitle": "You keep returning to this idea",
"tipClusters": "AI grouped your notes by semantic affinity — regardless of which notebook they're in. Each theme represents a subject your mind keeps returning to.",
"tipClustersAction": "Click a theme to see its notes. Click a note to open it.",
"tipBridgeNotes": "These notes speak to two different themes at once. They reveal where your thinking crosses boundaries — often where the most original ideas hide.",
"tipBridgeNotesAction": "Click a note to open it and understand the connection.",
"tipEcho": "Memory Echo detects two notes written at very different times that cover the same idea. Your mind revisited a thought without realising it.",
"tipEchoAction": "Two notes, same idea, different moments. Click to explore.",
"tipSuggestions": "These themes have no note linking them yet. AI proposes a starting idea. Click 'Create bridge note' to write it and open it in the editor.",
"tipSuggestionsAction": "Click 'Create bridge note' to write the note and open it immediately.",
"tipIsolated": "These themes are isolated: no note connects them to the others. Maybe you're exploring a fragile idea? One synthesis note would be enough to create the link.",
"tipIsolatedAction": "These themes have no note connecting them to the rest of your thinking.",
"recalcSystem": {
"title": "سیستم محاسبه مجدد",
"statusSynced": "همگام‌شده",
"scheduledCron": "برنامه‌ریزی‌شده",
"lastSync": "آخرین همگام‌سازی"
},
"resetFocus": "بازنشانی تمرکز"
}
}