Home: carrusel de charts con gating premium (candado) + aviso de próximo check-in

- EvolutionChartCard: swipe entre 7 charts (evolution, allocation libres; performance,
  drawdown, volatility, prediction, year-over-year premium). No premium ve las premium
  con candado + CTA de unlock; premium las ve reales. Reutiliza ChartsViewModel (computa
  solo la página visible) y las vistas del feature Charts.
- MonthlyCheckInCard: aviso de próximo check-in siempre visible (fecha + badge de
  días restantes/atrasado), con fallback cuando no hay check-in previo.
- Localización de nuevas cadenas en los 7 idiomas.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LZFmGhbWzibhApev3C4554
This commit is contained in:
alexandrev-tibco
2026-07-21 09:39:26 +02:00
parent 2a5ffca48f
commit 95c689d2b8
9 changed files with 219 additions and 22 deletions
@@ -484,6 +484,12 @@
// Calm 2.0 Home (1.5.0)
"checkin_done_title" = "Check-in %@ erledigt";
"checkin_done_next" = "Nächster: %@";
"checkin_next_due" = "Nächster Check-in: %@";
"checkin_days_left" = "noch %d Tage";
"checkin_due_today" = "Heute fällig";
"checkin_overdue" = "Überfällig";
"dash_chart_yoy" = "Jahr für Jahr";
"home_chart_locked_sub" = "Mit Premium freischalten, um dieses Diagramm zu sehen.";
"checkin_sources_progress" = "%1$d von %2$d Quellen aktualisiert";
// Guided check-in (1.5.0 Fase 2)
@@ -485,6 +485,12 @@
// Calm 2.0 Home (1.5.0)
"checkin_done_title" = "%@ check-in done";
"checkin_done_next" = "Next one: %@";
"checkin_next_due" = "Next check-in: %@";
"checkin_days_left" = "%d days left";
"checkin_due_today" = "Due today";
"checkin_overdue" = "Overdue";
"dash_chart_yoy" = "Year vs Year";
"home_chart_locked_sub" = "Unlock with Premium to explore this chart.";
"checkin_sources_progress" = "%1$d of %2$d sources updated";
// Guided check-in (1.5.0 Fase 2)
@@ -436,6 +436,12 @@
// Calm 2.0 Home (1.5.0)
"checkin_done_title" = "Check-in de %@ completado";
"checkin_done_next" = "Próximo: %@";
"checkin_next_due" = "Próximo check-in: %@";
"checkin_days_left" = "faltan %d días";
"checkin_due_today" = "Hoy";
"checkin_overdue" = "Atrasado";
"dash_chart_yoy" = "Año vs Año";
"home_chart_locked_sub" = "Desbloquéalo con Premium para ver este gráfico.";
"checkin_sources_progress" = "%1$d de %2$d fuentes actualizadas";
// Guided check-in (1.5.0 Fase 2)
@@ -484,6 +484,12 @@
// Calm 2.0 Home (1.5.0)
"checkin_done_title" = "Check-in de %@ terminé";
"checkin_done_next" = "Prochain : %@";
"checkin_next_due" = "Prochain point : %@";
"checkin_days_left" = "%d jours restants";
"checkin_due_today" = "Aujourd'hui";
"checkin_overdue" = "En retard";
"dash_chart_yoy" = "Année vs Année";
"home_chart_locked_sub" = "Débloquez avec Premium pour voir ce graphique.";
"checkin_sources_progress" = "%1$d sur %2$d sources mises à jour";
// Guided check-in (1.5.0 Fase 2)
@@ -484,6 +484,12 @@
// Calm 2.0 Home (1.5.0)
"checkin_done_title" = "Check-in di %@ completato";
"checkin_done_next" = "Prossimo: %@";
"checkin_next_due" = "Prossimo check-in: %@";
"checkin_days_left" = "%d giorni rimasti";
"checkin_due_today" = "Oggi";
"checkin_overdue" = "In ritardo";
"dash_chart_yoy" = "Anno su anno";
"home_chart_locked_sub" = "Sblocca con Premium per vedere questo grafico.";
"checkin_sources_progress" = "%1$d di %2$d fonti aggiornate";
// Guided check-in (1.5.0 Fase 2)
@@ -484,6 +484,12 @@
// Calm 2.0 Home (1.5.0)
"checkin_done_title" = "%@のチェックイン完了";
"checkin_done_next" = "次回:%@";
"checkin_next_due" = "次回のチェックイン:%@";
"checkin_days_left" = "あと%d日";
"checkin_due_today" = "本日期限";
"checkin_overdue" = "期限切れ";
"dash_chart_yoy" = "年別比較";
"home_chart_locked_sub" = "Premium で解除してこのチャートを表示できます。";
"checkin_sources_progress" = "%2$d件中%1$d件のソースを更新済み";
// Guided check-in (1.5.0 Fase 2)
@@ -484,6 +484,12 @@
// Calm 2.0 Home (1.5.0)
"checkin_done_title" = "Check-in de %@ concluído";
"checkin_done_next" = "Próximo: %@";
"checkin_next_due" = "Próximo check-in: %@";
"checkin_days_left" = "faltam %d dias";
"checkin_due_today" = "Hoje";
"checkin_overdue" = "Atrasado";
"dash_chart_yoy" = "Ano vs Ano";
"home_chart_locked_sub" = "Desbloqueie com Premium para ver este gráfico.";
"checkin_sources_progress" = "%1$d de %2$d fontes atualizadas";
// Guided check-in (1.5.0 Fase 2)