1.6.0 #6+#7: proyección/ETA de objetivos + insights inteligentes
Goal ETA (#6): GoalProjection engine (CAGR mensual robusto de la evolución + aportaciones, proyecta mes a mes → fecha estimada, estado ahead/on-track/behind/ unreachable, sparkline). GoalsView muestra 'Projected: <mes>', chip de ritmo con color, fallback 'Add contributions to reach this'. GoalsViewModel.projection(for:) cacheado. Insights (#7): InsightsEngine rule-based on-device (sin red/AI). Reglas: allocation vs target, riesgo de concentración, mejor/peor categoría, diversificación, racha, YTD, ganancias, forecast, proximidad a milestone. Priorizados por tono, top 4. PortfolioInsight gana detail + tone. Surface en el Dashboard. Localización: 19 claves nuevas 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:
@@ -424,6 +424,25 @@
|
||||
"insight_streak_title" = "Série de suivi";
|
||||
"insight_streak_value" = "%d mois consécutifs";
|
||||
"insight_forecast_title" = "En bonne voie pour";
|
||||
"insight_allocation_title" = "Écart d'allocation";
|
||||
"insight_allocation_over_value" = "%1$@ est à %2$.0f%% — au-dessus de votre cible de %3$.0f%%";
|
||||
"insight_allocation_under_value" = "%1$@ est à %2$.0f%% — en dessous de votre cible de %3$.0f%%";
|
||||
"insight_allocation_detail" = "Rééquilibrez pour rester dans le plan";
|
||||
"insight_concentration_title" = "Risque de concentration";
|
||||
"insight_concentration_value" = "%1$@ représente %2$.0f%% de votre portefeuille";
|
||||
"insight_concentration_detail" = "Envisagez de mieux répartir";
|
||||
"insight_best_performer_title" = "Meilleure performance";
|
||||
"insight_worst_performer_title" = "À surveiller";
|
||||
"insight_performer_value" = "%1$@ · %2$+.1f%%";
|
||||
"insight_diversification_title" = "Diversification";
|
||||
"insight_diversification_single_value" = "Tout sur une seule source — pensez à en ajouter";
|
||||
"insight_diversification_good_value" = "Réparti sur %d catégories";
|
||||
"goal_projection_projected" = "Prévu : %@";
|
||||
"goal_projection_add_contributions" = "Ajoutez des versements pour l'atteindre";
|
||||
"goal_chip_ahead" = "En avance";
|
||||
"goal_chip_on_track" = "Dans les temps";
|
||||
"goal_chip_behind" = "En retard";
|
||||
"goal_chip_at_this_pace" = "À ce rythme…";
|
||||
"notification_milestone_title" = "Jalon de portefeuille ! 🎉";
|
||||
"notification_milestone_body" = "Votre portefeuille vient de dépasser %@. Félicitations !";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user