1.5.0: aviso de huecos + resumen mensual compartible + import con vista previa
Feature 1 — Aviso de huecos: SnapshotGapDetector detecta huecos internos por source (meses sin datos entre dos snapshots). Banner desechable en Dashboard + DataGapsSheet para rellenar (abre AddSnapshotView con el mes que falta). Complementa la interpolación de gráficas: la línea se ve suave pero el usuario sabe que faltan datos reales. Feature 2 — Resumen mensual compartible: MonthlySummaryShareView (tarjeta con marca: valor, variación desde el check-in, racha, mood/rating) renderizada con ImageRenderer y compartida vía ShareService. Botón en la fila "check-in done" del Dashboard. Feature 3 — Import con vista previa: ImportPreview + previewImportAsync (dry-run READ-ONLY, no muta nada) cuenta qué se creará/actualizará usando los mismos checks de existencia que applyImport. ImportDataView muestra la confirmación antes de importar. El path real de import (applyImport/importDataAsync) NO se toca. Localización en los 7 idiomas. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01L2p3gUZRNWW388rWFRjiU7
This commit is contained in:
@@ -564,3 +564,34 @@
|
||||
"icloud_diagnostics_copied" = "Diagnose in Zwischenablage kopiert";
|
||||
|
||||
"Smooth Gaps in Charts" = "Lücken in Diagrammen glätten";
|
||||
|
||||
// MARK: - Data Gaps (1.5.0)
|
||||
"gaps_banner_title" = "Für %d Monate fehlen Daten";
|
||||
"gaps_missing_count" = "%d fehlen";
|
||||
"gaps_range_between" = "Zwischen %@ und %@";
|
||||
"Fill in missing data" = "Fehlende Daten ergänzen";
|
||||
"Missing Data" = "Fehlende Daten";
|
||||
"Fill Gap" = "Lücke füllen";
|
||||
"The chart estimates these months. Add real snapshots to keep your history accurate." = "Das Diagramm schätzt diese Monate. Füge echte Werte hinzu, damit dein Verlauf genau bleibt.";
|
||||
"Dismiss" = "Ausblenden";
|
||||
|
||||
// MARK: - Shareable Monthly Summary (1.5.0)
|
||||
"share_summary_streak_badge" = "%d Mon.";
|
||||
"Monthly Summary" = "Monatsübersicht";
|
||||
"Portfolio Value" = "Portfoliowert";
|
||||
"Tracked with" = "Erfasst mit";
|
||||
"Share monthly summary" = "Monatsübersicht teilen";
|
||||
"since last check-in" = "seit dem letzten Check-in";
|
||||
|
||||
// MARK: - Import Preview (1.5.0)
|
||||
"import_preview_nothing" = "Nichts Neues zu importieren. Deine Daten sind bereits aktuell.";
|
||||
"import_preview_sources" = "%d Quellen erstellen";
|
||||
"import_preview_snapshots_new" = "%d Einträge erstellen";
|
||||
"import_preview_snapshots_update" = "%d Einträge aktualisieren";
|
||||
"import_preview_categories" = "%d Kategorien erstellen";
|
||||
"import_preview_goals" = "%d Ziele erstellen";
|
||||
"import_preview_journal_new" = "%d Journaleinträge erstellen";
|
||||
"import_preview_journal_update" = "%d Journaleinträge aktualisieren";
|
||||
"Review Import" = "Import prüfen";
|
||||
"Reviewing import…" = "Import wird geprüft…";
|
||||
"Import" = "Importieren";
|
||||
|
||||
Reference in New Issue
Block a user