{
  "nav": {
    "dashboard": "Dashboard",
    "medications": "Medications",
    "planner": "Planner",
    "settings": "Settings",
    "schedule": "Schedule"
  },
  "header": {
    "eyebrow": {
      "overview": "MedAssist-ng · Overview",
      "inventory": "MedAssist-ng · Inventory",
      "planner": "MedAssist-ng · Planner",
      "settings": "MedAssist-ng · Configuration",
      "schedule": "MedAssist-ng · Schedule"
    }
  },
  "dashboard": {
    "reorder": {
      "title": "Refill Reminder",
      "badge": "Stock watch",
      "noMeds": "No medications configured yet.",
      "allGood": "All good, enough stock.",
      "lowWarning": "Enough stock for now, but {{meds}} is running critically low.",
      "lowWarning_other": "Enough stock for now, but {{meds}} are running critically low.",
      "lowWarningPrefix": "Enough stock for now, but",
      "lowWarningSuffix": "is running critically low.",
      "lowWarningSuffix_other": "are running critically low.",
      "sendReminder": "🔔 Send Reminder Now"
    },
    "overview": {
      "title": "Medication Overview",
      "badge": "Stock"
    },
    "schedules": {
      "title": "Upcoming Schedules",
      "1month": "1 month",
      "3months": "3 months",
      "6months": "6 months",
      "allTaken": "All taken",
      "showPastDays": "Show past days",
      "hidePastDays": "Hide past days",
      "pastDaysCount": "{{count}} day",
      "pastDaysCount_other": "{{count}} days",
      "showFutureDays": "Show future days",
      "hideFutureDays": "Hide future days",
      "futureDaysCount": "{{count}} day",
      "futureDaysCount_other": "{{count}} days",
      "missedDoses": "{{count}} missed dose",
      "missedDoses_other": "{{count}} missed doses",
      "clearMissed": "Clear missed",
      "clearMissedConfirmTitle": "Clear Missed Doses?",
      "clearMissedConfirmMessage": "This will mark {{count}} missed dose as acknowledged without deducting from your stock.",
      "clearMissedConfirmMessage_other": "This will mark {{count}} missed doses as acknowledged without deducting from your stock.",
      "clearMissedConfirm": "Yes, Clear",
      "clearMissedCancel": "Cancel",
      "clearMissedSuccess": "Cleared {{count}} missed doses"
    },
    "reminders": {
      "active": "Automatic reminders active",
      "status": "Status",
      "allStockOk": "All stock good",
      "allOk": "All good",
      "lastReminder": "Last intake reminder",
      "lastSent": "Last intake reminder",
      "lastStockSent": "Last stock reminder",
      "next": "Refill reminder",
      "nextIn": "Refill reminder",
      "inDays": "in {{days}} days",
      "inDays_one": "in {{days}} day",
      "inDays_other": "in {{days}} days",
      "noRemindersNeeded": "No reminders needed",
      "needRefill": "{{count}} medication needs refill",
      "needRefill_other": "{{count}} medications need refill",
      "emptyStock": "{{count}} medication is empty",
      "emptyStock_other": "{{count}} medications are empty",
      "lowWarning": "{{count}} medication running critically low",
      "lowWarning_other": "{{count}} medications running critically low",
      "waitingFirstCheck": "Waiting for first check",
      "type": "Type",
      "typeStock": "Stock",
      "typeIntake": "Intake",
      "via": "via",
      "channelEmail": "Email",
      "channelPush": "Push",
      "channelBoth": "Email + Push",
      "criticalMeds": "{{count}} medication is critical",
      "criticalMeds_other": "{{count}} medications are critical",
      "lowMeds": "{{count}} medication is low",
      "lowMeds_other": "{{count}} medications are low",
      "prescriptionNeeds": "Prescription low",
      "prescriptionLowMeds": "{{count}} prescription low",
      "prescriptionLowMeds_other": "{{count}} prescriptions low",
      "prescriptionCriticalMeds": "{{count}} prescription empty",
      "prescriptionCriticalMeds_other": "{{count}} prescriptions empty",
      "needsPrescriptionRefill": "Needs prescription refill",
      "usedBy": "Used by",
      "refillsLeft": "{{count}} refill left",
      "refillsLeft_other": "{{count}} refills left",
      "daysLeft": "{{days}} day left",
      "daysLeft_other": "{{days}} days left",
      "needsRefill": "Needs refill"
    }
  },
  "table": {
    "name": "Name",
    "pills": "Pills",
    "days": "Days",
    "currentPills": "Current pills",
    "fullBlisters": "Full blisters",
    "openBlister": "Open blister",
    "stock": "Stock",
    "dailyConsumption": "Daily consumption",
    "stockDetails": "Details",
    "daysLeft": "Days left",
    "status": "Status",
    "runsOut": "Runs out",
    "autoRemind": "Auto-remind",
    "expiry": "Expiry",
    "pillsCount": "{{count}} pills",
    "pillsCount_one": "{{count}} pill",
    "pillsCount_other": "{{count}} pills",
    "perDayWithUnit": "{{value}} {{unit}}"
  },
  "medications": {
    "list": {
      "title": "Medication list",
      "entries": "{{count}} entries",
      "entries_one": "{{count}} entry",
      "entries_other": "{{count}} entries",
      "markObsolete": "Mark obsolete",
      "reactivate": "Reactivate",
      "obsoleteTitle": "Obsolete ({{count}})",
      "obsoleteSince": "Stopped",
      "started": "Started",
      "emptyState": "No medications yet. Add your first medication to get started."
    },
    "details": {
      "packs": "Packs",
      "blisters": "Blisters per pack",
      "pillsPerBlister": "Pills per blister",
      "loose": "Loose",
      "total": "Total",
      "stock": "Stock",
      "capacityPerPackage": "Capacity per package",
      "totalCapacity": "Capacity",
      "type": "Type"
    },
    "deleteModal": {
      "title": "Delete medication",
      "message": "Do you really want to delete \"{{name}}\"?"
    },
    "obsoleteModal": {
      "title": "Mark medication as obsolete",
      "message": "Do you really want to mark \"{{name}}\" as obsolete?"
    }
  },
  "form": {
    "editEntry": "Edit",
    "editEntryWithName": "Edit: {{name}}",
    "viewEntry": "View",
    "newEntry": "New medication",
    "badge": "Packs + loose pills",
    "sections": {
      "general": "General",
      "stock": "Package",
      "prescription": "Prescription",
      "prescriptionAndRefill": "Rx & Refill",
      "schedule": "Schedule"
    },
    "commercialName": "Commercial Name",
    "genericName": "Generic Name",
    "takenBy": "Taken by",
    "medicationForm": "Medication Form",
    "medicationFormCapsule": "Capsule",
    "medicationFormTablet": "Tablet",
    "medicationFormLiquid": "Liquid",
    "medicationFormTopical": "Topical",
    "pillForm": "Pill Form",
    "lifecycleCategory": "Lifecycle",
    "lifecycleRefillWhenEmpty": "Refill when empty",
    "lifecycleTreatmentPeriod": "Treatment period",
    "packageType": "Package Type",
    "packageTypeBlister": "Blister Pack",
    "packageTypeBottle": "Pill Bottle",
    "packageTypeTube": "Tube",
    "packageTypeLiquidContainer": "Liquid Container",
    "packs": "Packs",
    "bottles": "Bottles",
    "tubes": "Tubes",
    "blistersPerPack": "Blisters per pack",
    "pillsPerBlister": "Pills per blister",
    "totalCapacity": "Total Capacity",
    "currentPills": "Current Pills",
    "totalAmount": "Total Amount",
    "currentAmount": "Current Amount",
    "totalAmountLabel": "Total (amount)",
    "packageAmount": "Package amount",
    "packageAmountPerBottle": "Amount per bottle",
    "packageAmountPerTube": "Amount per tube",
    "packageAmountUnitMl": "ml",
    "packageAmountUnitG": "g",
    "loosePills": "Loose pills",
    "pillWeight": "Dose per pill",
    "total": "Total (pills)",
    "medicationStartDate": "Medication Start Date",
    "medicationEndDate": "Medication End Date",
    "autoMarkObsoleteAfterEndDate": "Automatically mark obsolete after end date",
    "expiryDate": "Expiry Date",
    "notes": "Notes",
    "medicationImage": "Medication Image",
    "removeImage": "Remove Image",
    "imageUploadErrors": {
      "tooLarge": "Image is too large. Maximum upload size is 10 MB.",
      "invalidType": "Invalid file type. Allowed formats: JPEG, PNG, WebP, GIF.",
      "invalidImage": "Invalid or unsupported image file.",
      "noFile": "No file was selected for upload.",
      "generic": "Image upload failed. Please try again."
    },
    "placeholders": {
      "commercial": "e.g. Ozempic",
      "generic": "e.g. Semaglutide",
      "takenBy": "Type name and press Enter",
      "addPerson": "Add another person...",
      "weight": "e.g. 240",
      "notes": "e.g. Take with food, avoid alcohol... (optional)"
    },
    "enrichment": {
      "title": "Optional medication lookup",
      "coverageLabel": "Incomplete free-source coverage",
      "collapsedHint": "Use this only when you want lookup suggestions.",
      "toggleShow": "Show lookup",
      "toggleHide": "Hide lookup",
      "infoShow": "About sources",
      "infoHide": "Hide source notes",
      "infoTitle": "Source notes",
      "description": "Results are primarily sourced from RxNorm and openFDA. EMA is used only as a fallback when needed. Review each suggestion before applying it to the form.",
      "searchLabel": "Search medication sources",
      "searchPlaceholder": "Search by brand or ingredient",
      "searchAction": "Search",
      "searching": "Searching...",
        "loadingSearch": "Searching medication sources...",
        "loadingMoreResults": "Loading more results...",
      "showMoreAction": "Show more results",
      "noResults": "No matches were found in the current free-source search. You can continue entering the medication manually.",
      "manualEntryHint": "Lookup suggestions are optional and may not cover every medication, strength, package size, or local market variant.",
      "authRequired": "Medication lookup requires an active sign-in. Please sign in again or continue with manual entry.",
      "searchError": "Medication lookup is currently unavailable. Please continue with manual entry.",
      "applyAction": "Apply",
      "applying": "Applying...",
      "applied": "Applied to form",
      "applyError": "Autofill could not be applied. Please keep editing the medication manually.",
      "partialNote": "Only partial autofill suggestions were available. Review the fields before saving.",
      "packageAvailable": "Package size",
      "packageUnavailable": "No package size",
      "packageTitle": "Package size suggestions",
      "packageHint": "Choose a package size to update the stock fields.",
      "appliedPackage": "Applied package size: {{label}}",
      "packageContainers": {
        "blister_one": "1 blister pack",
        "blister_other": "{{count}} blister packs",
        "bottle_one": "1 bottle",
        "bottle_other": "{{count}} bottles",
        "liquidContainer_one": "1 bottle",
        "liquidContainer_other": "{{count}} bottles",
        "tube_one": "1 tube",
        "tube_other": "{{count}} tubes"
      },
      "packageUnits": {
        "tablet_one": "tablet",
        "tablet_other": "tablets",
        "capsule_one": "capsule",
        "capsule_other": "capsules",
        "caplet_one": "caplet",
        "caplet_other": "caplets",
        "pill_one": "pill",
        "pill_other": "pills"
      },
      "strengthTitle": "Strength suggestions",
      "strengthHint": "Choose a strength to update dose per pill and unit.",
      "showMoreStrengthsAction": "Show more",
      "appliedStrength": "Applied strength: {{label}}",
      "details": {
        "showAction": "More details",
        "hideAction": "Less details",
        "authorisationHolder": "Authorisation holder",
        "therapeuticArea": "Therapeutic area",
        "authorisationDate": "Authorisation date",
        "packageSizes": "Package sizes"
      },
      "genericStatus": {
        "generic": "Generic",
        "original": "Original",
        "unknown": "Status unknown"
      },
      "sources": {
        "ema": "EMA",
        "rxnorm": "RxNorm",
        "openfda": "openFDA (US)"
      }
    },
    "validation": {
      "startDateAfterIntake": "Medication start date ({{medicationStartDate}}) cannot be after intake date ({{intakeDate}}).",
      "endDateBeforeStart": "Medication end date ({{medicationEndDate}}) cannot be before medication start date ({{medicationStartDate}})."
    },
    "blisters": {
      "title": "Intake schedule",
      "remind": "Remind",
      "remindTooltip": "Receive a notification 15 minutes before each scheduled intake",
      "addIntake": "Intake",
      "usage": "Usage",
      "usageTablets": "Usage (tablets)",
      "usageCapsules": "Usage (capsules)",
      "usageMl": "Usage (ml)",
      "usageTsp": "Usage (tsp)",
      "usageTbsp": "Usage (tbsp)",
      "usageApplication": "Usage (applications)",
      "intakeUnit": "Intake unit",
      "intakeUnitMl": "Milliliters (ml)",
      "intakeUnitTsp": "Teaspoon (5 ml)",
      "intakeUnitTbsp": "Tablespoon (15 ml)",
      "intakes": "intakes",
      "intakes_one": "intake",
      "intakes_other": "intakes",
      "teaspoons": "teaspoons",
      "teaspoons_one": "teaspoon",
      "teaspoons_other": "teaspoons",
      "tablespoons": "tablespoons",
      "tablespoons_one": "tablespoon",
      "tablespoons_other": "tablespoons",
      "applications": "applications",
      "applications_one": "application",
      "applications_other": "applications",
      "scheduleMode": "Schedule mode",
      "scheduleModeInterval": "Every X days",
      "scheduleModeWeekdays": "Specific weekdays",
      "everyDays": "Every (days)",
      "every": "every",
      "weekdays": "Weekdays",
      "weekdaysRequired": "Select at least one weekday",
      "weekdaysShort": {
        "mon": "Mon",
        "tue": "Tue",
        "wed": "Wed",
        "thu": "Thu",
        "fri": "Fri",
        "sat": "Sat",
        "sun": "Sun"
      },
      "weekdaysLong": {
        "mon": "Monday",
        "tue": "Tuesday",
        "wed": "Wednesday",
        "thu": "Thursday",
        "fri": "Friday",
        "sat": "Saturday",
        "sun": "Sunday"
      },
      "from": "from",
      "startDate": "Date",
      "startTime": "Time",
      "takenByIntake": "Taken by",
      "takenByEveryone": "Everyone"
    }
  },
  "planner": {
    "title": "Demand Calculator",
    "badge": "Plan your supply",
    "from": "From",
    "until": "Until",
    "includeUntilStart": "Include current consumption",
    "includeUntilStartTooltip": "When enabled, pills consumed between today and the selected start date are subtracted from your current stock. This gives a more accurate picture of how much you'll actually have left when the planning period begins.",
    "calculate": "Calculate",
    "calculating": "Calculating...",
    "sendEmail": "📧 Send via Email",
    "sendNotification": "🔔 Send Demand",
    "table": {
      "medication": "Medication",
      "usage": "Usage",
      "blistersNeeded": "Blisters needed",
      "prescriptionRefills": "Prescription refills",
      "blisters": "Blisters",
      "available": "Available"
    }
  },
  "settings": {
    "loading": "Loading settings...",
    "language": {
      "title": "Language",
      "select": "Select language"
    },
    "timezone": {
      "select": "Timezone",
      "hint": "Select an IANA timezone. When set, this overrides server TZ for your reminder timing.",
      "useServerDefault": "Use server default",
      "currentServerTz": "Server default timezone: {{timezone}}",
      "saving": "Saving timezone...",
      "saved": "Timezone saved"
    },
    "apiKey": {
      "title": "API Access",
      "generateTitle": "Generate API key",
      "generateDesc": "Creates a new write-capable API key. The previous key becomes invalid automatically.",
      "generateButton": "Generate key",
      "generating": "Generating...",
      "currentToken": "New API key",
      "copyButton": "Copy",
      "copied": "Copied",
      "copyHint": "Copy this key now. It is shown only once and cannot be retrieved later.",
      "generateError": "Failed to generate API key"
    },
    "notifications": {
      "title": "Notifications",
      "channels": "Channels",
      "email": "Email",
      "push": "Push",
      "stockReminders": "Stock Reminders",
      "intakeReminders": "Intake Reminders",
      "prescriptionReminders": "Prescription Reminders",
      "enableHint": "Enable at least one channel below to receive notifications.",
      "skipTakenDoses": "Skip reminders for taken doses",
      "skipTakenDosesTooltip": "Don't send intake reminders for doses that have already been marked as taken today. If this option and automatic intake are both enabled, no intake reminders will be sent.",
      "repeatReminders": "Repeat reminders for missed doses",
      "repeatRemindersTooltip": "Automatically send repeated reminders for doses that haven't been marked as taken",
      "reminderInterval": "Reminder interval (minutes)",
      "reminderIntervalTooltip": "How often to send repeated reminders for missed doses",
      "maxNaggingReminders": "Max reminders per dose",
      "maxNaggingRemindersTooltip": "Stop sending repeat reminders after this many attempts (1-20)"
    },
    "email": {
      "recipient": "Recipient",
        "notConfigured": "Not configured",
        "serverNotConfigured": "Email notifications stay unavailable until SMTP is configured on the backend.",
        "loadErrorAuth": "Email settings could not be loaded because your session is no longer valid. Please sign in again.",
        "loadErrorForbidden": "Email settings could not be loaded because this session is not allowed to read them.",
        "loadErrorGeneric": "Email availability could not be verified because loading settings failed."
    },
    "push": {
      "url": "URL",
      "urlPlaceholder": "ntfy://topic or pushover://:token@userkey/",
      "supports": "Supports ntfy, Pushover, Gotify, Discord, Telegram, Slack & more",
      "docsLink": "See shoutrrr.dev for all services"
    },
    "schedule": {
      "title": "Reminder Schedule",
      "stockCheck": "Stock & prescription check",
      "dailyAtHour": "Daily at {{hour}}:00",
      "intakeCheck": "Intake check",
      "minutesBefore": "{{minutes}} min before scheduled time",
      "nextCheck": "Next stock check",
      "lastSent": "Last notification sent",
      "lastStockSent": "Last stock reminder",
      "lastIntakeSent": "Last intake reminder",
      "lastPrescriptionSent": "Last prescription reminder",
      "envHint": "These values can be configured via REMINDER_HOUR and REMINDER_MINUTES_BEFORE in .env"
    },
    "stock": {
      "title": "Stock",
      "calculationMode": "Stock Calculation",
      "automatic": "Automatic",
      "automaticDesc": "Stock automatically decreases based on schedule",
      "manual": "Manual",
      "manualDesc": "Stock only decreases when doses are marked as taken",
      "thresholds": "Thresholds",
      "criticalStockDays": "Critical (days)",
      "criticalStockTooltip": "Stock below this value is critical and needs immediate attention",
      "lowStockDays": "Low (days)",
      "lowStockTooltip": "Stock below this value means you should reorder soon",
      "highStockDays": "High (days)",
      "highStockTooltip": "Stock above this value means you are well supplied",
      "thresholdValidation": "Values must be: Critical < Low < High",
      "packageTypesNote": "Note: Tube medications are excluded from stock reminders. Liquid container medications use a single reminder baseline (Low and Critical are automatically derived from this value)."
    },
    "timeline": {
      "title": "General UI",
      "upcomingSection": "Upcoming Schedule",
      "upcomingTodayOnly": "Show only today",
      "upcomingTodayOnlyDesc": "Hide past and future days and show only today's schedule on the dashboard.",
      "dashboardSectionOrder": "Dashboard Layout",
      "swapDashboardSections": "Show Upcoming Schedules before Medication Overview",
      "swapDashboardSectionsDesc": "When enabled, the dashboard prioritizes the upcoming schedule section above the medication overview section.",
      "sharedSection": "Shared Schedule",
      "shareMedicationOverview": "Show medication overview on shared links",
      "shareMedicationOverviewDesc": "Embed the medication overview section on the normal shared page for intake users.",
      "shareScheduleTodayOnly": "Shared links show only today",
      "shareScheduleTodayOnlyDesc": "Hide past and future days on shared schedule links and show only today's entries."
    },
    "stockReminder": {
      "title": "Stock Reminder",
      "description": "Enable stock reminders",
      "infoTooltip": "Notifications include all medications with Low or Critical stock status. Note: Tube medications are excluded; Liquid containers use a single baseline threshold (Low and Critical are derived).",
      "repeatDaily": "Repeat daily",
      "repeatTooltip": "When enabled, sends reminders every day while stock is critical. Otherwise, only notifies once per medication until restocked."
    },
    "saveSettings": "Save Settings"
  },
  "modal": {
    "for": "for",
    "at": "at",
    "stockInfo": "Current Stock",
    "packageDetails": "Package Details",
    "packageTypeTubeHint": "Tube medications contain fixed amounts (e.g., creams, gels). Stock is not tracked and reminders are not sent.",
    "packageTypeLiquidHint": "Liquid containers use a simplified reminder model. Low and Critical levels are automatically derived from a single baseline threshold for simplicity.",
    "currentStock": "Pills",
    "packs": "Packs",
    "blistersPerPack": "Blisters/Pack",
    "pillsPerBlister": "Pills/Blister",
    "loosePills": "Loose Pills",
    "pillWeight": "Pill Weight",
    "expiryDate": "Expiry Date",
    "intakeSchedule": "Intake Schedule",
    "coverageStatus": "Coverage Status",
    "daysLeft": "Days Left",
    "runsOut": "Runs Out",
    "notes": "Notes",
    "exportCalendar": "Export to Calendar",
    "exportTooltip": "Export schedule to calendar",
    "editMedication": "Edit Medication",
    "userMedications": "{{name}}'s Medications",
    "noMedsForUser": "No medications found for {{name}}"
  },
  "status": {
    "outOfStock": "Empty",
    "criticalStock": "Critical",
    "lowStock": "Low",
    "normal": "Normal",
    "highStock": "High",
    "noSchedule": "No Schedule",
    "enough": "Enough",
    "noPillsLeft": "No pills left",
    "stockOk": "Stock OK"
  },
  "tooltips": {
    "intakeReminders": "Intake reminders enabled",
    "automaticTaken": "Automatically taken",
    "hasNotes": "Has notes",
    "hasPrescription": "Prescription tracking enabled",
    "stockExceedsCapacity": "Stock exceeds package capacity — consider updating pack count",
    "lightMode": "Switch to light mode",
    "darkMode": "Switch to dark mode"
  },
  "theme": {
    "title": "Theme",
    "light": "Light",
    "dark": "Dark",
    "system": "System"
  },
  "dose": {
    "takenBy": "taken by",
    "markAsTaken": "Mark as taken",
  "take": "Take",
  "skip": "Skip",
  "markAsSkipped": "Mark as skipped",
  "undoTake": "Undo take",
  "undoSkip": "Undo skip"
  },
  "auth": {
    "login": "Login",
    "logout": "Logout",
    "register": "Create Account",
    "createAdmin": "Create Admin Account",
    "profile": "Profile",
    "username": "Username",
    "password": "Password",
    "email": "Email",
    "confirmPassword": "Confirm Password",
    "currentPassword": "Current Password",
    "newPassword": "New Password",
    "changePassword": "Change Password",
    "forgotPassword": "Forgot password?",
    "sendResetLink": "Send Reset Link",
    "resetPassword": "Reset Password",
    "backToLogin": "Back to Login",
    "createAccount": "Create account",
    "alreadyHaveAccount": "Already have an account? Login",
    "firstUserInfo": "This will be the administrator account.",
    "usernameHint": "Letters, numbers, underscores, and hyphens only",
    "emailHint": "For password recovery",
    "passwordMismatch": "Passwords do not match",
    "checkEmail": "Check your email",
    "resetEmailSent": "If an account with this email exists, we've sent a password reset link.",
    "passwordReset": "Password Reset",
    "passwordResetSuccess": "Your password has been reset. Redirecting to login...",
    "profileUpdated": "Profile updated successfully",
    "rememberMe": "Remember me",
    "localAccount": "Local Account",
    "updatePassword": "Update Password",
    "fillAllFields": "Please fill in all password fields",
    "signOut": "Sign Out",
    "uploadAvatar": "Upload avatar",
    "removeAvatar": "Remove avatar",
    "avatarUpdated": "Avatar updated",
    "avatarRemoved": "Avatar removed",
    "loginWithSSO": "Login with {{provider}}",
    "or": "or",
    "deleteAccount": "Delete Account",
    "deleteAccountConfirmTitle": "Delete Account?",
    "deleteAccountConfirmText": "This will permanently delete your account and all your data (medications, settings, history). This action cannot be undone.",
    "deleteAccountButton": "Yes, delete my account"
  },
  "common": {
    "loading": "Loading...",
    "sending": "Sending...",
    "sent": "Sent!",
    "sendFailed": "Failed to send",
    "saveFailed": "Failed to save",
    "networkError": "Network error",
    "saving": "Saving...",
    "outOfStockTakeBlocked": "This medication is empty. Intake cannot be marked as taken.",
    "unsavedChanges": {
      "title": "Unsaved Changes",
      "message": "You have unsaved changes. Are you sure you want to leave?",
      "leave": "Leave",
      "stay": "Stay"
    },
    "validation": {
      "required": "This field is required",
      "nameOrGenericRequired": "Either commercial name or generic name is required",
      "maxLength": "Maximum {{max}} characters ({{current}}/{{max}})",
      "tooLong": "{{current}}/{{max}} characters"
    },
    "saved": "Saved",
    "save": "Save",
    "back": "Back",
    "cancel": "Cancel",
    "close": "Close",
    "edit": "Edit",
    "view": "View",
    "delete": "Delete",
    "remove": "Remove",
    "reset": "Reset",
    "test": "Test",
    "undo": "Undo",
    "expand": "Click to expand",
    "collapse": "Click to collapse",
    "optional": "optional",
    "pill": "pill",
    "pills": "pills",
    "of": "of",
    "loose": "loose",
    "none": "None",
    "daily": "daily",
    "and": "and",
    "everyNDays": "every {{count}} days",
    "day": "day",
    "days": "days",
    "blister": "blister",
    "blisters": "blisters",
    "fullBlister": "full blister",
    "fullBlisters": "full blisters",
    "inBlister": "in 1 blister",
    "total": "total",
    "pillsTotal": "{{count}} pills total",
    "pillsTotal_one": "{{count}} pill total",
    "pillsTotal_other": "{{count}} pills total",
    "max": "max",
    "on": "On",
    "off": "Off"
  },
  "share": {
    "button": "Share",
    "title": "Share Schedule",
    "description": "Generate a secret link to share the medication schedule for a specific person. Anyone with this link can view the schedule. When the person marks a dose as taken, it will also be marked as taken in your app.",
    "allPeople": "Everyone",
    "selectPerson": "Select person",
    "selectPeriod": "Select time period",
    "generateLink": "Generate Link",
    "generating": "Generating...",
    "generateAnother": "Generate another link",
    "linkGenerated": "Share link generated!",
    "scheduleLink": "Schedule link",
    "overviewLink": "Overview link",
    "copyLink": "Copy Link",
    "copyOverviewLink": "Copy Overview Link",
    "copied": "Copied to clipboard!",
    "noPeople": "No medications with 'Taken by' assigned. Add a person to a medication first.",
    "scheduleFor": "Schedule for",
    "period": "Period",
    "noSchedule": "No scheduled doses found.",
    "generatedBy": "Generated by",
    "notFound": "Share link not found",
    "error": "Failed to load schedule",
    "expired": {
      "title": "Link Expired",
      "message": "This share link for {{takenBy}}'s medication schedule has expired.",
      "contact": "Please contact {{username}} to request a new link.",
      "expiredOn": "Expired on: {{date}}"
    }
  },
  "sharedOverview": {
    "title": "Medication for {{person}}",
    "sharedBy": "Shared by {{user}}",
    "expiredOn": "Expired on: {{date}}",
    "noMedications": "No medications available for this share link.",
    "columns": {
      "name": "Name",
      "package": "Package",
      "stock": "Stock",
      "daysLeft": "Estimated days left",
      "nextIntake": "Next intake",
      "depletion": "Depletion",
      "priority": "Stock alert"
    },
    "priority": {
      "normal": "Stock OK",
      "high": "Low stock"
    },
    "stock": {
      "of": "{{current}} of {{capacity}}"
    },
    "error": {
      "notFound": "Share link not found",
      "expired": "This shared overview link has expired",
      "rateLimit": "Too many requests. Please try again in a moment.",
      "generic": "Failed to load medication overview"
    }
  },
  "exportImport": {
    "title": "Data Export / Import",
    "description": "Backup your data or transfer it to another device.",
    "exportTitle": "Export",
    "exportDesc": "Download all your data as a JSON file.",
    "importTitle": "Import",
    "importDesc": "Restore data from a backup file. This will replace all existing data.",
    "export": "Export Data",
    "exporting": "Exporting...",
    "import": "Select File",
    "importing": "Importing...",
    "selectFile": "Select File",
    "includeSensitive": "Include sensitive data (notification URLs)",
    "sensitiveWarning": "Notification URLs may contain passwords and will be stored in plain text.",
    "includeImages": "Include medication images",
    "includeImagesHint": "Images significantly increase file size. Uncheck for smaller exports (~50 KB instead of several MB).",
    "exportOptions": "Export Options",
    "exportWithImages": "With Images",
    "exportWithImagesDesc": "Full backup including all medication images. Larger file size.",
    "exportDataOnly": "Data Only",
    "exportDataOnlyDesc": "Compact backup without images. Much smaller file size (~50 KB).",
    "confirmImport": "Replace All Data?",
    "confirmImportMessage": "This will permanently delete all your current medications, dose history, settings, and share links, then replace them with the imported data.",
    "confirmImportWarning": "This action cannot be undone!",
    "confirmButton": "Yes, Replace All",
    "confirmImportEmpty": "Import Data?",
    "confirmImportEmptyMessage": "This will import all medications, dose history, settings, and share links from the selected file.",
    "confirmButtonEmpty": "Import",
    "cancelButton": "Cancel",
    "exportSuccess": "Data exported successfully",
    "importSuccess": "Data imported successfully",
    "importSuccessDetails": "Imported: {{medications}} medications, {{doses}} doses, {{refills}} refills, {{shares}} share links",
    "importError": "Failed to import data",
    "invalidFile": "Invalid file format. Please select a valid MedAssist-ng export file.",
    "downloadFilename": "medassist-export"
  },
  "refill": {
    "saveFirst": "Save medication first to enable refill",
    "title": "Refill",
    "packs": "Packs to add",
    "pillsToAdd": "Pills to add",
    "loosePills": "Loose pills to add",
    "pillsPerPack": "1 pack = {{count}} pills",
    "addToStock": "Add to Stock",
    "adding": "Adding...",
    "success": "Added {{pills}} pills to stock",
    "history": "Refill History",
    "noHistory": "No refills recorded yet",
    "packsAdded": "{{count}} pack",
    "packsAdded_other": "{{count}} packs",
    "pillsAdded": "{{count}} pill",
    "pillsAdded_other": "{{count}} pills",
    "button": "Refill",
    "viaPrescription": "Prescription"
  },
  "prescription": {
    "enabled": "Track prescription",
    "authorizedRefills": "Authorized refills",
    "remainingRefills": "Remaining prescription refills",
    "lowThreshold": "Low-refill reminder threshold",
    "expiryDate": "Prescription expiry",
    "useForRefill": "Use prescription refill"
  },
  "editStock": {
    "title": "Correct Stock",
    "buttonLabel": "Correct Stock/Partial Blister",
    "hint": "This is for correcting stock discrepancies. For regular stock changes, use 'Refill'.",
    "totalPills": "Total pills",
    "fullBlisters": "Full blisters",
    "partialBlisterPills": "Partial blister",
    "loosePills": "Loose pills",
    "pillsPerBlister": "({{count}} pills each)",
    "packageSize": "Package size: {{count}} pills",
    "packageSizeAmount": "Package size: {{count}} {{unit}}",
    "packageSizeBreakdown": "{{packCount}} x {{sizePerPack}} pills Pack = {{total}} pills",
    "currentComposition": "Current stock: {{fullBlisters}} full blisters + {{partialPills}} partial + {{loosePills}} loose = {{total}} pills",
    "maxExceeded": "Maximum package size is {{count}} pills. Values were capped.",
    "maxExceededAmount": "Maximum package size is {{count}} {{unit}}. Values were capped.",
    "decreaseValue": "Decrease value",
    "increaseValue": "Increase value",
    "currentTotal": "Current total",
    "newTotal": "New total",
    "difference": "Difference",
    "save": "Save Correction",
    "saving": "Saving...",
    "success": "Stock corrected successfully"
  },
  "about": {
    "title": "About",
    "appName": "MedAssist-ng",
    "description": "Open-source medication tracking and planning application for self-hosted environments.",
    "version": "Version",
    "checkForUpdates": "Check for Updates",
    "checking": "Checking...",
    "upToDate": "You're up to date!",
    "updateAvailable": "Update available",
    "downloadUpdate": "Download Update",
    "checkFailed": "Could not check for updates",
    "viewOnGitHub": "View on GitHub",
    "github": "GitHub",
    "license": "MIT License",
    "copyright": "© {{year}} Daniel Volz",
    "madeWith": "Made with ❤️ for better health management",
    "techStack": "Built with React, Fastify & SQLite"
  },
  "report": {
    "button": "Report",
    "title": "Medication Report",
    "description": "Generate a document with detailed medication information for your doctor or personal records.",
    "selectAll": "Select all",
    "deselectAll": "Deselect all",
    "activeMeds": "Active Medications",
    "obsoleteMeds": "Obsolete Medications",
    "format": "Format",
    "formatTxt": "Plain Text (.txt)",
    "formatMd": "Markdown (.md)",
    "formatPdf": "PDF (Print)",
    "generate": "Generate",
    "generating": "Generating...",
    "noSelection": "Select at least one medication",
    "filterByPerson": "Report for",
    "allPeople": "Everyone",
    "docTitle": "Medication Report",
    "docGenerated": "Generated on",
    "docGeneral": "General",
    "docCommercialName": "Commercial Name",
    "docGenericName": "Generic Name",
    "docTakenBy": "Taken by",
    "docStartDate": "Start Date",
    "docObsoleteSince": "Obsolete Since",
    "docStatus": "Status",
    "docStatusActive": "Active",
    "docStatusObsolete": "Obsolete",
    "docPackage": "Package",
    "docPackageType": "Package Type",
    "docBlister": "Blister Pack",
    "docBottle": "Pill Bottle",
    "docTube": "Tube",
    "docPacks": "Packs",
    "docBlistersPerPack": "Blisters per pack",
    "docPillsPerBlister": "Pills per blister",
    "docTotalCapacity": "Total capacity",
    "docCurrentStock": "Current stock",
    "docLoosePills": "Loose pills",
    "docDose": "Dose",
    "docDosePerPill": "Dose per pill",
    "docExpiryDate": "Expiry Date",
    "docNotes": "Notes",
    "docIntakeSchedule": "Intake Schedule",
    "docIntakeEntry": "{{usage}} pill(s) every {{every}} day(s) from {{start}}",
    "docIntakeTakenBy": "taken by {{person}}",
    "docIntakeReminder": "reminder enabled",
    "docPrescription": "Prescription",
    "docAuthorizedRefills": "Authorized refills",
    "docRemainingRefills": "Remaining refills",
    "docPrescriptionExpiry": "Prescription expiry",
    "docIntakeHistory": "Intake History",
    "docDosesTaken": "Doses taken",
    "docDosesTakenAutomatic": "Automatically taken",
    "docDosesSkipped": "Doses skipped",
    "docFirstDose": "First dose",
    "docLastDose": "Last dose",
    "docRefillHistory": "Refill History",
    "docRefillEntry": "{{date}}: +{{packs}} packs, +{{loose}} pills",
    "docRefillPrescription": "(prescription refill)",
    "docNoRefills": "No refills recorded",
    "docNoDoses": "No doses recorded",
    "docPrintInstruction": "Use your browser's Print function (Ctrl+P / ⌘P) to save as PDF."
  }
}
