Release 1.4.0 (build 31): retención, quick update, streak, what's new

- 1A: Notificación mensual de resumen de portfolio (día 5 de cada mes)
- 1B: Badge de racha mensual en Dashboard (streak counter)
- 1C: Empty states mejorados en Goals y Journal con CTAs claros
- 2A: Quick Update sheet — actualiza todas las fuentes desde una pantalla
- 2B: Notificación batch update redirige al Quick Update sheet
- 2C: Widget deep link portfoliojournal://quickupdate abre Quick Update
- 3A: App Store version check banner en Settings
- 3C: What's New sheet en primer launch de versión nueva
- Localización completa en 7 idiomas para todas las nuevas strings

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
alexandrev-tibco
2026-05-21 23:09:36 +02:00
parent 773da6800b
commit b48a47ce10
41 changed files with 2659 additions and 483 deletions
@@ -292,3 +292,95 @@
"Best Contributor" = "Größter Beitrag";
"Update Check-in" = "Check-in aktualisieren";
"Completed %@" = "Abgeschlossen %@";
// MARK: - Missing keys added (1.3.x)
"Checking…" = "Wird geprüft…";
"Clear Filters" = "Filter löschen";
"Force Upload to iCloud" = "Zu iCloud hochladen";
"No export yet" = "Noch nicht exportiert";
"Not synced yet" = "Noch nicht synchronisiert";
"Refresh" = "Aktualisieren";
"Search sources" = "Quellen suchen";
"Syncing with iCloud..." = "Mit iCloud synchronisieren...";
"Uploading..." = "Wird hochgeladen...";
"Verify iCloud Setup" = "iCloud-Einrichtung prüfen";
"add_source_name_footer" = "Eine Quelle ist jede Investition, die du verfolgen möchtest: Aktien, ETFs, Sparkonten, Immobilien, Krypto und mehr.";
"add_source_name_placeholder" = "z.B. MSCI World ETF, Sparkonto, Wohnung...";
"categories_empty" = "Noch keine Kategorien.";
"category_has_sources_warning" = "Eine Kategorie mit Quellen kann nicht gelöscht werden. Entferne oder weise alle Quellen zuerst um.";
"category_name_placeholder" = "z.B. Notfallfonds";
"chart_yoy_empty" = "Füge Snapshots über verschiedene Jahre hinzu, um den Vergleich zu sehen.";
"chart_yoy_title" = "Jahr für Jahr";
"checking_icloud" = "iCloud wird geprüft...";
"contributions_vs_returns_invested" = "Investiert";
"contributions_vs_returns_returns" = "Marktrendite";
"contributions_vs_returns_title" = "Investiert vs. Rendite";
"csv_enter_value" = "Wert eingeben";
"csv_field_category" = "Kategorie";
"csv_field_contribution" = "Einlage";
"csv_field_date" = "Datum";
"csv_field_notes" = "Notizen";
"csv_field_source" = "Quellenname (erforderlich)";
"csv_field_value" = "Wert (erforderlich)";
"csv_mapping_subtitle" = "Ordne deine CSV-Spalten den Portfolio Journal-Feldern zu";
"csv_no_column" = "— Nicht zugeordnet —";
"csv_no_date_hint" = "Alle Zeilen werden als Snapshot für heute importiert.";
"csv_optional_section" = "Optionale Felder";
"csv_preview_section" = "CSV-Vorschau";
"csv_required_section" = "Pflichtfelder";
"csv_use_today" = "Heutiges Datum verwenden";
"goal_achieved_notification_body" = "Du hast dein Ziel erreicht: %@";
"goal_achieved_notification_title" = "Ziel erreicht! 🎉";
"goal_archive" = "Archivieren";
"goal_delete_confirm" = "Löschen";
"goal_delete_message" = "Dieses Ziel wird dauerhaft gelöscht. Diese Aktion kann nicht rückgängig gemacht werden.";
"goal_delete_title" = "Ziel löschen";
"goal_unarchive" = "Wiederherstellen";
"goals_all_active_achieved" = "Alle aktiven Ziele wurden erreicht.";
"goals_empty_archived" = "Keine archivierten Ziele.";
"goals_filter_active" = "Aktiv";
"goals_filter_all" = "Alle";
"goals_filter_archived" = "Archiviert";
"icloud_check_description" = "Wenn du Daten auf einem anderen Gerät hast, aktiviere iCloud, um sie hier wiederherzustellen.";
"icloud_check_title" = "Nutzt du Portfolio Journal bereits?";
"icloud_enabled_description" = "Schließe die App und öffne sie erneut. Deine Daten werden automatisch von iCloud geladen.";
"icloud_enabled_title" = "iCloud aktiviert";
"monthly_checkin_notification_body" = "Trage die Werte dieses Monats ein und verfolge das Wachstum deines Portfolios.";
"monthly_checkin_notification_title" = "Zeit für dein monatliches Update";
"onboarding_add_first_source" = "Meine erste Investition hinzufügen";
"onboarding_import_data" = "Vorhandene Daten importieren";
"onboarding_quickstart_subtitle" = "Füge deine erste Investitionsquelle hinzu, um dein Portfolio zu verfolgen.";
"onboarding_quickstart_title" = "Fast fertig";
"reengagement_body" = "Ein paar Minuten reichen, um deine Investitionen im Blick zu behalten.";
"reengagement_title" = "Dein Portfolio wartet";
"snapshot_duplicate_add" = "Trotzdem hinzufügen";
"snapshot_duplicate_message" = "Du hast bereits einen Snapshot für diesen Monat. Möchtest du einen weiteren hinzufügen?";
"snapshot_duplicate_replace" = "Vorhandenen ersetzen";
"snapshot_duplicate_title" = "Snapshot bereits vorhanden";
"sources_filter_all" = "Alle";
// MARK: - 1.4.0 Features
"monthly_summary_notification_title" = "Deine monatliche Portfolio-Zusammenfassung";
"monthly_summary_notification_body" = "Sieh nach, wie deine Investitionen diesen Monat abgeschnitten haben.";
"streak_badge" = "%d-Monats-Serie";
"goals_empty_add_cta" = "Mein erstes Ziel hinzufügen";
"journal_empty_title" = "Noch keine Einträge";
"journal_empty_body" = "Snapshot-Aktualisierungen erstellen automatisch monatliche Einträge. Füge deine erste Quelle hinzu, um zu beginnen.";
"quick_update_title" = "Schnellaktualisierung";
"quick_update_section_header" = "Aktuelle Werte eingeben";
"quick_update_section_footer" = "Es werden nur Quellen aktualisiert, für die ein Wert eingegeben wurde.";
"quick_update_placeholder" = "Neuer Wert";
"quick_update_save" = "Alle speichern";
"quick_update_no_sources" = "Keine Quellen";
"quick_update_no_sources_body" = "Füge zuerst Investitionsquellen hinzu, um die Schnellaktualisierung zu nutzen.";
"update_available_title" = "Update verfügbar";
"update_available_body" = "Version %@ ist im App Store verfügbar.";
"whats_new_title" = "Neuheiten in 1.4";
"whats_new_subtitle" = "Verbesserungen, die dir helfen, auf Kurs zu bleiben.";
"whats_new_quick_update_title" = "Schnelles Portfolio-Update";
"whats_new_quick_update_body" = "Aktualisiere alle deine Quellen mit einem Tippen auf einem einzigen Bildschirm.";
"whats_new_streak_title" = "Update-Serie";
"whats_new_streak_body" = "Verfolge, wie viele Monate du dein Portfolio in Folge aktuell gehalten hast.";
"whats_new_goals_title" = "Intelligentere Ziele & Journal";
"whats_new_goals_body" = "Verbesserte Leerzustände helfen dir, schneller zu starten.";
"whats_new_continue" = "Los geht's";