feat(i18n): translate Medications copy for es/fr/it/pl

Schedule, wizard, intake, and detail-page copy in the medication
surface rendered verbatim English for the four non-reference locales.
Translate the wizard steps, cadence options, intake history, reminder
controls, and danger-zone prose, leaving units, ATC/RxNorm codes, and
GLP-1 INN drug names in their language-appropriate form.
This commit is contained in:
Marc-André Bombeck committed 2026-06-04 15:36:06 +02:00
1 parent e8793c8212
commit 06da3c44ee
4 files changed
+1062 -1062

No files matched your search

+267 -267
View File
@@ -554,35 +554,35 @@
"scheduleDaily": "A diario",
"inactive": "En pausa",
"intakeHistory": "Historial de tomas",
"openDetailPage": "Open medication detail page",
"openDetailPage": "Abrir la página de detalle del medicamento",
"deleteConfirm": "¿Eliminar medicamento?",
"compliance": "Cumplimiento",
"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",
"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",
"importIntakes": "Importar tomas",
"importDescription": "Pega un array JSON con los datos de tomas. Formato esperado:",
"importUploadFile": "Subir archivo JSON",
"importPaste": "Pega el JSON aquí...",
"importSelected": "Seleccionado: {name}",
"importFileLoaded": "Archivo \"{name}\" cargado",
"importInvalidJson": "El archivo no contiene un JSON válido",
"importNoArray": "No se encontró ningún array",
"importResult": "{imported} tomas importadas",
"importDuplicatesSkipped": "{count} duplicados omitidos",
"importInvalidSkipped": "{count} entradas no válidas omitidas",
"importFailed": "Falló la importación",
"importInvalidFormat": "Formato JSON no válido",
"apiEndpointTitle": "Endpoint de API: {name}",
"apiEndpointDescription": "Usa este endpoint para registrar tomas a través de la API (p. ej., con un Atajo de iPhone o un cron job).",
"apiEndpointActive": "Endpoint de API activo",
"apiEndpointActivated": "Endpoint de API activado",
"apiEndpointDeactivated": "Endpoint de API desactivado",
"apiTokenCount": "Activo ({count} tokens)",
"apiToken": "Token de API",
"apiTokenActiveHint": "El endpoint está activo. Los tokens existentes siguen siendo válidos, pero no se pueden mostrar de nuevo en texto plano.",
"apiTokenActivateHint": "Activa el endpoint para crear un nuevo token.",
"apiTokenOnceHint": "El token solo se muestra en texto plano una vez, al crearlo.",
"requestExample": "Ejemplo de solicitud",
"statusLoadFailed": "No se pudo cargar el estado",
"changeFailed": "Falló el cambio",
"categoryBloodPressure": "Presión arterial",
"categoryVitamin": "Vitaminas",
"categoryThyroid": "Tiroides",
@@ -594,7 +594,7 @@
"categorySkin": "Cuidado de la piel",
"categorySleepAid": "Para dormir",
"categoryDiabetes": "Diabetes",
"categoryAntibiotic": "Antibiotic",
"categoryAntibiotic": "Antibiótico",
"categoryOther": "Otros",
"daysSun": "Do",
"daysMon": "Lu",
@@ -691,7 +691,7 @@
"glp1Specific": "Específico de GLP-1"
},
"entries": {
"nausea": "Náusea",
"nausea": "Náuseas",
"vomiting": "Vómito",
"diarrhea": "Diarrea",
"constipation": "Estreñimiento",
@@ -738,141 +738,141 @@
}
},
"cadence": {
"section": "Cadence",
"label": "How often",
"section": "Frecuencia",
"label": "Con qué frecuencia",
"kind": {
"daily": "Every day",
"weekdays": "Certain days of the week",
"everyNWeeks": "Every N weeks on certain days",
"monthly": "Monthly on a specific day",
"everyNMonths": "Every N months on a specific day",
"yearly": "Once a year",
"rolling": "Every N days from when I last took it (flexible)",
"rollingExplainer": "Counts from your last logged intake — pauses if you skip a dose.",
"oneShot": "One-time dose"
"daily": "Cada día",
"weekdays": "Determinados días de la semana",
"everyNWeeks": "Cada N semanas en determinados días",
"monthly": "Mensualmente un día concreto",
"everyNMonths": "Cada N meses un día concreto",
"yearly": "Una vez al año",
"rolling": "Cada N días desde la última toma (flexible)",
"rollingExplainer": "Cuenta desde tu última toma registrada — se pausa si te saltas una dosis.",
"oneShot": "Dosis única"
},
"weekdays": {
"label": "Days of the week",
"label": "Días de la semana",
"short": {
"mo": "Mo",
"tu": "Tu",
"we": "We",
"th": "Th",
"tu": "Ma",
"we": "Mi",
"th": "Ju",
"fr": "Fr",
"sa": "Sa",
"su": "Su"
"su": "Do"
},
"long": {
"mo": "Monday",
"tu": "Tuesday",
"we": "Wednesday",
"th": "Thursday",
"fr": "Friday",
"sa": "Saturday",
"su": "Sunday"
"mo": "Lunes",
"tu": "Martes",
"we": "Miércoles",
"th": "Jueves",
"fr": "Viernes",
"sa": "Sábado",
"su": "Domingo"
}
},
"intervalWeeks": {
"suffix": "weeks"
"suffix": "semanas"
},
"dayOfMonth": {
"label": "Day"
"label": "Día"
},
"intervalMonths": {
"suffix": "months",
"dayOnLabel": "on day"
"suffix": "meses",
"dayOnLabel": "el día"
},
"yearly": {
"date": {
"label": "Date"
"label": "Fecha"
}
},
"rollingDays": {
"suffix": "days"
"suffix": "días"
}
},
"timesOfDay": {
"section": "Times of day",
"label": "Times of day",
"section": "Horas del día",
"label": "Horas del día",
"empty": {
"cta": "Add the first time."
"cta": "Añade la primera hora."
},
"add": "Add time",
"remove": "Remove",
"add": "Añadir hora",
"remove": "Quitar",
"presets": {
"morning": "Morning",
"noon": "Noon",
"evening": "Evening",
"night": "Night"
"morning": "Mañana",
"noon": "Mediodía",
"evening": "Tarde",
"night": "Noche"
},
"max": {
"reached": "Maximum reached — remove a time before adding another."
"reached": "Máximo alcanzado — quita una hora antes de añadir otra."
}
},
"courseWindow": {
"section": "Course window",
"section": "Periodo de tratamiento",
"startsOn": {
"label": "Starts on"
"label": "Empieza el"
},
"endsOn": {
"label": "Ends on"
"label": "Termina el"
},
"noEndDate": "No end date",
"oneShotCaption": "(one-time dose)",
"invalidRange": "End date must be on or after the start date."
"noEndDate": "Sin fecha de fin",
"oneShotCaption": "(dosis única)",
"invalidRange": "La fecha de fin debe ser igual o posterior a la de inicio."
}
},
"wizard": {
"header": {
"stepOf": "Step {current} of {total}",
"createTitle": "New medication",
"editTitle": "Edit {name}"
"stepOf": "Paso {current} de {total}",
"createTitle": "Nuevo medicamento",
"editTitle": "Editar {name}"
},
"nav": {
"back": "Back",
"next": "Next",
"save": "Save",
"saveEdit": "Save changes",
"back": "Atrás",
"next": "Siguiente",
"save": "Guardar",
"saveEdit": "Guardar cambios",
"nextHint": "Siguiente: {step}",
"reviewHint": "Siguiente: Guardar",
"jumpFirst": "Ir al primer paso",
"jumpLast": "Ir a revisar y guardar"
},
"nl": {
"button": "Describe"
"button": "Describir"
},
"steps": {
"step1": {
"title": "What's the medication called?",
"subline": "Exactly as it appears on the box.",
"title": "¿Cómo se llama el medicamento?",
"subline": "Exactamente como aparece en la caja.",
"label": "Name",
"placeholder": "e.g. Ramipril",
"placeholder": "p. ej. Ramipril",
"short": "Nombre"
},
"step2": {
"title": "What kind of medication is it?",
"subline": "We use this for the right templates and analytics.",
"title": "¿Qué tipo de medicamento es?",
"subline": "Lo usamos para las plantillas y los análisis adecuados.",
"short": "Tipo"
},
"step3": {
"title": "What's the dose?",
"subline": "A tablet, a puff, a drop — depending on the form.",
"amountLabel": "Amount",
"amountPlaceholder": "e.g. 5",
"unitLabel": "Unit",
"title": "¿Cuál es la dosis?",
"subline": "Una pastilla, una inhalación, una gota — según la forma.",
"amountLabel": "Cantidad",
"amountPlaceholder": "p. ej. 5",
"unitLabel": "Unidad",
"unit": {
"mg": "mg",
"ml": "ml",
"iu": "IU",
"iu": "UI",
"mcg": "µg",
"g": "g",
"tablets": "tablet(s)",
"capsules": "capsule(s)",
"drops": "drops",
"puffs": "puff",
"sprays": "spray",
"pieces": "pieces",
"other": "other"
"tablets": "comprimido(s)",
"capsules": "cápsula(s)",
"drops": "gotas",
"puffs": "inhalación",
"sprays": "pulverización",
"pieces": "unidades",
"other": "otro"
},
"deliveryFormLabel": "Vía",
"deliveryForm": {
@@ -888,124 +888,124 @@
"short": "Dosis"
},
"step4": {
"title": "Over what period are you taking it?",
"subline": "A start date is enough for today. You can add an end date later.",
"title": "¿Durante qué periodo lo tomas?",
"subline": "Por hoy basta con una fecha de inicio. Puedes añadir una fecha de fin más tarde.",
"short": "Cuándo"
},
"step5": {
"title": "How often do you take it?",
"subline": "Pick the cadence — the details follow on the next step.",
"title": "¿Con qué frecuencia lo tomas?",
"subline": "Elige la frecuencia — los detalles vienen en el siguiente paso.",
"short": "Frecuencia"
},
"step6": {
"title": "What does that look like in detail?",
"subline": "Set weekdays, intervals, or the day of the month.",
"title": "¿Cómo es exactamente?",
"subline": "Indica los días de la semana, los intervalos o el día del mes.",
"intervalWeeks": {
"label": "Every",
"suffix": "weeks"
"label": "Cada",
"suffix": "semanas"
},
"dayOfMonth": {
"label": "On",
"suffix": "day of the month"
"label": "El",
"suffix": "día del mes"
},
"rollingDays": {
"label": "Every",
"suffix": "days from the last intake"
"label": "Cada",
"suffix": "días desde la última toma"
},
"short": "Detalle"
},
"step7": {
"title": "When do you take it?",
"subline": "One or more times of day — reminders follow this list.",
"presetsLabel": "Time-of-day presets",
"title": "¿Cuándo lo tomas?",
"subline": "Una o varias horas del día — los recordatorios siguen esta lista.",
"presetsLabel": "Preajustes por hora del día",
"presets": {
"morning": "Morning",
"noon": "Noon",
"evening": "Evening",
"night": "Night"
"morning": "Mañana",
"noon": "Mediodía",
"evening": "Tarde",
"night": "Noche"
},
"short": "Horas"
},
"step8": {
"title": "All done — should HealthLog remind you?",
"subline": "Review everything below before you save.",
"remindersLabel": "Reminders on",
"remindersDescription": "Push, Telegram or ntfy — based on your settings.",
"multiScheduleNote": "This medication has multiple schedules. The detailed editor returns in a later release.",
"title": "Listo — ¿quieres que HealthLog te lo recuerde?",
"subline": "Revisa todo abajo antes de guardar.",
"remindersLabel": "Recordatorios activados",
"remindersDescription": "Push, Telegram o ntfy — según tus ajustes.",
"multiScheduleNote": "Este medicamento tiene varios horarios. El editor detallado volverá en una versión posterior.",
"short": "Listo"
}
},
"classRow": {
"bloodPressure": "Blood pressure",
"bloodPressure": "Presión arterial",
"diabetes": "Diabetes",
"hormone": "Hormones",
"glp1": "GLP-1 injection",
"painRelief": "Pain",
"allergy": "Allergy",
"vitamin": "Vitamins",
"supplement": "Supplement",
"antibiotic": "Antibiotic",
"other": "Other"
"hormone": "Hormonas",
"glp1": "Inyección de GLP-1",
"painRelief": "Dolor",
"allergy": "Alergia",
"vitamin": "Vitaminas",
"supplement": "Suplemento",
"antibiotic": "Antibiótico",
"other": "Otro"
},
"cadence": {
"daily": {
"label": "Daily",
"description": "Every day at the same time."
"label": "Diario",
"description": "Cada día a la misma hora."
},
"weekdays": {
"label": "Specific weekdays",
"description": "E.g. Monday, Wednesday, Friday."
"label": "Días concretos de la semana",
"description": "P. ej. lunes, miércoles, viernes."
},
"everyNWeeks": {
"label": "Every few weeks",
"description": "E.g. every 2 weeks on Thursdays (GLP-1, biologics)."
"label": "Cada pocas semanas",
"description": "P. ej. cada 2 semanas los jueves (GLP-1, biológicos)."
},
"monthly": {
"label": "Monthly",
"description": "On a fixed day each month (e.g. always the 1st)."
"label": "Mensual",
"description": "Un día fijo cada mes (p. ej. siempre el 1)."
},
"rolling": {
"label": "Flexible from last dose",
"description": "Leave the next dose open. When you tap 'taken', the counter starts again from that moment."
"label": "Flexible desde la última dosis",
"description": "Deja abierta la próxima dosis. Cuando pulsas «tomada», el contador empieza de nuevo desde ese momento."
},
"oneShot": {
"label": "Single dose",
"description": "One administration, e.g. a vaccine or an antibiotic course."
"label": "Dosis única",
"description": "Una sola administración, p. ej. una vacuna o un ciclo de antibiótico."
}
},
"summary": {
"title": "Summary",
"title": "Resumen",
"cadence": {
"daily": "Every day",
"weekdays": "On selected days of the week",
"biweekly": "Every two weeks",
"monthly": "Monthly",
"quarterly": "Every three months",
"yearly": "Once a year",
"rolling": "Every {n} days from your last intake",
"oneShot": "A single dose",
"everyNWeeks": "Every {n} weeks",
"everyNMonths": "Every {n} months"
"daily": "Cada día",
"weekdays": "En los días de la semana seleccionados",
"biweekly": "Cada dos semanas",
"monthly": "Mensual",
"quarterly": "Cada tres meses",
"yearly": "Una vez al año",
"rolling": "Cada {n} días desde tu última toma",
"oneShot": "Una dosis única",
"everyNWeeks": "Cada {n} semanas",
"everyNMonths": "Cada {n} meses"
},
"weekdaysDetail": ", on {days}",
"dayOfMonthDetail": ", on day {day}.",
"times": "at {times}",
"startsOn": "Starts: {date}",
"endsOn": "Ends: {date}",
"noEndDate": "No end date"
"weekdaysDetail": ", los {days}",
"dayOfMonthDetail": ", el día {day}.",
"times": "a las {times}",
"startsOn": "Empieza: {date}",
"endsOn": "Termina: {date}",
"noEndDate": "Sin fecha de fin"
},
"compose": {
"scheduleIndex": "Schedule {n} of {total}",
"scheduleIndex": "Horario {n} de {total}",
"list": {
"add": "Add another schedule",
"edit": "Edit",
"remove": "Remove",
"removeDisabled": "At least one schedule is required.",
"empty": "No schedule yet."
"add": "Añadir otro horario",
"edit": "Editar",
"remove": "Quitar",
"removeDisabled": "Se requiere al menos un horario.",
"empty": "Aún no hay horario."
}
},
"errors": {
"submitFailed": "Could not save the medication — please retry."
"submitFailed": "No se pudo guardar el medicamento — inténtalo de nuevo."
}
},
"doseStrength": {
@@ -1160,88 +1160,88 @@
},
"detail": {
"status": {
"active": "Active",
"paused": "Paused",
"ended": "Ended"
"active": "Activo",
"paused": "Pausado",
"ended": "Finalizado"
},
"today": {
"groupLabel": "Today's dose",
"taken": "Taken",
"skipped": "Skipped",
"toastTaken": "Today's dose logged",
"toastSkipped": "Today's dose skipped",
"recordedTaken": "Taken today at {time}",
"recordedSkipped": "Skipped today at {time}",
"recordedOneShot": "One-shot dose taken at {time}",
"noneScheduled": "No dose scheduled for today.",
"pausedHint": "Paused — no reminder today.",
"error": "Could not log the dose."
"groupLabel": "Dosis de hoy",
"taken": "Tomada",
"skipped": "Omitida",
"toastTaken": "Dosis de hoy registrada",
"toastSkipped": "Dosis de hoy omitida",
"recordedTaken": "Tomada hoy a las {time}",
"recordedSkipped": "Omitida hoy a las {time}",
"recordedOneShot": "Dosis única tomada a las {time}",
"noneScheduled": "No hay ninguna dosis programada para hoy.",
"pausedHint": "En pausa — hoy no hay recordatorio.",
"error": "No se pudo registrar la dosis."
},
"cadence": {
"oneShotOn": "One-time dose on {date}.",
"oneShotPending": "One-time dose pending."
"oneShotOn": "Dosis única el {date}.",
"oneShotPending": "Dosis única pendiente."
},
"intake": {
"title": "Intake history",
"importButton": "Import",
"title": "Historial de tomas",
"importButton": "Importar",
"rowActions": {
"openMenu": "Open row actions",
"edit": "Edit",
"delete": "Delete"
"openMenu": "Abrir acciones de la fila",
"edit": "Editar",
"delete": "Eliminar"
},
"selection": {
"rowToggleLabel": "Select row"
"rowToggleLabel": "Seleccionar fila"
},
"bulkDelete": {
"selectionCount": "{count} entries selected",
"deleteButton": "Delete selection",
"cancelButton": "Cancel",
"confirmTitle": "Delete the selected entries?",
"confirmBody": "{count} entries will be removed permanently. The medication itself stays.",
"confirmAction": "Delete",
"toast": "Selection deleted",
"failed": "Could not delete the selection."
"selectionCount": "{count} entradas seleccionadas",
"deleteButton": "Eliminar selección",
"cancelButton": "Cancelar",
"confirmTitle": "¿Eliminar las entradas seleccionadas?",
"confirmBody": "Se eliminarán {count} entradas de forma permanente. El medicamento se conserva.",
"confirmAction": "Eliminar",
"toast": "Selección eliminada",
"failed": "No se pudo eliminar la selección."
},
"edit": {
"dialogTitle": "Edit intake",
"takenAtLabel": "Taken at",
"skippedLabel": "Skipped",
"noteLabel": "Note",
"save": "Save",
"cancel": "Cancel",
"savedToast": "Intake updated",
"failed": "Could not update the intake."
"dialogTitle": "Editar toma",
"takenAtLabel": "Tomada a las",
"skippedLabel": "Omitida",
"noteLabel": "Nota",
"save": "Guardar",
"cancel": "Cancelar",
"savedToast": "Toma actualizada",
"failed": "No se pudo actualizar la toma."
},
"deleteRow": {
"confirmTitle": "Delete this intake?",
"confirmBody": "The entry is removed permanently.",
"confirmAction": "Delete",
"toast": "Intake deleted",
"failed": "Could not delete the intake."
"confirmTitle": "¿Eliminar esta toma?",
"confirmBody": "La entrada se elimina de forma permanente.",
"confirmAction": "Eliminar",
"toast": "Toma eliminada",
"failed": "No se pudo eliminar la toma."
}
},
"notifications": {
"title": "Notifications",
"switchLabel": "Send a reminder when this dose is due",
"helperOn": "Reminders are on.",
"helperOff": "Reminders are off.",
"enabledToast": "Reminders on",
"disabledToast": "Reminders off",
"toggleFailed": "Could not change the reminder setting.",
"clientManagedChip": "Your iPhone manages reminders for this medication."
"title": "Recordatorios",
"switchLabel": "Enviar un recordatorio cuando toque esta dosis",
"helperOn": "Los recordatorios están activados.",
"helperOff": "Los recordatorios están desactivados.",
"enabledToast": "Recordatorios activados",
"disabledToast": "Recordatorios desactivados",
"toggleFailed": "No se pudo cambiar el ajuste de recordatorios.",
"clientManagedChip": "Tu iPhone gestiona los recordatorios de este medicamento."
},
"settings": {
"title": "Settings",
"title": "Ajustes",
"phases": {
"openButton": "Configure phases",
"requiresCourseWindow": "Phases are available once a course window is set."
"openButton": "Configurar fases",
"requiresCourseWindow": "Las fases están disponibles una vez fijado un periodo de tratamiento."
},
"grace": {
"label": "Reminder window — applies to your primary schedule",
"primaryScheduleNote": "Multi-schedule medications keep their other schedules' default window.",
"unit": "minutes",
"saved": "Reminder window saved",
"failed": "Could not save the reminder window."
"label": "Ventana de recordatorio — se aplica a tu horario principal",
"primaryScheduleNote": "Los medicamentos con varios horarios mantienen la ventana predeterminada de sus demás horarios.",
"unit": "minutos",
"saved": "Ventana de recordatorio guardada",
"failed": "No se pudo guardar la ventana de recordatorio."
},
"codes": {
"label": "Códigos clínicos (ATC / RxNorm)",
@@ -1253,57 +1253,57 @@
}
},
"zone": {
"title": "Manage & danger zone",
"title": "Gestión y zona de peligro",
"pause": {
"title": "Pause",
"helper": "Pause reminders until you turn them back on. History stays intact.",
"pausedToast": "Reminders paused",
"resumedToast": "Reminders resumed",
"failed": "Could not change the paused state."
"title": "Pausar",
"helper": "Pausa los recordatorios hasta que los reactives. El historial se conserva.",
"pausedToast": "Recordatorios pausados",
"resumedToast": "Recordatorios reanudados",
"failed": "No se pudo cambiar el estado de pausa."
},
"end": {
"title": "End medication",
"helper": "Stop reminders and mark the medication as ended. History stays visible.",
"button": "End",
"dialogTitle": "End {name} — stop reminders, history stays visible",
"dialogBody": "No more reminders. Old entries remain in the timeline.",
"toast": "Medication ended",
"failed": "Could not end the medication."
"title": "Finalizar medicamento",
"helper": "Detiene los recordatorios y marca el medicamento como finalizado. El historial sigue siendo visible.",
"button": "Finalizar",
"dialogTitle": "Finalizar {name} — detiene los recordatorios, el historial sigue visible",
"dialogBody": "No habrá más recordatorios. Las entradas antiguas permanecen en la línea de tiempo.",
"toast": "Medicamento finalizado",
"failed": "No se pudo finalizar el medicamento."
},
"purge": {
"title": "Delete history",
"helper": "{count} intake events are stored for this medication.",
"button": "Delete history",
"dialogTitle": "Really delete the history?",
"dialogBody": "The {count} intake events will be removed permanently. The medication itself stays.",
"toast": "History deleted",
"failed": "Could not delete the history."
"title": "Eliminar historial",
"helper": "Hay {count} tomas registradas para este medicamento.",
"button": "Eliminar historial",
"dialogTitle": "¿Eliminar realmente el historial?",
"dialogBody": "Las {count} tomas se eliminarán de forma permanente. El medicamento se conserva.",
"toast": "Historial eliminado",
"failed": "No se pudo eliminar el historial."
},
"delete": {
"title": "Delete medication",
"helper": "Removes the medication and every related record.",
"button": "Delete",
"dialogTitle": "Delete {name}?",
"dialogBody": "The medication, its schedules, intake history, API tokens, phase config and reminders will be removed permanently.",
"toast": "Medication deleted",
"failed": "Could not delete the medication."
"title": "Eliminar medicamento",
"helper": "Elimina el medicamento y todos los registros relacionados.",
"button": "Eliminar",
"dialogTitle": "¿Eliminar {name}?",
"dialogBody": "El medicamento, sus horarios, el historial de tomas, los tokens de API, la configuración de fases y los recordatorios se eliminarán de forma permanente.",
"toast": "Medicamento eliminado",
"failed": "No se pudo eliminar el medicamento."
}
},
"phases": {
"modeLabel": "{phase} mode",
"saveFailed": "Could not save the reminder phases."
"modeLabel": "Modo de {phase}",
"saveFailed": "No se pudieron guardar las fases de recordatorio."
},
"api": {
"caption": "Endpoint for \"{name}\"",
"copyUrl": "Copy URL",
"urlCopied": "URL copied",
"mintToken": "Mint token",
"mintAnotherToken": "Mint another token",
"mintFailed": "Could not mint a token.",
"copyFailed": "Could not copy.",
"tokenCopied": "Token copied",
"copyToken": "Copy token",
"mintedHint": "Copy this token now — it is shown only once."
"caption": "Endpoint para «{name}»",
"copyUrl": "Copiar URL",
"urlCopied": "URL copiada",
"mintToken": "Generar token",
"mintAnotherToken": "Generar otro token",
"mintFailed": "No se pudo generar un token.",
"copyFailed": "No se pudo copiar.",
"tokenCopied": "Token copiado",
"copyToken": "Copiar token",
"mintedHint": "Copia este token ahora — solo se muestra una vez."
},
"edit": {
"planOption": "Editar plan",
+262 -262
View File
@@ -554,35 +554,35 @@
"scheduleDaily": "Quotidien",
"inactive": "En pause",
"intakeHistory": "Historique des prises",
"openDetailPage": "Open medication detail page",
"openDetailPage": "Ouvrir la page de détail du médicament",
"deleteConfirm": "Supprimer le médicament ?",
"compliance": "Observance",
"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",
"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",
"importIntakes": "Importer les prises",
"importDescription": "Collez un tableau JSON contenant les données de prises. Format attendu :",
"importUploadFile": "Téléverser un fichier JSON",
"importPaste": "Collez le JSON ici...",
"importSelected": "Sélectionné : {name}",
"importFileLoaded": "Fichier « {name} » chargé",
"importInvalidJson": "Le fichier ne contient pas de JSON valide",
"importNoArray": "Aucun tableau trouvé",
"importResult": "{imported} prises importées",
"importDuplicatesSkipped": "{count} doublons ignorés",
"importInvalidSkipped": "{count} entrées non valides ignorées",
"importFailed": "Échec de l’importation",
"importInvalidFormat": "Format JSON non valide",
"apiEndpointTitle": "Point de terminaison API : {name}",
"apiEndpointDescription": "Utilisez ce point de terminaison pour enregistrer des prises via l’API (par exemple un Raccourci iPhone ou une tâche cron).",
"apiEndpointActive": "Point de terminaison API actif",
"apiEndpointActivated": "Point de terminaison API activé",
"apiEndpointDeactivated": "Point de terminaison API désactivé",
"apiTokenCount": "Actif ({count} jetons)",
"apiToken": "Jeton API",
"apiTokenActiveHint": "Le point de terminaison est actif. Les jetons existants restent valides mais ne peuvent plus être affichés en texte clair.",
"apiTokenActivateHint": "Activez le point de terminaison pour créer un nouveau jeton.",
"apiTokenOnceHint": "Le jeton n’est affiché en texte clair qu’une seule fois, lors de sa création.",
"requestExample": "Exemple de requête",
"statusLoadFailed": "Impossible de charger le statut",
"changeFailed": "Échec de la modification",
"categoryBloodPressure": "Tension artérielle",
"categoryVitamin": "Vitamines",
"categoryThyroid": "Thyroïde",
@@ -594,7 +594,7 @@
"categorySkin": "Soin de la peau",
"categorySleepAid": "Aide au sommeil",
"categoryDiabetes": "Diabetes",
"categoryAntibiotic": "Antibiotic",
"categoryAntibiotic": "Antibiotique",
"categoryOther": "Autres",
"daysSun": "Dim",
"daysMon": "Lun",
@@ -691,7 +691,7 @@
"glp1Specific": "Spécifique GLP-1"
},
"entries": {
"nausea": "Nausée",
"nausea": "Nausées",
"vomiting": "Vomissement",
"diarrhea": "Diarrhée",
"constipation": "Constipation",
@@ -739,48 +739,48 @@
},
"cadence": {
"section": "Cadence",
"label": "How often",
"label": "À quelle fréquence",
"kind": {
"daily": "Every day",
"weekdays": "Certain days of the week",
"everyNWeeks": "Every N weeks on certain days",
"monthly": "Monthly on a specific day",
"everyNMonths": "Every N months on a specific day",
"yearly": "Once a year",
"rolling": "Every N days from when I last took it (flexible)",
"rollingExplainer": "Counts from your last logged intake — pauses if you skip a dose.",
"oneShot": "One-time dose"
"daily": "Chaque jour",
"weekdays": "Certains jours de la semaine",
"everyNWeeks": "Toutes les N semaines certains jours",
"monthly": "Chaque mois un jour précis",
"everyNMonths": "Tous les N mois un jour précis",
"yearly": "Une fois par an",
"rolling": "Tous les N jours depuis la dernière prise (flexible)",
"rollingExplainer": "Compte à partir de votre dernière prise enregistrée — se met en pause si vous sautez une dose.",
"oneShot": "Dose unique"
},
"weekdays": {
"label": "Days of the week",
"label": "Jours de la semaine",
"short": {
"mo": "Mo",
"tu": "Tu",
"we": "We",
"th": "Th",
"tu": "Ma",
"we": "Me",
"th": "Je",
"fr": "Fr",
"sa": "Sa",
"su": "Su"
"su": "Di"
},
"long": {
"mo": "Monday",
"tu": "Tuesday",
"we": "Wednesday",
"th": "Thursday",
"fr": "Friday",
"sa": "Saturday",
"su": "Sunday"
"mo": "Lundi",
"tu": "Mardi",
"we": "Mercredi",
"th": "Jeudi",
"fr": "Vendredi",
"sa": "Samedi",
"su": "Dimanche"
}
},
"intervalWeeks": {
"suffix": "weeks"
"suffix": "semaines"
},
"dayOfMonth": {
"label": "Day"
"label": "Jour"
},
"intervalMonths": {
"suffix": "months",
"dayOnLabel": "on day"
"suffix": "mois",
"dayOnLabel": "le jour"
},
"yearly": {
"date": {
@@ -788,91 +788,91 @@
}
},
"rollingDays": {
"suffix": "days"
"suffix": "jours"
}
},
"timesOfDay": {
"section": "Times of day",
"label": "Times of day",
"section": "Heures de la journée",
"label": "Heures de la journée",
"empty": {
"cta": "Add the first time."
"cta": "Ajoutez la première heure."
},
"add": "Add time",
"remove": "Remove",
"add": "Ajouter une heure",
"remove": "Retirer",
"presets": {
"morning": "Morning",
"noon": "Noon",
"evening": "Evening",
"night": "Night"
"morning": "Matin",
"noon": "Midi",
"evening": "Soir",
"night": "Nuit"
},
"max": {
"reached": "Maximum reached — remove a time before adding another."
"reached": "Maximum atteint — retirez une heure avant d’en ajouter une autre."
}
},
"courseWindow": {
"section": "Course window",
"section": "Période de traitement",
"startsOn": {
"label": "Starts on"
"label": "Commence le"
},
"endsOn": {
"label": "Ends on"
"label": "Se termine le"
},
"noEndDate": "No end date",
"oneShotCaption": "(one-time dose)",
"invalidRange": "End date must be on or after the start date."
"noEndDate": "Pas de date de fin",
"oneShotCaption": "(dose unique)",
"invalidRange": "La date de fin doit être égale ou postérieure à la date de début."
}
},
"wizard": {
"header": {
"stepOf": "Step {current} of {total}",
"createTitle": "New medication",
"editTitle": "Edit {name}"
"stepOf": "Étape {current} sur {total}",
"createTitle": "Nouveau médicament",
"editTitle": "Modifier {name}"
},
"nav": {
"back": "Back",
"next": "Next",
"save": "Save",
"saveEdit": "Save changes",
"back": "Retour",
"next": "Suivant",
"save": "Enregistrer",
"saveEdit": "Enregistrer les modifications",
"nextHint": "Suivant : {step}",
"reviewHint": "Suivant : Enregistrer",
"jumpFirst": "Aller à la première étape",
"jumpLast": "Aller à la vérification et à l’enregistrement"
},
"nl": {
"button": "Describe"
"button": "Décrire"
},
"steps": {
"step1": {
"title": "What's the medication called?",
"subline": "Exactly as it appears on the box.",
"title": "Comment s’appelle le médicament ?",
"subline": "Exactement comme indiqué sur la boîte.",
"label": "Name",
"placeholder": "e.g. Ramipril",
"placeholder": "par exemple Ramipril",
"short": "Nom"
},
"step2": {
"title": "What kind of medication is it?",
"subline": "We use this for the right templates and analytics.",
"title": "De quel type de médicament s’agit-il ?",
"subline": "Nous l’utilisons pour les bons modèles et analyses.",
"short": "Type"
},
"step3": {
"title": "What's the dose?",
"subline": "A tablet, a puff, a drop — depending on the form.",
"amountLabel": "Amount",
"amountPlaceholder": "e.g. 5",
"unitLabel": "Unit",
"title": "Quelle est la dose ?",
"subline": "Un comprimé, une bouffée, une goutte — selon la forme.",
"amountLabel": "Quantité",
"amountPlaceholder": "par exemple 5",
"unitLabel": "Unité",
"unit": {
"mg": "mg",
"ml": "ml",
"iu": "IU",
"iu": "UI",
"mcg": "µg",
"g": "g",
"tablets": "tablet(s)",
"capsules": "capsule(s)",
"drops": "drops",
"puffs": "puff",
"sprays": "spray",
"pieces": "pieces",
"other": "other"
"tablets": "comprimé(s)",
"capsules": "gélule(s)",
"drops": "gouttes",
"puffs": "bouffée",
"sprays": "pulvérisation",
"pieces": "pièces",
"other": "autre"
},
"deliveryFormLabel": "Voie",
"deliveryForm": {
@@ -888,124 +888,124 @@
"short": "Dose"
},
"step4": {
"title": "Over what period are you taking it?",
"subline": "A start date is enough for today. You can add an end date later.",
"title": "Sur quelle période le prenez-vous ?",
"subline": "Une date de début suffit pour aujourd’hui. Vous pourrez ajouter une date de fin plus tard.",
"short": "Quand"
},
"step5": {
"title": "How often do you take it?",
"subline": "Pick the cadence — the details follow on the next step.",
"title": "À quelle fréquence le prenez-vous ?",
"subline": "Choisissez la cadence — les détails suivent à l’étape suivante.",
"short": "Fréquence"
},
"step6": {
"title": "What does that look like in detail?",
"subline": "Set weekdays, intervals, or the day of the month.",
"title": "À quoi cela ressemble-t-il en détail ?",
"subline": "Indiquez les jours de la semaine, les intervalles ou le jour du mois.",
"intervalWeeks": {
"label": "Every",
"suffix": "weeks"
"label": "Toutes les",
"suffix": "semaines"
},
"dayOfMonth": {
"label": "On",
"suffix": "day of the month"
"label": "Le",
"suffix": "jour du mois"
},
"rollingDays": {
"label": "Every",
"suffix": "days from the last intake"
"label": "Tous les",
"suffix": "jours depuis la dernière prise"
},
"short": "Détail"
},
"step7": {
"title": "When do you take it?",
"subline": "One or more times of day — reminders follow this list.",
"presetsLabel": "Time-of-day presets",
"title": "Quand le prenez-vous ?",
"subline": "Une ou plusieurs heures de la journée — les rappels suivent cette liste.",
"presetsLabel": "Préréglages par moment de la journée",
"presets": {
"morning": "Morning",
"noon": "Noon",
"evening": "Evening",
"night": "Night"
"morning": "Matin",
"noon": "Midi",
"evening": "Soir",
"night": "Nuit"
},
"short": "Heures"
},
"step8": {
"title": "All done — should HealthLog remind you?",
"subline": "Review everything below before you save.",
"remindersLabel": "Reminders on",
"remindersDescription": "Push, Telegram or ntfy — based on your settings.",
"multiScheduleNote": "This medication has multiple schedules. The detailed editor returns in a later release.",
"title": "Terminé — HealthLog doit-il vous le rappeler ?",
"subline": "Vérifiez tout ci-dessous avant d’enregistrer.",
"remindersLabel": "Rappels activés",
"remindersDescription": "Push, Telegram ou ntfy — selon vos réglages.",
"multiScheduleNote": "Ce médicament a plusieurs horaires. L’éditeur détaillé reviendra dans une version ultérieure.",
"short": "Fini"
}
},
"classRow": {
"bloodPressure": "Blood pressure",
"bloodPressure": "Tension artérielle",
"diabetes": "Diabetes",
"hormone": "Hormones",
"glp1": "GLP-1 injection",
"painRelief": "Pain",
"allergy": "Allergy",
"vitamin": "Vitamins",
"supplement": "Supplement",
"antibiotic": "Antibiotic",
"other": "Other"
"glp1": "Injection de GLP-1",
"painRelief": "Douleur",
"allergy": "Allergie",
"vitamin": "Vitamines",
"supplement": "Complément",
"antibiotic": "Antibiotique",
"other": "Autre"
},
"cadence": {
"daily": {
"label": "Daily",
"description": "Every day at the same time."
"label": "Quotidien",
"description": "Chaque jour à la même heure."
},
"weekdays": {
"label": "Specific weekdays",
"description": "E.g. Monday, Wednesday, Friday."
"label": "Jours précis de la semaine",
"description": "Par exemple lundi, mercredi, vendredi."
},
"everyNWeeks": {
"label": "Every few weeks",
"description": "E.g. every 2 weeks on Thursdays (GLP-1, biologics)."
"label": "Toutes les quelques semaines",
"description": "Par exemple toutes les 2 semaines le jeudi (GLP-1, biologiques)."
},
"monthly": {
"label": "Monthly",
"description": "On a fixed day each month (e.g. always the 1st)."
"label": "Mensuel",
"description": "Un jour fixe chaque mois (par exemple toujours le 1er)."
},
"rolling": {
"label": "Flexible from last dose",
"description": "Leave the next dose open. When you tap 'taken', the counter starts again from that moment."
"label": "Flexible depuis la dernière dose",
"description": "Laissez la prochaine dose ouverte. Quand vous appuyez sur « pris », le compteur repart à partir de ce moment."
},
"oneShot": {
"label": "Single dose",
"description": "One administration, e.g. a vaccine or an antibiotic course."
"label": "Dose unique",
"description": "Une seule administration, par exemple un vaccin ou une cure d’antibiotique."
}
},
"summary": {
"title": "Summary",
"title": "Résumé",
"cadence": {
"daily": "Every day",
"weekdays": "On selected days of the week",
"biweekly": "Every two weeks",
"monthly": "Monthly",
"quarterly": "Every three months",
"yearly": "Once a year",
"rolling": "Every {n} days from your last intake",
"oneShot": "A single dose",
"everyNWeeks": "Every {n} weeks",
"everyNMonths": "Every {n} months"
"daily": "Chaque jour",
"weekdays": "Les jours de la semaine sélectionnés",
"biweekly": "Toutes les deux semaines",
"monthly": "Mensuel",
"quarterly": "Tous les trois mois",
"yearly": "Une fois par an",
"rolling": "Tous les {n} jours depuis votre dernière prise",
"oneShot": "Une dose unique",
"everyNWeeks": "Toutes les {n} semaines",
"everyNMonths": "Tous les {n} mois"
},
"weekdaysDetail": ", on {days}",
"dayOfMonthDetail": ", on day {day}.",
"times": "at {times}",
"startsOn": "Starts: {date}",
"endsOn": "Ends: {date}",
"noEndDate": "No end date"
"weekdaysDetail": ", le {days}",
"dayOfMonthDetail": ", le {day}.",
"times": "à {times}",
"startsOn": "Début : {date}",
"endsOn": "Fin : {date}",
"noEndDate": "Pas de date de fin"
},
"compose": {
"scheduleIndex": "Schedule {n} of {total}",
"scheduleIndex": "Horaire {n} sur {total}",
"list": {
"add": "Add another schedule",
"edit": "Edit",
"remove": "Remove",
"removeDisabled": "At least one schedule is required.",
"empty": "No schedule yet."
"add": "Ajouter un autre horaire",
"edit": "Modifier",
"remove": "Retirer",
"removeDisabled": "Au moins un horaire est requis.",
"empty": "Pas encore d’horaire."
}
},
"errors": {
"submitFailed": "Could not save the medication — please retry."
"submitFailed": "Impossible d’enregistrer le médicament — veuillez réessayer."
}
},
"doseStrength": {
@@ -1160,88 +1160,88 @@
},
"detail": {
"status": {
"active": "Active",
"paused": "Paused",
"ended": "Ended"
"active": "Actif",
"paused": "En pause",
"ended": "Terminé"
},
"today": {
"groupLabel": "Today's dose",
"taken": "Taken",
"skipped": "Skipped",
"toastTaken": "Today's dose logged",
"toastSkipped": "Today's dose skipped",
"recordedTaken": "Taken today at {time}",
"recordedSkipped": "Skipped today at {time}",
"recordedOneShot": "One-shot dose taken at {time}",
"noneScheduled": "No dose scheduled for today.",
"pausedHint": "Paused — no reminder today.",
"error": "Could not log the dose."
"groupLabel": "Dose du jour",
"taken": "Pris",
"skipped": "Sauté",
"toastTaken": "Dose du jour enregistrée",
"toastSkipped": "Dose du jour sautée",
"recordedTaken": "Prise aujourd’hui à {time}",
"recordedSkipped": "Sautée aujourd’hui à {time}",
"recordedOneShot": "Dose unique prise à {time}",
"noneScheduled": "Aucune dose prévue aujourd’hui.",
"pausedHint": "En pause — pas de rappel aujourd’hui.",
"error": "Impossible d’enregistrer la dose."
},
"cadence": {
"oneShotOn": "One-time dose on {date}.",
"oneShotPending": "One-time dose pending."
"oneShotOn": "Dose unique le {date}.",
"oneShotPending": "Dose unique en attente."
},
"intake": {
"title": "Intake history",
"importButton": "Import",
"title": "Historique des prises",
"importButton": "Importer",
"rowActions": {
"openMenu": "Open row actions",
"edit": "Edit",
"delete": "Delete"
"openMenu": "Ouvrir les actions de la ligne",
"edit": "Modifier",
"delete": "Supprimer"
},
"selection": {
"rowToggleLabel": "Select row"
"rowToggleLabel": "Sélectionner la ligne"
},
"bulkDelete": {
"selectionCount": "{count} entries selected",
"deleteButton": "Delete selection",
"cancelButton": "Cancel",
"confirmTitle": "Delete the selected entries?",
"confirmBody": "{count} entries will be removed permanently. The medication itself stays.",
"confirmAction": "Delete",
"toast": "Selection deleted",
"failed": "Could not delete the selection."
"selectionCount": "{count} entrées sélectionnées",
"deleteButton": "Supprimer la sélection",
"cancelButton": "Annuler",
"confirmTitle": "Supprimer les entrées sélectionnées ?",
"confirmBody": "{count} entrées seront supprimées définitivement. Le médicament est conservé.",
"confirmAction": "Supprimer",
"toast": "Sélection supprimée",
"failed": "Impossible de supprimer la sélection."
},
"edit": {
"dialogTitle": "Edit intake",
"takenAtLabel": "Taken at",
"skippedLabel": "Skipped",
"dialogTitle": "Modifier la prise",
"takenAtLabel": "Prise à",
"skippedLabel": "Sautée",
"noteLabel": "Note",
"save": "Save",
"cancel": "Cancel",
"savedToast": "Intake updated",
"failed": "Could not update the intake."
"save": "Enregistrer",
"cancel": "Annuler",
"savedToast": "Prise mise à jour",
"failed": "Impossible de mettre à jour la prise."
},
"deleteRow": {
"confirmTitle": "Delete this intake?",
"confirmBody": "The entry is removed permanently.",
"confirmAction": "Delete",
"toast": "Intake deleted",
"failed": "Could not delete the intake."
"confirmTitle": "Supprimer cette prise ?",
"confirmBody": "L’entrée est supprimée définitivement.",
"confirmAction": "Supprimer",
"toast": "Prise supprimée",
"failed": "Impossible de supprimer la prise."
}
},
"notifications": {
"title": "Notifications",
"switchLabel": "Send a reminder when this dose is due",
"helperOn": "Reminders are on.",
"helperOff": "Reminders are off.",
"enabledToast": "Reminders on",
"disabledToast": "Reminders off",
"toggleFailed": "Could not change the reminder setting.",
"clientManagedChip": "Your iPhone manages reminders for this medication."
"title": "Rappels",
"switchLabel": "Envoyer un rappel lorsque cette dose est due",
"helperOn": "Les rappels sont activés.",
"helperOff": "Les rappels sont désactivés.",
"enabledToast": "Rappels activés",
"disabledToast": "Rappels désactivés",
"toggleFailed": "Impossible de modifier le réglage des rappels.",
"clientManagedChip": "Votre iPhone gère les rappels de ce médicament."
},
"settings": {
"title": "Settings",
"title": "Réglages",
"phases": {
"openButton": "Configure phases",
"requiresCourseWindow": "Phases are available once a course window is set."
"openButton": "Configurer les phases",
"requiresCourseWindow": "Les phases sont disponibles une fois une période de traitement définie."
},
"grace": {
"label": "Reminder window — applies to your primary schedule",
"primaryScheduleNote": "Multi-schedule medications keep their other schedules' default window.",
"label": "Fenêtre de rappel — s’applique à votre horaire principal",
"primaryScheduleNote": "Les médicaments à horaires multiples conservent la fenêtre par défaut de leurs autres horaires.",
"unit": "minutes",
"saved": "Reminder window saved",
"failed": "Could not save the reminder window."
"saved": "Fenêtre de rappel enregistrée",
"failed": "Impossible d’enregistrer la fenêtre de rappel."
},
"codes": {
"label": "Codes cliniques (ATC / RxNorm)",
@@ -1253,57 +1253,57 @@
}
},
"zone": {
"title": "Manage & danger zone",
"title": "Gestion et zone à risque",
"pause": {
"title": "Pause",
"helper": "Pause reminders until you turn them back on. History stays intact.",
"pausedToast": "Reminders paused",
"resumedToast": "Reminders resumed",
"failed": "Could not change the paused state."
"title": "Mettre en pause",
"helper": "Mettez les rappels en pause jusqu’à ce que vous les réactiviez. L’historique est conservé.",
"pausedToast": "Rappels mis en pause",
"resumedToast": "Rappels réactivés",
"failed": "Impossible de modifier l’état de pause."
},
"end": {
"title": "End medication",
"helper": "Stop reminders and mark the medication as ended. History stays visible.",
"button": "End",
"dialogTitle": "End {name} — stop reminders, history stays visible",
"dialogBody": "No more reminders. Old entries remain in the timeline.",
"toast": "Medication ended",
"failed": "Could not end the medication."
"title": "Terminer le médicament",
"helper": "Arrête les rappels et marque le médicament comme terminé. L’historique reste visible.",
"button": "Terminer",
"dialogTitle": "Terminer {name} — arrête les rappels, l’historique reste visible",
"dialogBody": "Plus de rappels. Les anciennes entrées restent dans la chronologie.",
"toast": "Médicament terminé",
"failed": "Impossible de terminer le médicament."
},
"purge": {
"title": "Delete history",
"helper": "{count} intake events are stored for this medication.",
"button": "Delete history",
"dialogTitle": "Really delete the history?",
"dialogBody": "The {count} intake events will be removed permanently. The medication itself stays.",
"toast": "History deleted",
"failed": "Could not delete the history."
"title": "Supprimer l’historique",
"helper": "{count} prises sont enregistrées pour ce médicament.",
"button": "Supprimer l’historique",
"dialogTitle": "Supprimer vraiment l’historique ?",
"dialogBody": "Les {count} prises seront supprimées définitivement. Le médicament est conservé.",
"toast": "Historique supprimé",
"failed": "Impossible de supprimer l’historique."
},
"delete": {
"title": "Delete medication",
"helper": "Removes the medication and every related record.",
"button": "Delete",
"dialogTitle": "Delete {name}?",
"dialogBody": "The medication, its schedules, intake history, API tokens, phase config and reminders will be removed permanently.",
"toast": "Medication deleted",
"failed": "Could not delete the medication."
"title": "Supprimer le médicament",
"helper": "Supprime le médicament et tous les enregistrements associés.",
"button": "Supprimer",
"dialogTitle": "Supprimer {name} ?",
"dialogBody": "Le médicament, ses horaires, l’historique des prises, les jetons API, la configuration des phases et les rappels seront supprimés définitivement.",
"toast": "Médicament supprimé",
"failed": "Impossible de supprimer le médicament."
}
},
"phases": {
"modeLabel": "{phase} mode",
"saveFailed": "Could not save the reminder phases."
"modeLabel": "Mode {phase}",
"saveFailed": "Impossible d’enregistrer les phases de rappel."
},
"api": {
"caption": "Endpoint for \"{name}\"",
"copyUrl": "Copy URL",
"urlCopied": "URL copied",
"mintToken": "Mint token",
"mintAnotherToken": "Mint another token",
"mintFailed": "Could not mint a token.",
"copyFailed": "Could not copy.",
"tokenCopied": "Token copied",
"copyToken": "Copy token",
"mintedHint": "Copy this token now — it is shown only once."
"caption": "Point de terminaison pour « {name} »",
"copyUrl": "Copier l’URL",
"urlCopied": "URL copiée",
"mintToken": "Générer un jeton",
"mintAnotherToken": "Générer un autre jeton",
"mintFailed": "Impossible de générer un jeton.",
"copyFailed": "Impossible de copier.",
"tokenCopied": "Jeton copié",
"copyToken": "Copier le jeton",
"mintedHint": "Copiez ce jeton maintenant — il n’est affiché qu’une seule fois."
},
"edit": {
"planOption": "Modifier le plan",
+266 -266
View File
@@ -554,35 +554,35 @@
"scheduleDaily": "Quotidiano",
"inactive": "In pausa",
"intakeHistory": "Cronologia assunzioni",
"openDetailPage": "Open medication detail page",
"openDetailPage": "Apri la pagina di dettaglio del farmaco",
"deleteConfirm": "Eliminare il farmaco?",
"compliance": "Aderenza",
"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",
"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",
"importIntakes": "Importa assunzioni",
"importDescription": "Incolla un array JSON con i dati delle assunzioni. Formato previsto:",
"importUploadFile": "Carica file JSON",
"importPaste": "Incolla il JSON qui...",
"importSelected": "Selezionato: {name}",
"importFileLoaded": "File \"{name}\" caricato",
"importInvalidJson": "Il file non contiene un JSON valido",
"importNoArray": "Nessun array trovato",
"importResult": "{imported} assunzioni importate",
"importDuplicatesSkipped": "{count} duplicati ignorati",
"importInvalidSkipped": "{count} voci non valide ignorate",
"importFailed": "Importazione non riuscita",
"importInvalidFormat": "Formato JSON non valido",
"apiEndpointTitle": "Endpoint API: {name}",
"apiEndpointDescription": "Usa questo endpoint per registrare assunzioni tramite API (ad es. con un Comando rapido iPhone o un cron job).",
"apiEndpointActive": "Endpoint API attivo",
"apiEndpointActivated": "Endpoint API attivato",
"apiEndpointDeactivated": "Endpoint API disattivato",
"apiTokenCount": "Attivo ({count} token)",
"apiToken": "Token API",
"apiTokenActiveHint": "L’endpoint è attivo. I token esistenti restano validi ma non possono essere mostrati di nuovo in chiaro.",
"apiTokenActivateHint": "Attiva l’endpoint per creare un nuovo token.",
"apiTokenOnceHint": "Il token viene mostrato in chiaro solo una volta, alla creazione.",
"requestExample": "Esempio di richiesta",
"statusLoadFailed": "Impossibile caricare lo stato",
"changeFailed": "Modifica non riuscita",
"categoryBloodPressure": "Pressione arteriosa",
"categoryVitamin": "Vitamine",
"categoryThyroid": "Tiroide",
@@ -594,7 +594,7 @@
"categorySkin": "Cura della pelle",
"categorySleepAid": "Per dormire",
"categoryDiabetes": "Diabetes",
"categoryAntibiotic": "Antibiotic",
"categoryAntibiotic": "Antibiotico",
"categoryOther": "Altro",
"daysSun": "Dom",
"daysMon": "Lun",
@@ -738,141 +738,141 @@
}
},
"cadence": {
"section": "Cadence",
"label": "How often",
"section": "Cadenza",
"label": "Con quale frequenza",
"kind": {
"daily": "Every day",
"weekdays": "Certain days of the week",
"everyNWeeks": "Every N weeks on certain days",
"monthly": "Monthly on a specific day",
"everyNMonths": "Every N months on a specific day",
"yearly": "Once a year",
"rolling": "Every N days from when I last took it (flexible)",
"rollingExplainer": "Counts from your last logged intake — pauses if you skip a dose.",
"oneShot": "One-time dose"
"daily": "Ogni giorno",
"weekdays": "In determinati giorni della settimana",
"everyNWeeks": "Ogni N settimane in determinati giorni",
"monthly": "Mensilmente in un giorno specifico",
"everyNMonths": "Ogni N mesi in un giorno specifico",
"yearly": "Una volta all’anno",
"rolling": "Ogni N giorni dall’ultima assunzione (flessibile)",
"rollingExplainer": "Conta dall’ultima assunzione registrata — si mette in pausa se salti una dose.",
"oneShot": "Dose singola"
},
"weekdays": {
"label": "Days of the week",
"label": "Giorni della settimana",
"short": {
"mo": "Mo",
"tu": "Tu",
"we": "We",
"th": "Th",
"tu": "Ma",
"we": "Me",
"th": "Gi",
"fr": "Fr",
"sa": "Sa",
"su": "Su"
"su": "Do"
},
"long": {
"mo": "Monday",
"tu": "Tuesday",
"we": "Wednesday",
"th": "Thursday",
"fr": "Friday",
"sa": "Saturday",
"su": "Sunday"
"mo": "Lunedì",
"tu": "Martedì",
"we": "Mercoledì",
"th": "Giovedì",
"fr": "Venerdì",
"sa": "Sabato",
"su": "Domenica"
}
},
"intervalWeeks": {
"suffix": "weeks"
"suffix": "settimane"
},
"dayOfMonth": {
"label": "Day"
"label": "Giorno"
},
"intervalMonths": {
"suffix": "months",
"dayOnLabel": "on day"
"suffix": "mesi",
"dayOnLabel": "il giorno"
},
"yearly": {
"date": {
"label": "Date"
"label": "Data"
}
},
"rollingDays": {
"suffix": "days"
"suffix": "giorni"
}
},
"timesOfDay": {
"section": "Times of day",
"label": "Times of day",
"section": "Orari del giorno",
"label": "Orari del giorno",
"empty": {
"cta": "Add the first time."
"cta": "Aggiungi il primo orario."
},
"add": "Add time",
"remove": "Remove",
"add": "Aggiungi orario",
"remove": "Rimuovi",
"presets": {
"morning": "Morning",
"noon": "Noon",
"evening": "Evening",
"night": "Night"
"morning": "Mattina",
"noon": "Mezzogiorno",
"evening": "Sera",
"night": "Notte"
},
"max": {
"reached": "Maximum reached — remove a time before adding another."
"reached": "Massimo raggiunto — rimuovi un orario prima di aggiungerne un altro."
}
},
"courseWindow": {
"section": "Course window",
"section": "Periodo di trattamento",
"startsOn": {
"label": "Starts on"
"label": "Inizia il"
},
"endsOn": {
"label": "Ends on"
"label": "Termina il"
},
"noEndDate": "No end date",
"oneShotCaption": "(one-time dose)",
"invalidRange": "End date must be on or after the start date."
"noEndDate": "Nessuna data di fine",
"oneShotCaption": "(dose singola)",
"invalidRange": "La data di fine deve essere uguale o successiva alla data di inizio."
}
},
"wizard": {
"header": {
"stepOf": "Step {current} of {total}",
"createTitle": "New medication",
"editTitle": "Edit {name}"
"stepOf": "Passo {current} di {total}",
"createTitle": "Nuovo farmaco",
"editTitle": "Modifica {name}"
},
"nav": {
"back": "Back",
"next": "Next",
"save": "Save",
"saveEdit": "Save changes",
"back": "Indietro",
"next": "Avanti",
"save": "Salva",
"saveEdit": "Salva modifiche",
"nextHint": "Avanti: {step}",
"reviewHint": "Avanti: Salva",
"jumpFirst": "Vai al primo passaggio",
"jumpLast": "Vai a revisione e salvataggio"
},
"nl": {
"button": "Describe"
"button": "Descrivi"
},
"steps": {
"step1": {
"title": "What's the medication called?",
"subline": "Exactly as it appears on the box.",
"title": "Come si chiama il farmaco?",
"subline": "Esattamente come riportato sulla confezione.",
"label": "Name",
"placeholder": "e.g. Ramipril",
"placeholder": "ad es. Ramipril",
"short": "Nome"
},
"step2": {
"title": "What kind of medication is it?",
"subline": "We use this for the right templates and analytics.",
"title": "Che tipo di farmaco è?",
"subline": "Lo usiamo per i modelli e le analisi corretti.",
"short": "Tipo"
},
"step3": {
"title": "What's the dose?",
"subline": "A tablet, a puff, a drop — depending on the form.",
"amountLabel": "Amount",
"amountPlaceholder": "e.g. 5",
"unitLabel": "Unit",
"title": "Qual è la dose?",
"subline": "Una compressa, uno spruzzo, una goccia — a seconda della forma.",
"amountLabel": "Quantità",
"amountPlaceholder": "ad es. 5",
"unitLabel": "Unità",
"unit": {
"mg": "mg",
"ml": "ml",
"iu": "IU",
"iu": "UI",
"mcg": "µg",
"g": "g",
"tablets": "tablet(s)",
"capsules": "capsule(s)",
"drops": "drops",
"puffs": "puff",
"sprays": "spray",
"pieces": "pieces",
"other": "other"
"tablets": "compressa/e",
"capsules": "capsula/e",
"drops": "gocce",
"puffs": "spruzzo",
"sprays": "spruzzo",
"pieces": "pezzi",
"other": "altro"
},
"deliveryFormLabel": "Via",
"deliveryForm": {
@@ -888,124 +888,124 @@
"short": "Dose"
},
"step4": {
"title": "Over what period are you taking it?",
"subline": "A start date is enough for today. You can add an end date later.",
"title": "Per quanto tempo lo assumi?",
"subline": "Per oggi basta una data di inizio. Potrai aggiungere una data di fine in seguito.",
"short": "Quando"
},
"step5": {
"title": "How often do you take it?",
"subline": "Pick the cadence — the details follow on the next step.",
"title": "Con quale frequenza lo assumi?",
"subline": "Scegli la cadenza — i dettagli arrivano al passo successivo.",
"short": "Frequenza"
},
"step6": {
"title": "What does that look like in detail?",
"subline": "Set weekdays, intervals, or the day of the month.",
"title": "Come si presenta nel dettaglio?",
"subline": "Imposta i giorni della settimana, gli intervalli o il giorno del mese.",
"intervalWeeks": {
"label": "Every",
"suffix": "weeks"
"label": "Ogni",
"suffix": "settimane"
},
"dayOfMonth": {
"label": "On",
"suffix": "day of the month"
"label": "Il",
"suffix": "giorno del mese"
},
"rollingDays": {
"label": "Every",
"suffix": "days from the last intake"
"label": "Ogni",
"suffix": "giorni dall’ultima assunzione"
},
"short": "Dettaglio"
},
"step7": {
"title": "When do you take it?",
"subline": "One or more times of day — reminders follow this list.",
"presetsLabel": "Time-of-day presets",
"title": "Quando lo assumi?",
"subline": "Uno o più orari del giorno — i promemoria seguono questo elenco.",
"presetsLabel": "Preimpostazioni per orario del giorno",
"presets": {
"morning": "Morning",
"noon": "Noon",
"evening": "Evening",
"night": "Night"
"morning": "Mattina",
"noon": "Mezzogiorno",
"evening": "Sera",
"night": "Notte"
},
"short": "Orari"
},
"step8": {
"title": "All done — should HealthLog remind you?",
"subline": "Review everything below before you save.",
"remindersLabel": "Reminders on",
"remindersDescription": "Push, Telegram or ntfy — based on your settings.",
"multiScheduleNote": "This medication has multiple schedules. The detailed editor returns in a later release.",
"title": "Fatto — vuoi che HealthLog te lo ricordi?",
"subline": "Controlla tutto qui sotto prima di salvare.",
"remindersLabel": "Promemoria attivi",
"remindersDescription": "Push, Telegram o ntfy — in base alle tue impostazioni.",
"multiScheduleNote": "Questo farmaco ha più orari. L’editor dettagliato tornerà in una versione successiva.",
"short": "Fatto"
}
},
"classRow": {
"bloodPressure": "Blood pressure",
"bloodPressure": "Pressione arteriosa",
"diabetes": "Diabetes",
"hormone": "Hormones",
"glp1": "GLP-1 injection",
"painRelief": "Pain",
"allergy": "Allergy",
"vitamin": "Vitamins",
"supplement": "Supplement",
"antibiotic": "Antibiotic",
"other": "Other"
"hormone": "Ormoni",
"glp1": "Iniezione di GLP-1",
"painRelief": "Dolore",
"allergy": "Allergia",
"vitamin": "Vitamine",
"supplement": "Integratore",
"antibiotic": "Antibiotico",
"other": "Altro"
},
"cadence": {
"daily": {
"label": "Daily",
"description": "Every day at the same time."
"label": "Giornaliero",
"description": "Ogni giorno alla stessa ora."
},
"weekdays": {
"label": "Specific weekdays",
"description": "E.g. Monday, Wednesday, Friday."
"label": "Giorni specifici della settimana",
"description": "Ad es. lunedì, mercoledì, venerdì."
},
"everyNWeeks": {
"label": "Every few weeks",
"description": "E.g. every 2 weeks on Thursdays (GLP-1, biologics)."
"label": "Ogni poche settimane",
"description": "Ad es. ogni 2 settimane di giovedì (GLP-1, biologici)."
},
"monthly": {
"label": "Monthly",
"description": "On a fixed day each month (e.g. always the 1st)."
"label": "Mensile",
"description": "Un giorno fisso ogni mese (ad es. sempre il 1°)."
},
"rolling": {
"label": "Flexible from last dose",
"description": "Leave the next dose open. When you tap 'taken', the counter starts again from that moment."
"label": "Flessibile dall’ultima dose",
"description": "Lascia aperta la prossima dose. Quando tocchi «assunta», il conteggio riparte da quel momento."
},
"oneShot": {
"label": "Single dose",
"description": "One administration, e.g. a vaccine or an antibiotic course."
"label": "Dose singola",
"description": "Una singola somministrazione, ad es. un vaccino o un ciclo di antibiotico."
}
},
"summary": {
"title": "Summary",
"title": "Riepilogo",
"cadence": {
"daily": "Every day",
"weekdays": "On selected days of the week",
"biweekly": "Every two weeks",
"monthly": "Monthly",
"quarterly": "Every three months",
"yearly": "Once a year",
"rolling": "Every {n} days from your last intake",
"oneShot": "A single dose",
"everyNWeeks": "Every {n} weeks",
"everyNMonths": "Every {n} months"
"daily": "Ogni giorno",
"weekdays": "Nei giorni della settimana selezionati",
"biweekly": "Ogni due settimane",
"monthly": "Mensile",
"quarterly": "Ogni tre mesi",
"yearly": "Una volta all’anno",
"rolling": "Ogni {n} giorni dall’ultima assunzione",
"oneShot": "Una dose singola",
"everyNWeeks": "Ogni {n} settimane",
"everyNMonths": "Ogni {n} mesi"
},
"weekdaysDetail": ", on {days}",
"dayOfMonthDetail": ", on day {day}.",
"times": "at {times}",
"startsOn": "Starts: {date}",
"endsOn": "Ends: {date}",
"noEndDate": "No end date"
"weekdaysDetail": ", il {days}",
"dayOfMonthDetail": ", il giorno {day}.",
"times": "alle {times}",
"startsOn": "Inizio: {date}",
"endsOn": "Fine: {date}",
"noEndDate": "Nessuna data di fine"
},
"compose": {
"scheduleIndex": "Schedule {n} of {total}",
"scheduleIndex": "Programma {n} di {total}",
"list": {
"add": "Add another schedule",
"edit": "Edit",
"remove": "Remove",
"removeDisabled": "At least one schedule is required.",
"empty": "No schedule yet."
"add": "Aggiungi un altro programma",
"edit": "Modifica",
"remove": "Rimuovi",
"removeDisabled": "È richiesto almeno un programma.",
"empty": "Ancora nessun programma."
}
},
"errors": {
"submitFailed": "Could not save the medication — please retry."
"submitFailed": "Impossibile salvare il farmaco — riprova."
}
},
"doseStrength": {
@@ -1160,88 +1160,88 @@
},
"detail": {
"status": {
"active": "Active",
"paused": "Paused",
"ended": "Ended"
"active": "Attivo",
"paused": "In pausa",
"ended": "Terminato"
},
"today": {
"groupLabel": "Today's dose",
"taken": "Taken",
"skipped": "Skipped",
"toastTaken": "Today's dose logged",
"toastSkipped": "Today's dose skipped",
"recordedTaken": "Taken today at {time}",
"recordedSkipped": "Skipped today at {time}",
"recordedOneShot": "One-shot dose taken at {time}",
"noneScheduled": "No dose scheduled for today.",
"pausedHint": "Paused — no reminder today.",
"error": "Could not log the dose."
"groupLabel": "Dose di oggi",
"taken": "Assunta",
"skipped": "Saltata",
"toastTaken": "Dose di oggi registrata",
"toastSkipped": "Dose di oggi saltata",
"recordedTaken": "Assunta oggi alle {time}",
"recordedSkipped": "Saltata oggi alle {time}",
"recordedOneShot": "Dose singola assunta alle {time}",
"noneScheduled": "Nessuna dose prevista per oggi.",
"pausedHint": "In pausa — nessun promemoria oggi.",
"error": "Impossibile registrare la dose."
},
"cadence": {
"oneShotOn": "One-time dose on {date}.",
"oneShotPending": "One-time dose pending."
"oneShotOn": "Dose singola il {date}.",
"oneShotPending": "Dose singola in sospeso."
},
"intake": {
"title": "Intake history",
"importButton": "Import",
"title": "Storico delle assunzioni",
"importButton": "Importa",
"rowActions": {
"openMenu": "Open row actions",
"edit": "Edit",
"delete": "Delete"
"openMenu": "Apri azioni della riga",
"edit": "Modifica",
"delete": "Elimina"
},
"selection": {
"rowToggleLabel": "Select row"
"rowToggleLabel": "Seleziona riga"
},
"bulkDelete": {
"selectionCount": "{count} entries selected",
"deleteButton": "Delete selection",
"cancelButton": "Cancel",
"confirmTitle": "Delete the selected entries?",
"confirmBody": "{count} entries will be removed permanently. The medication itself stays.",
"confirmAction": "Delete",
"toast": "Selection deleted",
"failed": "Could not delete the selection."
"selectionCount": "{count} voci selezionate",
"deleteButton": "Elimina selezione",
"cancelButton": "Annulla",
"confirmTitle": "Eliminare le voci selezionate?",
"confirmBody": "{count} voci verranno rimosse definitivamente. Il farmaco resta.",
"confirmAction": "Elimina",
"toast": "Selezione eliminata",
"failed": "Impossibile eliminare la selezione."
},
"edit": {
"dialogTitle": "Edit intake",
"takenAtLabel": "Taken at",
"skippedLabel": "Skipped",
"noteLabel": "Note",
"save": "Save",
"cancel": "Cancel",
"savedToast": "Intake updated",
"failed": "Could not update the intake."
"dialogTitle": "Modifica assunzione",
"takenAtLabel": "Assunta alle",
"skippedLabel": "Saltata",
"noteLabel": "Nota",
"save": "Salva",
"cancel": "Annulla",
"savedToast": "Assunzione aggiornata",
"failed": "Impossibile aggiornare l’assunzione."
},
"deleteRow": {
"confirmTitle": "Delete this intake?",
"confirmBody": "The entry is removed permanently.",
"confirmAction": "Delete",
"toast": "Intake deleted",
"failed": "Could not delete the intake."
"confirmTitle": "Eliminare questa assunzione?",
"confirmBody": "La voce viene rimossa definitivamente.",
"confirmAction": "Elimina",
"toast": "Assunzione eliminata",
"failed": "Impossibile eliminare l’assunzione."
}
},
"notifications": {
"title": "Notifications",
"switchLabel": "Send a reminder when this dose is due",
"helperOn": "Reminders are on.",
"helperOff": "Reminders are off.",
"enabledToast": "Reminders on",
"disabledToast": "Reminders off",
"toggleFailed": "Could not change the reminder setting.",
"clientManagedChip": "Your iPhone manages reminders for this medication."
"title": "Promemoria",
"switchLabel": "Invia un promemoria quando questa dose è dovuta",
"helperOn": "I promemoria sono attivi.",
"helperOff": "I promemoria sono disattivati.",
"enabledToast": "Promemoria attivi",
"disabledToast": "Promemoria disattivati",
"toggleFailed": "Impossibile modificare l’impostazione dei promemoria.",
"clientManagedChip": "Il tuo iPhone gestisce i promemoria di questo farmaco."
},
"settings": {
"title": "Settings",
"title": "Impostazioni",
"phases": {
"openButton": "Configure phases",
"requiresCourseWindow": "Phases are available once a course window is set."
"openButton": "Configura le fasi",
"requiresCourseWindow": "Le fasi sono disponibili dopo aver impostato un periodo di trattamento."
},
"grace": {
"label": "Reminder window — applies to your primary schedule",
"primaryScheduleNote": "Multi-schedule medications keep their other schedules' default window.",
"unit": "minutes",
"saved": "Reminder window saved",
"failed": "Could not save the reminder window."
"label": "Finestra di promemoria — si applica al tuo programma principale",
"primaryScheduleNote": "I farmaci con più programmi mantengono la finestra predefinita degli altri programmi.",
"unit": "minuti",
"saved": "Finestra di promemoria salvata",
"failed": "Impossibile salvare la finestra di promemoria."
},
"codes": {
"label": "Codici clinici (ATC / RxNorm)",
@@ -1253,57 +1253,57 @@
}
},
"zone": {
"title": "Manage & danger zone",
"title": "Gestione e zona pericolosa",
"pause": {
"title": "Pause",
"helper": "Pause reminders until you turn them back on. History stays intact.",
"pausedToast": "Reminders paused",
"resumedToast": "Reminders resumed",
"failed": "Could not change the paused state."
"title": "Metti in pausa",
"helper": "Metti in pausa i promemoria finché non li riattivi. Lo storico resta intatto.",
"pausedToast": "Promemoria in pausa",
"resumedToast": "Promemoria ripresi",
"failed": "Impossibile modificare lo stato di pausa."
},
"end": {
"title": "End medication",
"helper": "Stop reminders and mark the medication as ended. History stays visible.",
"button": "End",
"dialogTitle": "End {name} — stop reminders, history stays visible",
"dialogBody": "No more reminders. Old entries remain in the timeline.",
"toast": "Medication ended",
"failed": "Could not end the medication."
"title": "Termina il farmaco",
"helper": "Interrompe i promemoria e segna il farmaco come terminato. Lo storico resta visibile.",
"button": "Termina",
"dialogTitle": "Termina {name} — interrompe i promemoria, lo storico resta visibile",
"dialogBody": "Nessun altro promemoria. Le voci precedenti restano nella cronologia.",
"toast": "Farmaco terminato",
"failed": "Impossibile terminare il farmaco."
},
"purge": {
"title": "Delete history",
"helper": "{count} intake events are stored for this medication.",
"button": "Delete history",
"dialogTitle": "Really delete the history?",
"dialogBody": "The {count} intake events will be removed permanently. The medication itself stays.",
"toast": "History deleted",
"failed": "Could not delete the history."
"title": "Elimina lo storico",
"helper": "Per questo farmaco sono memorizzate {count} assunzioni.",
"button": "Elimina lo storico",
"dialogTitle": "Eliminare davvero lo storico?",
"dialogBody": "Le {count} assunzioni verranno rimosse definitivamente. Il farmaco resta.",
"toast": "Storico eliminato",
"failed": "Impossibile eliminare lo storico."
},
"delete": {
"title": "Delete medication",
"helper": "Removes the medication and every related record.",
"button": "Delete",
"dialogTitle": "Delete {name}?",
"dialogBody": "The medication, its schedules, intake history, API tokens, phase config and reminders will be removed permanently.",
"toast": "Medication deleted",
"failed": "Could not delete the medication."
"title": "Elimina il farmaco",
"helper": "Rimuove il farmaco e tutti i record correlati.",
"button": "Elimina",
"dialogTitle": "Eliminare {name}?",
"dialogBody": "Il farmaco, i suoi programmi, lo storico delle assunzioni, i token API, la configurazione delle fasi e i promemoria verranno rimossi definitivamente.",
"toast": "Farmaco eliminato",
"failed": "Impossibile eliminare il farmaco."
}
},
"phases": {
"modeLabel": "{phase} mode",
"saveFailed": "Could not save the reminder phases."
"modeLabel": "Modalità {phase}",
"saveFailed": "Impossibile salvare le fasi dei promemoria."
},
"api": {
"caption": "Endpoint for \"{name}\"",
"copyUrl": "Copy URL",
"urlCopied": "URL copied",
"mintToken": "Mint token",
"mintAnotherToken": "Mint another token",
"mintFailed": "Could not mint a token.",
"copyFailed": "Could not copy.",
"tokenCopied": "Token copied",
"copyToken": "Copy token",
"mintedHint": "Copy this token now — it is shown only once."
"caption": "Endpoint per \"{name}\"",
"copyUrl": "Copia URL",
"urlCopied": "URL copiato",
"mintToken": "Genera token",
"mintAnotherToken": "Genera un altro token",
"mintFailed": "Impossibile generare un token.",
"copyFailed": "Impossibile copiare.",
"tokenCopied": "Token copiato",
"copyToken": "Copia token",
"mintedHint": "Copia questo token ora — viene mostrato una sola volta."
},
"edit": {
"planOption": "Modifica piano",
+267 -267
View File
@@ -554,35 +554,35 @@
"scheduleDaily": "Codziennie",
"inactive": "Wstrzymany",
"intakeHistory": "Historia przyjęć",
"openDetailPage": "Open medication detail page",
"openDetailPage": "Otwórz stronę szczegółów leku",
"deleteConfirm": "Usunąć lek?",
"compliance": "Przestrzeganie zaleceń",
"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",
"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",
"importIntakes": "Importuj przyjęcia",
"importDescription": "Wklej tablicę JSON z danymi przyjęć. Oczekiwany format:",
"importUploadFile": "Prześlij plik JSON",
"importPaste": "Wklej tutaj JSON...",
"importSelected": "Wybrano: {name}",
"importFileLoaded": "Plik „{name}” wczytany",
"importInvalidJson": "Plik nie zawiera prawidłowego JSON",
"importNoArray": "Nie znaleziono tablicy",
"importResult": "{imported} przyjęć zaimportowano",
"importDuplicatesSkipped": "{count} duplikatów pominięto",
"importInvalidSkipped": "{count} nieprawidłowych wpisów pominięto",
"importFailed": "Import nie powiódł się",
"importInvalidFormat": "Nieprawidłowy format JSON",
"apiEndpointTitle": "Punkt końcowy API: {name}",
"apiEndpointDescription": "Użyj tego punktu końcowego do rejestrowania przyjęć przez API (np. Skrót iPhone lub zadanie cron).",
"apiEndpointActive": "Punkt końcowy API aktywny",
"apiEndpointActivated": "Punkt końcowy API aktywowany",
"apiEndpointDeactivated": "Punkt końcowy API dezaktywowany",
"apiTokenCount": "Aktywny ({count} tokenów)",
"apiToken": "Token API",
"apiTokenActiveHint": "Punkt końcowy jest aktywny. Istniejące tokeny pozostają ważne, ale nie można ich ponownie pokazać jako zwykły tekst.",
"apiTokenActivateHint": "Aktywuj punkt końcowy, aby utworzyć nowy token.",
"apiTokenOnceHint": "Token jest pokazywany jako zwykły tekst tylko raz, przy tworzeniu.",
"requestExample": "Przykład żądania",
"statusLoadFailed": "Nie udało się wczytać statusu",
"changeFailed": "Zmiana nie powiodła się",
"categoryBloodPressure": "Ciśnienie krwi",
"categoryVitamin": "Witaminy",
"categoryThyroid": "Tarczyca",
@@ -594,7 +594,7 @@
"categorySkin": "Pielęgnacja skóry",
"categorySleepAid": "Na sen",
"categoryDiabetes": "Diabetes",
"categoryAntibiotic": "Antibiotic",
"categoryAntibiotic": "Antybiotyk",
"categoryOther": "Inne",
"daysSun": "Nd",
"daysMon": "Pn",
@@ -738,141 +738,141 @@
}
},
"cadence": {
"section": "Cadence",
"label": "How often",
"section": "Częstotliwość",
"label": "Jak często",
"kind": {
"daily": "Every day",
"weekdays": "Certain days of the week",
"everyNWeeks": "Every N weeks on certain days",
"monthly": "Monthly on a specific day",
"everyNMonths": "Every N months on a specific day",
"yearly": "Once a year",
"rolling": "Every N days from when I last took it (flexible)",
"rollingExplainer": "Counts from your last logged intake — pauses if you skip a dose.",
"oneShot": "One-time dose"
"daily": "Codziennie",
"weekdays": "W określone dni tygodnia",
"everyNWeeks": "Co N tygodni w określone dni",
"monthly": "Co miesiąc w określonym dniu",
"everyNMonths": "Co N miesięcy w określonym dniu",
"yearly": "Raz w roku",
"rolling": "Co N dni od ostatniego przyjęcia (elastycznie)",
"rollingExplainer": "Liczy od ostatniego zarejestrowanego przyjęcia — wstrzymuje się, jeśli pominiesz dawkę.",
"oneShot": "Dawka jednorazowa"
},
"weekdays": {
"label": "Days of the week",
"label": "Dni tygodnia",
"short": {
"mo": "Mo",
"tu": "Tu",
"we": "We",
"th": "Th",
"tu": "Wt",
"we": "Śr",
"th": "Cz",
"fr": "Fr",
"sa": "Sa",
"su": "Su"
"su": "Nd"
},
"long": {
"mo": "Monday",
"tu": "Tuesday",
"we": "Wednesday",
"th": "Thursday",
"fr": "Friday",
"sa": "Saturday",
"su": "Sunday"
"mo": "Poniedziałek",
"tu": "Wtorek",
"we": "Środa",
"th": "Czwartek",
"fr": "Piątek",
"sa": "Sobota",
"su": "Niedziela"
}
},
"intervalWeeks": {
"suffix": "weeks"
"suffix": "tygodni"
},
"dayOfMonth": {
"label": "Day"
"label": "Dzień"
},
"intervalMonths": {
"suffix": "months",
"dayOnLabel": "on day"
"suffix": "miesięcy",
"dayOnLabel": "w dniu"
},
"yearly": {
"date": {
"label": "Date"
"label": "Data"
}
},
"rollingDays": {
"suffix": "days"
"suffix": "dni"
}
},
"timesOfDay": {
"section": "Times of day",
"label": "Times of day",
"section": "Pory dnia",
"label": "Pory dnia",
"empty": {
"cta": "Add the first time."
"cta": "Dodaj pierwszą godzinę."
},
"add": "Add time",
"remove": "Remove",
"add": "Dodaj godzinę",
"remove": "Usuń",
"presets": {
"morning": "Morning",
"noon": "Noon",
"evening": "Evening",
"night": "Night"
"morning": "Rano",
"noon": "Południe",
"evening": "Wieczór",
"night": "Noc"
},
"max": {
"reached": "Maximum reached — remove a time before adding another."
"reached": "Osiągnięto maksimum — usuń jedną godzinę przed dodaniem kolejnej."
}
},
"courseWindow": {
"section": "Course window",
"section": "Okres leczenia",
"startsOn": {
"label": "Starts on"
"label": "Rozpoczyna się"
},
"endsOn": {
"label": "Ends on"
"label": "Kończy się"
},
"noEndDate": "No end date",
"oneShotCaption": "(one-time dose)",
"invalidRange": "End date must be on or after the start date."
"noEndDate": "Brak daty zakończenia",
"oneShotCaption": "(dawka jednorazowa)",
"invalidRange": "Data zakończenia musi być taka sama jak data rozpoczęcia lub późniejsza."
}
},
"wizard": {
"header": {
"stepOf": "Step {current} of {total}",
"createTitle": "New medication",
"editTitle": "Edit {name}"
"stepOf": "Krok {current} z {total}",
"createTitle": "Nowy lek",
"editTitle": "Edytuj {name}"
},
"nav": {
"back": "Back",
"next": "Next",
"save": "Save",
"saveEdit": "Save changes",
"back": "Wstecz",
"next": "Dalej",
"save": "Zapisz",
"saveEdit": "Zapisz zmiany",
"nextHint": "Dalej: {step}",
"reviewHint": "Dalej: Zapisz",
"jumpFirst": "Przejdź do pierwszego kroku",
"jumpLast": "Przejdź do podsumowania i zapisu"
},
"nl": {
"button": "Describe"
"button": "Opisz"
},
"steps": {
"step1": {
"title": "What's the medication called?",
"subline": "Exactly as it appears on the box.",
"title": "Jak nazywa się lek?",
"subline": "Dokładnie tak, jak na opakowaniu.",
"label": "Name",
"placeholder": "e.g. Ramipril",
"placeholder": "np. Ramipryl",
"short": "Nazwa"
},
"step2": {
"title": "What kind of medication is it?",
"subline": "We use this for the right templates and analytics.",
"short": "Typ"
"title": "Jaki to rodzaj leku?",
"subline": "Wykorzystujemy to do odpowiednich szablonów i analiz.",
"short": "Rodzaj"
},
"step3": {
"title": "What's the dose?",
"subline": "A tablet, a puff, a drop — depending on the form.",
"amountLabel": "Amount",
"amountPlaceholder": "e.g. 5",
"unitLabel": "Unit",
"title": "Jaka jest dawka?",
"subline": "Tabletka, wziew, kropla — w zależności od formy.",
"amountLabel": "Ilość",
"amountPlaceholder": "np. 5",
"unitLabel": "Jednostka",
"unit": {
"mg": "mg",
"ml": "ml",
"iu": "IU",
"iu": "j.m.",
"mcg": "µg",
"g": "g",
"tablets": "tablet(s)",
"capsules": "capsule(s)",
"drops": "drops",
"puffs": "puff",
"sprays": "spray",
"pieces": "pieces",
"other": "other"
"tablets": "tabletka/i",
"capsules": "kapsułka/i",
"drops": "krople",
"puffs": "wziew",
"sprays": "rozpylenie",
"pieces": "sztuki",
"other": "inne"
},
"deliveryFormLabel": "Droga podania",
"deliveryForm": {
@@ -888,124 +888,124 @@
"short": "Dawka"
},
"step4": {
"title": "Over what period are you taking it?",
"subline": "A start date is enough for today. You can add an end date later.",
"title": "Przez jaki okres go przyjmujesz?",
"subline": "Na dziś wystarczy data rozpoczęcia. Datę zakończenia możesz dodać później.",
"short": "Kiedy"
},
"step5": {
"title": "How often do you take it?",
"subline": "Pick the cadence — the details follow on the next step.",
"title": "Jak często go przyjmujesz?",
"subline": "Wybierz częstotliwość — szczegóły w następnym kroku.",
"short": "Częstotliwość"
},
"step6": {
"title": "What does that look like in detail?",
"subline": "Set weekdays, intervals, or the day of the month.",
"title": "Jak to wygląda szczegółowo?",
"subline": "Ustaw dni tygodnia, interwały lub dzień miesiąca.",
"intervalWeeks": {
"label": "Every",
"suffix": "weeks"
"label": "Co",
"suffix": "tygodni"
},
"dayOfMonth": {
"label": "On",
"suffix": "day of the month"
"label": "W dniu",
"suffix": "dzień miesiąca"
},
"rollingDays": {
"label": "Every",
"suffix": "days from the last intake"
"label": "Co",
"suffix": "dni od ostatniego przyjęcia"
},
"short": "Szczegóły"
},
"step7": {
"title": "When do you take it?",
"subline": "One or more times of day — reminders follow this list.",
"presetsLabel": "Time-of-day presets",
"title": "Kiedy go przyjmujesz?",
"subline": "Jedna lub więcej pór dnia — przypomnienia opierają się na tej liście.",
"presetsLabel": "Ustawienia wstępne pory dnia",
"presets": {
"morning": "Morning",
"noon": "Noon",
"evening": "Evening",
"night": "Night"
"morning": "Rano",
"noon": "Południe",
"evening": "Wieczór",
"night": "Noc"
},
"short": "Godziny"
},
"step8": {
"title": "All done — should HealthLog remind you?",
"subline": "Review everything below before you save.",
"remindersLabel": "Reminders on",
"remindersDescription": "Push, Telegram or ntfy — based on your settings.",
"multiScheduleNote": "This medication has multiple schedules. The detailed editor returns in a later release.",
"title": "Gotowe — czy HealthLog ma Ci przypominać?",
"subline": "Sprawdź wszystko poniżej przed zapisaniem.",
"remindersLabel": "Przypomnienia włączone",
"remindersDescription": "Push, Telegram lub ntfy — w zależności od ustawień.",
"multiScheduleNote": "Ten lek ma wiele harmonogramów. Szczegółowy edytor wróci w kolejnej wersji.",
"short": "Gotowe"
}
},
"classRow": {
"bloodPressure": "Blood pressure",
"bloodPressure": "Ciśnienie krwi",
"diabetes": "Diabetes",
"hormone": "Hormones",
"glp1": "GLP-1 injection",
"painRelief": "Pain",
"allergy": "Allergy",
"vitamin": "Vitamins",
"supplement": "Supplement",
"antibiotic": "Antibiotic",
"other": "Other"
"hormone": "Hormony",
"glp1": "Iniekcja GLP-1",
"painRelief": "Ból",
"allergy": "Alergia",
"vitamin": "Witaminy",
"supplement": "Suplement",
"antibiotic": "Antybiotyk",
"other": "Inne"
},
"cadence": {
"daily": {
"label": "Daily",
"description": "Every day at the same time."
"label": "Codziennie",
"description": "Codziennie o tej samej porze."
},
"weekdays": {
"label": "Specific weekdays",
"description": "E.g. Monday, Wednesday, Friday."
"label": "Określone dni tygodnia",
"description": "Np. poniedziałek, środa, piątek."
},
"everyNWeeks": {
"label": "Every few weeks",
"description": "E.g. every 2 weeks on Thursdays (GLP-1, biologics)."
"label": "Co kilka tygodni",
"description": "Np. co 2 tygodnie w czwartki (GLP-1, leki biologiczne)."
},
"monthly": {
"label": "Monthly",
"description": "On a fixed day each month (e.g. always the 1st)."
"label": "Co miesiąc",
"description": "W stały dzień każdego miesiąca (np. zawsze 1.)."
},
"rolling": {
"label": "Flexible from last dose",
"description": "Leave the next dose open. When you tap 'taken', the counter starts again from that moment."
"label": "Elastycznie od ostatniej dawki",
"description": "Pozostaw kolejną dawkę otwartą. Po naciśnięciu „przyjęto” licznik startuje od nowa od tego momentu."
},
"oneShot": {
"label": "Single dose",
"description": "One administration, e.g. a vaccine or an antibiotic course."
"label": "Jednorazowo",
"description": "Jednorazowe podanie, np. szczepionka lub kuracja antybiotykowa."
}
},
"summary": {
"title": "Summary",
"title": "Podsumowanie",
"cadence": {
"daily": "Every day",
"weekdays": "On selected days of the week",
"biweekly": "Every two weeks",
"monthly": "Monthly",
"quarterly": "Every three months",
"yearly": "Once a year",
"rolling": "Every {n} days from your last intake",
"oneShot": "A single dose",
"everyNWeeks": "Every {n} weeks",
"everyNMonths": "Every {n} months"
"daily": "Codziennie",
"weekdays": "W wybrane dni tygodnia",
"biweekly": "Co dwa tygodnie",
"monthly": "Co miesiąc",
"quarterly": "Co trzy miesiące",
"yearly": "Raz w roku",
"rolling": "Co {n} dni od ostatniego przyjęcia",
"oneShot": "Pojedyncza dawka",
"everyNWeeks": "Co {n} tygodni",
"everyNMonths": "Co {n} miesięcy"
},
"weekdaysDetail": ", on {days}",
"dayOfMonthDetail": ", on day {day}.",
"times": "at {times}",
"startsOn": "Starts: {date}",
"endsOn": "Ends: {date}",
"noEndDate": "No end date"
"weekdaysDetail": ", w {days}",
"dayOfMonthDetail": ", dnia {day}.",
"times": "o {times}",
"startsOn": "Początek: {date}",
"endsOn": "Koniec: {date}",
"noEndDate": "Brak daty zakończenia"
},
"compose": {
"scheduleIndex": "Schedule {n} of {total}",
"scheduleIndex": "Harmonogram {n} z {total}",
"list": {
"add": "Add another schedule",
"edit": "Edit",
"remove": "Remove",
"removeDisabled": "At least one schedule is required.",
"empty": "No schedule yet."
"add": "Dodaj kolejny harmonogram",
"edit": "Edytuj",
"remove": "Usuń",
"removeDisabled": "Wymagany jest co najmniej jeden harmonogram.",
"empty": "Brak harmonogramu."
}
},
"errors": {
"submitFailed": "Could not save the medication — please retry."
"submitFailed": "Nie udało się zapisać leku — spróbuj ponownie."
}
},
"doseStrength": {
@@ -1160,88 +1160,88 @@
},
"detail": {
"status": {
"active": "Active",
"paused": "Paused",
"ended": "Ended"
"active": "Aktywny",
"paused": "Wstrzymany",
"ended": "Zakończony"
},
"today": {
"groupLabel": "Today's dose",
"taken": "Taken",
"skipped": "Skipped",
"toastTaken": "Today's dose logged",
"toastSkipped": "Today's dose skipped",
"recordedTaken": "Taken today at {time}",
"recordedSkipped": "Skipped today at {time}",
"recordedOneShot": "One-shot dose taken at {time}",
"noneScheduled": "No dose scheduled for today.",
"pausedHint": "Paused — no reminder today.",
"error": "Could not log the dose."
"groupLabel": "Dzisiejsza dawka",
"taken": "Przyjęto",
"skipped": "Pominięto",
"toastTaken": "Dzisiejsza dawka zapisana",
"toastSkipped": "Dzisiejsza dawka pominięta",
"recordedTaken": "Przyjęto dziś o {time}",
"recordedSkipped": "Pominięto dziś o {time}",
"recordedOneShot": "Jednorazową dawkę przyjęto o {time}",
"noneScheduled": "Na dziś nie zaplanowano żadnej dawki.",
"pausedHint": "Wstrzymano — dziś brak przypomnienia.",
"error": "Nie udało się zapisać dawki."
},
"cadence": {
"oneShotOn": "One-time dose on {date}.",
"oneShotPending": "One-time dose pending."
"oneShotOn": "Dawka jednorazowa w dniu {date}.",
"oneShotPending": "Dawka jednorazowa oczekuje."
},
"intake": {
"title": "Intake history",
"importButton": "Import",
"title": "Historia przyjęć",
"importButton": "Importuj",
"rowActions": {
"openMenu": "Open row actions",
"edit": "Edit",
"delete": "Delete"
"openMenu": "Otwórz akcje wiersza",
"edit": "Edytuj",
"delete": "Usuń"
},
"selection": {
"rowToggleLabel": "Select row"
"rowToggleLabel": "Zaznacz wiersz"
},
"bulkDelete": {
"selectionCount": "{count} entries selected",
"deleteButton": "Delete selection",
"cancelButton": "Cancel",
"confirmTitle": "Delete the selected entries?",
"confirmBody": "{count} entries will be removed permanently. The medication itself stays.",
"confirmAction": "Delete",
"toast": "Selection deleted",
"failed": "Could not delete the selection."
"selectionCount": "{count} wpisów zaznaczono",
"deleteButton": "Usuń zaznaczone",
"cancelButton": "Anuluj",
"confirmTitle": "Usunąć zaznaczone wpisy?",
"confirmBody": "{count} wpisów zostanie trwale usuniętych. Sam lek pozostaje.",
"confirmAction": "Usuń",
"toast": "Zaznaczone usunięto",
"failed": "Nie udało się usunąć zaznaczonych."
},
"edit": {
"dialogTitle": "Edit intake",
"takenAtLabel": "Taken at",
"skippedLabel": "Skipped",
"noteLabel": "Note",
"save": "Save",
"cancel": "Cancel",
"savedToast": "Intake updated",
"failed": "Could not update the intake."
"dialogTitle": "Edytuj przyjęcie",
"takenAtLabel": "Przyjęto o",
"skippedLabel": "Pominięto",
"noteLabel": "Notatka",
"save": "Zapisz",
"cancel": "Anuluj",
"savedToast": "Przyjęcie zaktualizowane",
"failed": "Nie udało się zaktualizować przyjęcia."
},
"deleteRow": {
"confirmTitle": "Delete this intake?",
"confirmBody": "The entry is removed permanently.",
"confirmAction": "Delete",
"toast": "Intake deleted",
"failed": "Could not delete the intake."
"confirmTitle": "Usunąć to przyjęcie?",
"confirmBody": "Wpis zostanie trwale usunięty.",
"confirmAction": "Usuń",
"toast": "Przyjęcie usunięte",
"failed": "Nie udało się usunąć przyjęcia."
}
},
"notifications": {
"title": "Notifications",
"switchLabel": "Send a reminder when this dose is due",
"helperOn": "Reminders are on.",
"helperOff": "Reminders are off.",
"enabledToast": "Reminders on",
"disabledToast": "Reminders off",
"toggleFailed": "Could not change the reminder setting.",
"clientManagedChip": "Your iPhone manages reminders for this medication."
"title": "Przypomnienia",
"switchLabel": "Wyślij przypomnienie, gdy nadejdzie czas tej dawki",
"helperOn": "Przypomnienia są włączone.",
"helperOff": "Przypomnienia są wyłączone.",
"enabledToast": "Przypomnienia włączone",
"disabledToast": "Przypomnienia wyłączone",
"toggleFailed": "Nie udało się zmienić ustawienia przypomnień.",
"clientManagedChip": "Twój iPhone zarządza przypomnieniami dla tego leku."
},
"settings": {
"title": "Settings",
"title": "Ustawienia",
"phases": {
"openButton": "Configure phases",
"requiresCourseWindow": "Phases are available once a course window is set."
"openButton": "Skonfiguruj fazy",
"requiresCourseWindow": "Fazy są dostępne po ustawieniu okresu leczenia."
},
"grace": {
"label": "Reminder window — applies to your primary schedule",
"primaryScheduleNote": "Multi-schedule medications keep their other schedules' default window.",
"unit": "minutes",
"saved": "Reminder window saved",
"failed": "Could not save the reminder window."
"label": "Okno przypomnienia — dotyczy głównego harmonogramu",
"primaryScheduleNote": "Leki z wieloma harmonogramami zachowują domyślne okno pozostałych harmonogramów.",
"unit": "minut",
"saved": "Okno przypomnienia zapisane",
"failed": "Nie udało się zapisać okna przypomnienia."
},
"codes": {
"label": "Kody kliniczne (ATC / RxNorm)",
@@ -1253,57 +1253,57 @@
}
},
"zone": {
"title": "Manage & danger zone",
"title": "Zarządzanie i strefa zagrożenia",
"pause": {
"title": "Pause",
"helper": "Pause reminders until you turn them back on. History stays intact.",
"pausedToast": "Reminders paused",
"resumedToast": "Reminders resumed",
"failed": "Could not change the paused state."
"title": "Wstrzymaj",
"helper": "Wstrzymaj przypomnienia, aż włączysz je ponownie. Historia pozostaje nienaruszona.",
"pausedToast": "Przypomnienia wstrzymane",
"resumedToast": "Przypomnienia wznowione",
"failed": "Nie udało się zmienić stanu wstrzymania."
},
"end": {
"title": "End medication",
"helper": "Stop reminders and mark the medication as ended. History stays visible.",
"button": "End",
"dialogTitle": "End {name} — stop reminders, history stays visible",
"dialogBody": "No more reminders. Old entries remain in the timeline.",
"toast": "Medication ended",
"failed": "Could not end the medication."
"title": "Zakończ lek",
"helper": "Zatrzymuje przypomnienia i oznacza lek jako zakończony. Historia pozostaje widoczna.",
"button": "Zakończ",
"dialogTitle": "Zakończ {name} — zatrzymuje przypomnienia, historia pozostaje widoczna",
"dialogBody": "Brak kolejnych przypomnień. Stare wpisy pozostają na osi czasu.",
"toast": "Lek zakończony",
"failed": "Nie udało się zakończyć leku."
},
"purge": {
"title": "Delete history",
"helper": "{count} intake events are stored for this medication.",
"button": "Delete history",
"dialogTitle": "Really delete the history?",
"dialogBody": "The {count} intake events will be removed permanently. The medication itself stays.",
"toast": "History deleted",
"failed": "Could not delete the history."
"title": "Usuń historię",
"helper": "Dla tego leku zapisano {count} przyjęć.",
"button": "Usuń historię",
"dialogTitle": "Na pewno usunąć historię?",
"dialogBody": "{count} przyjęć zostanie trwale usuniętych. Sam lek pozostaje.",
"toast": "Historia usunięta",
"failed": "Nie udało się usunąć historii."
},
"delete": {
"title": "Delete medication",
"helper": "Removes the medication and every related record.",
"button": "Delete",
"dialogTitle": "Delete {name}?",
"dialogBody": "The medication, its schedules, intake history, API tokens, phase config and reminders will be removed permanently.",
"toast": "Medication deleted",
"failed": "Could not delete the medication."
"title": "Usuń lek",
"helper": "Usuwa lek i wszystkie powiązane rekordy.",
"button": "Usuń",
"dialogTitle": "Usunąć {name}?",
"dialogBody": "Lek, jego harmonogramy, historia przyjęć, tokeny API, konfiguracja faz i przypomnienia zostaną trwale usunięte.",
"toast": "Lek usunięty",
"failed": "Nie udało się usunąć leku."
}
},
"phases": {
"modeLabel": "{phase} mode",
"saveFailed": "Could not save the reminder phases."
"modeLabel": "Tryb {phase}",
"saveFailed": "Nie udało się zapisać faz przypomnień."
},
"api": {
"caption": "Endpoint for \"{name}\"",
"copyUrl": "Copy URL",
"urlCopied": "URL copied",
"mintToken": "Mint token",
"mintAnotherToken": "Mint another token",
"mintFailed": "Could not mint a token.",
"copyFailed": "Could not copy.",
"tokenCopied": "Token copied",
"copyToken": "Copy token",
"mintedHint": "Copy this token now — it is shown only once."
"caption": "Punkt końcowy dla „{name}”",
"copyUrl": "Kopiuj URL",
"urlCopied": "Skopiowano URL",
"mintToken": "Wygeneruj token",
"mintAnotherToken": "Wygeneruj kolejny token",
"mintFailed": "Nie udało się wygenerować tokena.",
"copyFailed": "Nie udało się skopiować.",
"tokenCopied": "Token skopiowany",
"copyToken": "Kopiuj token",
"mintedHint": "Skopiuj ten token teraz — jest pokazywany tylko raz."
},
"edit": {
"planOption": "Edytuj plan",