// @ts-check
/** English catalog: source of truth for PWA core-surface keys. */

/** @type {Readonly<Record<string, string>>} */
export const en = Object.freeze({
  // Shell / nav
  "nav.home": "Home",
  "nav.progress": "Progress",
  "nav.coach": "Coach",
  "nav.settings": "Settings",
  "nav.primary": "Primary",
  "app.title": "Chompass",
  "app.description": "Ad-free calorie tracker. Installable PWA for any modern browser (Chromium works best).",

  // Common actions
  "action.save": "Save",
  "action.cancel": "Cancel",
  "action.done": "Done",
  "action.ok": "OK",
  "action.delete": "Delete",
  "action.continue": "Continue",
  "action.get_started": "Get started",
  "action.retry": "Retry",
  "action.back": "Back",
  "action.close": "Close",
  "action.log": "Log",
  "action.edit": "Edit",
  "action.confirm": "Confirm",

  // Settings hub
  "settings.title": "Settings",
  "settings.hub.personal": "Personal Info",
  "settings.hub.personal_hint": "Gender, height, weight, measurements",
  "settings.hub.goals": "Goals & Nutrition",
  "settings.hub.goals_hint": "Diet, macros, adaptive goals",
  "settings.hub.app": "App & Display",
  "settings.hub.app_hint": "Appearance, home, water, notifications",
  "settings.hub.ai": "AI & Speech",
  "settings.hub.ai_hint": "Providers, models, speech",
  "settings.hub.data": "Health & Data",
  "settings.hub.data_hint": "Health Connect, export, sync",
  "settings.hub.about": "About",
  "settings.hub.about_hint": "Version, licenses, privacy",
  "settings.app.title": "App & Display",
  "settings.app.language": "Language",
  "settings.app.language_hint": "App display language",
  "settings.app.units": "Units & schedule",
  "settings.app.units_hint": "Units, week, meals, accent",
  "settings.app.home": "Home display",
  "settings.app.home_hint": "Water, gauge, chips",
  "settings.app.install": "Install",
  "settings.app.install_hint": "Add to home screen",
  "settings.language.title": "Language",
  "settings.language.auto": "System default",
  "settings.language.auto_hint": "Match the browser language when supported",
  "settings.language.label": "Display language",
  "settings.speech.language": "Speech language",
  "settings.speech.browser_default": "Browser default",

  // Diary / home
  "diary.empty": "No entries yet for this day. Tap + to log food.",
  "diary.empty_no_profile": "Set up your profile to start tracking.",
  "diary.nothing": "Nothing here yet.",
  "diary.add_food": "Add food",
  "add_food.hero_photo": "Photo",
  "add_food.hero_photo_sub": "Camera or gallery",
  "add_food.hero_note": "Note",
  "add_food.hero_note_sub": "Describe what you ate",
  "add_food.hero_recents": "Recents",
  "add_food.hero_recents_sub": "Recents & favorites",
  "add_food.saved_meals_sub": "Recents, favorites, recipes",
  "add_food.quick_relog": "Log again",
  "add_food.quick_relog_empty": "Favorite a meal or log one once. It will show up here for one-tap re-log.",
  "add_food.open_logged_foods": "Saved meals: recents, favorites, and recipes",

  "add_food.more_section": "More ways to log",
  "add_food.voice": "Voice",
  "add_food.barcode": "Barcode",
  "add_food.manual": "Manual",
  "add_food.copy": "Copy from day",
  "add_food.frequent": "Frequent",
  "add_food.favorites": "Favorites",
  "diary.view_more": "View More",
  "diary.prev_day": "Previous day",
  "diary.next_day": "Next day",
  "diary.today": "Today",
  "diary.water": "Water",
  "diary.fasting": "Fasting",
  "diary.fasting_idle": "No active fast",
  "diary.fasting_start": "Start fast",
  "diary.fasting_stop": "Stop fast",
  "diary.fasting_goal_reached": "Goal reached",
  "diary.fasting_goal_hint": "{elapsed} · goal {goal} h",
  "diary.fasting_auto": "Auto",
  "diary.fasting_window_opens_in": "Eating window opens in {remaining}",
  "diary.fasting_eating_progress": "{elapsed} of {eat} h eating",
  "diary.fasting_fast_starts_in": "Fast starts in {remaining}",
  "diary.fasting_fast_starts_at": "Fast starts at {time} · in {remaining}",
  "diary.fasting_next_fast_at": "Next fast at {time}",
  "diary.note_title": "Day note",
  "diary.note_empty": "Add a note for this day",
  "diary.note_save": "Save",
  "diary.note_clear": "Clear",
  "diary.calories": "Calories",
  "diary.remaining": "remaining",
  "diary.eaten": "eaten",
  "diary.goal": "goal",
  "diary.calorie_budget_title": "Today's calorie budget",
  "diary.calorie_budget_goal_plus_active": "Goal {goal} + {active} active",
  "diary.calorie_budget_awaiting": "Your goal will grow once activity burn is recorded",
  "diary.calorie_budget_source_estimated": "Active calories estimated from your activity level",
  "diary.calorie_budget_source_manual": "Calories you logged manually",
  "diary.calorie_budget_goal": "Daily goal {goal} kcal",
  "diary.calorie_budget_info": "How today's budget is calculated",
  "meal.breakfast": "Breakfast",
  "meal.lunch": "Lunch",
  "meal.dinner": "Dinner",
  "meal.snack": "Snack",

  // Progressive meal draft
  "progressive_meal.title": "Building meal",
  "progressive_meal.name_placeholder": "Meal name (optional)",
  "progressive_meal.add_next": "Add next ingredient",
  "progressive_meal.add_to_meal": "Add to meal",
  "progressive_meal.add_another": "Add another",
  "progressive_meal.log": "Log meal",
  "progressive_meal.discard": "Discard meal",
  "progressive_meal.ingredient_count": "{count} ingredients",
  "progressive_meal.empty": "No ingredients yet",
  "progressive_meal.remove": "Remove ingredient",
  "progressive_meal.continue": "Continue meal ({count})",
  "progressive_meal.totals": "Meal totals",
  "progressive_meal.meal_label": "Meal",

  // Manual active burn
  "manual_active.title": "Log active burn",
  "manual_active.title_short": "Active burn",
  "manual_active.subtitle": "Add burned calories from a walk, ride, or workout. They extend today’s budget.",
  "manual_active.name_hint": "Activity name (optional)",
  "manual_active.kcal_hint": "Calories burned",
  "manual_active.save": "Add to budget",
  "manual_active.delete": "Delete",

  // Progress
  "progress.title": "Progress",
  "progress.weight": "Weight",
  "progress.body_fat": "Body fat",
  "progress.measurements": "Measurements",
  "measurements.navy_bf": "US Navy BF",
  "measurements.rfm_bf": "RFM BF",
  "measurements.tape_caption": "Tape estimate. Often within about 3 to 4 percentage points of a scan.",
  "measurements.use_as_bf": "Use as my body fat",
  "measurements.confirm_log": "Log {pct}% body fat from tapes? If you use body fat in calorie math, this updates that.",
  "measurements.source_navy": "US Navy",
  "measurements.source_rfm": "RFM",
  "progress.forecast": "Forecast",
  "progress.empty": "Log weight or body fat to see charts.",
  "progress.range_1w": "1W",
  "progress.range_1m": "1M",
  "progress.range_3m": "3M",
  "progress.range_6m": "6M",
  "progress.range_1y": "1Y",
  "progress.range_all": "All",
  "progress.weight_raw_legend": "Weigh-in",
  "progress.weight_trend_legend": "7-day trend",
  "progress.weight_trend_need_more": "7-day trend needs at least 2 weigh-in days",
"progress.log_weight": "Log Weight",
"progress.log_body_fat": "Log Body Fat",
"progress.metric_body_fat": "Body Fat",
"progress.stat_current": "Current",
"progress.stat_goal": "Goal",
"progress.stat_net_change": "Net Change",
"progress.stat_average": "Average",
"progress.weight_history": "Weight History",
"progress.body_fat_history": "Body Fat History",
"progress.history_count_format": "{count} entries · tap to view or delete",
"progress.avg_format": "Avg: {avg} kcal",
"progress.macro_averages": "Macro Averages",
  "progress.nutrient_averages": "Nutrient averages",
  "progress.fiber": "Fiber",
  "progress.sugar": "Sugar",
  "progress.sodium": "Sodium",
  "progress.macro_progress_format": "{current}g / {goal}g",
  "progress.log_first_weight": "Log your first weight to see trends",
  "progress.log_first_body_fat": "Log your first body fat % to see trends",
  "progress.no_food": "No food logged yet",
  "settings.progress_default_range": "Progress default range",
  "settings.progress_nutrient_averages": "Nutrient averages",
  "settings.progress_nutrient_averages_subtitle": "Off until you turn them on. Choose which nutrients to average below. Open Food Facts and photos often miss or guess these values.",
  "settings.progress_nutrient_averages_warning_title": "Not a complete picture",
  "settings.progress_nutrient_averages_warning_body": "Open Food Facts and photo analysis often omit or guess these values when the label does not list them. The average only includes what was logged, so it can be off.",
  "settings.progress_nutrient_averages_confirm": "Show them",



  // Onboarding
  "onboarding.welcome_title": "Welcome to Chompass",
  "onboarding.welcome_body": "Track food. Keep control.",
  "onboarding.get_started": "Get started",
  "onboarding.continue": "Continue",
  "onboarding.start_logging": "Start logging",
  "onboarding.back": "Back",
  "onboarding.skip": "Skip",
  "onboarding.skip_ai": "Skip for now",
  "onboarding.step.sex": "About you",
  "onboarding.step.age": "Birthday & age",
  "onboarding.step.body": "Height & weight",
  "onboarding.step.body_fat": "Body fat (optional)",
  "onboarding.step.activity": "Activity level",
  "onboarding.step.goal": "Your goal",
  "onboarding.step.diet": "Diet mode",
  "onboarding.step.goal_details": "Pace & goal weight",
  "onboarding.step.ai": "Connect AI (optional)",
  "onboarding.step.building": "Building your plan",
  "onboarding.step.done": "Your plan is ready",
  "onboarding.welcome_sub": "Ad-free calorie tracking in your browser. Data stays on this device and exports to the Android app.",
  "onboarding.feature.local_title": "Local-first diary",
  "onboarding.feature.local_body": "Meals, macros, and progress without accounts.",
  "onboarding.feature.ai_title": "Bring your own AI",
  "onboarding.feature.ai_body": "Optional Gemini / Claude keys. Keys leave this device only for the provider you choose.",
  "onboarding.feature.parity_title": "Android parity",
  "onboarding.feature.parity_body": "Same formulas and export format as the native app.",
  "onboarding.sex.male": "Male",
  "onboarding.sex.female": "Female",
  "onboarding.sex.other": "Other / prefer not to say",
  "onboarding.age.hint": "Birthday is preferred (matches Android). Age is used when birthday is blank.",
  "onboarding.age.birthday": "Birthday",
  "onboarding.age.years": "Age (years)",
  "onboarding.body.height_cm": "Height (cm)",
  "onboarding.body.weight_kg": "Weight (kg)",
  "onboarding.body_fat.hint": "Optional. Enables Katch-McArdle BMR when set.",
  "onboarding.body_fat.pct": "Body fat %",
  "onboarding.body_fat.goal_pct": "Goal body fat % (optional)",
  "onboarding.body_fat.placeholder": "e.g. 18",
  "onboarding.body_fat.goal_placeholder": "e.g. 15",
  "onboarding.activity.sedentary": "Sedentary",
  "onboarding.activity.sedentary_sub": "Desk job, little exercise",
  "onboarding.activity.light": "Light",
  "onboarding.activity.light_sub": "Walks or light training 1 to 3×/week",
  "onboarding.activity.moderate": "Moderate",
  "onboarding.activity.moderate_sub": "Training 3 to 5×/week",
  "onboarding.activity.active": "Active",
  "onboarding.activity.active_sub": "Hard training most days",
  "onboarding.activity.very_active": "Very active",
  "onboarding.activity.very_active_sub": "Physical job + training",
  "onboarding.activity.extra_active": "Extra active",
  "onboarding.activity.extra_active_sub": "Very hard training / labor",
  "onboarding.goal.lose": "Lose weight",
  "onboarding.goal.lose_sub": "Steady calorie deficit",
  "onboarding.goal.maintain": "Maintain",
  "onboarding.goal.maintain_sub": "Hold your current weight",
  "onboarding.goal.gain": "Gain weight",
  "onboarding.goal.gain_sub": "Surplus for muscle or mass",
  "onboarding.diet.standard": "Standard",
  "onboarding.diet.standard_sub": "Balanced macros from your targets",
  "onboarding.diet.keto": "Keto",
  "onboarding.diet.keto_sub": "Net-carb clamp with higher fat",
  "onboarding.pace.maintain_hint": "You'll maintain around your current weight. You can set a goal weight later in Settings.",
  "onboarding.pace.goal_weight_kg": "Goal weight (kg)",
  "onboarding.pace.optional": "optional",
  "onboarding.pace.kg_week": "kg / week",
  "onboarding.pace.slow": "Slow",
  "onboarding.pace.recommended": "Recommended",
  "onboarding.pace.fast": "Fast",
  "onboarding.pace.weekly_aria": "Weekly pace",
  "onboarding.pace.eta_prefix": "Reach your goal in",
  "onboarding.pace.days_unit": "days",
  "onboarding.pace.caption_slow": "Slower and easier to sustain long-term.",
  "onboarding.pace.caption_recommended": "A steady, well-rounded pace for most people.",
  "onboarding.pace.caption_fast": "Faster progress, but harder to stick with.",
  "onboarding.ai.hint": "Optional API key for food photos and coach. Google AI Studio is free and recommended.",
  "onboarding.ai.recommended_title": "Recommended: Google AI Studio",
  "onboarding.ai.recommended_subtitle": "Free and high quality. Best for food photos.",
  "onboarding.ai.howto_summary": "How to get a free Google AI Studio key",
  "onboarding.ai.howto_1": "Open aistudio.google.com/apikey",
  "onboarding.ai.howto_2": "Sign in with Google and create an API key",
  "onboarding.ai.howto_3": "Copy it and paste below, then tap Test key",
  "onboarding.ai.provider": "Provider",
  "onboarding.ai.model": "Model",
  "onboarding.ai.key": "API key",
  "onboarding.ai.key_placeholder": "Paste key to enable AI",
  "onboarding.ai.test_key": "Test key",
  "onboarding.ai.paste_key_first": "Paste an API key first.",
  "onboarding.ai.key_saved_gemini_only": "Key saved. Quick test is Gemini-only.",
  "onboarding.ai.key_works": "Key works.",
  "onboarding.ai.testing": "Testing…",
  "onboarding.ai.footer": "Your key stays in this browser. You can change providers anytime in Settings.",
  "onboarding.ai.privacy_summary": "What data is sent to the AI provider?",
  "onboarding.ai.privacy_lead": "With a cloud provider, this data leaves your browser to that provider:",
  "onboarding.ai.privacy_food": "Food photos and meal notes (food analysis)",
  "onboarding.ai.privacy_coach": "Coach chat, including your profile and recent logs",
  "onboarding.ai.privacy_goals": "Your profile when AI estimates goals (plan and adaptive goals)",
  "onboarding.ai.privacy_private": "Only the on-device Gemma 4 models (Android) guarantee that nothing leaves your device. The web app always uses a cloud provider.",
  "onboarding.ai.skip_title": "Continue without a cloud key?",
  "onboarding.ai.skip_body": "Food photo AI and coach need an API key. On-device AI is Android-only. You can add a free Google AI Studio key anytime in Settings.",
  "onboarding.ai.skip_confirm": "Continue anyway",
  "onboarding.building.calculating": "Calculating targets from your profile…",
  "onboarding.building.calorie_target": "Calorie target",
  "onboarding.building.protein_goal": "Protein goal",
  "onboarding.building.carb_fat": "Carb & fat split",
  "onboarding.building.activity": "Activity adjustment",
  "onboarding.building.safety": "Safety checks",
  "onboarding.plan.kcal_day": "kcal / day",
  "onboarding.plan.custom": "custom",
  "onboarding.plan.protein": "Protein",
  "onboarding.plan.carbs": "Carbs",
  "onboarding.plan.fat": "Fat",
  "onboarding.plan.edit_calories_a11y": "Edit calorie target",
  "onboarding.plan.customize_hint": "Tap a target to customize. You can adjust them anytime in Settings.",
  "onboarding.health.title": "Health disclaimer",
  "onboarding.health.body": "Chompass is a tracking helper, not a clinical tool. Formula estimates can be off. If you have a medical condition, are pregnant or breastfeeding, are under 18, or have a history of disordered eating, pause and talk with a doctor or therapist before continuing. This is not medical advice.",
  "onboarding.accuracy.title": "Accuracy disclaimer",
  "onboarding.accuracy.body": "Photo estimates and vague quantity labels (handful, cup, serving) are often inaccurate. App suggestions and especially AI/LLM output are estimates only, not medical facts. Verify important numbers yourself.",

  // Coach
  "coach.title": "Coach",
  "coach.placeholder": "Ask your coach…",
  "coach.send": "Send",

  // Dialogs / errors
  "dialog.confirm_title": "Confirm",
  "dialog.delete_title": "Delete?",
  "error.generic": "Something went wrong.",
  "error.network": "Network error. Check your connection.",
  "error.invalid_json": "Invalid JSON",
  "error.unknown": "Unknown error",
  "error.webdav_sync": "WebDAV sync failed",
  "error.load_failed": "Could not load data.",
  "toast.saved": "Saved",
  "toast.deleted": "Deleted",
  "toast.copied": "Copied",

  // Entry / meal constituents
  "entry.constituents.title": "Ingredients",
  "entry.constituents.count": "Ingredients ({count})",
  "entry.constituents.add": "Add ingredient",
  "entry.constituents.remove": "Remove ingredient",
  "entry.constituents.name": "Name",
  "entry.constituents.quantity": "Quantity",
  "entry.constituents.unit": "Unit",
  "entry.constituents.item_fallback": "Ingredient",
  "entry.constituents.macros": "{calories} kcal · P {protein} · C {carbs} · F {fat}",

  // Serving unit label (app-generated "serving" option from OFF / heuristics)
  "unit.serving": "serving",
  "unit.serving_plural": "servings",
  "unit.cup": "cup",
  "unit.cup_plural": "cups",
  "unit.tbsp": "tbsp",
  "unit.tsp": "tsp",

  // A11y
  "a11y.open_menu": "Open menu",
  "a11y.close_sheet": "Close sheet",
  "a11y.add_food": "Add food",
  "a11y.primary_nav": "Primary",
  "settings.ai.ai_features": "AI features",
  "settings.ai.ai_features_hint": "Turns off everything that sends data to an AI provider: the Coach, photo/text/voice logging, \"What if?\" and AI goal suggestions. Barcode, food search, manual entry, saved meals, water, sync and Health Connect keep working normally.",
  "settings.ai.meal_constituents": "Meal ingredient breakdown",
  "settings.ai.meal_constituents_hint": "Ask the AI to split composite meals into editable ingredients. Turn off for weaker models if results look inconsistent.",
  "settings.ai.serving_unit_mode": "Serving unit inference",
  "settings.ai.serving_unit_mode_hint": "How to fill a non-gram unit when the model omits one. Grams only is fastest; heuristic guesses from the food name; AI-inferred asks the model for the unit when needed.",
  "settings.ai.serving_unit_grams_only": "Grams only",
  "settings.ai.serving_unit_heuristic": "Heuristic",
  "settings.ai.serving_unit_ai_call": "AI-inferred",
  "analysis.phase.preparing": "Preparing request…",
  "analysis.phase.barcode": "Checking barcodes…",
  "analysis.phase.calling_ai": "Calling AI…",
  "analysis.phase.parsing": "Reading result…",
  "analysis.phase.filling": "Filling in nutrition…",
  "voice.status_listening": "Listening…",
  "voice.status_got_it": "Got it. Tap Use to continue",
  "voice.status_tap_mic": "Tap the mic to start",
  "voice.placeholder": "Your words will appear here",
  "voice.stop": "Stop",
  "voice.start_listening": "Start listening",
  "voice.use": "Use",
  "voice.hint": "Speak a food description, then Use to analyze.",
  "errors.paste_key_first": "Paste an API key first.",
  "errors.network_check": "Network error. Check your connection and try again.",
  "errors.ai_features_disabled": "AI features are turned off in Settings → AI & Speech.",
  "errors.coach_tool_limit": "Coach could not answer. Try rephrasing your question.",
  "errors.provide_photo_or_text": "Provide a photo or a text description.",
  "errors.parse_estimate": "Could not parse nutrition estimate from the model. Try again.",
  "errors.parse_goal": "Could not parse goal calculation from the model.",
  "errors.missing_calories": "Goal calculation missing calories.",
  "install.prompt_tip": "Install Chompass for quicker access and a full-screen app.",
  "install.banner_ios_nonsafari": "This browser cannot install apps on iOS. Open this page in Safari, then tap Share → “Add to Home Screen”.",
  "install.banner_ios": "Add Chompass to your Home Screen: tap Share → “Add to Home Screen”, then open from the icon (not a Safari tab).",
  "install.banner_ddg": "DuckDuckGo cannot fully install PWAs. Use the menu for a shortcut, or open in Chrome / Firefox to install.",
  "install.banner_firefox": "Firefox has no in-page install button. Use the menu (⋮) → Add to Home screen.",
  "install.banner_default": "Install Chompass to your home screen or dock for easier access.",
  "install.sheet_title": "Add to Home Screen",
  "install.full_guide": "Full install guide",
  "install.full_guide_short": "Full guide",
  "install.got_it": "Got it",
  "install.install": "Install",
  "install.how_to_add": "How to add",
  "install.dismiss": "Dismiss",
  "install.not_now": "Not now",
  "install.sheet_post_title": "Install Chompass",
  "install.post_lead": "Install Chompass for a full-screen icon on your home screen or dock.",
  "install.howto_link": "How to install",
  "install.help_ios_nonsafari_tip": "On iOS, only Safari can install home-screen web apps. Open Chompass in Safari:",
  "install.help_ios_nonsafari_step1": "Copy this page’s address and open it in Safari.",
  "install.help_ios_step_share": "Tap Share (square with an upward arrow).",
  "install.help_ios_step_add": "Choose Add to Home Screen, then Add.",
  "install.help_ios_nonsafari_step2": "Open from the home-screen icon (not a browser tab).",
  "install.help_ios_tip": "Add Chompass to your Home Screen from Safari:",
  "install.help_ios_step_open": "Open from the home-screen icon (not a Safari tab).",
  "install.help_ddg_tip": "DuckDuckGo on Android does not support full PWA install. Use the browser menu for a shortcut, or open Chompass in Chrome / Firefox for a better install:",
  "install.help_step_browser_menu": "Tap the browser menu (⋮).",
  "install.help_ddg_step_add": "Tap Add to Home / Add to Home Screen.",
  "install.help_ddg_step_blocked": "If nothing happens, your launcher may block shortcuts. Try Chrome or Firefox, or set a Home app under Android Settings → Apps → Default apps.",
  "install.help_ddg_note": "For a full-screen installed app, open https://chompass.app/app/ in Chrome, Edge, or Brave, then use Install app / Add to Home screen.",
  "install.help_firefox_tip": "Firefox on Android installs from the browser menu (there is no in-page install popup):",
  "install.help_step_firefox_menu": "Tap the Firefox menu (⋮).",
  "install.help_firefox_step_add": "Tap Add to Home screen or Add app to Home screen.",
  "install.help_step_confirm_open": "Confirm. Open Chompass from the new icon afterward.",
  "install.help_firefox_note": "If the menu item does nothing, check Android Settings → Apps → Default apps → Home app (it must not be “None”). Chromium browsers (Chrome, Edge, Brave) usually install more reliably.",
  "install.help_android_tip": "Install from your browser menu:",
  "install.help_step_open_menu": "Open the browser menu (⋮).",
  "install.help_android_step_add": "Tap Install app or Add to Home screen.",
  "install.help_android_note": "Many Chromium browsers do not show an automatic install popup. Use the menu.",
  "install.help_desktop_tip": "Install from the address bar or browser menu:",
  "install.help_desktop_step1": "Look for the install icon in the address bar, or open the browser menu.",
  "install.help_desktop_step2": "Choose Install Chompass (or Install app).",
  "install.help_desktop_step3": "Launch from your dock, taskbar, or app launcher.",
  "install.help_desktop_note": "Firefox desktop has limited PWA install; bookmarking still works.",
  "day_types.title": "Day types",
  "day_types.summary_off": "Off · one target for every day",
  "day_types.summary_format": "{count} types · {mode}",
  "day_types.mode_manual": "Manual",
  "day_types.mode_weekdays": "Weekdays",
  "day_types.mode_cycle": "Cycle",
  "day_types.chip_none": "Base targets",
  "day_types.sheet_title": "Day type",
  "day_types.active_typical": "≈ {kcal} kcal active typical",
  "day_types.follow_schedule": "Follow schedule",
  "day_types.tomorrow_format": "Tomorrow: {name} · {kcal} kcal",
  "day_types.tomorrow_base": "Tomorrow: base targets · {kcal} kcal",
  "day_types.edit": "Edit day types",
  "day_types.keto_paused": "Day types are paused in keto mode. Switch back to the standard diet mode to use different targets per day.",
  "day_types.master_toggle": "Day types",
  "day_types.need_profiles": "Add at least {min} day types (up to {max}) to enable.",
  "day_types.profiles": "Day-type profiles",
  "day_types.no_profiles": "No day types yet. Add two or more, e.g. a training day and a rest day.",
  "day_types.at_floor": "at safety floor",
  "day_types.delete": "Delete",
  "day_types.add_profile": "Add day type",
  "day_types.edit_profile": "Edit day type",
  "day_types.name": "Name",
  "day_types.calories": "Calories (kcal)",
  "day_types.protein_g": "Protein g",
  "day_types.carbs_g": "Carbs g",
  "day_types.fat_g": "Fat g",
  "day_types.floor_hint": "Calories are clamped to your safety floor ({floor} kcal minimum).",
  "day_types.save_profile": "Save day type",
  "day_types.copy_current": "Copy from current goals",
  "day_types.schedule": "Schedule",
  "day_types.mode": "Assignment",
  "day_types.default": "Default day type",
  "day_types.follow_default": "Follow default",
  "day_types.pattern": "Cycle pattern",
  "day_types.pattern_add": "Add to pattern",
  "day_types.restart": "Restart cycle today",
  "day_types.anchor_hint": "Cycle anchored at {date}.",
  "day_types.overrides": "Day overrides",
  "day_types.date": "Date",
  "day_types.day_type": "Day type",
  "day_types.override_add": "Add override",
  "day_types.remove": "Remove",
  "day_types.preview": "Next 7 days",
  "day_types.today": "today",
  "day_types.base": "Base targets",
  "day_types.duplicate_name": "Name already used",
  "day_types.duplicate_name_hint": "Each day type needs a distinct name.",
  "day_types.delete_hint": "Delete “{name}”? Days that used it fall back to the schedule or the default.",

  // action.* (PWA UI audit sweep, 2026-08)
  "action.discard": "Discard",
  "action.go_to_settings": "Go to settings",

  // add_meal.* (PWA UI audit sweep, 2026-08)
  "add_meal.intro": "Review and log these foods from a shared meal link.",
  "add_meal.invalid_link": "Invalid or empty meal share link.",
  "add_meal.log_selected": "Log selected",
  "add_meal.title": "Add shared meal",

  // analyze.* (PWA UI audit sweep, 2026-08)
  "analyze.describe_food": "Describe the food",
  "analyze.error_need_description": "Add a short description.",
  "analyze.error_need_photo_or_text": "Add a photo or a short description.",
  "analyze.no_provider_body": "Add a BYOK API key in Settings to analyze food.",
  "analyze.note_optional": "Note (optional)",
  "analyze.note_placeholder": "e.g. bowl of oatmeal with banana and peanut butter",
  "analyze.opening_camera": "Opening camera…",
  "analyze.photo_optional": "Photo (optional)",
  "analyze.photos_label": "Photos (up to {max})",
  "analyze.recent_foods": "Recent foods",
  "analyze.review_hint": "Estimates are reviewed before saving. Nothing is auto-logged.",
  "analyze.selected_photo_alt": "Selected food photo",
  "analyze.submit": "Analyze",
  "analyze.title_note": "Describe food",
  "analyze.title_photo": "Photo AI",
  "analyze.voice_dictation": "Voice dictation",

  // coach.* (PWA UI audit sweep, 2026-08)
  "coach.ai_title": "AI Coach",
  "coach.ask_placeholder": "Ask the coach…",
  "coach.attach_photo": "Attach a photo",
  "coach.clear": "Clear",
  "coach.clear_chat": "Clear chat",
  "coach.clear_confirm": "Delete the conversation history on this device?",
  "coach.empty_state": "Ask about your day, or attach a food photo.",
  "coach.error": "Coach error: {message}",
  "coach.no_provider_body": "No AI provider is configured yet. Add a bring-your-own API key in Settings to start chatting. Your key stays on this device and is only ever sent directly to the provider you choose.",
  "coach.photo_attached": "[photo attached]",
  "coach.proposal_log_food": "Log \"{name}\": {kcal} kcal ({meal})",
  "coach.proposal_log_water": "Log water: {ml} ml",
  "coach.proposal_log_weight": "Log weight: {kg} kg",
  "coach.review_save": "Review & save",
  "coach.role_coach": "Coach",
  "coach.role_you": "You",
  "coach.thinking": "Thinking…",
  "coach.voice": "Voice",
  "coach.voice_error": "Voice: {error}",
  "coach.voice_input": "Voice input",

  // diary.* (PWA UI audit sweep, 2026-08)
  "diary.add": "Add",
  "diary.add_caffeine": "Add caffeine",
  "diary.add_nicotine": "Add nicotine",
  "diary.add_water": "Add water",
  "diary.added_to_favorites": "Added to favorites",
  "diary.amount": "Amount",
  "diary.aria_active_burn": "active burn {caption}",
  "diary.burn_active": "{amount} active",
  "diary.burn_active_of": "{live} of {typical} active",
  "diary.burn_active_of_named": "{live} of {typical} active · {name}",
  "diary.caffeine_intake_aria": "Caffeine intake",
  "diary.caffeine_limit_line": "{count} / {limit} mg caffeine",
  "diary.caffeine_logged_line": "{count} mg logged",
  "diary.caffeine_mg": "Caffeine (mg)",
  "diary.calories_left": "{amount} left",
  "diary.calories_of": "of {amount}",
  "diary.chip_cigarette": "+1 cigarette",
  "diary.chip_coffee": "+1 coffee",
  "diary.chip_energy": "+1 energy",
  "diary.chip_pouch": "+1 pouch",
  "diary.chip_tea": "+1 tea",
  "diary.chip_vape": "+1 vape",
  "diary.copy_to_today": "Copy to today",
  "diary.count": "Count",
  "diary.current": "current",
  "diary.custom": "Custom",
  "diary.delete_entry_confirm": "Delete “{name}”?",
  "diary.delete_entry_title": "Delete entry",
  "diary.detailed_nutrition": "Detailed nutrition",
  "diary.duplicate": "Duplicate",
  "diary.edit_saved_food": "Edit saved food",
  "diary.favorite": "Favorite",
  "diary.loading": "Loading…",
  "diary.macros": "Macros",
  "diary.meal_type": "Meal type",
  "diary.menu_change_meal": "Change meal",
  "diary.more_actions": "More actions for {name}",
  "diary.nicotine_intake_aria": "Nicotine intake",
  "diary.nicotine_limit_line": "{count} / {limit} nicotine",
  "diary.nicotine_logged_line": "{count} logged",
  "diary.no_other_days": "No other days with food yet.",
  "diary.no_recipes": "No recipes yet. Build one from Favorites.",
  "diary.nutrition_detail": "Nutrition detail",
  "diary.open_nutrition_detail": "Open nutrition detail",
  "diary.recipe_ingredients_kcal": "{count} ingredients · {kcal} kcal",
  "diary.remove_last": "Remove last log",
  "diary.removed_count": "Removed {count}",
  "diary.removed_from_favorites": "Removed from favorites",
  "diary.removed_mg": "Removed {amount} mg",
  "diary.removed_ml": "Removed {amount} ml",
  "diary.ring_aria": "{eaten} of {target} calories, {left}",
  "diary.saved_meals": "Saved meals",
  "saved_meals.search_placeholder": "Search saved foods",
  "saved_meals.sort_recent": "Recent",
  "saved_meals.sort_name": "A–Z",
  "saved_meals.sort_size": "Size",
  "diary.select_foods": "Select foods to copy",
  "diary.share": "Share",
  "diary.share_copied": "Share link copied",
  "diary.share_failed": "Could not share",
  "diary.share_title": "Chompass meal",
  "diary.tab_recipes": "Recipes",
  "diary.tap_to_choose": "Tap to choose foods",
  "diary.undo": "Undo",
  "diary.unfavorite": "Unfavorite",
  "diary.voice_unsupported": "Voice input is not supported in this browser",
  "diary.water_amount": "Water amount",
  "diary.water_intake_aria": "Water intake",
  "diary.water_intake_line": "{count} / {goal} ml water",
  "diary.week_calendar": "Week calendar",
  "diary.week_of": "Week of {date}",

  // entry.* (PWA UI audit sweep, 2026-08)
  "entry.chip_different_brand": "Different brand",
  "entry.chip_different_cooking": "Different cooking",
  "entry.chip_extra_oil": "Extra oil / butter",
  "entry.chip_larger_portion": "Larger portion",
  "entry.chip_smaller_portion": "Smaller portion",
  "entry.correct_action": "Correct with AI",
  "entry.correct_diff_hint": "Review the updated values above, then tap Save to keep them.",
  "entry.correct_diff_title": "What changed",
  "entry.correct_hint": "AI will recalculate name, serving, calories, and macros from your note. Review the changes, then tap Save.",
  "entry.correct_note_placeholder": "Describe the correction, e.g. large bowl, cooked in butter",
  "entry.correct_prompt": "What changed?",
  "entry.correct_title": "Ask AI to correct",
  "entry.correcting": "Correcting…",
  "entry.delete_confirm": "Delete “{name}”?",
  "entry.delete_title": "Delete entry",
  "entry.error_key_missing": "Provider key missing. Re-add it in Settings.",
  "entry.error_name_taken": "That name is already used by another food",
  "entry.fallback_name": "Entry",
  "entry.favorite": "Favorite",
  "entry.fiber_g": "Fiber g",
  "entry.food_details": "Food details",
  "entry.insert_op_aria": "Insert {op} into quantity",
  "entry.lock": "Lock",
  "entry.meal_type": "Meal type",
  "entry.micro.added_sugar_g": "Added sugar g",
  "entry.micro.caffeine_mg": "Caffeine mg",
  "entry.micro.calcium_mg": "Calcium mg",
  "entry.micro.cholesterol_mg": "Cholesterol mg",
  "entry.micro.folate_mcg": "Folate mcg",
  "entry.micro.iron_mg": "Iron mg",
  "entry.micro.magnesium_mg": "Magnesium mg",
  "entry.micro.mono_fat_g": "Mono fat g",
  "entry.micro.omega3_g": "Omega-3 g",
  "entry.micro.poly_fat_g": "Poly fat g",
  "entry.micro.potassium_mg": "Potassium mg",
  "entry.micro.sat_fat_g": "Sat fat g",
  "entry.micro.sodium_mg": "Sodium mg",
  "entry.micro.sugar_g": "Sugar g",
  "entry.micro.trans_fat_g": "Trans fat g",
  "entry.micro.vitamin_a_mcg": "Vit A mcg",
  "entry.micro.vitamin_b12_mcg": "Vit B12 mcg",
  "entry.micro.vitamin_c_mg": "Vit C mg",
  "entry.micro.vitamin_d_mcg": "Vit D mcg",
  "entry.micro.vitamin_e_mg": "Vit E mg",
  "entry.micro.vitamin_k_mcg": "Vit K mcg",
  "entry.micro.zinc_mg": "Zinc mg",
  "entry.more_nutrition": "More nutrition",
  "entry.note_optional": "Note (optional)",
  "entry.nutrition": "Nutrition",
  "entry.remove_from_favorites": "Remove from favorites",
  "entry.serving": "Serving",
  "entry.serving_quantity_aria": "Serving quantity",
  "entry.serving_unit_aria": "Serving unit",
  "entry.time": "Time",
  "entry.title_edit_entry": "Edit entry",
  "entry.title_edit_saved_food": "Edit saved food",
  "entry.title_log_food": "Log food",
  "entry.title_review_food": "Review food",
  "entry.saved_meal_review_hint": "Log adds this meal. The pencil edits the saved food.",
  "entry.total": "Total",
  "entry.unfavorite": "Unfavorite",
  "entry.unlock": "Unlock",

  // errors.* (PWA UI audit sweep, 2026-08)
  "errors.key_missing": "Provider key missing. Re-add it in Settings.",

  // meal.* (PWA UI audit sweep, 2026-08)
  "meal.other": "Other",

  // settings.* (PWA UI audit sweep, 2026-08)
  "settings.about.install_tail": "this app on your phone or computer.",
  "settings.about.intro": "Chompass browser PWA. Local storage, no analytics. Compatible with the Android app diary and body-metrics JSON.",
  "settings.about.kofi_link": "buy fitguy a yogurt",
  "settings.about.kofi_post": "on Ko-fi.",
  "settings.about.methods": "Calculation methods",
  "settings.about.methods_adapt": "Weekly adaptive calorie nudge (±150) with floors/ceilings.",
  "settings.about.methods_bmr_km": "Katch–McArdle when body-fat % is set (lean mass based).",
  "settings.about.methods_bmr_msj": "Mifflin–St Jeor from sex, age, height, weight.",
  "settings.about.methods_cal_adj": "Goal calories from weekly kg pace × 7700/7.",
  "settings.about.methods_fcast": "Theil–Sen weight slope + sparse-logging intake average.",
  "settings.about.methods_macro": "Protein by activity (+ cut boost); fat 0.6×kg; carbs remainder. Keto clamps net carbs.",
  "settings.about.methods_navy": "From neck / waist / hips tape measures.",
  "settings.about.methods_rfm": "From waist and height (no neck). Display until you confirm Use as my body fat.",
  "settings.about.methods_tdee": "BMR × activity factor (PAL).",
  "settings.about.opensource_pre": "Chompass is free and open source. If you'd like to say thanks, ",
  "settings.about.register_post": ". AI estimates are always reviewed before save.",
  "settings.about.register_pre": "Canonical register: ",
  "settings.ai.base_url": "Base URL (openai-compatible)",
  "settings.ai.custom_instructions": "Custom instructions",
  "settings.ai.custom_instructions_placeholder": "Preferences the coach and food AI should follow…",
  "settings.ai.custom_model_placeholder": "Custom model id",
  "settings.ai.effort_high": "High",
  "settings.ai.effort_low": "Low",
  "settings.ai.effort_medium": "Medium",
  "settings.ai.enter_key": "Enter an API key to save, or leave blank only when a key is already configured.",
  "settings.ai.fallback_model": "Fallback model",
  "settings.ai.fallback_provider": "Fallback provider",
  "settings.ai.fallback_toggle": "Fallback provider on failure",
  "settings.ai.key_configured": "Key configured",
  "settings.ai.key_missing": "No key saved",
  "settings.ai.key_placeholder_example": "AIza… or sk-…",
  "settings.ai.key_placeholder_saved": "•••••••• (leave blank to keep)",
  "settings.ai.key_removed": "API key removed.",
  "settings.ai.key_saved": "API key saved.",
  "settings.ai.paste_key_test": "Paste a key (or save one first) before testing.",
  "settings.ai.privacy_note": "With a cloud provider, food photos, meal notes, Coach chat (including your profile and recent logs), and your profile when AI estimates goals (plan and adaptive goals) are sent to that provider. Only the on-device Gemma 4 models (Android) guarantee that nothing leaves your device; the web app always uses a cloud provider.",
  "settings.ai.provider_updated": "Provider settings updated (existing key kept).",
  "settings.ai.providers_none": "none",
  "settings.ai.providers_with_keys": "Providers with a saved key: {list}",
  "settings.ai.quick_test_gemini_only": "Quick test is available for Google (Gemini) keys. Save the key and try Analyze or Coach to verify other providers.",
  "settings.ai.reasoning_effort": "Reasoning effort (OpenRouter)",
  "settings.ai.save_key": "Save key",
  "settings.ai.save_prefs": "Save AI prefs",
  "settings.ai.speech_link": "Speech",
  "settings.ai.speech_link_hint": "Voice language (browser)",
  "settings.ai.storage_note": "Keys are encrypted at rest with Web Crypto (AES-GCM) in IndexedDB, then sent only from your browser to the provider you choose. Not a Chompass server.",
  "settings.ai.vision_model": "Vision model (photos)",
  "settings.ai.vision_same_as_model": "(same as Model)",
  "settings.android_note": "Health Connect, notifications, widgets, and on-device LLM are Android-only.",
  "settings.data.body_format": "Body metrics format",
  "settings.data.clear_all": "Clear all local data",
  "settings.data.clear_confirm": "Delete everything",
  "settings.data.clear_message": "Delete all diary, metrics, profile, and chat on this device?",
  "settings.data.clear_title": "Clear all data",
  "settings.data.diary_format": "Diary format",
  "settings.data.diary_range": "Diary range",
  "settings.data.export_body": "Export body metrics",
  "settings.data.export_diary": "Export diary",
  "settings.data.import_body": "Import body JSON",
  "settings.data.import_diary": "Import diary JSON",
  "settings.data.import_failed_msg": "Import failed: {msg}",
  "settings.data.imported_body": "Imported {weights} weights, {bodyFat} body-fat, {measurements} measurements.",
  "settings.data.imported_entries": "Imported {count} food entries.",
  "settings.data.intro": "Formats match the Android app. Move data freely between the two.",
  "settings.data.range_30d": "Last 30 days",
  "settings.data.range_7d": "Last 7 days",
  "settings.data.sync_hint": "WebDAV / sync file",
  "settings.daytype.move_down": "Move down",
  "settings.daytype.move_up": "Move up",
  "settings.goals.below_floor_message": "This is below your estimated resting burn or 1,200 kcal. Only continue if a clinician prescribed it.",
  "settings.goals.below_floor_title": "Below the safety floor",
  "settings.goals.bmr_tdee": "BMR {bmr} · TDEE {tdee} kcal",
  "settings.goals.calculated": "Calculated targets",
  "settings.goals.clear_custom": "Clear custom targets",
  "settings.goals.custom_calories": "Custom calories",
  "settings.goals.custom_carbs": "Custom carbs g",
  "settings.goals.custom_fat": "Custom fat g",
  "settings.goals.custom_protein": "Custom protein g",
  "settings.goals.formula_targets": "Formula targets: {kcal} kcal · {protein}P / {carbs}C / {fat}F. Leave blank to use formula.",
  "settings.goals.g_per_kg_hint": "In g/kg mode, the rate updates daily grams when weight or body fat changes. Leave g/day blank when using a rate.",
  "settings.goals.goal": "Goal",
  "settings.goals.goal_weight": "Goal weight kg",
  "settings.goals.nutrients_hint": "Fiber, sodium…",
  "settings.goals.pace": "Pace kg/wk",
  "settings.goals.protein_g_per_kg": "Protein g/kg",
  "settings.goals.protein_g_per_kg_lbm": "g/kg lean mass",
  "settings.goals.protein_g_per_kg_total": "g/kg body weight",
  "settings.goals.protein_grams_per_day": "Grams per day",
  "settings.goals.protein_target": "Protein target",
  "settings.goals.recalc_failed": "Couldn't recalculate. Goals unchanged. Check your AI key in Settings. ({msg})",
  "settings.goals.recalculate": "Recalculate Goals",
  "settings.goals.recalculate_ai_message": "Uses your AI provider with your profile and recent food/weight logs to refresh calorie and macro targets. Locked values stay put.",
  "settings.goals.recalculate_confirm": "Recalculate",
  "settings.goals.recalculate_formula_message": "No AI key configured. Unlocked calories and macros go back to formula defaults. Locked values stay. Add an AI key in Settings for the same AI recalculation as Android.",
  "settings.goals.recalculate_title": "Recalculate goals?",
  "settings.goals.recalculating_ai": "Recalculating with AI…",
  "settings.goals.reset_done": "Goals reset to formula defaults.",
  "settings.goals.resetting_formula": "Resetting to formula…",
  "settings.goals.save": "Save goals",
  "settings.goals.updated_format": "Updated to {kcal} kcal.{reason}",
  "settings.home.adaptive_goals": "Adaptive goals (Progress)",
  "settings.home.android_note": "Steps / Health Connect active calories are Android-only. Optional nutrient goals power non-macro tubes.",
  "settings.home.auto_windows": "Auto fast windows",
  "settings.home.auto_windows_hint": "When on, your fast starts automatically at the fast start time and ends at the goal, with no buttons on Home. Works while this page is open.",
  "settings.home.caffeine_hint": "Log coffee, tea and energy drinks from the diary. The daily total includes caffeine from food entries. Stays on your device and in your WebDAV sync; never sent to an AI provider.",
  "settings.home.caffeine_limit": "Caffeine daily limit (mg, 0 = none)",
  "settings.home.caffeine_tracking": "Caffeine tracking",
  "settings.home.calorie_gauge": "Calorie gauge",
  "settings.home.daily_notes": "Daily notes",
  "settings.home.eating_window": "Eating window (hours, 0 = off)",
  "settings.home.fast_start_hint": "Auto fast windows start your fast at this time each day.",
  "settings.home.fast_start_time": "Fast start time",
  "settings.home.fasting_goal": "Fasting goal (hours, 0 = none)",
  "settings.home.fasting_hint": "Start, stop or cancel a local-only intermittent-fasting timer from the diary. Stays on this device; never synced, exported or sent to an AI provider.",
  "settings.home.fasting_timer": "Fasting timer",
  "settings.home.food_chips": "Food-row chips",
  "settings.home.gauge_add_active": "Add active burn to budget",
  "settings.home.gauge_hint": "Add active: set Activity Level to everyday baseline (not peak training). Uses your activity-level estimate (TDEE − BMR) plus any manual active burn you log from Add food. Measured Health Connect burn is Android-only.",
  "settings.home.gauge_static": "Static (full target)",
  "settings.home.nicotine_hint": "Log cigarettes, vapes and pouches from the diary. Stays on your device and in your WebDAV sync; never sent to an AI provider.",
  "settings.home.nicotine_limit": "Nicotine daily limit (0 = none)",
  "settings.home.nicotine_tracking": "Nicotine tracking",
  "settings.home.notes_hint": "Show the per-day note card on the diary. Notes sync and export with your diary and are never sent to an AI provider.",
  "settings.home.quick_picks": "Quick picks (fast : eat):",
  "settings.home.tube_count": "Home nutrient tubes (1–4)",
  "settings.home.tube_nutrients": "Home tube nutrients",
  "settings.home.tube_order_hint": "Order = check order; first N tubes are shown.",
  "settings.home.water_goal": "Water goal (ml)",
  "settings.home.water_tracking": "Water tracking",
  "settings.install.already": "You are already running the installed app.",
  "settings.install.already_body": "Open Chompass from the home-screen or dock icon (not a normal browser tab) for the full-screen shell and offline app assets.",
  "settings.install.already_title": "Already installed?",
  "settings.install.android_note": "Many Chromium browsers do not show an automatic install popup. Use the menu. An Install banner may also appear when the browser allows it.",
  "settings.install.android_title": "Android (Chrome, Edge, Brave)",
  "settings.install.ddg_note": "For a full-screen installed app, open this page in Chrome, Edge, or Brave, then use Install app / Add to Home screen.",
  "settings.install.ddg_step1": "Menu → Add to Home creates a shortcut only (not a full PWA).",
  "settings.install.ddg_step2": "If that does nothing, your launcher may block shortcuts. Try Chrome or Firefox instead.",
  "settings.install.ddg_title": "DuckDuckGo (Android)",
  "settings.install.desktop_note": "Chromium-based browsers work best for install, camera barcode, and speech. Meal photo and barcode also work with desktop webcams over HTTPS.",
  "settings.install.desktop_title": "Desktop (Chrome / Edge)",
  "settings.install.firefox_note": "Firefox has no in-page install popup. If the menu item does nothing, set a Home app under Android Settings → Apps → Default apps (it must not be “None”). Desktop Firefox: bookmark the page; full PWA install is limited.",
  "settings.install.firefox_step3": "Confirm, then open from the new icon.",
  "settings.install.firefox_title": "Firefox (Android)",
  "settings.install.ios_note": "Brave, Chrome, and Firefox on iOS cannot install home-screen web apps. Apple only allows Safari to. If you use one of those, copy the address into Safari and follow the steps above.",
  "settings.install.ios_step1": "Open Chompass in Safari (required for a true home-screen app).",
  "settings.install.ios_step2": "Tap the Share button (square with an upward arrow).",
  "settings.install.ios_step3": "Choose Add to Home Screen, then Add.",
  "settings.install.ios_step4": "Open Chompass from the home-screen icon (not a Safari tab) for the full-screen app.",
  "settings.install.ios_title": "iPhone / iPad (Safari)",
  "settings.install.lead": "Install Chompass to your home screen or dock for quicker access and a full-screen app. Your data stays in this browser.",
  "settings.install.title": "Install app",
  "settings.nav_related": "Related",
  "settings.nutrients.intro": "Daily goals for fiber and micros. Used by Home tubes when those nutrients are selected.",
  "settings.nutrients.title": "Optional nutrients",
  "settings.personal.activity": "Activity",
  "settings.personal.age": "Age",
  "settings.personal.height_cm": "Height cm",
  "settings.personal.height_in": "Height in",
  "settings.personal.measurements_hint": "Tape / Navy / RFM",
  "settings.personal.measurements_link": "Body measurements",
  "settings.personal.sex": "Sex",
  "settings.personal.use_bf_bmr": "Use body fat % in BMR (Katch-McArdle)",
  "settings.personal.weight_kg": "Weight kg",
  "settings.personal.weight_lb": "Weight lb",
  "settings.speech.intro": "Voice dictation uses the browser’s on-device speech recognition (Chrome/Edge best). Cloud speech engines are Android-only.",
  "settings.sync.auto_sync": "Sync on open",
  "settings.sync.auto_sync_hint": "(once a day; off by default)",
  "settings.sync.export": "Export sync JSON",
  "settings.sync.exported": "Sync JSON exported.",
  "settings.sync.import": "Import sync JSON",
  "settings.sync.import_failed": "Import failed",
  "settings.sync.imported": "Sync JSON imported and merged.",
  "settings.sync.intro": "Optional user-hosted sync. Chompass has no cloud account. Point both the PWA and Android app at the same WebDAV file (e.g. Nextcloud), or move a sync JSON by hand. API keys and food photos are not included.",
  "settings.sync.last": "Last sync: {time}",
  "settings.sync.never": "Not synced yet.",
  "settings.sync.now": "Sync now",
  "settings.sync.password": "Password",
  "settings.sync.save": "Save WebDAV",
  "settings.sync.saved": "WebDAV settings saved.",
  "settings.sync.syncing": "Syncing…",
  "settings.sync.title": "Sync",
  "settings.sync.url": "WebDAV file URL",
  "settings.sync.username": "Username",
  "settings.toggle.off": "Off",
  "settings.toggle.on": "On",
  "settings.units.accent": "Accent",
  "settings.units.accent_blue": "Blue",
  "settings.units.accent_green": "Green",
  "settings.units.accent_indigo": "Indigo",
  "settings.units.accent_neutral": "Neutral",
  "settings.units.accent_orange": "Orange",
  "settings.units.accent_pink": "Pink",
  "settings.units.accent_purple": "Purple",
  "settings.units.accent_system": "System",
  "settings.units.accent_teal": "Teal",
  "settings.units.height": "Height",
  "settings.units.meal_times": "Meal times",
  "settings.units.theme": "Theme",
  "settings.units.theme_dark": "Dark",
  "settings.units.theme_light": "Light",
  "settings.units.theme_system": "System",
  "settings.units.week_starts": "Week starts",
  "settings.weekday.friday": "Friday",
  "settings.weekday.monday": "Monday",
  "settings.weekday.saturday": "Saturday",
  "settings.weekday.sunday": "Sunday",
  "settings.weekday.thursday": "Thursday",
  "settings.weekday.tuesday": "Tuesday",
  "settings.weekday.wednesday": "Wednesday",

  // toast.* (PWA UI audit sweep, 2026-08)
  "toast.undo": "Undo",

  // update.* (PWA UI audit sweep, 2026-08)
  "update.ready": "A new version of Chompass is ready.",
  "update.reload": "Reload",
  // progress.* (weight/body-fat delete confirms, UI audit follow-up)
  "progress.delete_weight_title": "Delete weight",
  "progress.delete_weight_confirm": "Remove this weight entry?",
  "progress.delete_bf_title": "Delete body fat",
  "progress.delete_bf_confirm": "Remove this body fat entry?",
});
