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" = "Maggior contributore";
"Update Check-in" = "Aggiorna check-in";
"Completed %@" = "Completato %@";
// MARK: - Missing keys added (1.3.x)
"Checking…" = "Verifica…";
"Clear Filters" = "Cancella filtri";
"Force Upload to iCloud" = "Forza caricamento su iCloud";
"No export yet" = "Nessun export ancora";
"Not synced yet" = "Non ancora sincronizzato";
"Refresh" = "Aggiorna";
"Search sources" = "Cerca fonti";
"Syncing with iCloud..." = "Sincronizzazione con iCloud...";
"Uploading..." = "Caricamento...";
"Verify iCloud Setup" = "Verifica configurazione iCloud";
"add_source_name_footer" = "Una fonte è qualsiasi investimento che vuoi monitorare: azioni, ETF, conti di risparmio, immobili, crypto e altro.";
"add_source_name_placeholder" = "es. ETF MSCI World, Conto deposito, Appartamento...";
"categories_empty" = "Nessuna categoria ancora.";
"category_has_sources_warning" = "Non è possibile eliminare una categoria che ha fonti. Rimuovi o riassegna prima tutte le fonti.";
"category_name_placeholder" = "es. Fondo di emergenza";
"chart_yoy_empty" = "Aggiungi più snapshot in anni diversi per vedere il confronto.";
"chart_yoy_title" = "Anno su anno";
"checking_icloud" = "Verifica iCloud...";
"contributions_vs_returns_invested" = "Investito";
"contributions_vs_returns_returns" = "Rendimento di mercato";
"contributions_vs_returns_title" = "Investito vs. Rendimento";
"csv_enter_value" = "Inserisci valore";
"csv_field_category" = "Categoria";
"csv_field_contribution" = "Contributo";
"csv_field_date" = "Data";
"csv_field_notes" = "Note";
"csv_field_source" = "Nome fonte (obbligatorio)";
"csv_field_value" = "Valore (obbligatorio)";
"csv_mapping_subtitle" = "Associa le colonne CSV ai campi di Portfolio Journal";
"csv_no_column" = "— Non mappato —";
"csv_no_date_hint" = "Tutte le righe saranno importate come snapshot di oggi.";
"csv_optional_section" = "Campi opzionali";
"csv_preview_section" = "Anteprima CSV";
"csv_required_section" = "Campi obbligatori";
"csv_use_today" = "Usa la data di oggi";
"goal_achieved_notification_body" = "Hai raggiunto il tuo obiettivo: %@";
"goal_achieved_notification_title" = "Obiettivo raggiunto! 🎉";
"goal_archive" = "Archivia";
"goal_delete_confirm" = "Elimina";
"goal_delete_message" = "Questo obiettivo sarà eliminato definitivamente. Questa azione non può essere annullata.";
"goal_delete_title" = "Elimina obiettivo";
"goal_unarchive" = "Ripristina";
"goals_all_active_achieved" = "Tutti gli obiettivi attivi sono stati raggiunti.";
"goals_empty_archived" = "Nessun obiettivo archiviato.";
"goals_filter_active" = "Attivi";
"goals_filter_all" = "Tutti";
"goals_filter_archived" = "Archiviati";
"icloud_check_description" = "Se hai dati su un altro dispositivo, abilita iCloud per ripristinarli qui.";
"icloud_check_title" = "Usi già Portfolio Journal?";
"icloud_enabled_description" = "Chiudi l'app e riaprila. I tuoi dati si caricheranno automaticamente da iCloud.";
"icloud_enabled_title" = "iCloud abilitato";
"monthly_checkin_notification_body" = "Registra i valori di questo mese e monitora la crescita del tuo portafoglio.";
"monthly_checkin_notification_title" = "È ora del tuo aggiornamento mensile";
"onboarding_add_first_source" = "Aggiungi il mio primo investimento";
"onboarding_import_data" = "Importa dati esistenti";
"onboarding_quickstart_subtitle" = "Aggiungi la tua prima fonte di investimento per iniziare a monitorare il portafoglio.";
"onboarding_quickstart_title" = "Quasi pronto";
"reengagement_body" = "Pochi minuti bastano per tenere sotto controllo i tuoi investimenti.";
"reengagement_title" = "Il tuo portafoglio ti aspetta";
"snapshot_duplicate_add" = "Aggiungi comunque";
"snapshot_duplicate_message" = "Hai già uno snapshot per questo mese. Vuoi aggiungerne un altro?";
"snapshot_duplicate_replace" = "Sostituisci esistente";
"snapshot_duplicate_title" = "Snapshot già esistente";
"sources_filter_all" = "Tutte";
// MARK: - 1.4.0 Features
"monthly_summary_notification_title" = "Il tuo riepilogo mensile del portafoglio";
"monthly_summary_notification_body" = "Controlla come hanno performato i tuoi investimenti questo mese.";
"streak_badge" = "Serie di %d mesi";
"goals_empty_add_cta" = "Aggiungi il mio primo obiettivo";
"journal_empty_title" = "Nessun registro ancora";
"journal_empty_body" = "Gli aggiornamenti degli snapshot creano automaticamente voci mensili. Aggiungi la tua prima fonte per iniziare.";
"quick_update_title" = "Aggiornamento rapido";
"quick_update_section_header" = "Inserisci i valori correnti";
"quick_update_section_footer" = "Verranno aggiornate solo le fonti con un valore inserito.";
"quick_update_placeholder" = "Nuovo valore";
"quick_update_save" = "Salva tutto";
"quick_update_no_sources" = "Nessuna fonte";
"quick_update_no_sources_body" = "Aggiungi prima fonti di investimento per usare l'aggiornamento rapido.";
"update_available_title" = "Aggiornamento disponibile";
"update_available_body" = "La versione %@ è disponibile sull'App Store.";
"whats_new_title" = "Novità in 1.4";
"whats_new_subtitle" = "Miglioramenti per aiutarti a restare in carreggiata.";
"whats_new_quick_update_title" = "Aggiornamento rapido del portafoglio";
"whats_new_quick_update_body" = "Aggiorna tutte le tue fonti da un'unica schermata con un tocco.";
"whats_new_streak_title" = "Serie di aggiornamenti";
"whats_new_streak_body" = "Tieni traccia di quanti mesi consecutivi hai tenuto aggiornato il tuo portafoglio.";
"whats_new_goals_title" = "Obiettivi e diario più intelligenti";
"whats_new_goals_body" = "Gli stati vuoti migliorati ti aiutano a iniziare più velocemente.";
"whats_new_continue" = "Iniziamo!";