mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-08 20:42:43 +00:00
i18n(meds): localise the modal-wizard surface
Populates messages/{de,en}.json with every key the new dialog reads
under medications.wizard.*, plus categoryDiabetes and
categoryAntibiotic on the cards' badge namespace; the other four
locales ship the English fallback per project convention. The
retired medications.create.wizard.* namespace is removed from all
six files so the locale-integrity guard surfaces every dangling key
the moment the old surface stops being reachable.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
b1f9a4bf8f
commit
e686083bae
7 files changed
+827
-587
No files matched your search
+137
-97
@@ -477,6 +477,8 @@
|
||||
"categoryDigestive": "Magen/Darm",
|
||||
"categorySkin": "Hautpflege",
|
||||
"categorySleepAid": "Schlafmittel",
|
||||
"categoryDiabetes": "Diabetes",
|
||||
"categoryAntibiotic": "Antibiotikum",
|
||||
"categoryOther": "Sonstiges",
|
||||
"daysSun": "So",
|
||||
"daysMon": "Mo",
|
||||
@@ -748,119 +750,157 @@
|
||||
"help": "Ältere Pläne nutzen noch ein Zeitfenster-Paar. Neue Pläne nutzen die Uhrzeiten oben — das Fenster bleibt aus Kompatibilitätsgründen erhalten und entfällt in einer späteren Version."
|
||||
}
|
||||
},
|
||||
"create": {
|
||||
"wizard": {
|
||||
"page": {
|
||||
"backToList": "Zurück zu den Medikamenten"
|
||||
},
|
||||
"header": {
|
||||
"stepOf": "Schritt {current} von {total}",
|
||||
"title": {
|
||||
"step1": "Wie heißt das Medikament und was ist eine Einzeldosis?",
|
||||
"step2": "Ist das eine einmalige Dosis oder nimmst du es regelmäßig?",
|
||||
"step3": "Wie oft?",
|
||||
"step4": "Etwas Besonderes zu den Tagen?",
|
||||
"step5": "Zu welcher Uhrzeit?",
|
||||
"step6": "Wann beginnt der Plan? Wann endet er (falls überhaupt)?",
|
||||
"step7": "Erinnerungen und Übersicht"
|
||||
}
|
||||
},
|
||||
"wizard": {
|
||||
"header": {
|
||||
"stepOf": "Schritt {current} von {total}",
|
||||
"createTitle": "Neues Medikament",
|
||||
"editTitle": "{name} bearbeiten"
|
||||
},
|
||||
"nav": {
|
||||
"back": "Zurück",
|
||||
"next": "Weiter",
|
||||
"save": "Speichern",
|
||||
"saveEdit": "Änderungen speichern"
|
||||
},
|
||||
"nl": {
|
||||
"button": "Beschreiben"
|
||||
},
|
||||
"steps": {
|
||||
"step1": {
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "z. B. Mounjaro, Ibuprofen, Vitamin D"
|
||||
},
|
||||
"dose": {
|
||||
"amount": {
|
||||
"label": "Dosis",
|
||||
"placeholder": "z. B. 5"
|
||||
},
|
||||
"unit": {
|
||||
"label": "Einheit",
|
||||
"mg": "mg",
|
||||
"g": "g",
|
||||
"ml": "ml",
|
||||
"iu": "I.E.",
|
||||
"tablets": "Tabletten",
|
||||
"drops": "Tropfen",
|
||||
"puffs": "Hübe",
|
||||
"sprays": "Sprühstöße",
|
||||
"capsules": "Kapseln",
|
||||
"pieces": "Stück",
|
||||
"other": "andere"
|
||||
}
|
||||
},
|
||||
"naturalLanguage": {
|
||||
"button": "✨ Beschreiben",
|
||||
"placeholderCopy": "Beschreibe das Medikament in eigenen Worten — der Assistent füllt die Schritte für dich aus."
|
||||
}
|
||||
"title": "Wie heißt das Medikament?",
|
||||
"subline": "Genau so wie es auf der Packung steht.",
|
||||
"label": "Name",
|
||||
"placeholder": "z. B. Ramipril"
|
||||
},
|
||||
"step2": {
|
||||
"oneShot": {
|
||||
"title": "Einmaldosis",
|
||||
"description": "Ein einzelner Termin — Grippeimpfung, Spritze, die letzte Dosis einer Kur."
|
||||
},
|
||||
"recurring": {
|
||||
"title": "Wiederkehrend",
|
||||
"description": "Ein Medikament, das du nach einem Plan nimmst — täglich oder anders."
|
||||
}
|
||||
"title": "Was für ein Medikament ist das?",
|
||||
"subline": "Wir nutzen das für passende Vorlagen und Auswertungen."
|
||||
},
|
||||
"step3": {
|
||||
"helper": "Wähle das Muster, das zu deiner Einnahme passt. Unteroptionen erscheinen, sobald du eines auswählst."
|
||||
"title": "Wie hoch ist die Dosis?",
|
||||
"subline": "Eine Tablette, ein Hub, ein Tropfen — je nach Form.",
|
||||
"amountLabel": "Menge",
|
||||
"amountPlaceholder": "z. B. 5",
|
||||
"unitLabel": "Einheit",
|
||||
"unit": {
|
||||
"mg": "mg",
|
||||
"ml": "ml",
|
||||
"iu": "I.E.",
|
||||
"mcg": "µg",
|
||||
"g": "g",
|
||||
"tablets": "Tablette(n)",
|
||||
"capsules": "Kapsel(n)",
|
||||
"drops": "Tropfen",
|
||||
"puffs": "Hub",
|
||||
"sprays": "Sprühstoß",
|
||||
"pieces": "Stück",
|
||||
"other": "Sonstige"
|
||||
}
|
||||
},
|
||||
"step4": {
|
||||
"recap": "Das hast du gewählt. Tippe auf Zurück, wenn etwas nicht passt.",
|
||||
"oneShotSkipped": "(übersprungen — Einmaldosis)"
|
||||
"title": "Über welchen Zeitraum nimmst du es?",
|
||||
"subline": "Heute reicht ein Startdatum. Ein Ende kannst du später setzen."
|
||||
},
|
||||
"step5": {
|
||||
"helper": "Füge eine oder mehrere Uhrzeiten hinzu. Zu jeder Uhrzeit wird eine Erinnerung gesendet.",
|
||||
"oneShotDate": {
|
||||
"label": "Datum der Einmaldosis",
|
||||
"helper": "Wir verwenden dieses Datum für die Erinnerung und für die Einnahmehistorie."
|
||||
}
|
||||
"title": "Wie oft nimmst du es?",
|
||||
"subline": "Wähle die Regelmäßigkeit — die Details kommen im nächsten Schritt."
|
||||
},
|
||||
"step6": {
|
||||
"helper": "Der Plan läuft ab dem Startdatum. Lass das Enddatum offen, wenn du es dauerhaft nimmst."
|
||||
},
|
||||
"step7": {
|
||||
"reminders": {
|
||||
"label": "Erinnerungen an",
|
||||
"description": "Sendet eine Push-Benachrichtigung an deine konfigurierten Kanäle zu jeder geplanten Uhrzeit."
|
||||
"title": "Wie sieht das im Detail aus?",
|
||||
"subline": "Trage Wochentage, Intervalle oder den Tag im Monat ein.",
|
||||
"intervalWeeks": {
|
||||
"label": "Alle",
|
||||
"suffix": "Wochen"
|
||||
},
|
||||
"summary": {
|
||||
"title": "Übersicht",
|
||||
"cadence": {
|
||||
"daily": "Jeden Tag",
|
||||
"weekdays": "An ausgewählten Wochentagen",
|
||||
"weekly": "Einmal pro Woche",
|
||||
"biweekly": "Alle zwei Wochen",
|
||||
"monthly": "Monatlich",
|
||||
"quarterly": "Alle drei Monate",
|
||||
"yearly": "Einmal im Jahr",
|
||||
"rolling": "Alle {n} Tage seit der letzten Einnahme",
|
||||
"oneShot": "Eine Einmaldosis",
|
||||
"everyNWeeks": "Alle {n} Wochen",
|
||||
"everyNMonths": "Alle {n} Monate"
|
||||
},
|
||||
"weekdaysDetail": ", an {days}",
|
||||
"dayOfMonthDetail": ", am {day}.",
|
||||
"everyNMonthsDetail": ", alle {months} Monate am {day}.",
|
||||
"yearlyDetail": ", am {date}.",
|
||||
"times": "um {times}",
|
||||
"startsOn": "Beginn: {date}",
|
||||
"endsOn": "Ende: {date}",
|
||||
"noEndDate": "Kein Enddatum"
|
||||
"dayOfMonth": {
|
||||
"label": "Am",
|
||||
"suffix": "Tag des Monats"
|
||||
},
|
||||
"rollingDays": {
|
||||
"label": "Alle",
|
||||
"suffix": "Tage ab der letzten Einnahme"
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"back": "Zurück",
|
||||
"next": "Weiter",
|
||||
"create": "Medikament anlegen"
|
||||
"step7": {
|
||||
"title": "Wann nimmst du es?",
|
||||
"subline": "Eine oder mehrere Uhrzeiten — die Erinnerungen richten sich danach.",
|
||||
"presetsLabel": "Tagespresets",
|
||||
"presets": {
|
||||
"morning": "Morgens",
|
||||
"noon": "Mittags",
|
||||
"evening": "Abends",
|
||||
"night": "Nachts"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"submitFailed": "Medikament konnte nicht angelegt werden — bitte erneut versuchen.",
|
||||
"fieldRequired": "Pflichtfeld"
|
||||
"step8": {
|
||||
"title": "Fertig — soll HealthLog dich erinnern?",
|
||||
"subline": "Du kannst alles unten nochmal prüfen, bevor du speicherst.",
|
||||
"remindersLabel": "Erinnerungen aktiv",
|
||||
"remindersDescription": "Push, Telegram oder ntfy — je nach deinen Einstellungen.",
|
||||
"multiScheduleNote": "Dieses Medikament hat mehrere Zeitpläne. Den Detail-Editor öffnen wir in einer späteren Version."
|
||||
}
|
||||
},
|
||||
"classRow": {
|
||||
"bloodPressure": "Blutdruck",
|
||||
"diabetes": "Diabetes",
|
||||
"hormone": "Hormone",
|
||||
"glp1": "GLP-1-Injektion",
|
||||
"painRelief": "Schmerz",
|
||||
"allergy": "Allergie",
|
||||
"vitamin": "Vitamine",
|
||||
"supplement": "Nahrungsergänzung",
|
||||
"antibiotic": "Antibiotikum",
|
||||
"other": "Sonstiges"
|
||||
},
|
||||
"cadence": {
|
||||
"daily": {
|
||||
"label": "Täglich",
|
||||
"description": "Jeden Tag, immer zur gleichen Uhrzeit."
|
||||
},
|
||||
"weekdays": {
|
||||
"label": "Bestimmte Wochentage",
|
||||
"description": "Z. B. Montag, Mittwoch, Freitag."
|
||||
},
|
||||
"everyNWeeks": {
|
||||
"label": "Alle X Wochen",
|
||||
"description": "Z. B. alle 2 Wochen Donnerstags (GLP-1, Biologika)."
|
||||
},
|
||||
"monthly": {
|
||||
"label": "Monatlich",
|
||||
"description": "An einem festen Tag im Monat (z. B. immer am 1.)."
|
||||
},
|
||||
"rolling": {
|
||||
"label": "Flexibel ab letzter Einnahme",
|
||||
"description": "Du lässt den nächsten Termin offen, drückst 'genommen' wenn du sie genommen hast — ab dem Zeitpunkt zählt der Counter wieder."
|
||||
},
|
||||
"oneShot": {
|
||||
"label": "Einmalig",
|
||||
"description": "Einzelgabe, zum Beispiel eine Impfung oder ein Antibiotikum."
|
||||
}
|
||||
},
|
||||
"summary": {
|
||||
"title": "Übersicht",
|
||||
"cadence": {
|
||||
"daily": "Jeden Tag",
|
||||
"weekdays": "An ausgewählten Wochentagen",
|
||||
"biweekly": "Alle zwei Wochen",
|
||||
"monthly": "Monatlich",
|
||||
"quarterly": "Alle drei Monate",
|
||||
"yearly": "Einmal im Jahr",
|
||||
"rolling": "Alle {n} Tage seit der letzten Einnahme",
|
||||
"oneShot": "Eine Einmaldosis",
|
||||
"everyNWeeks": "Alle {n} Wochen",
|
||||
"everyNMonths": "Alle {n} Monate"
|
||||
},
|
||||
"weekdaysDetail": ", an {days}",
|
||||
"dayOfMonthDetail": ", am {day}.",
|
||||
"times": "um {times}",
|
||||
"startsOn": "Beginn: {date}",
|
||||
"endsOn": "Ende: {date}",
|
||||
"noEndDate": "Kein Enddatum"
|
||||
},
|
||||
"errors": {
|
||||
"submitFailed": "Medikament konnte nicht gespeichert werden — bitte erneut versuchen."
|
||||
}
|
||||
},
|
||||
"titration": {
|
||||
|
||||
+137
-97
@@ -477,6 +477,8 @@
|
||||
"categoryDigestive": "Gastrointestinal",
|
||||
"categorySkin": "Skincare",
|
||||
"categorySleepAid": "Sleep Aid",
|
||||
"categoryDiabetes": "Diabetes",
|
||||
"categoryAntibiotic": "Antibiotic",
|
||||
"categoryOther": "Other",
|
||||
"daysSun": "Sun",
|
||||
"daysMon": "Mon",
|
||||
@@ -748,119 +750,157 @@
|
||||
"help": "Older schedules still use a window pair. New schedules use times of day above — the window stays for backwards compatibility and is dropped in a future release."
|
||||
}
|
||||
},
|
||||
"create": {
|
||||
"wizard": {
|
||||
"page": {
|
||||
"backToList": "Back to medications"
|
||||
},
|
||||
"header": {
|
||||
"stepOf": "Step {current} of {total}",
|
||||
"title": {
|
||||
"step1": "What's the medication called and what's a single dose?",
|
||||
"step2": "Is this a one-time dose, or do you take it regularly?",
|
||||
"step3": "How often?",
|
||||
"step4": "Anything special about the days?",
|
||||
"step5": "What time(s) of day?",
|
||||
"step6": "When does the schedule start? When does it end (if ever)?",
|
||||
"step7": "Reminders and summary"
|
||||
}
|
||||
},
|
||||
"wizard": {
|
||||
"header": {
|
||||
"stepOf": "Step {current} of {total}",
|
||||
"createTitle": "New medication",
|
||||
"editTitle": "Edit {name}"
|
||||
},
|
||||
"nav": {
|
||||
"back": "Back",
|
||||
"next": "Next",
|
||||
"save": "Save",
|
||||
"saveEdit": "Save changes"
|
||||
},
|
||||
"nl": {
|
||||
"button": "Describe"
|
||||
},
|
||||
"steps": {
|
||||
"step1": {
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "e.g. Mounjaro, Ibuprofen, Vitamin D"
|
||||
},
|
||||
"dose": {
|
||||
"amount": {
|
||||
"label": "Dose",
|
||||
"placeholder": "e.g. 5"
|
||||
},
|
||||
"unit": {
|
||||
"label": "Unit",
|
||||
"mg": "mg",
|
||||
"g": "g",
|
||||
"ml": "ml",
|
||||
"iu": "IU",
|
||||
"tablets": "tablets",
|
||||
"drops": "drops",
|
||||
"puffs": "puffs",
|
||||
"sprays": "sprays",
|
||||
"capsules": "capsules",
|
||||
"pieces": "pieces",
|
||||
"other": "other"
|
||||
}
|
||||
},
|
||||
"naturalLanguage": {
|
||||
"button": "✨ Describe it",
|
||||
"placeholderCopy": "Type the medication in your own words and we will pre-fill the wizard."
|
||||
}
|
||||
"title": "What's the medication called?",
|
||||
"subline": "Exactly as it appears on the box.",
|
||||
"label": "Name",
|
||||
"placeholder": "e.g. Ramipril"
|
||||
},
|
||||
"step2": {
|
||||
"oneShot": {
|
||||
"title": "One-time dose",
|
||||
"description": "A single appointment — flu shot, vaccine, the last dose of a course."
|
||||
},
|
||||
"recurring": {
|
||||
"title": "Recurring",
|
||||
"description": "A medication you take on a schedule, daily or otherwise."
|
||||
}
|
||||
"title": "What kind of medication is it?",
|
||||
"subline": "We use this for the right templates and analytics."
|
||||
},
|
||||
"step3": {
|
||||
"helper": "Pick the pattern that matches how often you take it. Sub-options appear once you choose."
|
||||
"title": "What's the dose?",
|
||||
"subline": "A tablet, a puff, a drop — depending on the form.",
|
||||
"amountLabel": "Amount",
|
||||
"amountPlaceholder": "e.g. 5",
|
||||
"unitLabel": "Unit",
|
||||
"unit": {
|
||||
"mg": "mg",
|
||||
"ml": "ml",
|
||||
"iu": "IU",
|
||||
"mcg": "µg",
|
||||
"g": "g",
|
||||
"tablets": "tablet(s)",
|
||||
"capsules": "capsule(s)",
|
||||
"drops": "drops",
|
||||
"puffs": "puff",
|
||||
"sprays": "spray",
|
||||
"pieces": "pieces",
|
||||
"other": "other"
|
||||
}
|
||||
},
|
||||
"step4": {
|
||||
"recap": "Here's the cadence you picked. Tap Back if anything looks wrong.",
|
||||
"oneShotSkipped": "(skipped — one-time dose)"
|
||||
"title": "Over what period are you taking it?",
|
||||
"subline": "A start date is enough for today. You can add an end date later."
|
||||
},
|
||||
"step5": {
|
||||
"helper": "Add one or more times of day. Reminders fire at each entry.",
|
||||
"oneShotDate": {
|
||||
"label": "Date of the single dose",
|
||||
"helper": "We use this date to schedule the reminder and to log the intake."
|
||||
}
|
||||
"title": "How often do you take it?",
|
||||
"subline": "Pick the cadence — the details follow on the next step."
|
||||
},
|
||||
"step6": {
|
||||
"helper": "The schedule runs from the start date. Leave the end date open if you take it indefinitely."
|
||||
},
|
||||
"step7": {
|
||||
"reminders": {
|
||||
"label": "Reminders on",
|
||||
"description": "Send a push to your configured channels at every scheduled time."
|
||||
"title": "What does that look like in detail?",
|
||||
"subline": "Set weekdays, intervals, or the day of the month.",
|
||||
"intervalWeeks": {
|
||||
"label": "Every",
|
||||
"suffix": "weeks"
|
||||
},
|
||||
"summary": {
|
||||
"title": "Summary",
|
||||
"cadence": {
|
||||
"daily": "Every day",
|
||||
"weekdays": "On selected days of the week",
|
||||
"weekly": "Once a 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"
|
||||
},
|
||||
"weekdaysDetail": ", on {days}",
|
||||
"dayOfMonthDetail": ", on day {day}.",
|
||||
"everyNMonthsDetail": ", every {months} months on day {day}.",
|
||||
"yearlyDetail": ", on {date}.",
|
||||
"times": "at {times}",
|
||||
"startsOn": "Starts: {date}",
|
||||
"endsOn": "Ends: {date}",
|
||||
"noEndDate": "No end date"
|
||||
"dayOfMonth": {
|
||||
"label": "On",
|
||||
"suffix": "day of the month"
|
||||
},
|
||||
"rollingDays": {
|
||||
"label": "Every",
|
||||
"suffix": "days from the last intake"
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"back": "Back",
|
||||
"next": "Next",
|
||||
"create": "Create medication"
|
||||
"step7": {
|
||||
"title": "When do you take it?",
|
||||
"subline": "One or more times of day — reminders follow this list.",
|
||||
"presetsLabel": "Time-of-day presets",
|
||||
"presets": {
|
||||
"morning": "Morning",
|
||||
"noon": "Noon",
|
||||
"evening": "Evening",
|
||||
"night": "Night"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"submitFailed": "Could not create the medication — please retry.",
|
||||
"fieldRequired": "Required"
|
||||
"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."
|
||||
}
|
||||
},
|
||||
"classRow": {
|
||||
"bloodPressure": "Blood pressure",
|
||||
"diabetes": "Diabetes",
|
||||
"hormone": "Hormones",
|
||||
"glp1": "GLP-1 injection",
|
||||
"painRelief": "Pain",
|
||||
"allergy": "Allergy",
|
||||
"vitamin": "Vitamins",
|
||||
"supplement": "Supplement",
|
||||
"antibiotic": "Antibiotic",
|
||||
"other": "Other"
|
||||
},
|
||||
"cadence": {
|
||||
"daily": {
|
||||
"label": "Daily",
|
||||
"description": "Every day at the same time."
|
||||
},
|
||||
"weekdays": {
|
||||
"label": "Specific weekdays",
|
||||
"description": "E.g. Monday, Wednesday, Friday."
|
||||
},
|
||||
"everyNWeeks": {
|
||||
"label": "Every few weeks",
|
||||
"description": "E.g. every 2 weeks on Thursdays (GLP-1, biologics)."
|
||||
},
|
||||
"monthly": {
|
||||
"label": "Monthly",
|
||||
"description": "On a fixed day each month (e.g. always the 1st)."
|
||||
},
|
||||
"rolling": {
|
||||
"label": "Flexible from last dose",
|
||||
"description": "Leave the next dose open. When you tap 'taken', the counter starts again from that moment."
|
||||
},
|
||||
"oneShot": {
|
||||
"label": "Single dose",
|
||||
"description": "One administration, e.g. a vaccine or an antibiotic course."
|
||||
}
|
||||
},
|
||||
"summary": {
|
||||
"title": "Summary",
|
||||
"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"
|
||||
},
|
||||
"weekdaysDetail": ", on {days}",
|
||||
"dayOfMonthDetail": ", on day {day}.",
|
||||
"times": "at {times}",
|
||||
"startsOn": "Starts: {date}",
|
||||
"endsOn": "Ends: {date}",
|
||||
"noEndDate": "No end date"
|
||||
},
|
||||
"errors": {
|
||||
"submitFailed": "Could not save the medication — please retry."
|
||||
}
|
||||
},
|
||||
"titration": {
|
||||
|
||||
+137
-97
@@ -477,6 +477,8 @@
|
||||
"categoryDigestive": "Digestivo",
|
||||
"categorySkin": "Cuidado de la piel",
|
||||
"categorySleepAid": "Para dormir",
|
||||
"categoryDiabetes": "Diabetes",
|
||||
"categoryAntibiotic": "Antibiotic",
|
||||
"categoryOther": "Otros",
|
||||
"daysSun": "Do",
|
||||
"daysMon": "Lu",
|
||||
@@ -748,119 +750,157 @@
|
||||
"help": "Older schedules still use a window pair. New schedules use times of day above — the window stays for backwards compatibility and is dropped in a future release."
|
||||
}
|
||||
},
|
||||
"create": {
|
||||
"wizard": {
|
||||
"page": {
|
||||
"backToList": "Back to medications"
|
||||
},
|
||||
"header": {
|
||||
"stepOf": "Step {current} of {total}",
|
||||
"title": {
|
||||
"step1": "What's the medication called and what's a single dose?",
|
||||
"step2": "Is this a one-time dose, or do you take it regularly?",
|
||||
"step3": "How often?",
|
||||
"step4": "Anything special about the days?",
|
||||
"step5": "What time(s) of day?",
|
||||
"step6": "When does the schedule start? When does it end (if ever)?",
|
||||
"step7": "Reminders and summary"
|
||||
}
|
||||
},
|
||||
"wizard": {
|
||||
"header": {
|
||||
"stepOf": "Step {current} of {total}",
|
||||
"createTitle": "New medication",
|
||||
"editTitle": "Edit {name}"
|
||||
},
|
||||
"nav": {
|
||||
"back": "Back",
|
||||
"next": "Next",
|
||||
"save": "Save",
|
||||
"saveEdit": "Save changes"
|
||||
},
|
||||
"nl": {
|
||||
"button": "Describe"
|
||||
},
|
||||
"steps": {
|
||||
"step1": {
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "e.g. Mounjaro, Ibuprofen, Vitamin D"
|
||||
},
|
||||
"dose": {
|
||||
"amount": {
|
||||
"label": "Dose",
|
||||
"placeholder": "e.g. 5"
|
||||
},
|
||||
"unit": {
|
||||
"label": "Unit",
|
||||
"mg": "mg",
|
||||
"g": "g",
|
||||
"ml": "ml",
|
||||
"iu": "IU",
|
||||
"tablets": "tablets",
|
||||
"drops": "drops",
|
||||
"puffs": "puffs",
|
||||
"sprays": "sprays",
|
||||
"capsules": "capsules",
|
||||
"pieces": "pieces",
|
||||
"other": "other"
|
||||
}
|
||||
},
|
||||
"naturalLanguage": {
|
||||
"button": "✨ Describe it",
|
||||
"placeholderCopy": "Type the medication in your own words and we will pre-fill the wizard."
|
||||
}
|
||||
"title": "What's the medication called?",
|
||||
"subline": "Exactly as it appears on the box.",
|
||||
"label": "Name",
|
||||
"placeholder": "e.g. Ramipril"
|
||||
},
|
||||
"step2": {
|
||||
"oneShot": {
|
||||
"title": "One-time dose",
|
||||
"description": "A single appointment — flu shot, vaccine, the last dose of a course."
|
||||
},
|
||||
"recurring": {
|
||||
"title": "Recurring",
|
||||
"description": "A medication you take on a schedule, daily or otherwise."
|
||||
}
|
||||
"title": "What kind of medication is it?",
|
||||
"subline": "We use this for the right templates and analytics."
|
||||
},
|
||||
"step3": {
|
||||
"helper": "Pick the pattern that matches how often you take it. Sub-options appear once you choose."
|
||||
"title": "What's the dose?",
|
||||
"subline": "A tablet, a puff, a drop — depending on the form.",
|
||||
"amountLabel": "Amount",
|
||||
"amountPlaceholder": "e.g. 5",
|
||||
"unitLabel": "Unit",
|
||||
"unit": {
|
||||
"mg": "mg",
|
||||
"ml": "ml",
|
||||
"iu": "IU",
|
||||
"mcg": "µg",
|
||||
"g": "g",
|
||||
"tablets": "tablet(s)",
|
||||
"capsules": "capsule(s)",
|
||||
"drops": "drops",
|
||||
"puffs": "puff",
|
||||
"sprays": "spray",
|
||||
"pieces": "pieces",
|
||||
"other": "other"
|
||||
}
|
||||
},
|
||||
"step4": {
|
||||
"recap": "Here's the cadence you picked. Tap Back if anything looks wrong.",
|
||||
"oneShotSkipped": "(skipped — one-time dose)"
|
||||
"title": "Over what period are you taking it?",
|
||||
"subline": "A start date is enough for today. You can add an end date later."
|
||||
},
|
||||
"step5": {
|
||||
"helper": "Add one or more times of day. Reminders fire at each entry.",
|
||||
"oneShotDate": {
|
||||
"label": "Date of the single dose",
|
||||
"helper": "We use this date to schedule the reminder and to log the intake."
|
||||
}
|
||||
"title": "How often do you take it?",
|
||||
"subline": "Pick the cadence — the details follow on the next step."
|
||||
},
|
||||
"step6": {
|
||||
"helper": "The schedule runs from the start date. Leave the end date open if you take it indefinitely."
|
||||
},
|
||||
"step7": {
|
||||
"reminders": {
|
||||
"label": "Reminders on",
|
||||
"description": "Send a push to your configured channels at every scheduled time."
|
||||
"title": "What does that look like in detail?",
|
||||
"subline": "Set weekdays, intervals, or the day of the month.",
|
||||
"intervalWeeks": {
|
||||
"label": "Every",
|
||||
"suffix": "weeks"
|
||||
},
|
||||
"summary": {
|
||||
"title": "Summary",
|
||||
"cadence": {
|
||||
"daily": "Every day",
|
||||
"weekdays": "On selected days of the week",
|
||||
"weekly": "Once a 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"
|
||||
},
|
||||
"weekdaysDetail": ", on {days}",
|
||||
"dayOfMonthDetail": ", on day {day}.",
|
||||
"everyNMonthsDetail": ", every {months} months on day {day}.",
|
||||
"yearlyDetail": ", on {date}.",
|
||||
"times": "at {times}",
|
||||
"startsOn": "Starts: {date}",
|
||||
"endsOn": "Ends: {date}",
|
||||
"noEndDate": "No end date"
|
||||
"dayOfMonth": {
|
||||
"label": "On",
|
||||
"suffix": "day of the month"
|
||||
},
|
||||
"rollingDays": {
|
||||
"label": "Every",
|
||||
"suffix": "days from the last intake"
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"back": "Back",
|
||||
"next": "Next",
|
||||
"create": "Create medication"
|
||||
"step7": {
|
||||
"title": "When do you take it?",
|
||||
"subline": "One or more times of day — reminders follow this list.",
|
||||
"presetsLabel": "Time-of-day presets",
|
||||
"presets": {
|
||||
"morning": "Morning",
|
||||
"noon": "Noon",
|
||||
"evening": "Evening",
|
||||
"night": "Night"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"submitFailed": "Could not create the medication — please retry.",
|
||||
"fieldRequired": "Required"
|
||||
"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."
|
||||
}
|
||||
},
|
||||
"classRow": {
|
||||
"bloodPressure": "Blood pressure",
|
||||
"diabetes": "Diabetes",
|
||||
"hormone": "Hormones",
|
||||
"glp1": "GLP-1 injection",
|
||||
"painRelief": "Pain",
|
||||
"allergy": "Allergy",
|
||||
"vitamin": "Vitamins",
|
||||
"supplement": "Supplement",
|
||||
"antibiotic": "Antibiotic",
|
||||
"other": "Other"
|
||||
},
|
||||
"cadence": {
|
||||
"daily": {
|
||||
"label": "Daily",
|
||||
"description": "Every day at the same time."
|
||||
},
|
||||
"weekdays": {
|
||||
"label": "Specific weekdays",
|
||||
"description": "E.g. Monday, Wednesday, Friday."
|
||||
},
|
||||
"everyNWeeks": {
|
||||
"label": "Every few weeks",
|
||||
"description": "E.g. every 2 weeks on Thursdays (GLP-1, biologics)."
|
||||
},
|
||||
"monthly": {
|
||||
"label": "Monthly",
|
||||
"description": "On a fixed day each month (e.g. always the 1st)."
|
||||
},
|
||||
"rolling": {
|
||||
"label": "Flexible from last dose",
|
||||
"description": "Leave the next dose open. When you tap 'taken', the counter starts again from that moment."
|
||||
},
|
||||
"oneShot": {
|
||||
"label": "Single dose",
|
||||
"description": "One administration, e.g. a vaccine or an antibiotic course."
|
||||
}
|
||||
},
|
||||
"summary": {
|
||||
"title": "Summary",
|
||||
"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"
|
||||
},
|
||||
"weekdaysDetail": ", on {days}",
|
||||
"dayOfMonthDetail": ", on day {day}.",
|
||||
"times": "at {times}",
|
||||
"startsOn": "Starts: {date}",
|
||||
"endsOn": "Ends: {date}",
|
||||
"noEndDate": "No end date"
|
||||
},
|
||||
"errors": {
|
||||
"submitFailed": "Could not save the medication — please retry."
|
||||
}
|
||||
},
|
||||
"titration": {
|
||||
|
||||
+137
-97
@@ -477,6 +477,8 @@
|
||||
"categoryDigestive": "Digestif",
|
||||
"categorySkin": "Soin de la peau",
|
||||
"categorySleepAid": "Aide au sommeil",
|
||||
"categoryDiabetes": "Diabetes",
|
||||
"categoryAntibiotic": "Antibiotic",
|
||||
"categoryOther": "Autres",
|
||||
"daysSun": "Dim",
|
||||
"daysMon": "Lun",
|
||||
@@ -748,119 +750,157 @@
|
||||
"help": "Older schedules still use a window pair. New schedules use times of day above — the window stays for backwards compatibility and is dropped in a future release."
|
||||
}
|
||||
},
|
||||
"create": {
|
||||
"wizard": {
|
||||
"page": {
|
||||
"backToList": "Back to medications"
|
||||
},
|
||||
"header": {
|
||||
"stepOf": "Step {current} of {total}",
|
||||
"title": {
|
||||
"step1": "What's the medication called and what's a single dose?",
|
||||
"step2": "Is this a one-time dose, or do you take it regularly?",
|
||||
"step3": "How often?",
|
||||
"step4": "Anything special about the days?",
|
||||
"step5": "What time(s) of day?",
|
||||
"step6": "When does the schedule start? When does it end (if ever)?",
|
||||
"step7": "Reminders and summary"
|
||||
}
|
||||
},
|
||||
"wizard": {
|
||||
"header": {
|
||||
"stepOf": "Step {current} of {total}",
|
||||
"createTitle": "New medication",
|
||||
"editTitle": "Edit {name}"
|
||||
},
|
||||
"nav": {
|
||||
"back": "Back",
|
||||
"next": "Next",
|
||||
"save": "Save",
|
||||
"saveEdit": "Save changes"
|
||||
},
|
||||
"nl": {
|
||||
"button": "Describe"
|
||||
},
|
||||
"steps": {
|
||||
"step1": {
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "e.g. Mounjaro, Ibuprofen, Vitamin D"
|
||||
},
|
||||
"dose": {
|
||||
"amount": {
|
||||
"label": "Dose",
|
||||
"placeholder": "e.g. 5"
|
||||
},
|
||||
"unit": {
|
||||
"label": "Unit",
|
||||
"mg": "mg",
|
||||
"g": "g",
|
||||
"ml": "ml",
|
||||
"iu": "IU",
|
||||
"tablets": "tablets",
|
||||
"drops": "drops",
|
||||
"puffs": "puffs",
|
||||
"sprays": "sprays",
|
||||
"capsules": "capsules",
|
||||
"pieces": "pieces",
|
||||
"other": "other"
|
||||
}
|
||||
},
|
||||
"naturalLanguage": {
|
||||
"button": "✨ Describe it",
|
||||
"placeholderCopy": "Type the medication in your own words and we will pre-fill the wizard."
|
||||
}
|
||||
"title": "What's the medication called?",
|
||||
"subline": "Exactly as it appears on the box.",
|
||||
"label": "Name",
|
||||
"placeholder": "e.g. Ramipril"
|
||||
},
|
||||
"step2": {
|
||||
"oneShot": {
|
||||
"title": "One-time dose",
|
||||
"description": "A single appointment — flu shot, vaccine, the last dose of a course."
|
||||
},
|
||||
"recurring": {
|
||||
"title": "Recurring",
|
||||
"description": "A medication you take on a schedule, daily or otherwise."
|
||||
}
|
||||
"title": "What kind of medication is it?",
|
||||
"subline": "We use this for the right templates and analytics."
|
||||
},
|
||||
"step3": {
|
||||
"helper": "Pick the pattern that matches how often you take it. Sub-options appear once you choose."
|
||||
"title": "What's the dose?",
|
||||
"subline": "A tablet, a puff, a drop — depending on the form.",
|
||||
"amountLabel": "Amount",
|
||||
"amountPlaceholder": "e.g. 5",
|
||||
"unitLabel": "Unit",
|
||||
"unit": {
|
||||
"mg": "mg",
|
||||
"ml": "ml",
|
||||
"iu": "IU",
|
||||
"mcg": "µg",
|
||||
"g": "g",
|
||||
"tablets": "tablet(s)",
|
||||
"capsules": "capsule(s)",
|
||||
"drops": "drops",
|
||||
"puffs": "puff",
|
||||
"sprays": "spray",
|
||||
"pieces": "pieces",
|
||||
"other": "other"
|
||||
}
|
||||
},
|
||||
"step4": {
|
||||
"recap": "Here's the cadence you picked. Tap Back if anything looks wrong.",
|
||||
"oneShotSkipped": "(skipped — one-time dose)"
|
||||
"title": "Over what period are you taking it?",
|
||||
"subline": "A start date is enough for today. You can add an end date later."
|
||||
},
|
||||
"step5": {
|
||||
"helper": "Add one or more times of day. Reminders fire at each entry.",
|
||||
"oneShotDate": {
|
||||
"label": "Date of the single dose",
|
||||
"helper": "We use this date to schedule the reminder and to log the intake."
|
||||
}
|
||||
"title": "How often do you take it?",
|
||||
"subline": "Pick the cadence — the details follow on the next step."
|
||||
},
|
||||
"step6": {
|
||||
"helper": "The schedule runs from the start date. Leave the end date open if you take it indefinitely."
|
||||
},
|
||||
"step7": {
|
||||
"reminders": {
|
||||
"label": "Reminders on",
|
||||
"description": "Send a push to your configured channels at every scheduled time."
|
||||
"title": "What does that look like in detail?",
|
||||
"subline": "Set weekdays, intervals, or the day of the month.",
|
||||
"intervalWeeks": {
|
||||
"label": "Every",
|
||||
"suffix": "weeks"
|
||||
},
|
||||
"summary": {
|
||||
"title": "Summary",
|
||||
"cadence": {
|
||||
"daily": "Every day",
|
||||
"weekdays": "On selected days of the week",
|
||||
"weekly": "Once a 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"
|
||||
},
|
||||
"weekdaysDetail": ", on {days}",
|
||||
"dayOfMonthDetail": ", on day {day}.",
|
||||
"everyNMonthsDetail": ", every {months} months on day {day}.",
|
||||
"yearlyDetail": ", on {date}.",
|
||||
"times": "at {times}",
|
||||
"startsOn": "Starts: {date}",
|
||||
"endsOn": "Ends: {date}",
|
||||
"noEndDate": "No end date"
|
||||
"dayOfMonth": {
|
||||
"label": "On",
|
||||
"suffix": "day of the month"
|
||||
},
|
||||
"rollingDays": {
|
||||
"label": "Every",
|
||||
"suffix": "days from the last intake"
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"back": "Back",
|
||||
"next": "Next",
|
||||
"create": "Create medication"
|
||||
"step7": {
|
||||
"title": "When do you take it?",
|
||||
"subline": "One or more times of day — reminders follow this list.",
|
||||
"presetsLabel": "Time-of-day presets",
|
||||
"presets": {
|
||||
"morning": "Morning",
|
||||
"noon": "Noon",
|
||||
"evening": "Evening",
|
||||
"night": "Night"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"submitFailed": "Could not create the medication — please retry.",
|
||||
"fieldRequired": "Required"
|
||||
"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."
|
||||
}
|
||||
},
|
||||
"classRow": {
|
||||
"bloodPressure": "Blood pressure",
|
||||
"diabetes": "Diabetes",
|
||||
"hormone": "Hormones",
|
||||
"glp1": "GLP-1 injection",
|
||||
"painRelief": "Pain",
|
||||
"allergy": "Allergy",
|
||||
"vitamin": "Vitamins",
|
||||
"supplement": "Supplement",
|
||||
"antibiotic": "Antibiotic",
|
||||
"other": "Other"
|
||||
},
|
||||
"cadence": {
|
||||
"daily": {
|
||||
"label": "Daily",
|
||||
"description": "Every day at the same time."
|
||||
},
|
||||
"weekdays": {
|
||||
"label": "Specific weekdays",
|
||||
"description": "E.g. Monday, Wednesday, Friday."
|
||||
},
|
||||
"everyNWeeks": {
|
||||
"label": "Every few weeks",
|
||||
"description": "E.g. every 2 weeks on Thursdays (GLP-1, biologics)."
|
||||
},
|
||||
"monthly": {
|
||||
"label": "Monthly",
|
||||
"description": "On a fixed day each month (e.g. always the 1st)."
|
||||
},
|
||||
"rolling": {
|
||||
"label": "Flexible from last dose",
|
||||
"description": "Leave the next dose open. When you tap 'taken', the counter starts again from that moment."
|
||||
},
|
||||
"oneShot": {
|
||||
"label": "Single dose",
|
||||
"description": "One administration, e.g. a vaccine or an antibiotic course."
|
||||
}
|
||||
},
|
||||
"summary": {
|
||||
"title": "Summary",
|
||||
"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"
|
||||
},
|
||||
"weekdaysDetail": ", on {days}",
|
||||
"dayOfMonthDetail": ", on day {day}.",
|
||||
"times": "at {times}",
|
||||
"startsOn": "Starts: {date}",
|
||||
"endsOn": "Ends: {date}",
|
||||
"noEndDate": "No end date"
|
||||
},
|
||||
"errors": {
|
||||
"submitFailed": "Could not save the medication — please retry."
|
||||
}
|
||||
},
|
||||
"titration": {
|
||||
|
||||
+137
-97
@@ -477,6 +477,8 @@
|
||||
"categoryDigestive": "Digestivo",
|
||||
"categorySkin": "Cura della pelle",
|
||||
"categorySleepAid": "Per dormire",
|
||||
"categoryDiabetes": "Diabetes",
|
||||
"categoryAntibiotic": "Antibiotic",
|
||||
"categoryOther": "Altro",
|
||||
"daysSun": "Dom",
|
||||
"daysMon": "Lun",
|
||||
@@ -748,119 +750,157 @@
|
||||
"help": "Older schedules still use a window pair. New schedules use times of day above — the window stays for backwards compatibility and is dropped in a future release."
|
||||
}
|
||||
},
|
||||
"create": {
|
||||
"wizard": {
|
||||
"page": {
|
||||
"backToList": "Back to medications"
|
||||
},
|
||||
"header": {
|
||||
"stepOf": "Step {current} of {total}",
|
||||
"title": {
|
||||
"step1": "What's the medication called and what's a single dose?",
|
||||
"step2": "Is this a one-time dose, or do you take it regularly?",
|
||||
"step3": "How often?",
|
||||
"step4": "Anything special about the days?",
|
||||
"step5": "What time(s) of day?",
|
||||
"step6": "When does the schedule start? When does it end (if ever)?",
|
||||
"step7": "Reminders and summary"
|
||||
}
|
||||
},
|
||||
"wizard": {
|
||||
"header": {
|
||||
"stepOf": "Step {current} of {total}",
|
||||
"createTitle": "New medication",
|
||||
"editTitle": "Edit {name}"
|
||||
},
|
||||
"nav": {
|
||||
"back": "Back",
|
||||
"next": "Next",
|
||||
"save": "Save",
|
||||
"saveEdit": "Save changes"
|
||||
},
|
||||
"nl": {
|
||||
"button": "Describe"
|
||||
},
|
||||
"steps": {
|
||||
"step1": {
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "e.g. Mounjaro, Ibuprofen, Vitamin D"
|
||||
},
|
||||
"dose": {
|
||||
"amount": {
|
||||
"label": "Dose",
|
||||
"placeholder": "e.g. 5"
|
||||
},
|
||||
"unit": {
|
||||
"label": "Unit",
|
||||
"mg": "mg",
|
||||
"g": "g",
|
||||
"ml": "ml",
|
||||
"iu": "IU",
|
||||
"tablets": "tablets",
|
||||
"drops": "drops",
|
||||
"puffs": "puffs",
|
||||
"sprays": "sprays",
|
||||
"capsules": "capsules",
|
||||
"pieces": "pieces",
|
||||
"other": "other"
|
||||
}
|
||||
},
|
||||
"naturalLanguage": {
|
||||
"button": "✨ Describe it",
|
||||
"placeholderCopy": "Type the medication in your own words and we will pre-fill the wizard."
|
||||
}
|
||||
"title": "What's the medication called?",
|
||||
"subline": "Exactly as it appears on the box.",
|
||||
"label": "Name",
|
||||
"placeholder": "e.g. Ramipril"
|
||||
},
|
||||
"step2": {
|
||||
"oneShot": {
|
||||
"title": "One-time dose",
|
||||
"description": "A single appointment — flu shot, vaccine, the last dose of a course."
|
||||
},
|
||||
"recurring": {
|
||||
"title": "Recurring",
|
||||
"description": "A medication you take on a schedule, daily or otherwise."
|
||||
}
|
||||
"title": "What kind of medication is it?",
|
||||
"subline": "We use this for the right templates and analytics."
|
||||
},
|
||||
"step3": {
|
||||
"helper": "Pick the pattern that matches how often you take it. Sub-options appear once you choose."
|
||||
"title": "What's the dose?",
|
||||
"subline": "A tablet, a puff, a drop — depending on the form.",
|
||||
"amountLabel": "Amount",
|
||||
"amountPlaceholder": "e.g. 5",
|
||||
"unitLabel": "Unit",
|
||||
"unit": {
|
||||
"mg": "mg",
|
||||
"ml": "ml",
|
||||
"iu": "IU",
|
||||
"mcg": "µg",
|
||||
"g": "g",
|
||||
"tablets": "tablet(s)",
|
||||
"capsules": "capsule(s)",
|
||||
"drops": "drops",
|
||||
"puffs": "puff",
|
||||
"sprays": "spray",
|
||||
"pieces": "pieces",
|
||||
"other": "other"
|
||||
}
|
||||
},
|
||||
"step4": {
|
||||
"recap": "Here's the cadence you picked. Tap Back if anything looks wrong.",
|
||||
"oneShotSkipped": "(skipped — one-time dose)"
|
||||
"title": "Over what period are you taking it?",
|
||||
"subline": "A start date is enough for today. You can add an end date later."
|
||||
},
|
||||
"step5": {
|
||||
"helper": "Add one or more times of day. Reminders fire at each entry.",
|
||||
"oneShotDate": {
|
||||
"label": "Date of the single dose",
|
||||
"helper": "We use this date to schedule the reminder and to log the intake."
|
||||
}
|
||||
"title": "How often do you take it?",
|
||||
"subline": "Pick the cadence — the details follow on the next step."
|
||||
},
|
||||
"step6": {
|
||||
"helper": "The schedule runs from the start date. Leave the end date open if you take it indefinitely."
|
||||
},
|
||||
"step7": {
|
||||
"reminders": {
|
||||
"label": "Reminders on",
|
||||
"description": "Send a push to your configured channels at every scheduled time."
|
||||
"title": "What does that look like in detail?",
|
||||
"subline": "Set weekdays, intervals, or the day of the month.",
|
||||
"intervalWeeks": {
|
||||
"label": "Every",
|
||||
"suffix": "weeks"
|
||||
},
|
||||
"summary": {
|
||||
"title": "Summary",
|
||||
"cadence": {
|
||||
"daily": "Every day",
|
||||
"weekdays": "On selected days of the week",
|
||||
"weekly": "Once a 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"
|
||||
},
|
||||
"weekdaysDetail": ", on {days}",
|
||||
"dayOfMonthDetail": ", on day {day}.",
|
||||
"everyNMonthsDetail": ", every {months} months on day {day}.",
|
||||
"yearlyDetail": ", on {date}.",
|
||||
"times": "at {times}",
|
||||
"startsOn": "Starts: {date}",
|
||||
"endsOn": "Ends: {date}",
|
||||
"noEndDate": "No end date"
|
||||
"dayOfMonth": {
|
||||
"label": "On",
|
||||
"suffix": "day of the month"
|
||||
},
|
||||
"rollingDays": {
|
||||
"label": "Every",
|
||||
"suffix": "days from the last intake"
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"back": "Back",
|
||||
"next": "Next",
|
||||
"create": "Create medication"
|
||||
"step7": {
|
||||
"title": "When do you take it?",
|
||||
"subline": "One or more times of day — reminders follow this list.",
|
||||
"presetsLabel": "Time-of-day presets",
|
||||
"presets": {
|
||||
"morning": "Morning",
|
||||
"noon": "Noon",
|
||||
"evening": "Evening",
|
||||
"night": "Night"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"submitFailed": "Could not create the medication — please retry.",
|
||||
"fieldRequired": "Required"
|
||||
"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."
|
||||
}
|
||||
},
|
||||
"classRow": {
|
||||
"bloodPressure": "Blood pressure",
|
||||
"diabetes": "Diabetes",
|
||||
"hormone": "Hormones",
|
||||
"glp1": "GLP-1 injection",
|
||||
"painRelief": "Pain",
|
||||
"allergy": "Allergy",
|
||||
"vitamin": "Vitamins",
|
||||
"supplement": "Supplement",
|
||||
"antibiotic": "Antibiotic",
|
||||
"other": "Other"
|
||||
},
|
||||
"cadence": {
|
||||
"daily": {
|
||||
"label": "Daily",
|
||||
"description": "Every day at the same time."
|
||||
},
|
||||
"weekdays": {
|
||||
"label": "Specific weekdays",
|
||||
"description": "E.g. Monday, Wednesday, Friday."
|
||||
},
|
||||
"everyNWeeks": {
|
||||
"label": "Every few weeks",
|
||||
"description": "E.g. every 2 weeks on Thursdays (GLP-1, biologics)."
|
||||
},
|
||||
"monthly": {
|
||||
"label": "Monthly",
|
||||
"description": "On a fixed day each month (e.g. always the 1st)."
|
||||
},
|
||||
"rolling": {
|
||||
"label": "Flexible from last dose",
|
||||
"description": "Leave the next dose open. When you tap 'taken', the counter starts again from that moment."
|
||||
},
|
||||
"oneShot": {
|
||||
"label": "Single dose",
|
||||
"description": "One administration, e.g. a vaccine or an antibiotic course."
|
||||
}
|
||||
},
|
||||
"summary": {
|
||||
"title": "Summary",
|
||||
"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"
|
||||
},
|
||||
"weekdaysDetail": ", on {days}",
|
||||
"dayOfMonthDetail": ", on day {day}.",
|
||||
"times": "at {times}",
|
||||
"startsOn": "Starts: {date}",
|
||||
"endsOn": "Ends: {date}",
|
||||
"noEndDate": "No end date"
|
||||
},
|
||||
"errors": {
|
||||
"submitFailed": "Could not save the medication — please retry."
|
||||
}
|
||||
},
|
||||
"titration": {
|
||||
|
||||
+137
-97
@@ -477,6 +477,8 @@
|
||||
"categoryDigestive": "Trawienne",
|
||||
"categorySkin": "Pielęgnacja skóry",
|
||||
"categorySleepAid": "Na sen",
|
||||
"categoryDiabetes": "Diabetes",
|
||||
"categoryAntibiotic": "Antibiotic",
|
||||
"categoryOther": "Inne",
|
||||
"daysSun": "Nd",
|
||||
"daysMon": "Pn",
|
||||
@@ -748,119 +750,157 @@
|
||||
"help": "Older schedules still use a window pair. New schedules use times of day above — the window stays for backwards compatibility and is dropped in a future release."
|
||||
}
|
||||
},
|
||||
"create": {
|
||||
"wizard": {
|
||||
"page": {
|
||||
"backToList": "Back to medications"
|
||||
},
|
||||
"header": {
|
||||
"stepOf": "Step {current} of {total}",
|
||||
"title": {
|
||||
"step1": "What's the medication called and what's a single dose?",
|
||||
"step2": "Is this a one-time dose, or do you take it regularly?",
|
||||
"step3": "How often?",
|
||||
"step4": "Anything special about the days?",
|
||||
"step5": "What time(s) of day?",
|
||||
"step6": "When does the schedule start? When does it end (if ever)?",
|
||||
"step7": "Reminders and summary"
|
||||
}
|
||||
},
|
||||
"wizard": {
|
||||
"header": {
|
||||
"stepOf": "Step {current} of {total}",
|
||||
"createTitle": "New medication",
|
||||
"editTitle": "Edit {name}"
|
||||
},
|
||||
"nav": {
|
||||
"back": "Back",
|
||||
"next": "Next",
|
||||
"save": "Save",
|
||||
"saveEdit": "Save changes"
|
||||
},
|
||||
"nl": {
|
||||
"button": "Describe"
|
||||
},
|
||||
"steps": {
|
||||
"step1": {
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "e.g. Mounjaro, Ibuprofen, Vitamin D"
|
||||
},
|
||||
"dose": {
|
||||
"amount": {
|
||||
"label": "Dose",
|
||||
"placeholder": "e.g. 5"
|
||||
},
|
||||
"unit": {
|
||||
"label": "Unit",
|
||||
"mg": "mg",
|
||||
"g": "g",
|
||||
"ml": "ml",
|
||||
"iu": "IU",
|
||||
"tablets": "tablets",
|
||||
"drops": "drops",
|
||||
"puffs": "puffs",
|
||||
"sprays": "sprays",
|
||||
"capsules": "capsules",
|
||||
"pieces": "pieces",
|
||||
"other": "other"
|
||||
}
|
||||
},
|
||||
"naturalLanguage": {
|
||||
"button": "✨ Describe it",
|
||||
"placeholderCopy": "Type the medication in your own words and we will pre-fill the wizard."
|
||||
}
|
||||
"title": "What's the medication called?",
|
||||
"subline": "Exactly as it appears on the box.",
|
||||
"label": "Name",
|
||||
"placeholder": "e.g. Ramipril"
|
||||
},
|
||||
"step2": {
|
||||
"oneShot": {
|
||||
"title": "One-time dose",
|
||||
"description": "A single appointment — flu shot, vaccine, the last dose of a course."
|
||||
},
|
||||
"recurring": {
|
||||
"title": "Recurring",
|
||||
"description": "A medication you take on a schedule, daily or otherwise."
|
||||
}
|
||||
"title": "What kind of medication is it?",
|
||||
"subline": "We use this for the right templates and analytics."
|
||||
},
|
||||
"step3": {
|
||||
"helper": "Pick the pattern that matches how often you take it. Sub-options appear once you choose."
|
||||
"title": "What's the dose?",
|
||||
"subline": "A tablet, a puff, a drop — depending on the form.",
|
||||
"amountLabel": "Amount",
|
||||
"amountPlaceholder": "e.g. 5",
|
||||
"unitLabel": "Unit",
|
||||
"unit": {
|
||||
"mg": "mg",
|
||||
"ml": "ml",
|
||||
"iu": "IU",
|
||||
"mcg": "µg",
|
||||
"g": "g",
|
||||
"tablets": "tablet(s)",
|
||||
"capsules": "capsule(s)",
|
||||
"drops": "drops",
|
||||
"puffs": "puff",
|
||||
"sprays": "spray",
|
||||
"pieces": "pieces",
|
||||
"other": "other"
|
||||
}
|
||||
},
|
||||
"step4": {
|
||||
"recap": "Here's the cadence you picked. Tap Back if anything looks wrong.",
|
||||
"oneShotSkipped": "(skipped — one-time dose)"
|
||||
"title": "Over what period are you taking it?",
|
||||
"subline": "A start date is enough for today. You can add an end date later."
|
||||
},
|
||||
"step5": {
|
||||
"helper": "Add one or more times of day. Reminders fire at each entry.",
|
||||
"oneShotDate": {
|
||||
"label": "Date of the single dose",
|
||||
"helper": "We use this date to schedule the reminder and to log the intake."
|
||||
}
|
||||
"title": "How often do you take it?",
|
||||
"subline": "Pick the cadence — the details follow on the next step."
|
||||
},
|
||||
"step6": {
|
||||
"helper": "The schedule runs from the start date. Leave the end date open if you take it indefinitely."
|
||||
},
|
||||
"step7": {
|
||||
"reminders": {
|
||||
"label": "Reminders on",
|
||||
"description": "Send a push to your configured channels at every scheduled time."
|
||||
"title": "What does that look like in detail?",
|
||||
"subline": "Set weekdays, intervals, or the day of the month.",
|
||||
"intervalWeeks": {
|
||||
"label": "Every",
|
||||
"suffix": "weeks"
|
||||
},
|
||||
"summary": {
|
||||
"title": "Summary",
|
||||
"cadence": {
|
||||
"daily": "Every day",
|
||||
"weekdays": "On selected days of the week",
|
||||
"weekly": "Once a 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"
|
||||
},
|
||||
"weekdaysDetail": ", on {days}",
|
||||
"dayOfMonthDetail": ", on day {day}.",
|
||||
"everyNMonthsDetail": ", every {months} months on day {day}.",
|
||||
"yearlyDetail": ", on {date}.",
|
||||
"times": "at {times}",
|
||||
"startsOn": "Starts: {date}",
|
||||
"endsOn": "Ends: {date}",
|
||||
"noEndDate": "No end date"
|
||||
"dayOfMonth": {
|
||||
"label": "On",
|
||||
"suffix": "day of the month"
|
||||
},
|
||||
"rollingDays": {
|
||||
"label": "Every",
|
||||
"suffix": "days from the last intake"
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"back": "Back",
|
||||
"next": "Next",
|
||||
"create": "Create medication"
|
||||
"step7": {
|
||||
"title": "When do you take it?",
|
||||
"subline": "One or more times of day — reminders follow this list.",
|
||||
"presetsLabel": "Time-of-day presets",
|
||||
"presets": {
|
||||
"morning": "Morning",
|
||||
"noon": "Noon",
|
||||
"evening": "Evening",
|
||||
"night": "Night"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"submitFailed": "Could not create the medication — please retry.",
|
||||
"fieldRequired": "Required"
|
||||
"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."
|
||||
}
|
||||
},
|
||||
"classRow": {
|
||||
"bloodPressure": "Blood pressure",
|
||||
"diabetes": "Diabetes",
|
||||
"hormone": "Hormones",
|
||||
"glp1": "GLP-1 injection",
|
||||
"painRelief": "Pain",
|
||||
"allergy": "Allergy",
|
||||
"vitamin": "Vitamins",
|
||||
"supplement": "Supplement",
|
||||
"antibiotic": "Antibiotic",
|
||||
"other": "Other"
|
||||
},
|
||||
"cadence": {
|
||||
"daily": {
|
||||
"label": "Daily",
|
||||
"description": "Every day at the same time."
|
||||
},
|
||||
"weekdays": {
|
||||
"label": "Specific weekdays",
|
||||
"description": "E.g. Monday, Wednesday, Friday."
|
||||
},
|
||||
"everyNWeeks": {
|
||||
"label": "Every few weeks",
|
||||
"description": "E.g. every 2 weeks on Thursdays (GLP-1, biologics)."
|
||||
},
|
||||
"monthly": {
|
||||
"label": "Monthly",
|
||||
"description": "On a fixed day each month (e.g. always the 1st)."
|
||||
},
|
||||
"rolling": {
|
||||
"label": "Flexible from last dose",
|
||||
"description": "Leave the next dose open. When you tap 'taken', the counter starts again from that moment."
|
||||
},
|
||||
"oneShot": {
|
||||
"label": "Single dose",
|
||||
"description": "One administration, e.g. a vaccine or an antibiotic course."
|
||||
}
|
||||
},
|
||||
"summary": {
|
||||
"title": "Summary",
|
||||
"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"
|
||||
},
|
||||
"weekdaysDetail": ", on {days}",
|
||||
"dayOfMonthDetail": ", on day {day}.",
|
||||
"times": "at {times}",
|
||||
"startsOn": "Starts: {date}",
|
||||
"endsOn": "Ends: {date}",
|
||||
"noEndDate": "No end date"
|
||||
},
|
||||
"errors": {
|
||||
"submitFailed": "Could not save the medication — please retry."
|
||||
}
|
||||
},
|
||||
"titration": {
|
||||
|
||||
@@ -252,12 +252,12 @@ describe("i18n locale file integrity", () => {
|
||||
"targets.status.normal",
|
||||
"targets.status.optimal",
|
||||
"targets.status.fitness",
|
||||
// v1.5 medication scheduling — SI-unit abbreviations the wizard
|
||||
// v1.5.4 modal wizard — SI-unit abbreviations the wizard
|
||||
// surfaces in its dose-unit dropdown. The labels are identical
|
||||
// across every locale (mg / g / ml are universal SI tokens).
|
||||
"medications.create.wizard.step1.dose.unit.mg",
|
||||
"medications.create.wizard.step1.dose.unit.g",
|
||||
"medications.create.wizard.step1.dose.unit.ml",
|
||||
// across every locale (mg / ml / g are universal SI tokens).
|
||||
"medications.wizard.steps.step3.unit.mg",
|
||||
"medications.wizard.steps.step3.unit.ml",
|
||||
"medications.wizard.steps.step3.unit.g",
|
||||
]);
|
||||
|
||||
it.each(ALL_LOCALES)("$locale locale has no empty values", ({ path }) => {
|
||||
|
||||
Reference in new issue
Block a user