premium: configurar días y comidas de una semana concreta
Hasta ahora includeWeekends y activeMealTypes vivían solo en AppSettings y aplicaban a todo el calendario. WeekPlan puede ahora sobreescribirlos para su semana (includeWeekendsOverride / mealTypesOverrideRaw) y WeekSchedule resuelve qué manda en cada semana: su override si lo tiene, los ajustes globales si no. Todo lo que pintaba días y comidas —planificador, exports, compartir texto, widget, watch— pasa por settings.schedule(for:), así que una semana con fin de semana añadido o con desayuno activo se ve igual en todas partes. Crear o editar el override es premium; los ya guardados se respetan aunque la suscripción caduque, para no borrar comidas ya planificadas. La hoja avisa y pide confirmación cuando quitar un día o una comida se lleva por delante algo ya planificado. Refs #32 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013su1ttRiMeMYxkZJ1Y3246
This commit is contained in:
@@ -462,3 +462,19 @@
|
||||
"stats_dishes_per_tag_title" = "Gerichte pro Tag";
|
||||
"violations_banner_title" = "%d Mahlzeit(en) verletzen deine Regeln";
|
||||
"violations_banner_cta" = "Ansehen";
|
||||
|
||||
/* Per-week schedule (2.1.1, premium) */
|
||||
"week_schedule_title" = "Nur diese Woche";
|
||||
"week_schedule_intro" = "Ändere Tage und Mahlzeiten dieser einen Woche, ohne deine allgemeinen Einstellungen anzurühren.";
|
||||
"week_schedule_premium_message" = "Eine einzelne Woche anzupassen ist Premium";
|
||||
"week_schedule_meals_section" = "Mahlzeiten dieser Woche";
|
||||
"week_schedule_meals_footer" = "Aktiviere Frühstück oder Snack nur für diese Woche. Mindestens eine Mahlzeit muss aktiv bleiben.";
|
||||
"week_schedule_days_section" = "Tage dieser Woche";
|
||||
"week_schedule_apply" = "Anwenden";
|
||||
"week_schedule_reset" = "Zurück zu meinen allgemeinen Einstellungen";
|
||||
"week_schedule_reset_footer" = "Diese Woche folgt wieder deinen allgemeinen Einstellungen.";
|
||||
"week_schedule_warning_title" = "Geplante Mahlzeiten gehen verloren";
|
||||
"week_schedule_warning_message" = "Wenn du diese Tage oder Mahlzeiten entfernst, werden %d bereits geplante Mahlzeiten dieser Woche gelöscht.";
|
||||
"week_schedule_warning_confirm" = "Trotzdem entfernen";
|
||||
"toast_week_schedule_updated" = "Woche aktualisiert";
|
||||
"toast_week_schedule_reset" = "Woche folgt wieder deinen Einstellungen";
|
||||
|
||||
@@ -462,3 +462,19 @@
|
||||
"stats_dishes_per_tag_title" = "Dishes per tag";
|
||||
"violations_banner_title" = "%d meal(s) break your rules";
|
||||
"violations_banner_cta" = "View";
|
||||
|
||||
/* Per-week schedule (2.1.1, premium) */
|
||||
"week_schedule_title" = "This week only";
|
||||
"week_schedule_intro" = "Change the days and meals of this one week, without touching your general settings.";
|
||||
"week_schedule_premium_message" = "Customising a single week is Premium";
|
||||
"week_schedule_meals_section" = "Meals this week";
|
||||
"week_schedule_meals_footer" = "Turn breakfast or a snack on just for this week. At least one meal must stay on.";
|
||||
"week_schedule_days_section" = "Days this week";
|
||||
"week_schedule_apply" = "Apply";
|
||||
"week_schedule_reset" = "Back to my general settings";
|
||||
"week_schedule_reset_footer" = "This week will follow your general settings again.";
|
||||
"week_schedule_warning_title" = "Planned meals will be lost";
|
||||
"week_schedule_warning_message" = "Removing those days or meals will delete %d meals already planned this week.";
|
||||
"week_schedule_warning_confirm" = "Remove anyway";
|
||||
"toast_week_schedule_updated" = "Week updated";
|
||||
"toast_week_schedule_reset" = "Week back to your general settings";
|
||||
|
||||
@@ -462,3 +462,19 @@
|
||||
"stats_dishes_per_tag_title" = "Platos por etiqueta";
|
||||
"violations_banner_title" = "%d comida(s) incumplen tus reglas";
|
||||
"violations_banner_cta" = "Ver";
|
||||
|
||||
/* Per-week schedule (2.1.1, premium) */
|
||||
"week_schedule_title" = "Solo esta semana";
|
||||
"week_schedule_intro" = "Cambia los días y las comidas de esta semana concreta, sin tocar tu configuración general.";
|
||||
"week_schedule_premium_message" = "Personalizar una semana suelta es Premium";
|
||||
"week_schedule_meals_section" = "Comidas de esta semana";
|
||||
"week_schedule_meals_footer" = "Activa el desayuno o la merienda solo para esta semana. Debe quedar al menos una comida.";
|
||||
"week_schedule_days_section" = "Días de esta semana";
|
||||
"week_schedule_apply" = "Aplicar";
|
||||
"week_schedule_reset" = "Volver a mi configuración general";
|
||||
"week_schedule_reset_footer" = "Esta semana pasará a seguir de nuevo los ajustes generales.";
|
||||
"week_schedule_warning_title" = "Se perderán comidas planificadas";
|
||||
"week_schedule_warning_message" = "Al quitar esos días o comidas se borrarán %d comidas ya planificadas de esta semana.";
|
||||
"week_schedule_warning_confirm" = "Quitar igualmente";
|
||||
"toast_week_schedule_updated" = "Semana actualizada";
|
||||
"toast_week_schedule_reset" = "Semana con tu configuración general";
|
||||
|
||||
@@ -462,3 +462,19 @@
|
||||
"stats_dishes_per_tag_title" = "Plats par étiquette";
|
||||
"violations_banner_title" = "%d repas ne respecte(nt) pas vos règles";
|
||||
"violations_banner_cta" = "Voir";
|
||||
|
||||
/* Per-week schedule (2.1.1, premium) */
|
||||
"week_schedule_title" = "Cette semaine seulement";
|
||||
"week_schedule_intro" = "Modifiez les jours et les repas de cette semaine précise, sans toucher à vos réglages généraux.";
|
||||
"week_schedule_premium_message" = "Personnaliser une seule semaine est réservé au Premium";
|
||||
"week_schedule_meals_section" = "Repas de cette semaine";
|
||||
"week_schedule_meals_footer" = "Activez le petit-déjeuner ou le goûter juste pour cette semaine. Au moins un repas doit rester actif.";
|
||||
"week_schedule_days_section" = "Jours de cette semaine";
|
||||
"week_schedule_apply" = "Appliquer";
|
||||
"week_schedule_reset" = "Revenir à mes réglages généraux";
|
||||
"week_schedule_reset_footer" = "Cette semaine suivra de nouveau vos réglages généraux.";
|
||||
"week_schedule_warning_title" = "Des repas planifiés seront perdus";
|
||||
"week_schedule_warning_message" = "En retirant ces jours ou ces repas, %d repas déjà planifiés cette semaine seront supprimés.";
|
||||
"week_schedule_warning_confirm" = "Retirer quand même";
|
||||
"toast_week_schedule_updated" = "Semaine mise à jour";
|
||||
"toast_week_schedule_reset" = "Semaine revenue à vos réglages généraux";
|
||||
|
||||
@@ -462,3 +462,19 @@
|
||||
"stats_dishes_per_tag_title" = "Piatti per etichetta";
|
||||
"violations_banner_title" = "%d pasto/i non rispettano le tue regole";
|
||||
"violations_banner_cta" = "Vedi";
|
||||
|
||||
/* Per-week schedule (2.1.1, premium) */
|
||||
"week_schedule_title" = "Solo questa settimana";
|
||||
"week_schedule_intro" = "Cambia i giorni e i pasti di questa singola settimana, senza toccare le impostazioni generali.";
|
||||
"week_schedule_premium_message" = "Personalizzare una singola settimana è Premium";
|
||||
"week_schedule_meals_section" = "Pasti di questa settimana";
|
||||
"week_schedule_meals_footer" = "Attiva colazione o merenda solo per questa settimana. Deve restare almeno un pasto.";
|
||||
"week_schedule_days_section" = "Giorni di questa settimana";
|
||||
"week_schedule_apply" = "Applica";
|
||||
"week_schedule_reset" = "Torna alle impostazioni generali";
|
||||
"week_schedule_reset_footer" = "Questa settimana seguirà di nuovo le impostazioni generali.";
|
||||
"week_schedule_warning_title" = "Perderai dei pasti pianificati";
|
||||
"week_schedule_warning_message" = "Rimuovendo quei giorni o quei pasti verranno eliminati %d pasti già pianificati in questa settimana.";
|
||||
"week_schedule_warning_confirm" = "Rimuovi comunque";
|
||||
"toast_week_schedule_updated" = "Settimana aggiornata";
|
||||
"toast_week_schedule_reset" = "Settimana tornata alle impostazioni generali";
|
||||
|
||||
@@ -462,3 +462,19 @@
|
||||
"stats_dishes_per_tag_title" = "Pratos por etiqueta";
|
||||
"violations_banner_title" = "%d refeição(ões) quebram suas regras";
|
||||
"violations_banner_cta" = "Ver";
|
||||
|
||||
/* Per-week schedule (2.1.1, premium) */
|
||||
"week_schedule_title" = "Só esta semana";
|
||||
"week_schedule_intro" = "Mude os dias e as refeições desta semana específica, sem alterar suas configurações gerais.";
|
||||
"week_schedule_premium_message" = "Personalizar uma semana específica é Premium";
|
||||
"week_schedule_meals_section" = "Refeições desta semana";
|
||||
"week_schedule_meals_footer" = "Ative o café da manhã ou o lanche só para esta semana. Pelo menos uma refeição precisa ficar ativa.";
|
||||
"week_schedule_days_section" = "Dias desta semana";
|
||||
"week_schedule_apply" = "Aplicar";
|
||||
"week_schedule_reset" = "Voltar às configurações gerais";
|
||||
"week_schedule_reset_footer" = "Esta semana voltará a seguir suas configurações gerais.";
|
||||
"week_schedule_warning_title" = "Refeições planejadas serão perdidas";
|
||||
"week_schedule_warning_message" = "Ao remover esses dias ou refeições, %d refeições já planejadas nesta semana serão apagadas.";
|
||||
"week_schedule_warning_confirm" = "Remover mesmo assim";
|
||||
"toast_week_schedule_updated" = "Semana atualizada";
|
||||
"toast_week_schedule_reset" = "Semana de volta às configurações gerais";
|
||||
|
||||
Reference in New Issue
Block a user