Files
FamilyMealPlanner/MealMood/Resources/en.lproj/Localizable.strings
T
alexandrev-tibco 718eef16bf reglas: el panel explica que se incumple y como arreglarlo; stats por etiqueta
- RuleViolation.reasons: el motor devuelve ahora QUE regla rompe cada
  asignacion (repetido en la semana, maximo por semana superado, no
  consecutivo, no mismo dia, solo comida/cena, solo entre semana o fin
  de semana) con su etiqueta y limite
- Panel de avisos: bloque con cada regla rota en lenguaje claro + una
  sugerencia de que hacer, y boton nuevo "Cambiar plato" que abre el
  selector de ese hueco (antes solo se podia quitar o ignorar)
- Estadisticas: matriz "Etiquetas por tipo de comida" (p.ej. cuantas
  cenas son de pescado) y "Platos por etiqueta" del catalogo
- Tests: 4 casos de las razones de incumplimiento; harness que renderiza
  las secciones nuevas de stats a /tmp/stats_render.png
- Strings en 6 idiomas

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013H6bXqGX1ygwib1Dm3n3UG
2026-09-10 21:06:42 +02:00

463 lines
19 KiB
Plaintext

/* Onboarding */
"onboarding_welcome_title" = "Organize your meals in 1 minute";
"onboarding_welcome_subtitle" = "Answer 4 quick steps and start planning today.";
"onboarding_welcome_step_1" = "Choose if you want to plan lunches, dinners, or both";
"onboarding_welcome_step_2" = "Decide whether to include weekends";
"onboarding_welcome_step_3" = "Optionally connect your calendar";
"onboarding_welcome_step_4" = "Add your usual dishes to start fast";
"onboarding_nav_intro" = "Quick setup";
"onboarding_nav_setup" = "Setup";
"onboarding_nav_step_short" = "Step %d";
"onboarding_nav_step_counter" = "Step %d/%d";
"onboarding_start" = "Get Started";
"onboarding_continue" = "Continue";
"onboarding_skip" = "Skip";
"onboarding_finish" = "Finish";
/* Meal Windows */
"meal_windows_title" = "Step 1: Lunches, dinners, or both?";
"meal_windows_dinner_only" = "Dinners only";
"meal_windows_lunch_only" = "Lunches only";
"meal_windows_both" = "Lunches and dinners";
/* Weekends */
"weekends_title" = "Step 2: Also plan weekends?";
"weekends_toggle" = "Also plan Saturdays and Sundays";
"weekends_note" = "You can change this later in settings";
/* Calendar */
"calendar_title" = "Step 3: Connect your calendar?";
"calendar_sync" = "Sync";
"calendar_select" = "Calendar";
"calendar_lunch_time" = "Lunch time";
"calendar_dinner_time" = "Dinner time";
"calendar_optional" = "Optional, you can enable it later";
"calendar_permission_title" = "Calendar Access";
"calendar_permission_message" = "MealMood needs access to your calendar to sync events.";
"calendar_permission_settings" = "Go to Settings";
/* First Dishes */
"first_dishes_title" = "Step 4: Add your go-to dishes";
"first_dishes_subtitle" = "Add a few dishes to get started faster.";
"first_dishes_optional_hint" = "Optional — you can add more dishes anytime from the app.";
"first_dishes_name_placeholder" = "Dish name";
"first_dishes_add_tag" = "Add tag";
"first_dishes_add_dish" = "Add dish";
"first_dishes_added" = "Dishes added:";
/* Home */
"home_title" = "MealMood";
"home_previous" = "Previous";
"home_next" = "Next";
"home_complete" = "Complete";
"home_undo_last_action" = "Undo last action";
"home_reset" = "Reset";
"home_copy_previous_week" = "Copy previous week";
"home_my_dishes" = "My dishes";
"home_add_first_dish" = "Add your first dish to get started";
"home_add_dish" = "Add dish";
"home_my_dishes_search" = "Search dishes";
"home_my_dishes_search_empty" = "No dishes found";
"home_my_dishes_hide_used" = "Hide used this week";
"home_pick_dish_title" = "Choose a dish";
"home_pick_dish_search" = "Search dishes";
"home_pick_dish_empty" = "No dishes match your search";
"home_pick_dish_add_new" = "Add new dish";
"home_pick_dish_no_dishes" = "No dishes yet. Add one to get started.";
"home_select_week" = "Select week";
"home_week_picker_title" = "Select week";
"home_week_picker_date" = "Date";
"home_week_picker_go" = "Go";
/* Reset Alert */
"reset_title" = "Clear the entire week?";
"reset_message" = "This cannot be undone";
"reset_cancel" = "Cancel";
"reset_confirm" = "Clear";
/* Toasts */
"toast_dish_assigned" = "Dish assigned ✓";
"toast_week_complete" = "Week complete! 🎉";
"toast_week_reset" = "Week cleared 🔄";
"toast_dish_saved" = "Dish saved ✓";
"toast_event_deleted" = "Calendar event deleted";
"toast_cannot_complete" = "Could not complete all slots";
"toast_dish_deleted" = "Dish deleted";
"toast_no_free_slots" = "No free slots available";
"toast_calendar_synced" = "Calendar synced ✓";
"toast_copied_previous_week" = "Copied from previous week ✓";
"toast_previous_week_empty" = "No previous week plan found";
"toast_undo_applied" = "Last action undone";
"copy_previous_confirm_title" = "Replace current week?";
"copy_previous_confirm_message" = "You already have assigned dishes. Copying the previous week will overwrite current assignments.";
"copy_previous_confirm_confirm" = "Replace week";
/* Dish Form */
"dish_new_title" = "New dish";
"dish_edit_title" = "Edit dish";
"dish_name_label" = "Dish name *";
"dish_name_placeholder" = "E.g.: Roasted chicken";
"dish_description_label" = "Description (optional)";
"dish_description_placeholder" = "E.g.: Juicy and oven-baked with herbs";
"dish_tags_label" = "Tags (optional)";
"dish_add_tag" = "Add tag";
"dish_delete" = "Delete dish";
"dish_delete_title" = "Delete this dish?";
"dish_delete_message" = "This action cannot be undone";
"dish_cancel" = "Cancel";
"dish_done" = "Done";
"dish_delete_blocked_title" = "Cannot delete";
"dish_delete_blocked_message" = "You cannot delete a dish assigned in the current week.";
"dish_delete_blocked_ok" = "OK";
"dish_list_empty" = "You don't have dishes yet";
/* Tag Selector */
"tag_selector_title" = "Select tags";
"tag_selector_done" = "Done";
/* Tags */
"tags_title" = "Tags";
"tags_max_per_week" = "Max per week";
"tags_no_consecutive" = "No consecutive";
"tags_no_consecutive_desc" = "Prevents appearing on consecutive days";
"tags_no_duplicate" = "No same day repeat";
"tags_no_duplicate_desc" = "Cannot be in both lunch and dinner on the same day";
"tags_restriction" = "Time restriction";
"tags_no_restriction" = "No restriction";
"tags_lunch_only" = "Lunch only";
"tags_dinner_only" = "Dinner only";
"tags_no_limit" = "No limit";
/* Settings */
"settings_title" = "Settings";
"settings_planning" = "Planning";
"settings_meal_windows" = "Meal windows";
"settings_include_weekends" = "Include weekends";
"settings_export_style" = "Weekly export style";
"settings_calendar" = "Calendar";
"settings_icloud_sync" = "Sync data with iCloud";
"settings_sync" = "Sync";
"settings_sync_mode" = "Sync mode";
"settings_sync_mode_week_complete" = "Auto (when week is complete)";
"settings_sync_mode_manual" = "Manual (sync button)";
"settings_sync_now" = "Sync now";
"settings_lunch_time" = "Lunch time";
"settings_dinner_time" = "Dinner time";
"settings_event_duration" = "Event duration";
"settings_event_prefix" = "Title prefix";
"settings_reminder" = "Reminder";
"settings_reminder_none" = "No reminder";
"settings_tags" = "Tags";
"settings_manage_tags" = "Manage tags";
"settings_language" = "Language";
"settings_premium" = "Premium";
"settings_premium_status" = "Status";
"settings_remove_ads" = "Remove ads";
"settings_about" = "About";
"settings_website" = "Website";
"settings_support" = "Support email";
"settings_rate_app" = "Rate MealMood";
"settings_app_version" = "Version";
"settings_app_build" = "Build";
"settings_danger_zone" = "Danger zone";
"settings_reset_all_data" = "Reset all data";
"settings_reset_all_data_title" = "Reset all app data?";
"settings_reset_all_data_message" = "This will delete dishes, tags, plans and settings, then start onboarding again.";
"settings_reset_all_data_confirm" = "Reset all";
/* Premium */
"premium_title" = "MealMood Premium";
"premium_subtitle" = "Enjoy all features";
"premium_no_ads" = "No ads";
"premium_unlimited_dishes" = "Unlimited dishes";
"premium_custom_tags" = "Custom tags";
"premium_advanced_rules" = "Advanced tag rules";
"premium_future_weeks" = "Plan unlimited future weeks";
"premium_share_week" = "Weekly image export";
"premium_family_sharing" = "Family Sharing support";
"premium_plans" = "Available plans:";
"premium_monthly" = "Monthly";
"premium_yearly" = "Yearly";
"premium_save" = "Save 44%";
"premium_month" = "month";
"premium_price_note" = "Cancel anytime from your Apple account settings.";
"premium_terms_note" = "Auto-renewing subscription. Cancel anytime from your Apple account settings.";
"premium_active" = "Premium is active";
"premium_subscribe" = "Subscribe";
"premium_restore" = "Restore purchases";
"premium_processing" = "Processing...";
"premium_loading_products" = "Loading purchase options...";
"premium_loading_products_hint" = "If this takes too long, tap Retry.";
"premium_loading_timeout" = "Loading timed out";
"premium_loading_timeout_hint" = "StoreKit did not respond in time. Tap Retry.";
"premium_products_not_found" = "No products available";
"premium_products_not_found_hint" = "Check Product IDs in App Store Connect / StoreKit config.";
"premium_loading_failed" = "Could not load products";
"premium_loading_failed_hint" = "Please check your StoreKit setup and try again.";
"premium_retry_products" = "Retry";
"premium_purchase_pending" = "Purchase is pending approval.";
"premium_purchase_cancelled" = "Purchase was cancelled.";
"premium_purchase_failed" = "Purchase failed. Please try again.";
"tag_selector_empty" = "No tags available yet";
"premium_limit_dishes" = "Free plan limit reached: 15 dishes";
"dish_counter_label" = "dishes";
"dish_counter_upgrade_hint" = "Tap to get unlimited with Premium";
"dish_limit_modal_title" = "You're cooking up a storm! 🔥";
"dish_limit_modal_message" = "You've filled your free plan. Unlock unlimited dishes, advanced rules, and more with Premium.";
"dish_limit_modal_cta" = "See Premium";
"dish_limit_modal_dismiss" = "Maybe later";
"onboarding_paywall_title" = "Try MealMood Premium free";
"onboarding_paywall_subtitle" = "Unlock everything for 7 days — no commitment.";
"onboarding_paywall_cta_trial" = "Start free trial";
"onboarding_paywall_cta_skip" = "Continue free";
"remove_ads_promo_title" = "Tired of ads?";
"remove_ads_promo_subtitle" = "Go Premium and never see one again.";
"remove_ads_promo_cta" = "Remove ads";
"premium_yearly" = "Yearly";
"premium_year" = "year";
"premium_lifetime" = "Lifetime";
"premium_one_time" = "one-time";
"premium_lifetime_badge" = "PAY ONCE";
"premium_buy_lifetime" = "Buy lifetime";
"premium_save_badge" = "SAVE %@";
"premium_best_value" = "BEST VALUE";
"premium_trial_badge" = "7-day free trial";
"premium_trial_note" = "Free for 7 days, then %@. Cancel anytime.";
"premium_social_proof" = "Trusted by happy families ★★★★★";
"premium_limit_rules" = "Advanced tag rules are Premium";
"premium_limit_future_weeks" = "Free plan allows planning up to next week";
/* Home extras */
"rule_override_title" = "Rule conflict";
"rule_override_message" = "This dish breaks one or more tag rules. Assign anyway?";
"rule_override_confirm" = "Assign anyway";
"share_week_button" = "Share week";
"share_week_title" = "MealMood weekly plan";
"share_week_callout_title" = "Your week is ready to export";
"share_week_callout_subtitle" = "Create a beautiful image to share or print your meal plan.";
"share_export_style_default" = "Default";
"share_export_style_school" = "School Timetable";
"share_export_style_vertical" = "Vertical";
"share_export_style_picker_title" = "Choose export style";
"share_export_style_picker_subtitle" = "You can change it anytime in Settings.";
"share_export_style_picker_apply" = "Use this style";
"share_export_school_title" = "Weekly Meal Plan";
"share_export_school_subtitle" = "School Timetable";
"share_export_vertical_title" = "Vertical Meal Plan";
"ads_placeholder" = "Ad";
"ads_loading" = "Loading ad...";
"ads_unavailable" = "Ad unavailable";
"history_title" = "Monthly history";
"history_month_empty" = "No planned weeks in this month";
"history_week_complete" = "Week complete";
"history_week_incomplete" = "Week in progress";
/* Onboarding suggestions */
"first_dishes_suggestions" = "Quick suggestions";
"first_dishes_suggestion_add" = "Add suggestion";
"first_dishes_suggestion_added" = "Added";
"first_dishes_no_tags" = "Default tags are loading, please retry in a moment";
/* Onboarding trial */
"onboarding_trial_title" = "Unlock Premium";
"onboarding_trial_subtitle" = "Unlock all premium features now.";
"onboarding_trial_cta" = "Unlock Premium";
"onboarding_trial_skip" = "Continue with free plan";
"onboarding_trial_price_format" = "%@ / month";
/* Review funnel */
"review_funnel_title" = "How is MealMood going?";
"review_funnel_message" = "Your opinion helps us improve MealMood.";
"review_funnel_positive" = "I like it";
"review_funnel_negative" = "Needs improvement";
"review_feedback_title" = "Tell us what to improve";
"review_feedback_message" = "Send us your feedback and we'll use it to improve the app.";
"review_feedback_contact" = "Send feedback";
"onboarding_auto_assign_title" = "Want us to auto-assign your week?";
"onboarding_auto_assign_message" = "We can fill this week automatically using your dishes and rules.";
"onboarding_auto_assign_yes" = "Yes, auto-assign";
"onboarding_auto_assign_no" = "No, I'll do it";
"onboarding_premium_prompt_title" = "Want to unlock Premium?";
"onboarding_premium_prompt_message" = "Get no ads, unlimited dishes, advanced rules, and future-week planning.";
"onboarding_premium_prompt_cta" = "See Premium";
/* Notifications */
"notification_planning_title" = "Plan your next week";
"notification_planning_body" = "Your new week starts tomorrow and it is still not planned.";
/* Meal Types */
"lunch" = "Lunch";
"dinner" = "Dinner";
/* Days */
"day_mon" = "Mon";
"day_tue" = "Tue";
"day_wed" = "Wed";
"day_thu" = "Thu";
"day_fri" = "Fri";
"day_sat" = "Sat";
"day_sun" = "Sun";
/* Durations */
"duration_30" = "30 min";
"duration_60" = "1 hour";
"duration_90" = "1.5 hours";
"duration_120" = "2 hours";
/* Reminders */
"reminder_30" = "30 min before";
"reminder_60" = "1 hour before";
"reminder_120" = "2 hours before";
"first_dishes_limit_reached" = "You reached 10 dishes. Tap Finish when you are ready.";
// Social share
"share_instagram_subtitle" = "Share as a Story background";
"share_copy_image" = "Copy Image";
"share_copy_subtitle" = "Paste in WhatsApp, Telegram…";
"share_more_options" = "More options";
"share_more_subtitle" = "Share to any app";
"share_export_sheet_title" = "Share";
"share_copied" = "Image copied!";
// Onboarding preview
"onboarding_welcome_preview_label" = "Your week could look like this ✨";
// Eating out
"slot_eating_out" = "Eating out";
"home_mark_eating_out" = "Mark as eating out";
"toast_eating_out_marked" = "Marked as eating out";
// Rule violations panel
"violations_panel_title" = "Rule conflicts";
"violations_panel_empty" = "No rule conflicts this week";
"violations_fix" = "Clear slot";
"violations_ignore" = "Ignore";
"violations_badge" = "%d conflict(s)";
// 1.0.6
"dish_priority" = "Priority dish";
"dish_priority_desc" = "Will be prioritized in auto-assign";
"tags_day_restriction" = "Day restriction";
"tags_day_any" = "Any day";
"tags_day_weekdays" = "Weekdays only";
"tags_day_weekend" = "Weekend only";
"share_slot_empty" = "TBD";
"home_auto_assign_cta_title" = "Fill your week automatically";
"home_auto_assign_cta_slots" = "%d empty slots";
"home_auto_assign_cta_button" = "Auto-assign";
"notification_sunday_title" = "Plan your next week";
"notification_sunday_body" = "Sunday is here — take 2 minutes to plan next week's meals.";
/* Stats */
"stats_title" = "Statistics";
"stats_streak_label" = "Week streak";
"stats_weeks_planned_label" = "Weeks planned";
"stats_complete_weeks_label" = "Complete weeks";
"stats_completion_rate_label" = "Completion rate";
"stats_top_dishes_title" = "Top dishes";
"stats_tags_title" = "By category";
"stats_no_data" = "No data yet";
/* Week rating */
"week_rating_prompt" = "How was this week?";
/* Week ready onboarding step (1.2.0) */
"onboarding_week_ready_title" = "Your week is ready!";
"onboarding_week_ready_subtitle" = "%d meals planned automatically. You can tweak anything later.";
"onboarding_week_ready_subtitle_empty" = "Your weekly plan is set up. Add dishes anytime and fill it in one tap.";
"onboarding_reminder_pitch" = "Get a gentle reminder every Sunday so next week is always planned before it starts.";
"onboarding_reminder_allow" = "Remind me on Sundays";
"onboarding_reminder_skip" = "Not now";
/* Notification settings (1.2.0) */
"settings_notifications_header" = "Notifications";
"settings_weekly_reminder" = "Weekly planning reminder";
"settings_notifications_denied_hint" = "Notifications are disabled in system settings.";
"settings_open_system_settings" = "Open Settings";
/* Widget promo (1.2.0) */
"widget_promo_title" = "Today's meals on your Home Screen";
"widget_promo_body" = "Long-press your Home Screen, tap +, and search for MealMood to add the widget.";
/* Offer codes + share link (1.2.0) */
"premium_redeem_code" = "Redeem promo code";
"share_link_text" = "Our week, planned with MealMood → https://mealmood.app";
// Shopping list (2.0)
"shopping_list_title" = "Shopping List";
"shopping_done" = "Done";
"shopping_missing_ingredients" = "No ingredients yet";
"shopping_other_items" = "Other items";
"shopping_add_item_placeholder" = "Add item…";
"shopping_generate" = "Generate";
"shopping_clear_checked" = "Clear checked items";
"shopping_delete" = "Delete";
"shopping_empty_title" = "Nothing to buy yet";
"shopping_empty_message" = "Plan dishes for this week and their ingredients will appear here.";
"shopping_share_header" = "🛒 Shopping list — MealMood";
// Dish editor: photo + ingredients (2.0)
"dish_photo_label" = "Photo";
"dish_photo_add" = "Add photo";
"dish_photo_change" = "Change photo";
"dish_photo_remove" = "Remove";
"dish_ingredients_label" = "Ingredients";
"dish_ingredient_placeholder" = "e.g. 200 g spaghetti";
"dish_ingredients_add" = "Add ingredient";
"dish_dictate" = "Dictate";
"calendar_resize_hint" = "Drag to resize calendar and dishes";
"dish_ingredients_dictate" = "Dictate";
"dictation_listening" = "Listening…";
"dictation_stop" = "Done";
"dictation_ingredients_hint" = "Say all the ingredients — I'll split them into a list.";
"dictation_denied_title" = "Microphone access needed";
"dictation_denied_message" = "Turn on Microphone and Speech Recognition for MealMood in Settings to dictate.";
"dictation_open_settings" = "Open Settings";
// Meal types (2.0)
"breakfast" = "Breakfast";
"snack" = "Snack";
"settings_show_dish_photos" = "Show dish photos in planner";
"dish_sort_alphabetical" = "Sort alphabetically";
"dish_fixed_slot" = "Fixed dish";
"dish_fixed_slot_desc" = "Always on the same day and meal when auto-filling";
"dish_fixed_slot_day" = "Day";
"dish_fixed_slot_meal" = "Meal";
"home_pick_second_dish" = "Add as second dish";
"home_remove_second_dish" = "Remove second dish";
"share_export_preview_title" = "Export week";
"share_export_preview_rendering" = "Generating preview…";
"share_export_share_button" = "Share";
"share_footer_tagline" = "Your week, planned with love";
"share_footer_scan" = "Scan me";
"share_export_style_story" = "Story";
"share_export_style_minimal" = "Minimal (print)";
"share_export_copy_text" = "Copy as text (WhatsApp)";
"share_text_copied" = "Copied!";
"home_mark_skipped" = "Skip this meal";
"slot_skipped" = "Not planned";
"toast_meal_skipped" = "Meal skipped";
"shopping_exclude_dish" = "Already made";
"shopping_have_it" = "Have it";
"shopping_at_home_section" = "Already at home";
"premium_privacy_link" = "Privacy Policy";
"premium_terms_link" = "Terms of Use (EULA)";
"violation_reason_repeated" = "This dish is already planned in another meal this week";
"violation_reason_max_per_week" = "Max %1$@: %2$d per week, and you are over it";
"violation_reason_no_consecutive" = "%@ cannot repeat on consecutive days";
"violation_reason_no_same_day" = "%@ is already in another meal on this day";
"violation_reason_meal_only" = "%1$@ is only allowed at %2$@";
"violation_reason_day_scope" = "%1$@ is only allowed %2$@";
"violation_scope_weekdays" = "on weekdays";
"violation_scope_weekend" = "on weekends";
"violation_suggestion_repeated" = "Swap it for another dish to vary the week";
"violation_suggestion_swap" = "Swap it for a dish with a different tag";
"violation_suggestion_move" = "Move it to a day or meal where it is allowed";
"violation_suggestion_generic" = "Change the dish or dismiss the warning";
"violations_replace" = "Change dish";
"stats_tag_by_meal_title" = "Tags by meal type";
"stats_dishes_per_tag_title" = "Dishes per tag";