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";
@@ -315,3 +315,80 @@
// MARK: - AddSourceView (1.3.0)
"add_source_name_placeholder" = "e.g. MSCI World ETF, ING Savings, Apartment...";
"add_source_name_footer" = "A source is any investment you want to track: stocks, ETFs, savings accounts, real estate, crypto, and more.";
// MARK: - Goals Archive (1.3.2)
"goals_filter_active" = "Active";
"goals_filter_archived" = "Archived";
"goals_filter_all" = "All";
"goal_archive" = "Archive";
"goal_unarchive" = "Unarchive";
"goals_empty_archived" = "No archived goals.";
"goals_all_active_achieved" = "All active goals are achieved.";
// MARK: - Category Management (1.3.2)
"category_name_placeholder" = "e.g. Emergency Fund";
"category_has_sources_warning" = "Cannot delete a category that has sources. Remove or reassign all sources first.";
"categories_empty" = "No categories yet.";
// MARK: - CSV Column Mapping (1.3.2)
"csv_mapping_subtitle" = "Match your CSV columns to Portfolio Journal fields";
"csv_field_source" = "Source Name (required)";
"csv_field_value" = "Value (required)";
"csv_field_date" = "Date";
"csv_field_category" = "Category";
"csv_field_contribution" = "Contribution";
"csv_field_notes" = "Notes";
"csv_no_column" = "— Not mapped —";
"csv_enter_value" = "Enter value";
"csv_use_today" = "Use today's date";
"csv_no_date_hint" = "All rows will be imported as a snapshot for today.";
"csv_preview_section" = "CSV Preview";
"csv_required_section" = "Required Fields";
"csv_optional_section" = "Optional Fields";
// MARK: - 1.3.2 Features
"goal_achieved_notification_title" = "Goal achieved! 🎉";
"goal_achieved_notification_body" = "You reached your goal: %@";
"snapshot_duplicate_title" = "Snapshot Already Exists";
"snapshot_duplicate_message" = "You already have a snapshot for this month. Do you want to add another one?";
"snapshot_duplicate_replace" = "Replace Existing";
"snapshot_duplicate_add" = "Add Anyway";
"contributions_vs_returns_title" = "Invested vs. Returns";
"contributions_vs_returns_invested" = "Invested";
"contributions_vs_returns_returns" = "Market Returns";
"chart_yoy_title" = "Year over Year";
"chart_yoy_empty" = "Add more snapshots across different years to see the comparison.";
// MARK: - Goal Delete Confirmation (1.3.2)
"goal_delete_title" = "Delete Goal";
"goal_delete_message" = "This goal will be permanently deleted. This action cannot be undone.";
"goal_delete_confirm" = "Delete";
// MARK: - 1.4.0 Features
"monthly_summary_notification_title" = "Your Monthly Portfolio Summary";
"monthly_summary_notification_body" = "Check how your investments performed this month.";
"streak_badge" = "%d-month streak";
"goals_empty_add_cta" = "Add My First Goal";
"journal_empty_title" = "No check-ins yet";
"journal_empty_body" = "Snapshot updates automatically create monthly entries. Add your first source to get started.";
"quick_update_title" = "Quick Update";
"quick_update_section_header" = "Enter current values";
"quick_update_section_footer" = "Only sources with a value entered will be updated.";
"quick_update_placeholder" = "New value";
"quick_update_save" = "Save All";
"quick_update_no_sources" = "No sources";
"quick_update_no_sources_body" = "Add investment sources first to use Quick Update.";
"update_available_title" = "Update Available";
"update_available_body" = "Version %@ is ready on the App Store.";
"whats_new_title" = "What's New in 1.4";
"whats_new_subtitle" = "Improvements to help you stay on track.";
"whats_new_quick_update_title" = "Quick Portfolio Update";
"whats_new_quick_update_body" = "Update all your sources from a single screen with one tap.";
"whats_new_streak_title" = "Update Streak";
"whats_new_streak_body" = "Track how many months in a row you've kept your portfolio up to date.";
"whats_new_goals_title" = "Smarter Goals & Journal";
"whats_new_goals_body" = "Improved empty states help you get started faster.";
"whats_new_continue" = "Let's Go";
@@ -242,3 +242,97 @@
// MARK: - AddSourceView (1.3.0)
"add_source_name_placeholder" = "p.ej. ETF MSCI World, Cuenta ING, Piso...";
"add_source_name_footer" = "Una fuente es cualquier inversión que quieras seguir: acciones, ETFs, cuentas de ahorro, inmuebles, cripto y más.";
// MARK: - Goals Archive (1.3.2)
"goals_filter_active" = "Activos";
"goals_filter_archived" = "Archivados";
"goals_filter_all" = "Todos";
"goal_archive" = "Archivar";
"goal_unarchive" = "Restaurar";
"goals_empty_archived" = "Sin objetivos archivados.";
"goals_all_active_achieved" = "Todos los objetivos activos están logrados.";
// MARK: - Category Management (1.3.2)
"category_name_placeholder" = "p.ej. Fondo de emergencia";
"category_has_sources_warning" = "No se puede eliminar una categoría que tiene fuentes. Elimina o reasigna todas las fuentes primero.";
"categories_empty" = "Sin categorías aún.";
// MARK: - CSV Column Mapping (1.3.2)
"csv_mapping_subtitle" = "Relaciona tus columnas CSV con los campos de Portfolio Journal";
"csv_field_source" = "Nombre de fuente (obligatorio)";
"csv_field_value" = "Valor (obligatorio)";
"csv_field_date" = "Fecha";
"csv_field_category" = "Categoría";
"csv_field_contribution" = "Aportación";
"csv_field_notes" = "Notas";
"csv_no_column" = "— Sin mapear —";
"csv_enter_value" = "Valor fijo";
"csv_use_today" = "Fecha de hoy";
"csv_no_date_hint" = "Todas las filas se importarán como un snapshot de hoy.";
"csv_preview_section" = "Vista previa CSV";
"csv_required_section" = "Campos obligatorios";
"csv_optional_section" = "Campos opcionales";
// MARK: - Category Management SwiftUI literals (1.3.2)
"Categories" = "Categorías";
"Add Category" = "Añadir categoría";
"Edit Category" = "Editar categoría";
"Category Name" = "Nombre de categoría";
"Color" = "Color";
"Icon" = "Icono";
"Map Columns" = "Mapear columnas";
"Has Header Row" = "Tiene fila de encabezado";
"Required" = "Obligatorios";
"Optional" = "Opcionales";
"Preview" = "Vista previa";
"Any CSV" = "Cualquier CSV";
// MARK: - 1.3.2 Features
"goal_achieved_notification_title" = "¡Objetivo alcanzado! 🎉";
"goal_achieved_notification_body" = "Has alcanzado tu objetivo: %@";
"snapshot_duplicate_title" = "Ya existe un snapshot";
"snapshot_duplicate_message" = "Ya tienes un snapshot para este mes. ¿Quieres añadir otro?";
"snapshot_duplicate_replace" = "Reemplazar existente";
"snapshot_duplicate_add" = "Añadir de todos modos";
"contributions_vs_returns_title" = "Invertido vs. Rentabilidad";
"contributions_vs_returns_invested" = "Invertido";
"contributions_vs_returns_returns" = "Rentabilidad de mercado";
"chart_yoy_title" = "Año a año";
"chart_yoy_empty" = "Añade más snapshots en diferentes años para ver la comparación.";
"Year vs Year" = "Año a año";
// MARK: - Goal Delete Confirmation (1.3.2)
"goal_delete_title" = "Eliminar objetivo";
"goal_delete_message" = "Este objetivo se eliminará permanentemente. Esta acción no se puede deshacer.";
"goal_delete_confirm" = "Eliminar";
// MARK: - 1.4.0 Features
"monthly_summary_notification_title" = "Tu resumen mensual del portfolio";
"monthly_summary_notification_body" = "Comprueba cómo han rendido tus inversiones este mes.";
"streak_badge" = "Racha de %d meses";
"goals_empty_add_cta" = "Añadir mi primer objetivo";
"journal_empty_title" = "Sin registros aún";
"journal_empty_body" = "Las actualizaciones de snapshots crean entradas mensuales automáticamente. Añade tu primera fuente para empezar.";
"quick_update_title" = "Actualización rápida";
"quick_update_section_header" = "Introduce los valores actuales";
"quick_update_section_footer" = "Solo se actualizarán las fuentes con un valor introducido.";
"quick_update_placeholder" = "Nuevo valor";
"quick_update_save" = "Guardar todo";
"quick_update_no_sources" = "Sin fuentes";
"quick_update_no_sources_body" = "Añade fuentes de inversión primero para usar la actualización rápida.";
"update_available_title" = "Actualización disponible";
"update_available_body" = "La versión %@ está disponible en el App Store.";
"whats_new_title" = "Novedades en 1.4";
"whats_new_subtitle" = "Mejoras para ayudarte a mantener el rumbo.";
"whats_new_quick_update_title" = "Actualización rápida del portfolio";
"whats_new_quick_update_body" = "Actualiza todas tus fuentes desde una sola pantalla con un toque.";
"whats_new_streak_title" = "Racha de actualizaciones";
"whats_new_streak_body" = "Sigue cuántos meses consecutivos has mantenido tu portfolio al día.";
"whats_new_goals_title" = "Objetivos y diario más inteligentes";
"whats_new_goals_body" = "Los estados vacíos mejorados te ayudan a empezar más rápido.";
"whats_new_continue" = "¡Vamos!";
"goal_delete_confirm" = "Eliminar";
@@ -292,3 +292,95 @@
"Best Contributor" = "Meilleur contributeur";
"Update Check-in" = "Mettre à jour le check-in";
"Completed %@" = "Terminé %@";
// MARK: - Missing keys added (1.3.x)
"Checking…" = "Vérification…";
"Clear Filters" = "Effacer les filtres";
"Force Upload to iCloud" = "Forcer l'envoi vers iCloud";
"No export yet" = "Pas encore exporté";
"Not synced yet" = "Pas encore synchronisé";
"Refresh" = "Actualiser";
"Search sources" = "Rechercher des sources";
"Syncing with iCloud..." = "Synchronisation avec iCloud...";
"Uploading..." = "Envoi en cours...";
"Verify iCloud Setup" = "Vérifier la configuration iCloud";
"add_source_name_footer" = "Une source est tout investissement que vous souhaitez suivre : actions, ETFs, comptes d'épargne, immobilier, crypto et plus.";
"add_source_name_placeholder" = "ex. ETF MSCI World, Livret A, Appartement...";
"categories_empty" = "Aucune catégorie pour l'instant.";
"category_has_sources_warning" = "Impossible de supprimer une catégorie qui contient des sources. Supprimez ou réaffectez d'abord toutes les sources.";
"category_name_placeholder" = "ex. Fonds d'urgence";
"chart_yoy_empty" = "Ajoutez plus de snapshots sur différentes années pour voir la comparaison.";
"chart_yoy_title" = "Année par année";
"checking_icloud" = "Vérification d'iCloud...";
"contributions_vs_returns_invested" = "Investi";
"contributions_vs_returns_returns" = "Rendement du marché";
"contributions_vs_returns_title" = "Investi vs. Rendement";
"csv_enter_value" = "Saisir une valeur";
"csv_field_category" = "Catégorie";
"csv_field_contribution" = "Contribution";
"csv_field_date" = "Date";
"csv_field_notes" = "Notes";
"csv_field_source" = "Nom de la source (requis)";
"csv_field_value" = "Valeur (requise)";
"csv_mapping_subtitle" = "Associez vos colonnes CSV aux champs de Portfolio Journal";
"csv_no_column" = "— Non mappé —";
"csv_no_date_hint" = "Toutes les lignes seront importées comme un snapshot d'aujourd'hui.";
"csv_optional_section" = "Champs optionnels";
"csv_preview_section" = "Aperçu CSV";
"csv_required_section" = "Champs obligatoires";
"csv_use_today" = "Utiliser la date du jour";
"goal_achieved_notification_body" = "Vous avez atteint votre objectif : %@";
"goal_achieved_notification_title" = "Objectif atteint ! 🎉";
"goal_archive" = "Archiver";
"goal_delete_confirm" = "Supprimer";
"goal_delete_message" = "Cet objectif sera définitivement supprimé. Cette action est irréversible.";
"goal_delete_title" = "Supprimer l'objectif";
"goal_unarchive" = "Restaurer";
"goals_all_active_achieved" = "Tous les objectifs actifs sont atteints.";
"goals_empty_archived" = "Aucun objectif archivé.";
"goals_filter_active" = "Actifs";
"goals_filter_all" = "Tous";
"goals_filter_archived" = "Archivés";
"icloud_check_description" = "Si vous avez des données sur un autre appareil, activez iCloud pour les restaurer ici.";
"icloud_check_title" = "Vous utilisez déjà Portfolio Journal ?";
"icloud_enabled_description" = "Fermez l'application et rouvrez-la. Vos données se chargeront automatiquement depuis iCloud.";
"icloud_enabled_title" = "iCloud activé";
"monthly_checkin_notification_body" = "Enregistrez les valeurs de ce mois et suivez la croissance de votre portefeuille.";
"monthly_checkin_notification_title" = "C'est l'heure de votre mise à jour mensuelle";
"onboarding_add_first_source" = "Ajouter mon premier investissement";
"onboarding_import_data" = "Importer des données existantes";
"onboarding_quickstart_subtitle" = "Ajoutez votre première source d'investissement pour commencer à suivre votre portefeuille.";
"onboarding_quickstart_title" = "Presque prêt";
"reengagement_body" = "Quelques minutes suffisent pour rester au top de vos investissements.";
"reengagement_title" = "Votre portefeuille vous attend";
"snapshot_duplicate_add" = "Ajouter quand même";
"snapshot_duplicate_message" = "Vous avez déjà un snapshot pour ce mois. Voulez-vous en ajouter un autre ?";
"snapshot_duplicate_replace" = "Remplacer l'existant";
"snapshot_duplicate_title" = "Snapshot déjà existant";
"sources_filter_all" = "Toutes";
// MARK: - 1.4.0 Features
"monthly_summary_notification_title" = "Votre résumé mensuel de portefeuille";
"monthly_summary_notification_body" = "Vérifiez comment vos investissements ont performé ce mois-ci.";
"streak_badge" = "Série de %d mois";
"goals_empty_add_cta" = "Ajouter mon premier objectif";
"journal_empty_title" = "Aucune entrée pour l'instant";
"journal_empty_body" = "Les mises à jour de snapshots créent automatiquement des entrées mensuelles. Ajoutez votre première source pour commencer.";
"quick_update_title" = "Mise à jour rapide";
"quick_update_section_header" = "Saisir les valeurs actuelles";
"quick_update_section_footer" = "Seules les sources avec une valeur saisie seront mises à jour.";
"quick_update_placeholder" = "Nouvelle valeur";
"quick_update_save" = "Tout enregistrer";
"quick_update_no_sources" = "Aucune source";
"quick_update_no_sources_body" = "Ajoutez d'abord des sources d'investissement pour utiliser la mise à jour rapide.";
"update_available_title" = "Mise à jour disponible";
"update_available_body" = "La version %@ est disponible sur l'App Store.";
"whats_new_title" = "Nouveautés dans 1.4";
"whats_new_subtitle" = "Améliorations pour vous aider à rester sur la bonne voie.";
"whats_new_quick_update_title" = "Mise à jour rapide du portefeuille";
"whats_new_quick_update_body" = "Mettez à jour toutes vos sources depuis un seul écran en un geste.";
"whats_new_streak_title" = "Série de mises à jour";
"whats_new_streak_body" = "Suivez le nombre de mois consécutifs où vous avez tenu votre portefeuille à jour.";
"whats_new_goals_title" = "Objectifs et journal plus intelligents";
"whats_new_goals_body" = "Les états vides améliorés vous aident à démarrer plus rapidement.";
"whats_new_continue" = "C'est parti !";
@@ -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!";
@@ -292,3 +292,95 @@
"Best Contributor" = "最大の貢献元";
"Update Check-in" = "チェックインを更新";
"Completed %@" = "%@ に完了";
// MARK: - Missing keys added (1.3.x)
"Checking…" = "確認中…";
"Clear Filters" = "フィルターをクリア";
"Force Upload to iCloud" = "iCloudへ強制アップロード";
"No export yet" = "まだエクスポートなし";
"Not synced yet" = "まだ同期されていません";
"Refresh" = "更新";
"Search sources" = "ソースを検索";
"Syncing with iCloud..." = "iCloudと同期中...";
"Uploading..." = "アップロード中...";
"Verify iCloud Setup" = "iCloud設定を確認";
"add_source_name_footer" = "ソースとは追跡したい投資のことです:株式、ETF、普通預金、不動産、暗号資産など。";
"add_source_name_placeholder" = "例:MSCI World ETF、普通預金、マンション...";
"categories_empty" = "カテゴリーがまだありません。";
"category_has_sources_warning" = "ソースがあるカテゴリーは削除できません。先にすべてのソースを削除または再割り当てしてください。";
"category_name_placeholder" = "例:緊急資金";
"chart_yoy_empty" = "比較を表示するには、異なる年のスナップショットを追加してください。";
"chart_yoy_title" = "年次比較";
"checking_icloud" = "iCloudを確認中...";
"contributions_vs_returns_invested" = "投資額";
"contributions_vs_returns_returns" = "市場リターン";
"contributions_vs_returns_title" = "投資額 vs. リターン";
"csv_enter_value" = "値を入力";
"csv_field_category" = "カテゴリー";
"csv_field_contribution" = "追加投資";
"csv_field_date" = "日付";
"csv_field_notes" = "メモ";
"csv_field_source" = "ソース名(必須)";
"csv_field_value" = "値(必須)";
"csv_mapping_subtitle" = "CSVの列をPortfolio Journalのフィールドに対応付けてください";
"csv_no_column" = "— 未マッピング —";
"csv_no_date_hint" = "すべての行が今日のスナップショットとしてインポートされます。";
"csv_optional_section" = "任意フィールド";
"csv_preview_section" = "CSVプレビュー";
"csv_required_section" = "必須フィールド";
"csv_use_today" = "今日の日付を使用";
"goal_achieved_notification_body" = "目標を達成しました:%@";
"goal_achieved_notification_title" = "目標達成! 🎉";
"goal_archive" = "アーカイブ";
"goal_delete_confirm" = "削除";
"goal_delete_message" = "この目標は完全に削除されます。この操作は取り消せません。";
"goal_delete_title" = "目標を削除";
"goal_unarchive" = "元に戻す";
"goals_all_active_achieved" = "すべてのアクティブな目標が達成されました。";
"goals_empty_archived" = "アーカイブされた目標はありません。";
"goals_filter_active" = "アクティブ";
"goals_filter_all" = "すべて";
"goals_filter_archived" = "アーカイブ済み";
"icloud_check_description" = "他のデバイスにデータがある場合は、iCloudを有効にしてここで復元してください。";
"icloud_check_title" = "すでにPortfolio Journalをお使いですか?";
"icloud_enabled_description" = "アプリを閉じて再度開いてください。データはiCloudから自動的に読み込まれます。";
"icloud_enabled_title" = "iCloudが有効になりました";
"monthly_checkin_notification_body" = "今月の値を記録して、ポートフォリオの成長を確認しましょう。";
"monthly_checkin_notification_title" = "月次アップデートの時間です";
"onboarding_add_first_source" = "最初の投資を追加";
"onboarding_import_data" = "既存のデータをインポート";
"onboarding_quickstart_subtitle" = "最初の投資ソースを追加して、ポートフォリオの追跡を始めましょう。";
"onboarding_quickstart_title" = "もうすぐ完了";
"reengagement_body" = "数分で投資の状況を把握できます。";
"reengagement_title" = "ポートフォリオが待っています";
"snapshot_duplicate_add" = "とにかく追加";
"snapshot_duplicate_message" = "今月のスナップショットはすでにあります。別のスナップショットを追加しますか?";
"snapshot_duplicate_replace" = "既存を置き換え";
"snapshot_duplicate_title" = "スナップショットがすでに存在します";
"sources_filter_all" = "すべて";
// MARK: - 1.4.0 Features
"monthly_summary_notification_title" = "毎月のポートフォリオサマリー";
"monthly_summary_notification_body" = "今月の投資パフォーマンスを確認しましょう。";
"streak_badge" = "%dヶ月連続";
"goals_empty_add_cta" = "最初の目標を追加";
"journal_empty_title" = "まだ記録がありません";
"journal_empty_body" = "スナップショットの更新により月次エントリが自動的に作成されます。最初のソースを追加して始めましょう。";
"quick_update_title" = "クイック更新";
"quick_update_section_header" = "現在の値を入力";
"quick_update_section_footer" = "値が入力されたソースのみ更新されます。";
"quick_update_placeholder" = "新しい値";
"quick_update_save" = "すべて保存";
"quick_update_no_sources" = "ソースなし";
"quick_update_no_sources_body" = "クイック更新を使用するには、まず投資ソースを追加してください。";
"update_available_title" = "アップデートあり";
"update_available_body" = "バージョン%@がApp Storeで利用可能です。";
"whats_new_title" = "1.4の新機能";
"whats_new_subtitle" = "軌道を保つための改善点。";
"whats_new_quick_update_title" = "ポートフォリオのクイック更新";
"whats_new_quick_update_body" = "一つの画面からすべてのソースをワンタップで更新できます。";
"whats_new_streak_title" = "更新ストリーク";
"whats_new_streak_body" = "何ヶ月連続でポートフォリオを最新の状態に保てたか追跡します。";
"whats_new_goals_title" = "スマートな目標とジャーナル";
"whats_new_goals_body" = "改善された空の状態でより素早く始められます。";
"whats_new_continue" = "始めよう";
@@ -292,3 +292,95 @@
"Best Contributor" = "Maior contribuinte";
"Update Check-in" = "Atualizar check-in";
"Completed %@" = "Concluído %@";
// MARK: - Missing keys added (1.3.x)
"Checking…" = "Verificando…";
"Clear Filters" = "Limpar filtros";
"Force Upload to iCloud" = "Forçar envio ao iCloud";
"No export yet" = "Ainda não exportado";
"Not synced yet" = "Ainda não sincronizado";
"Refresh" = "Atualizar";
"Search sources" = "Buscar fontes";
"Syncing with iCloud..." = "Sincronizando com iCloud...";
"Uploading..." = "Enviando...";
"Verify iCloud Setup" = "Verificar configuração do iCloud";
"add_source_name_footer" = "Uma fonte é qualquer investimento que você deseja acompanhar: ações, ETFs, poupança, imóveis, criptomoedas e mais.";
"add_source_name_placeholder" = "ex.: ETF MSCI World, Poupança, Apartamento...";
"categories_empty" = "Nenhuma categoria ainda.";
"category_has_sources_warning" = "Não é possível excluir uma categoria que possui fontes. Remova ou reatribua todas as fontes primeiro.";
"category_name_placeholder" = "ex.: Reserva de emergência";
"chart_yoy_empty" = "Adicione mais snapshots em anos diferentes para ver a comparação.";
"chart_yoy_title" = "Ano a ano";
"checking_icloud" = "Verificando iCloud...";
"contributions_vs_returns_invested" = "Investido";
"contributions_vs_returns_returns" = "Retorno do mercado";
"contributions_vs_returns_title" = "Investido vs. Retorno";
"csv_enter_value" = "Inserir valor";
"csv_field_category" = "Categoria";
"csv_field_contribution" = "Contribuição";
"csv_field_date" = "Data";
"csv_field_notes" = "Notas";
"csv_field_source" = "Nome da fonte (obrigatório)";
"csv_field_value" = "Valor (obrigatório)";
"csv_mapping_subtitle" = "Associe as colunas do CSV aos campos do Portfolio Journal";
"csv_no_column" = "— Não mapeado —";
"csv_no_date_hint" = "Todas as linhas serão importadas como um snapshot de hoje.";
"csv_optional_section" = "Campos opcionais";
"csv_preview_section" = "Prévia do CSV";
"csv_required_section" = "Campos obrigatórios";
"csv_use_today" = "Usar data de hoje";
"goal_achieved_notification_body" = "Você atingiu sua meta: %@";
"goal_achieved_notification_title" = "Meta atingida! 🎉";
"goal_archive" = "Arquivar";
"goal_delete_confirm" = "Excluir";
"goal_delete_message" = "Esta meta será excluída permanentemente. Esta ação não pode ser desfeita.";
"goal_delete_title" = "Excluir meta";
"goal_unarchive" = "Restaurar";
"goals_all_active_achieved" = "Todas as metas ativas foram alcançadas.";
"goals_empty_archived" = "Nenhuma meta arquivada.";
"goals_filter_active" = "Ativas";
"goals_filter_all" = "Todas";
"goals_filter_archived" = "Arquivadas";
"icloud_check_description" = "Se você tem dados em outro dispositivo, ative o iCloud para restaurá-los aqui.";
"icloud_check_title" = "Já usa o Portfolio Journal?";
"icloud_enabled_description" = "Feche o app e abra novamente. Seus dados serão carregados automaticamente do iCloud.";
"icloud_enabled_title" = "iCloud ativado";
"monthly_checkin_notification_body" = "Registre os valores deste mês e acompanhe o crescimento do seu portfólio.";
"monthly_checkin_notification_title" = "Hora da sua atualização mensal";
"onboarding_add_first_source" = "Adicionar meu primeiro investimento";
"onboarding_import_data" = "Importar dados existentes";
"onboarding_quickstart_subtitle" = "Adicione sua primeira fonte de investimento para começar a acompanhar seu portfólio.";
"onboarding_quickstart_title" = "Quase lá";
"reengagement_body" = "Alguns minutos são suficientes para manter o controle dos seus investimentos.";
"reengagement_title" = "Seu portfólio está esperando";
"snapshot_duplicate_add" = "Adicionar mesmo assim";
"snapshot_duplicate_message" = "Você já tem um snapshot para este mês. Deseja adicionar outro?";
"snapshot_duplicate_replace" = "Substituir existente";
"snapshot_duplicate_title" = "Snapshot já existe";
"sources_filter_all" = "Todas";
// MARK: - 1.4.0 Features
"monthly_summary_notification_title" = "Seu resumo mensal do portfólio";
"monthly_summary_notification_body" = "Veja como seus investimentos se saíram este mês.";
"streak_badge" = "Sequência de %d meses";
"goals_empty_add_cta" = "Adicionar minha primeira meta";
"journal_empty_title" = "Nenhum registro ainda";
"journal_empty_body" = "As atualizações de snapshots criam entradas mensais automaticamente. Adicione sua primeira fonte para começar.";
"quick_update_title" = "Atualização rápida";
"quick_update_section_header" = "Insira os valores atuais";
"quick_update_section_footer" = "Apenas as fontes com um valor inserido serão atualizadas.";
"quick_update_placeholder" = "Novo valor";
"quick_update_save" = "Salvar tudo";
"quick_update_no_sources" = "Sem fontes";
"quick_update_no_sources_body" = "Adicione fontes de investimento primeiro para usar a atualização rápida.";
"update_available_title" = "Atualização disponível";
"update_available_body" = "A versão %@ está disponível na App Store.";
"whats_new_title" = "Novidades no 1.4";
"whats_new_subtitle" = "Melhorias para te ajudar a manter o rumo.";
"whats_new_quick_update_title" = "Atualização rápida do portfólio";
"whats_new_quick_update_body" = "Atualize todas as suas fontes em uma única tela com um toque.";
"whats_new_streak_title" = "Sequência de atualizações";
"whats_new_streak_body" = "Acompanhe quantos meses consecutivos você manteve seu portfólio atualizado.";
"whats_new_goals_title" = "Metas e diário mais inteligentes";
"whats_new_goals_body" = "Estados vazios melhorados ajudam você a começar mais rápido.";
"whats_new_continue" = "Vamos lá!";