Files
HealthLog/messages/en.json
T
Marc-André Bombeck 38309932f3 Initial release v1.0.0
HealthLog — personal health-tracking PWA with weight, blood pressure,
pulse, mood tracking, medication compliance, Withings integration,
doctor report PDF export, and Dracula-themed UI.
2026-03-10 20:14:33 +01:00

1213 lines
52 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"common": {
"save": "Save",
"cancel": "Cancel",
"delete": "Delete",
"edit": "Edit",
"moreOptions": "More options",
"create": "Create",
"close": "Close",
"loading": "Loading...",
"error": "Error",
"success": "Success",
"saved": "Saved",
"confirm": "Confirm",
"back": "Back",
"next": "Next",
"yes": "Yes",
"no": "No",
"search": "Search",
"filter": "Filter",
"noData": "No data available",
"optional": "Optional",
"required": "Required",
"all": "All",
"active": "Active",
"inactive": "Inactive",
"enabled": "Enabled",
"disabled": "Disabled",
"networkError": "Network error",
"unknownError": "Unknown error",
"notLoggedIn": "Not logged in",
"noAccess": "Access denied",
"copied": "Copied!",
"or": "or",
"unknown": "Unknown",
"replace": "Replace",
"add": "Add",
"import": "Import",
"test": "Test"
},
"nav": {
"home": "Home",
"dashboard": "Dashboard",
"measurements": "Measurements",
"medications": "Medications",
"charts": "History",
"insights": "Insights",
"targets": "Targets",
"achievements": "Achievements",
"settings": "Settings",
"bugreport": "Bug Report",
"admin": "Admin Console",
"logout": "Sign out",
"login": "Sign in",
"notifications": "Notifications",
"theme": "Appearance",
"themeSystem": "System",
"themeDark": "Dark",
"themeLight": "Light",
"collapseSidebar": "Collapse",
"userMenu": "User menu",
"mood": "Mood",
"skipToContent": "Skip to content",
"sidebar": "Sidebar",
"mainNavigation": "Main navigation",
"mobileNavigation": "Mobile navigation",
"loadingScreen": "Loading…"
},
"auth": {
"login": "Sign in",
"register": "Sign up",
"loginTitle": "Sign In",
"registerTitle": "Sign Up",
"username": "Username",
"password": "Password",
"email": "Email address",
"emailPlaceholder": "name@example.com",
"emailOrUsername": "Email address or username",
"emailOrUsernamePlaceholder": "name@example.com or username",
"loginWithPasskey": "Sign in with Passkey",
"loginWithPassword": "Sign in with password",
"noAccount": "Don't have an account?",
"hasAccount": "Already have an account?",
"registerDisabled": "Registration is disabled.",
"loginFailed": "Login failed",
"passkeyFailed": "Passkey authentication cancelled or failed",
"registerFailed": "Registration failed",
"createAccount": "Create account",
"newAccount": "Create new account",
"backToPasskey": "Back to Passkey",
"passkeySetupLater": "You can set up passkeys at any time in Settings.",
"passwordMinLength": "Min. 12 characters",
"passwordStrength": "Password strength",
"strengthWeak": "Very weak",
"strengthFair": "Weak",
"strengthGood": "Fair",
"strengthStrong": "Strong",
"strengthVeryStrong": "Very strong"
},
"dashboard": {
"title": "Dashboard",
"subtitle": "Your health overview",
"greeting": {
"morning": "Good morning",
"day": "Hello",
"evening": "Good evening"
},
"welcomeBack": "{greeting}, welcome back.",
"welcomeBackWithName": "{greeting} {name}, welcome back.",
"weight": "Weight",
"bloodPressure": "Blood Pressure",
"bloodPressureSys": "Blood Pressure (Sys)",
"bloodPressureDia": "Blood Pressure (Dia)",
"pulse": "Pulse",
"bodyFat": "Body Fat",
"bpInTarget": "BP in Target",
"days30Short": "30d",
"medications": "Medications",
"lastMeasurement": "Last measurement",
"noMeasurements": "No measurements yet",
"trend": "Trend",
"trendUp": "rising",
"trendDown": "falling",
"trendStable": "stable",
"quickEntry": "Quick entry",
"addMeasurement": "Add measurement",
"compliance7d": "Compliance (7 days)",
"complianceGood": "Good",
"complianceLow": "Low",
"mood": "Mood"
},
"measurements": {
"title": "Measurements",
"subtitle": "Weight, blood pressure, pulse & more",
"addMeasurement": "Add",
"editMeasurement": "Edit measurement",
"type": "Type",
"value": "Value",
"unit": "Unit",
"date": "Date",
"source": "Source",
"notes": "Notes",
"typeWeight": "Weight",
"typeBloodPressure": "Blood Pressure",
"typeBpSys": "Sys",
"typeBpDia": "Dia",
"typePulse": "Pulse",
"typeBodyFat": "Body Fat",
"typeSleep": "Sleep",
"typeSteps": "Steps",
"unitHours": "hours",
"unitSteps": "steps",
"sourceManual": "Manual",
"sourceWithings": "Withings",
"sourceImport": "Import",
"systolicLabel": "Systolic (mmHg)",
"diastolicLabel": "Diastolic (mmHg)",
"pulseLabel": "Pulse (bpm)",
"valueWithUnit": "Value ({unit})",
"timestamp": "Time",
"notesPlaceholder": "e.g. after a meal",
"formReset": "Reset form",
"saveError": "Error saving",
"deleteError": "Error deleting",
"invalidValue": "Please enter a valid value.",
"invalidTimestamp": "Please select a valid time.",
"loginRequired": "Please sign in to view measurements.",
"allTypes": "All types",
"measurementCount": "{count} measurements",
"noMeasurements": "No measurements found",
"comment": "Comment",
"actions": "Actions",
"deleteConfirmTitle": "Delete measurement?",
"deleteConfirmDescription": "This measurement will be permanently deleted.",
"pageInfo": "Page {page} of {total}",
"showing": "Showing",
"of": "of",
"entries": "entries"
},
"mood": {
"title": "Mood",
"subtitle": "Mood tracker & entries",
"addEntry": "Add",
"editEntry": "Edit entry",
"moodLevel": "Mood",
"tags": "Tags",
"tagsPlaceholder": "e.g. Exercise, Work, Family",
"tagsHelp": "Comma-separated",
"timestamp": "Time",
"date": "Date",
"source": "Source",
"levelSuperGut": "Amazing",
"levelGut": "Good",
"levelOkay": "Okay",
"levelSchlecht": "Bad",
"levelLausig": "Terrible",
"sourceManual": "Manual",
"sourceMoodlog": "moodLog",
"sourceWeb": "Web",
"sourceTelegram": "Telegram",
"sourceDaylio": "Daylio",
"allMoods": "All moods",
"entryCount": "{count} entries",
"noEntries": "No mood entries found",
"actions": "Actions",
"formReset": "Reset form",
"saveError": "Error saving",
"deleteError": "Error deleting",
"invalidTimestamp": "Please select a valid time.",
"deleteConfirmTitle": "Delete entry?",
"deleteConfirmDescription": "This mood entry will be permanently deleted.",
"pageInfo": "Page {page} of {total}",
"loginRequired": "Please sign in to view mood entries."
},
"medications": {
"title": "Medications",
"subtitle": "Medications, schedules & intake",
"loginRequired": "Please sign in to manage medications.",
"addMedication": "Add",
"editMedication": "Edit medication",
"newMedication": "New medication",
"firstMedication": "Add first medication",
"noMedicationsYet": "No medications added yet",
"loadFailed": "Could not load medications",
"retryLoad": "Retry",
"name": "Name",
"dose": "Dose",
"doseAmount": "Amount",
"doseUnit": "Unit",
"category": "Category",
"schedule": "Schedule",
"scheduleFrom": "From",
"scheduleTo": "To",
"scheduleLabel": "Label",
"scheduleDays": "Days",
"scheduleDaily": "Daily",
"active": "Active",
"inactive": "Paused",
"intakeHistory": "Intake history",
"showIntakeHistory": "Show intake history",
"hideIntakeHistory": "Hide intake history",
"markTaken": "Taken",
"markSkipped": "Skipped",
"deleteConfirm": "Delete medication?",
"deleteDescription": "The medication and all intake records will be permanently deleted.",
"noMedications": "No medications found.",
"compliance": "Compliance",
"import": "Import",
"importIntakes": "Import intakes",
"importDescription": "Paste a JSON array with intake data. Expected format:",
"importUploadFile": "Upload JSON file",
"importPaste": "Paste JSON here...",
"importSelected": "Selected: {name}",
"importFileLoaded": "File \"{name}\" loaded",
"importInvalidJson": "File does not contain valid JSON",
"importNoArray": "No array found",
"importResult": "{imported} intakes imported",
"importDuplicatesSkipped": "{count} duplicates skipped",
"importInvalidSkipped": "{count} invalid entries skipped",
"importFailed": "Import failed",
"importInvalidFormat": "Invalid JSON format",
"apiAccess": "API access",
"apiEndpointTitle": "API Endpoint: {name}",
"apiEndpointDescription": "Use this endpoint to record intakes via API (e.g., iPhone Shortcut or cron job).",
"apiEndpointActive": "API endpoint active",
"apiEndpointActivated": "API endpoint activated",
"apiEndpointDeactivated": "API endpoint deactivated",
"apiTokenCount": "Active ({count} tokens)",
"apiToken": "API Token",
"apiTokenActiveHint": "Endpoint is active. Existing tokens remain valid but cannot be shown in plain text again.",
"apiTokenActivateHint": "Activate the endpoint to create a new token.",
"apiTokenOnceHint": "The token is only shown in plain text once at creation.",
"requestExample": "Request example",
"statusLoadFailed": "Could not load status",
"changeFailed": "Change failed",
"categoryBloodPressure": "Blood Pressure",
"categoryCholesterol": "Cholesterol",
"categoryDiabetes": "Diabetes",
"categoryVitamin": "Vitamins",
"categoryThyroid": "Thyroid",
"categoryHormone": "Hormones",
"categorySupplement": "Supplement",
"categoryPainRelief": "Pain Relief",
"categoryAllergy": "Allergy",
"categoryDigestive": "Gastrointestinal",
"categorySkin": "Skincare",
"categorySleepAid": "Sleep Aid",
"categoryOther": "Other",
"daysSun": "Sun",
"daysMon": "Mon",
"daysTue": "Tue",
"daysWed": "Wed",
"daysThu": "Thu",
"daysFri": "Fri",
"daysSat": "Sat",
"intakeHistoryTitle": "Intake History",
"newIntake": "Add",
"editIntake": "Edit Intake",
"intakeScheduledFor": "Scheduled",
"intakeTakenAt": "Taken at",
"intakeStatus": "Status",
"intakeSource": "Source",
"intakeStatusTaken": "Taken",
"intakeStatusSkipped": "Skipped",
"intakeStatusMissed": "Missed",
"intakeDeleteConfirm": "Delete intake record?",
"intakeDeleteDescription": "This intake record will be permanently deleted.",
"intakeCount": "{count} intakes",
"viewHistory": "History",
"today": "Today",
"yesterday": "Yesterday",
"tomorrow": "Tomorrow",
"withoutNotification": "Without notification",
"pausedSince": "Paused since",
"takeNow": "Take now",
"overdue": "Overdue",
"veryOverdue": "Very overdue",
"compliance7d": "7-day compliance",
"compliance30d": "30-day compliance",
"lastIntake": "Last intake:",
"nextIntake": "Next intake:",
"dayStreak": "day streak",
"taken": "Taken",
"skipped": "Skipped",
"weekdaySunday": "Sunday",
"weekdayMonday": "Monday",
"weekdayTuesday": "Tuesday",
"weekdayWednesday": "Wednesday",
"weekdayThursday": "Thursday",
"weekdayFriday": "Friday",
"weekdaySaturday": "Saturday",
"weekdaySundayPlural": "Sundays",
"weekdayMondayPlural": "Mondays",
"weekdayTuesdayPlural": "Tuesdays",
"weekdayWednesdayPlural": "Wednesdays",
"weekdayThursdayPlural": "Thursdays",
"weekdayFridayPlural": "Fridays",
"weekdaySaturdayPlural": "Saturdays",
"formType": "Type",
"formDose": "Dose",
"formUnit": "Unit",
"formSchedule": "Schedule",
"newSchedule": "New schedule",
"removeSchedule": "Remove schedule",
"advancedEditing": "Advanced editing",
"advancedEditingHide": "Hide advanced editing",
"scheduleInterval": "Interval",
"scheduleEveryWeek": "every week",
"scheduleEveryNWeeks": "every {n} weeks",
"scheduleIntervalPrefix": "Interval:",
"nextSchedulePrefix": "Next schedule:",
"nextScheduleDaily": "daily",
"importIntakesAction": "Import intakes",
"apiEndpointAction": "API endpoint",
"pause": "Pause",
"activate": "Activate",
"disableNotifications": "Disable notifications",
"enableNotifications": "Enable notifications",
"purgeRecords": "Delete all records",
"formReset": "Reset form",
"createMedication": "Create medication",
"deleteConfirmDescription": "The medication and all intake history will be permanently deleted.",
"purgeConfirmTitle": "Delete all records?",
"purgeConfirmDescription": "All intake records for this medication will be permanently deleted. The medication itself will remain and start without history data.",
"saveError": "Error saving",
"deleteError": "Error deleting",
"purgeError": "Error deleting records",
"invalidTimestamp": "Please select a valid time.",
"noIntakesYet": "No intakes recorded yet",
"noIntakesForMedication": "No intakes yet for",
"deleteIntakeAriaLabel": "Delete intake",
"actions": "Actions",
"pageInfo": "Page {page} of {total}",
"loginRequiredIntakes": "Please sign in to view intakes.",
"clear": "Clear",
"phaseConfig": "Reminder phases",
"phaseConfigDescription": "Configure timing for reminders.",
"phaseGreen": "Green",
"phaseYellow": "Yellow",
"phaseOrange": "Orange",
"phaseRed": "Red",
"phaseMinutes": "Min",
"phasePercent": "%",
"phaseBeforeEnd": "before end",
"phaseAfterEnd": "after end",
"phaseResetDefaults": "Reset to defaults",
"phaseSaved": "Reminder phases saved",
"phaseReset": "Reset to defaults"
},
"charts": {
"title": "History",
"subtitle": "Visualization of your health data",
"timeRange": "Time range",
"days7": "7 days",
"days30": "30 days",
"days90": "90 days",
"days365": "1 year",
"daysAll": "All",
"weight": "Weight",
"bloodPressure": "Blood Pressure",
"pulse": "Pulse",
"bodyFat": "Body Fat",
"sleep": "Sleep",
"steps": "Steps",
"compliance": "Compliance",
"noData": "No data in selected time range",
"movingAverage": "Moving average",
"target": "Target range",
"points7Label": "7P",
"points7Title": "Last seven data points",
"points30Label": "30P",
"points30Title": "Last thirty data points",
"points90Label": "90P",
"points90Title": "Last ninety data points",
"pointsAllLabel": "All",
"pointsAllTitle": "All available data points",
"systolic": "Systolic",
"diastolic": "Diastolic",
"movingAverage7d": "7d avg",
"trend": "Trend",
"targetRanges": "Target ranges",
"perWeek": "/week",
"selectMedication": "Select medication",
"noComplianceData": "No compliance data available",
"history": "History",
"complianceDays90": "Compliance (90 days)",
"colorGreen": "Green:",
"colorOrange": "Orange:",
"colorRed": "Red:",
"mood": "Mood",
"moodScore": "Mood Score",
"moodMA": "7-Day Average"
},
"insights": {
"title": "Insights",
"subtitle": "AI-powered analysis of your health data",
"overviewSubtitle": "Trends, risks, progress at a glance",
"navGeneral": "General",
"navBloodPressure": "Blood Pressure",
"navWeight": "Weight",
"navPulse": "Pulse",
"navMood": "Mood",
"navMedication": "Medication",
"navBmi": "BMI",
"measurementsOverDays": "{count} measurements over {days} days",
"healthStatus": "Health Status",
"noWeightData": "No weight data or height not set.",
"notEnoughBpData": "Not enough blood pressure data.",
"bpTargetRange": "BP Target Range",
"inTargetRange": "in target range",
"bpTarget": "Target: {range}",
"noDobSet": "Date of birth not set.",
"avg30dEsc": "30d average · ESC/ESH 2018",
"whoClassification": "WHO Classification",
"correlations": "Correlations",
"weightVsBp": "Weight vs. Blood Pressure (Systolic)",
"strengthStrong": "Strong correlation",
"strengthModerate": "Moderate correlation",
"strengthWeak": "Weak correlation",
"strengthNone": "No correlation",
"weightBpStrong": "There is a strong correlation between weight and blood pressure.",
"weightBpModerate": "There is a moderate correlation between weight and blood pressure.",
"weightBpWeak": "There is a weak correlation between weight and blood pressure.",
"weightBpNone": "No discernible correlation between weight and blood pressure.",
"notEnoughCorrelationData": "Not enough data for correlation analysis.",
"minCorrelationData": "At least 5 time-matched weight and blood pressure measurements needed.",
"bpMedContinuity": "BP Medication Continuity vs. Blood Pressure (Systolic)",
"continuityLabel": "Continuity",
"continuityBpLabel": "BP Medication Continuity (%)",
"weightKgLabel": "Weight (kg)",
"bpMedNegative": "Negative correlation: higher continuity tends to be associated with lower systolic blood pressure.",
"bpMedPositive": "Positive correlation: higher continuity tends to be associated with higher systolic blood pressure in your data.",
"bpMedNone": "No discernible correlation in your data.",
"bpMedCount": "{count} BP medications",
"notEnoughMedData": "Not enough data for this analysis.",
"notEnoughMedDataHint": "Tag medications as blood pressure medications and record sufficient intakes + blood pressure measurements.",
"medicationCompliance": "Medication Compliance",
"dayStreak": "{count} day streak",
"compliance7d": "7-day compliance",
"compliance30d": "30-day compliance",
"taken": "taken",
"skipped": "skipped",
"missed": "missed",
"complianceTrend": "Compliance Trend",
"generalStatusTitle": "General Health Status",
"generalStatusLoading": "Generating general status...",
"generalStatusNoKey": "The general status cannot be generated because no OpenAI key is configured.",
"generalStatusUnavailable": "The general status is currently unavailable.",
"generalStatusBadge": {
"good": "Good",
"watch": "Watch",
"critical": "Critical"
},
"assessmentTitle": "Assessment",
"bloodPressureSectionTitle": "Blood Pressure",
"bloodPressureMedicationListTitle": "Blood Pressure Medication & Compliance",
"bloodPressureMedicationListEmpty": "No active blood pressure medication configured.",
"bloodPressureStatusLoading": "Generating blood pressure summary...",
"bloodPressureStatusNoKey": "The blood pressure summary cannot be generated because no OpenAI key is configured.",
"bloodPressureStatusUnavailable": "The blood pressure summary is currently unavailable.",
"weightSectionTitle": "Weight",
"weightStatusLoading": "Generating weight summary...",
"weightStatusNoKey": "The weight summary cannot be generated because no OpenAI key is configured.",
"weightStatusUnavailable": "The weight summary is currently unavailable.",
"pulseSectionTitle": "Pulse",
"pulseStatusLoading": "Generating pulse summary...",
"pulseStatusNoKey": "The pulse summary cannot be generated because no OpenAI key is configured.",
"pulseStatusUnavailable": "The pulse summary is currently unavailable.",
"bmiSectionTitle": "BMI",
"bmiStatusLoading": "Generating BMI summary...",
"bmiStatusNoKey": "The BMI summary cannot be generated because no OpenAI key is configured.",
"bmiStatusUnavailable": "The BMI summary is currently unavailable.",
"medicationComplianceStatusLoading": "Generating medication compliance text...",
"medicationComplianceStatusNoKey": "The medication compliance text cannot be generated because no OpenAI key is configured.",
"medicationComplianceStatusUnavailable": "The medication compliance text is currently unavailable.",
"complianceNoData": "No compliance data available.",
"aiInsights": "AI Insights",
"configureApiKey": "Configure an OpenAI API key in Settings to get AI-powered insights.",
"alertsTitle": "Notes & Recommendations",
"showLess": "Show less",
"showMore": "+{count} more",
"generate": "Generate new analysis",
"generating": "Generating analysis...",
"lastGenerated": "Last analysis",
"noInsights": "No analysis available yet.",
"rateLimit": "Please wait before generating a new analysis.",
"noApiKey": "Please add an OpenAI API key in Settings first.",
"sendRawData": "Send raw data",
"minMoodCorrelationData": "At least 5 temporally matched mood and measurement data points required.",
"moodBpModerate": "There is a moderate correlation between mood and blood pressure.",
"moodBpNone": "No detectable correlation between mood and blood pressure.",
"moodBpStrong": "There is a strong correlation between mood and blood pressure.",
"moodBpWeak": "There is a weak correlation between mood and blood pressure.",
"moodScoreLabel": "Mood (avg)",
"moodSectionTitle": "Mood",
"moodStatusLoading": "Generating mood analysis...",
"moodStatusNoKey": "Mood summary cannot be generated because no OpenAI API key is configured.",
"moodStatusUnavailable": "Mood analysis unavailable",
"moodVsBp": "Mood vs. Blood Pressure (Systolic)",
"moodVsPulse": "Mood vs. Pulse",
"moodVsWeight": "Mood vs. Weight",
"moodWeightModerate": "There is a moderate correlation between mood and weight.",
"moodWeightNone": "No detectable correlation between mood and weight.",
"moodWeightStrong": "There is a strong correlation between mood and weight.",
"moodWeightWeak": "There is a weak correlation between mood and weight.",
"notEnoughMoodCorrelationData": "Not enough mood data for correlation analysis."
},
"targets": {
"title": "Targets",
"subtitle": "Personal reference ranges based on your profile",
"introText": "These targets are personal reference ranges derived from your profile and established medical guidelines. They help you quickly classify your key health values and detect changes early. The ranges are calculated individually for you, for example based on age, sex, and height. For each value, you can immediately see whether you are within the target range or above or below it. This gives you a compact overview of which targets you are currently meeting well and where improvement is still possible.",
"current": "Current",
"average30d": "30-day average:",
"targetRange": "Target range",
"classification": "Rating",
"source": "Source",
"sourceLabel": "Source: {source}",
"trend": "Trend",
"weight": "Weight",
"bloodPressure": "Blood Pressure",
"pulse": "Resting Pulse",
"sleep": "Sleep Duration",
"bmi": "BMI",
"bodyFat": "Body Fat",
"steps": "Steps/Day",
"compliance": "Compliance",
"compliancePerMedication": "Per medication",
"diastolic": "Diastolic",
"noProfile": "Please complete your profile to get personalized targets.",
"profileIncomplete": "Profile incomplete",
"profileIncompleteHeightAge": "Add your height and date of birth in your profile to get personalized target ranges.",
"profileIncompleteHeight": "Add your height in your profile to calculate weight target range.",
"profileIncompleteAge": "Add your date of birth in your profile to get age-based target ranges.",
"noMeasurementData": "No measurement data available yet.",
"noMeasurementYet": "No measurement available yet",
"currentValue": "Current: {value} {unit}",
"targetRangeValue": "Target range: {min}–{max} {unit}",
"inTarget": "In target range",
"belowTarget": "{delta} {unit} below target",
"aboveTarget": "{delta} {unit} above target",
"loadError": "Error loading data",
"classificationOptimal": "Optimal",
"classificationNormal": "Normal",
"classificationElevated": "Elevated",
"classificationHigh": "High",
"classificationLow": "Low"
},
"onboarding": {
"welcome": "Welcome to HealthLog!",
"setupDescription": "Set up your profile to get started. You can change this later in Settings.",
"completeSetup": "Complete setup",
"skip": "Skip",
"medicationsTitle": "Do you take medications?",
"medicationsDescription": "Add your medications to enable reminders and compliance tracking.",
"medNamePlaceholder": "Name",
"medDosePlaceholder": "Dose",
"notificationsTitle": "Reminders",
"notificationsDescription": "HealthLog can remind you about your medications. Configure this later in Settings.",
"telegramHint": "Reminders via Telegram bot with snooze buttons",
"webPushHint": "Browser notifications directly to your device",
"notificationsLater": "You can set this up anytime in Settings.",
"targetsTitle": "Target Values",
"targetsDescription": "Set optional target values for blood pressure and weight.",
"targetSys": "Systolic (mmHg)",
"targetDia": "Diastolic (mmHg)",
"targetWeight": "Target weight (kg)"
},
"settings": {
"title": "Settings",
"subtitle": "Profile, Security & Connections",
"sectionsTitle": "Settings",
"categoryGeneral": "General",
"categoryNotifications": "Notifications",
"categoryAi": "AI",
"categoryIntegration": "Integration",
"categoryApi": "API",
"profile": "Profile",
"security": "Security",
"language": "Language",
"languageDescription": "Choose the display language of the application.",
"languageSystem": "System (automatic)",
"username": "Username",
"height": "Height (cm)",
"dateOfBirth": "Date of birth",
"dateOfBirthHint": "Used for automatic blood pressure target calculations.",
"gender": "Gender",
"genderNone": "Not specified",
"genderMale": "Male",
"genderFemale": "Female",
"genderHint": "Used for gender-specific target values.",
"profileSaved": "Profile saved",
"changePassword": "Change password",
"changePasswordDescription": "Replace your current password with a new one.",
"passwordReset": "Password reset",
"currentPassword": "Current password",
"newPassword": "New password",
"confirmNewPassword": "Confirm new password",
"passwordMismatch": "New passwords do not match",
"passwordUpdated": "Password updated successfully",
"passkeys": "Passkeys",
"registeredPasskeys": "Registered Passkeys",
"passkeysDescription": "Passkeys allow secure login without a password.",
"passkeyName": "Name",
"passkeyDevice": "Device",
"passkeyBackup": "Backup",
"passkeyCreated": "Created",
"passkeyActions": "Actions",
"noPasskeys": "No passkeys registered.",
"addPasskey": "Add passkey",
"passkeyAdded": "Passkey added successfully!",
"passkeyOptionsError": "Could not load passkey options",
"passkeyRegistrationFailed": "Passkey registration failed",
"passkeyRegistrationCancelled": "Passkey registration cancelled",
"deletePasskey": "Delete passkey?",
"deletePasskeyDescription": "The passkey will be permanently deleted.",
"singleDevice": "Single device",
"multiDevice": "Multi-device",
"backedUp": "backed up",
"telegram": "Telegram Notifications",
"telegramDescription": "Get reminders for missed medication intake via Telegram.",
"telegramSaved": "Telegram settings saved",
"botToken": "Bot Token",
"chatId": "Chat ID",
"enableNotifications": "Enable notifications",
"testMessage": "Test message",
"testSent": "Test message sent!",
"telegramStep1": "1. Create a bot via @BotFather in Telegram and copy the token.",
"telegramStep2": "2. Send /start to your bot to activate the chat.",
"telegramStep3": "3. Find your Chat ID via @userinfobot or the Bot API.",
"ntfy": "ntfy",
"ntfyDescription": "Notifications via ntfy (self-hosted or ntfy.sh).",
"ntfyEnable": "Enable ntfy",
"ntfyServer": "Server URL",
"ntfyTopic": "Topic",
"ntfyAuthToken": "Auth Token (optional)",
"ntfyAuthTokenHint": "Only needed for private topics with access control.",
"webPush": "Browser Push",
"webPushDescription": "Receive notifications directly in your browser, even when HealthLog is not open.",
"webPushNotSupported": "Your browser does not support push notifications.",
"webPushDenied": "Push notifications are blocked. Allow them in your browser settings.",
"webPushNotConfigured": "Web Push is not configured on the server.",
"webPushSubscribe": "Enable push",
"webPushUnsubscribe": "Disable push",
"webPushSubscribed": "Push notifications enabled!",
"webPushUnsubscribed": "Push notifications disabled.",
"webPushSubscribeFailed": "Activation failed",
"webPushActive": "Active",
"kiInsights": "AI Insights (OpenAI)",
"kiInsightsDescription": "Optional: Save your OpenAI key for daily, automatic AI evaluations in Insights.",
"kiInsightsBenefitsTitle": "Benefits with OpenAI key",
"kiInsightsBenefit1": "Daily summaries for general status, blood pressure, weight, pulse, BMI, and medication compliance.",
"kiInsightsBenefit2": "Better trend and correlation interpretation based on your latest 30 daily measurement points per area.",
"kiInsightsBenefit3": "Automatic background refresh so the Insights page always shows up-to-date assessments.",
"createApiKeyHint": "Create your API key at:",
"createApiKeyLinkLabel": "platform.openai.com/api-keys",
"apiKey": "API Key",
"apiKeyStored": "Key stored — enter new one to replace",
"apiKeySaved": "API key saved",
"apiKeyRemoved": "API key removed",
"rawData": "Send raw data",
"rawDataOnDescription": "Aggregated metrics plus anonymized raw points from the last 30 days are sent. This includes per-metric measurements (for example weight, blood pressure, pulse) with time context so AI can detect patterns, outliers, and correlations more reliably. Name, email, and direct account identifiers are not transmitted.",
"rawDataOffDescription": "Only summarized metrics are sent (for example averages, trends, minimum/maximum). No individual points and no exact time context. This is more privacy-preserving, but AI can be less precise for short-term patterns and fluctuations.",
"rawDataWarning": "Raw mode enabled: AI receives additional anonymized points from the last 30 days for higher analysis accuracy.",
"regenerateInsights": "Regenerate reports",
"regenerateSuccess": "Reports regenerated successfully",
"regenerateRateLimit": "Please wait — max 2 analyses per hour.",
"lastGeneratedAt": "Last generated",
"withings": "Withings",
"withingsDescription": "Connect your Withings scale and blood pressure monitors.",
"withingsCredentials": "API Credentials",
"withingsClientId": "Client ID",
"withingsClientSecret": "Client Secret",
"withingsCredentialsSaved": "Credentials saved",
"withingsCredentialsSavedPlaceholder": "Saved — enter new to replace",
"withingsCredentialsSavedPlaceholderSecret": "Saved — enter new to replace",
"withingsSaveCredentials": "Save credentials",
"withingsConnected": "Connected",
"withingsTokenExpired": "Token expired",
"withingsLastSync": "Last sync",
"withingsSync": "Sync now",
"withingsFullSync": "Sync all data",
"withingsFullSyncTitle": "Full synchronization?",
"withingsFullSyncDescription": "All available Withings data will be fully synchronized. This may take some time depending on your history.",
"withingsSyncResult": "{count} measurements synchronized",
"withingsFullSyncResult": "{count} measurements fully synchronized",
"withingsSyncFailed": "Sync failed",
"withingsSynchronize": "Synchronize",
"withingsDisconnect": "Disconnect",
"withingsDisconnectTitle": "Disconnect Withings?",
"withingsDisconnectDescription": "The connection to Withings will be disconnected. Previously synced data will be preserved.",
"withingsConnect": "Connect with Withings",
"withingsNoCredentials": "Please enter your API credentials above to connect Withings.",
"apiTokens": "API Tokens",
"apiTokensDescription": "Create API tokens for external medication intake (e.g., Shortcuts, automations).",
"tokenName": "Token name",
"tokenNamePlaceholder": "Token name (e.g., iPhone Shortcut)",
"tokenCreated": "Token created — copy it now! It won't be shown again.",
"tokenRevoke": "Revoke token?",
"tokenRevokeDescription": "The token will be permanently deactivated. Applications using it will lose access.",
"tokenRevoked": "Revoked",
"tokenExpired": "Expired",
"tokenActive": "Active",
"activeTokensTitle": "Active tokens",
"revokedTokensTitle": "Revoked tokens ({count})",
"tokenTableName": "Name",
"tokenTablePermissions": "Permissions",
"tokenTableStatus": "Status",
"tokenTableCreated": "Created",
"tokenTableLastUsed": "Last used",
"tokenTableActions": "Actions",
"noActiveTokens": "No active tokens available.",
"tokenNeverUsed": "Never",
"tokenLastUsed": "Last used:",
"tokenCreatedAt": "Created:",
"apiEndpoint": "API endpoint for medication intake:",
"apiEndpointsTitle": "API endpoints",
"apiEndpointsDescription": "Overview of currently available external endpoint(s) for token-based ingestion.",
"apiEndpointMethod": "Method",
"apiEndpointPath": "Path",
"apiEndpointAuth": "Authentication",
"apiEndpointExample": "Body example",
"export": "Data Export",
"exportDescription": "Export all your health data.",
"exportJson": "JSON Export",
"exportCsv": "CSV Export",
"doctorReport": "Doctor Report (PDF)",
"auditLog": "Activity Log",
"auditLogHidden": "Log hidden.",
"auditLogShowing": "Showing last {count} of {total} entries",
"auditNoActivities": "No activities found.",
"auditAction": "Action",
"auditCategory": "Category",
"auditIp": "IP",
"auditLocation": "Location",
"auditTimestamp": "Time",
"auditOther": "Other",
"auditCategoryAuth": "Auth",
"auditCategoryData": "Data",
"auditCategoryIntegration": "Integration",
"auditCategoryAI": "AI",
"auditCategoryAdmin": "Admin",
"auditActionAuthRegister": "Registration",
"auditActionAuthLogin": "Login",
"auditActionAuthLoginPasskey": "Passkey login",
"auditActionAuthLoginPassword": "Password login",
"auditActionAuthLoginFailed": "Failed login",
"auditActionAuthLogout": "Logout",
"auditActionAuthPasskeyRegister": "Passkey added",
"auditActionAuthPasskeyDelete": "Passkey deleted",
"auditActionAuthPasswordChange": "Password changed",
"auditActionMeasurementCreate": "Measurement created",
"auditActionMeasurementUpdate": "Measurement updated",
"auditActionMeasurementDelete": "Measurement deleted",
"auditActionMedicationCreate": "Medication created",
"auditActionMedicationUpdate": "Medication updated",
"auditActionMedicationDelete": "Medication deleted",
"auditActionMedicationIntake": "Intake recorded",
"auditActionMedicationIngestExternal": "External intake",
"auditActionWithingsConnect": "Withings connected",
"auditActionWithingsDisconnect": "Withings disconnected",
"auditActionExportDownload": "Export downloaded",
"auditActionInsightsGenerate": "AI insight generated",
"auditActionAdminUserUpdate": "Admin: User updated",
"auditActionAdminUserResetPassword": "Admin: Password reset",
"auditActionAdminSettingsUpdate": "Admin: Settings changed",
"collapse": "Collapse",
"expand": "Expand",
"dangerZoneTitle": "Danger Zone",
"dangerZone": "Delete All Data",
"dangerZoneDescription": "Deletes all your health data and integrations. Your user account will be preserved.",
"dangerZoneConfirm": "Delete all data?",
"dangerZoneConfirmDescription": "This will permanently delete all your health data and integrations. Your user account will be preserved.",
"dangerZoneSuccess": "All personal data has been deleted",
"dangerZoneDeleteFailed": "Deletion failed",
"finalDelete": "Delete permanently",
"saved": "Saved",
"savingError": "Error saving",
"adminAreaTitle": "Admin area",
"adminAreaDescription": "System-wide settings and user management are available in the admin console.",
"openAdminConsole": "Open admin console",
"moodLogTitle": "moodLog",
"moodLogDescription": "Import mood data from moodLog",
"moodLogUrl": "moodLog URL",
"moodLogUrlPlaceholder": "https://mood.example.com",
"moodLogApiKey": "API Key",
"moodLogApiKeyPlaceholder": "ml_...",
"moodLogWebhookSecret": "Webhook Secret",
"moodLogWebhookSecretHelp": "Enter this secret in moodLog as webhook secret",
"moodLogSync": "Start sync",
"moodLogFullSync": "Full sync",
"moodLogFullSyncTitle": "Full sync?",
"moodLogFullSyncDescription": "All available mood data will be fully synchronized.",
"moodLogDisconnect": "Disconnect",
"moodLogDisconnectTitle": "Disconnect moodLog?",
"moodLogDisconnectDescription": "The connection will be removed and all imported mood data will be deleted.",
"moodLogLastSync": "Last sync",
"moodLogEntries": "Entries",
"moodLogSyncResult": "{count} entries synchronized",
"moodLogSyncFailed": "Sync failed",
"moodLogSaved": "moodLog connection saved",
"moodLogDisconnected": "moodLog disconnected"
},
"admin": {
"title": "Administration",
"subtitle": "System status, users, and settings",
"sectionsTitle": "Admin",
"systemStatus": "System Status",
"version": "Version",
"database": "Database",
"databaseConnected": "Connected",
"databaseError": "Error",
"gitCommit": "Git Commit",
"startedAt": "Started",
"users": "Users",
"measurementsCount": "Measurements",
"activeTokens": "Active API Tokens",
"activeSessions": "Active Sessions",
"loadingStatus": "Loading status...",
"workerStatus": "Job Worker",
"workerRunning": "Running",
"workerStopped": "Stopped",
"lastReminderCheck": "Last Reminder Check",
"appSettings": "Application Settings",
"registrationEnabled": "Allow registration",
"registrationEnabledDescription": "When disabled, new users cannot register.",
"defaultLanguage": "Default language",
"defaultLanguageDescription": "Used for new users and as fallback.",
"servicesGlobal": "Services (global)",
"servicesGlobalDescription": "Disabled services are not available to any user.",
"telegramGlobal": "Allow Telegram notifications system-wide.",
"ntfyGlobal": "Allow ntfy notifications system-wide.",
"webPushGlobal": "Allow browser push notifications system-wide.",
"apiGlobal": "Allow API endpoints and API tokens system-wide.",
"moodLogGlobal": "Allow moodLog integration system-wide.",
"sectionGeneral": "General",
"sectionIntegrations": "Integrations",
"sectionMedication": "Medications",
"sectionManagement": "Management",
"umamiTitle": "Umami",
"umamiDescription": "Web analytics with Umami",
"glitchtipTitle": "GlitchTip",
"glitchtipDescription": "Error tracking with GlitchTip",
"webPushVapidTitle": "Web Push VAPID",
"monitoring": "Monitoring (Umami/Glitchtip)",
"monitoringDescription": "Configuration for website analytics and error tracking.",
"umamiEnabled": "Enable Umami tracking.",
"umamiScriptUrl": "Umami script URL",
"umamiScriptUrlPlaceholder": "https://analytics.example.com/script.js",
"umamiWebsiteId": "Umami website ID",
"umamiWebsiteIdPlaceholder": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"glitchtipEnabled": "Enable Glitchtip error tracking.",
"glitchtipDsn": "Glitchtip DSN",
"glitchtipDsnPlaceholder": "https://<public-key>@glitchtip.example.com/<project-id>",
"glitchtipEnvironment": "Glitchtip environment",
"glitchtipEnvironmentPlaceholder": "production",
"webPushVapid": "Web Push (VAPID)",
"webPushVapidDescription": "Configure VAPID keys and subject here so browser push works without environment variables.",
"webPushVapidPublicKey": "VAPID public key",
"webPushVapidPublicKeyPlaceholder": "BElx... (Base64URL)",
"webPushVapidPrivateKey": "VAPID private key",
"webPushVapidPrivateKeyPlaceholder": "Optional: enter a new private key",
"webPushVapidSubject": "VAPID subject",
"webPushVapidSubjectPlaceholder": "mailto:you@example.com",
"configured": "Configured",
"notConfigured": "Not configured",
"monitoringTestUmami": "Send Umami test",
"monitoringTestGlitchtip": "Send Glitchtip test",
"monitoringTestSuccess": "Test event sent",
"monitoringTestFailed": "Monitoring test failed",
"monitoringSave": "Save monitoring",
"bugReportGithub": "Bug report (GitHub Issues)",
"bugReportGithubDescription": "Configure GitHub issue token and repository for incoming bug reports.",
"bugReportRepo": "Repository",
"bugReportRepoPlaceholder": "owner/repo",
"bugReportToken": "Issue token",
"bugReportTokenPlaceholder": "ghp_...",
"bugReportConfigured": "Bug report is configured.",
"bugReportNotConfigured": "Bug report is not fully configured yet.",
"bugReportSave": "Save bug report settings",
"userManagement": "User Management",
"userEmail": "Email",
"userRole": "Role",
"userPasskeys": "Passkeys",
"userCreated": "Created",
"userActions": "Actions",
"editUser": "Edit user",
"editUserTitle": "Edit user: {name}",
"demoteToUser": "Demote to user",
"promoteToAdmin": "Promote to admin",
"toUser": "→ User",
"toAdmin": "→ Admin",
"ownRoleUnchangeable": "Cannot change own role",
"lastAdminError": "Cannot demote the last admin",
"resetPassword": "Reset password",
"resetPasswordTitle": "Reset password: {name}",
"newPassword": "New password",
"newPasswordPlaceholder": "At least 12 characters",
"passwordReset": "Password has been reset",
"reset": "Reset",
"loadingUsers": "Loading users...",
"apiTokens": "API Tokens",
"tokenUser": "User",
"tokenName": "Name",
"tokenPermissions": "Permissions",
"tokenStatus": "Status",
"tokenLastUsed": "Last used",
"tokenCreated": "Created",
"tokenNeverUsed": "Never",
"noTokens": "No API tokens found.",
"loginOverview": "Login Overview",
"allAuthEvents": "All auth events",
"failedOnly": "Failed only",
"noEntries": "No entries found.",
"showingEntries": "Showing {count} of {total} auth entries",
"status": "Status",
"action": "Action",
"ip": "IP",
"location": "Location",
"timestamp": "Time",
"dangerZone": "Danger Zone",
"deleteAllData": "Delete all data globally",
"deleteAllDescription": "Deletes all measurement, medication, integration, and log data for all users. User accounts will be preserved.",
"deleteAllConfirm": "Really delete all data?",
"deleteAllConfirmDescription": "This will permanently delete all measurements, medications, intake records, and integration data for all users. User accounts will be preserved.",
"deleteButton": "Delete all data",
"finalDelete": "Delete permanently",
"deletedResult": "Deleted: {measurements} measurements, {medications} medications, {intakeEvents} intakes",
"authRegister": "Registration",
"authLogin": "Login",
"authLoginPasskey": "Passkey login",
"authLoginPassword": "Password login",
"authLoginFailed": "Failed",
"authLogout": "Logout",
"authPasskeyRegister": "Passkey added",
"authPasskeyDelete": "Passkey deleted",
"medicationReminders": "Medication Reminders",
"medicationRemindersDescription": "Thresholds for reminder badge color transitions on medication cards.",
"reminderLateMinutes": "Late threshold (minutes)",
"reminderLateMinutesDescription": "Minutes after window end until the badge changes from yellow to orange.",
"reminderMissedMinutes": "Missed threshold (minutes)",
"reminderMissedMinutesDescription": "Minutes after window end until the intake is considered missed.",
"reminderThresholdsSave": "Save thresholds",
"notificationTest": "Test Notifications",
"notificationTestSend": "Send test notification",
"notificationTestSuccess": "Test notification sent",
"notificationTestFailed": "Failed to send test notification",
"reminderCheckRun": "Run reminder check",
"reminderCheckSuccess": "Reminder check completed",
"reminderCheckFailed": "Failed to run reminder check",
"reminderCheckResults": "Results",
"reminderCheckNotifOn": "Notifications on",
"reminderCheckNotifOff": "Notifications off",
"reminderCheckEventsToday": "Events today",
"reminderCheckNotifSent": "Sent"
},
"achievements": {
"title": "Achievements",
"subtitle": "Unlock achievements from feature rollout onward through consistent health trends and medication habits.",
"loginRequired": "Please sign in to view achievements.",
"points": "Points",
"unlocked": "Unlocked",
"nextGoal": "Next goal",
"allCompleted": "All achievements unlocked!",
"completed": "Completed",
"inProgress": "In progress",
"progress": "Progress",
"goalReached": "Goal reached",
"remaining": "{count} remaining",
"remainingUnlocks": "{count} still unlockable",
"noneUnlockedYet": "No achievements unlocked yet.",
"pointsValue": "{points} points",
"metricCount": "{count}",
"metricDays": "{count} days",
"metricPercent": "{count}%",
"badges": {
"intakeTotal1": {
"title": "First intake",
"description": "Record your first taken medication event."
},
"intakeTotal10": {
"title": "Intake starter",
"description": "Record 10 taken medication events."
},
"intakeTotal50": {
"title": "Intake routine",
"description": "Record 50 taken medication events."
},
"intakeTotal150": {
"title": "Intake expert",
"description": "Record 150 taken medication events."
},
"intakeTotal300": {
"title": "Intake legend",
"description": "Record 300 taken medication events."
},
"overIntake1": {
"title": "Idiot",
"description": "Take medication at least once more than planned."
},
"skippedIntake1": {
"title": "Lazy Boy",
"description": "Skip at least one planned intake."
},
"passkeyCreated1": {
"title": "Passkey set up",
"description": "Create your first passkey."
},
"passkeyLogin1": {
"title": "Passkey login",
"description": "Sign in at least once with a passkey."
},
"passwordLogin1": {
"title": "Old school",
"description": "Sign in at least once with username and password."
},
"bugReport1": {
"title": "Bug hunter",
"description": "Submit a bug report."
},
"loginStreak7": {
"title": "Login streak 7d",
"description": "Sign in on 7 consecutive days."
},
"loginStreak30": {
"title": "Login streak 30d",
"description": "Sign in on 30 consecutive days."
},
"onTimePerfect1": {
"title": "On-time 1d",
"description": "Take all medications on time for 1 consecutive days."
},
"compliance801": {
"title": "80% adherence · 1d",
"description": "Reach at least 80% 30-day adherence for 1 consecutive days."
},
"bmiGreen1": {
"title": "BMI green · 1d",
"description": "Keep your BMI in the normal range for 1 consecutive days."
},
"bpGreen1": {
"title": "BP green · 1d",
"description": "Keep your blood pressure in the normal range for 1 consecutive days."
},
"pulseGreen1": {
"title": "Pulse green · 1d",
"description": "Keep your resting pulse in the normal range for 1 consecutive days."
},
"onTimePerfect7": {
"title": "On-time 7d",
"description": "Take all medications on time for 7 consecutive days."
},
"compliance807": {
"title": "80% adherence · 7d",
"description": "Reach at least 80% 30-day adherence for 7 consecutive days."
},
"bmiGreen7": {
"title": "BMI green · 7d",
"description": "Keep your BMI in the normal range for 7 consecutive days."
},
"bpGreen7": {
"title": "BP green · 7d",
"description": "Keep your blood pressure in the normal range for 7 consecutive days."
},
"pulseGreen7": {
"title": "Pulse green · 7d",
"description": "Keep your resting pulse in the normal range for 7 consecutive days."
},
"onTimePerfect30": {
"title": "On-time 30d",
"description": "Take all medications on time for 30 consecutive days."
},
"compliance8030": {
"title": "80% adherence · 30d",
"description": "Reach at least 80% 30-day adherence for 30 consecutive days."
},
"bmiGreen30": {
"title": "BMI green · 30d",
"description": "Keep your BMI in the normal range for 30 consecutive days."
},
"bpGreen30": {
"title": "BP green · 30d",
"description": "Keep your blood pressure in the normal range for 30 consecutive days."
},
"pulseGreen30": {
"title": "Pulse green · 30d",
"description": "Keep your resting pulse in the normal range for 30 consecutive days."
},
"onTimePerfect180": {
"title": "On-time 180d",
"description": "Take all medications on time for 180 consecutive days."
},
"compliance80180": {
"title": "80% adherence · 180d",
"description": "Reach at least 80% 30-day adherence for 180 consecutive days."
},
"bmiGreen180": {
"title": "BMI green · 180d",
"description": "Keep your BMI in the normal range for 180 consecutive days."
},
"bpGreen180": {
"title": "BP green · 180d",
"description": "Keep your blood pressure in the normal range for 180 consecutive days."
},
"pulseGreen180": {
"title": "Pulse green · 180d",
"description": "Keep your resting pulse in the normal range for 180 consecutive days."
},
"onTimePerfect360": {
"title": "On-time 360d",
"description": "Take all medications on time for 360 consecutive days."
},
"compliance80360": {
"title": "80% adherence · 360d",
"description": "Reach at least 80% 30-day adherence for 360 consecutive days."
},
"bmiGreen360": {
"title": "BMI green · 360d",
"description": "Keep your BMI in the normal range for 360 consecutive days."
},
"bpGreen360": {
"title": "BP green · 360d",
"description": "Keep your blood pressure in the normal range for 360 consecutive days."
},
"pulseGreen360": {
"title": "Pulse green · 360d",
"description": "Keep your resting pulse in the normal range for 360 consecutive days."
}
},
"nextProgressLabel": "Progress to unlock",
"completedOn": "Completed on {date}"
},
"bugreport": {
"title": "Bug Report",
"subtitle": "Report a bug or issue. A GitHub issue will be created automatically.",
"loginRequired": "Please sign in to report a bug.",
"bugTitle": "Title",
"bugTitlePlaceholder": "Brief description of the problem",
"description": "Description",
"descriptionPlaceholder": "Describe the bug in detail. What did you do? What happened? What did you expect?",
"screenshot": "Screenshot (optional)",
"screenshotPreview": "Screenshot preview",
"attachScreenshot": "Attach screenshot",
"imageOnly": "Only image files allowed",
"tooLarge": "Screenshot is too large (max 5 MB)",
"submit": "Send",
"success": "Thank you! Your bug report has been submitted successfully.",
"viewOnGithub": "View on GitHub",
"errorCreating": "Error creating report"
},
"notifications": {
"title": "Notifications",
"subtitle": "Choose which notifications you want to receive through which channel.",
"noChannels": "Configure a notification channel in Settings first.",
"goToSettings": "Go to Settings",
"channelDisabled": "Disabled",
"eventMedicationReminder": "Medication Reminder",
"eventMedicationReminderDesc": "Reminder when an intake is due.",
"eventMeasurementAnomaly": "Anomalous Measurement",
"eventMeasurementAnomalyDesc": "Warning for unusual measurements (e.g., high blood pressure).",
"eventComplianceLow": "Low Compliance",
"eventComplianceLowDesc": "Notification when medication compliance drops below a threshold.",
"eventWithingsSyncFailed": "Withings Sync Failed",
"eventWithingsSyncFailedDesc": "Alert when the automatic Withings data sync fails.",
"eventSystemAlert": "System Alert",
"eventSystemAlertDesc": "Important system messages and administrative notices."
},
"format": {
"dateShort": "{month}/{day}/{year}",
"timeShort": "{hours}:{minutes}",
"dateTime": "{month}/{day}/{year}, {hours}:{minutes}"
}
}