From 157002f75db7b1a6adbf2661ea303be0c06c7c38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Bombeck?= Date: Sat, 3 Oct 2026 22:39:28 +0200 Subject: [PATCH] Translate the medication courses into every locale --- messages/de.json | 41 +++++++++++++++++++++++++++++++++++++++-- messages/en.json | 41 +++++++++++++++++++++++++++++++++++++++-- messages/es.json | 41 +++++++++++++++++++++++++++++++++++++++-- messages/fr.json | 41 +++++++++++++++++++++++++++++++++++++++-- messages/it.json | 41 +++++++++++++++++++++++++++++++++++++++-- messages/ko.json | 41 +++++++++++++++++++++++++++++++++++++++-- messages/pl.json | 41 +++++++++++++++++++++++++++++++++++++++-- 7 files changed, 273 insertions(+), 14 deletions(-) diff --git a/messages/de.json b/messages/de.json index 9040d6e0c..7c1686650 100644 --- a/messages/de.json +++ b/messages/de.json @@ -351,7 +351,9 @@ }, "contacts": "Notfallkontakte", "notes": "Weitere Hinweise" - } + }, + "courseRange": "Einnahmephase {start} bis {end}", + "courseSince": "Einnahmephase seit {start}" }, "errorBoundary": { "title": "Da ist etwas schiefgelaufen", @@ -2303,6 +2305,38 @@ "label": "Kategorie", "all": "Alle Kategorien" } + }, + "course": { + "endedOn": "Letzte Einnahmephase endete am {date}", + "nth": "Phase {n}", + "startNew": "Neue Einnahmephase starten", + "editTitle": "Einnahmephase bearbeiten", + "startsOn": "Erster Tag", + "endsOn": "Letzter Tag (optional)", + "note": "Notiz (optional)", + "notePlaceholder": "z. B. die Grippe im März", + "title": "Einnahmephasen", + "helper": "Wann du es genommen hast. Einnahmen werden nur innerhalb einer Phase erwartet.", + "none": "Durchgehend genommen, keine einzelnen Phasen.", + "range": "{start} bis {end}", + "since": "Seit {start}", + "meta": "Phase {n}, {status}, {taken} Einnahmen", + "status": { + "current": "läuft", + "upcoming": "geplant", + "ended": "beendet" + }, + "delete": "Phase löschen", + "deleteTitle": "Diese Einnahmephase löschen?", + "deleteBody": "Die Daten verschwinden, deine erfassten Einnahmen bleiben im Verlauf.", + "deleteLastConfirm": "Das ist die einzige Phase. Ohne sie gilt das Medikament als durchgehend genommen, seit du es angelegt hast. Die erfassten Einnahmen bleiben.", + "error": { + "overlap": "Diese Phase überschneidet sich mit einer anderen.", + "currentOpen": "Beende die laufende Phase, bevor du eine danach anlegst.", + "oneShot": "Ein einmaliges Medikament hat nur eine Phase.", + "invalidRange": "Der letzte Tag kann nicht vor dem ersten liegen.", + "generic": "Das wurde nicht gespeichert. Bitte versuch es noch einmal." + } } }, "charts": { @@ -8362,7 +8396,10 @@ "doses": { "title": "Erfasste Dosen", "showing": "Angezeigt werden die {shown} jüngsten von {total} erfassten Dosen." - } + }, + "course": "Phase {n}", + "courseRange": "{start} bis {end}", + "courseSince": "seit {start}" }, "cycle": { "symptomCategory": { diff --git a/messages/en.json b/messages/en.json index 387453d17..fafb1473d 100644 --- a/messages/en.json +++ b/messages/en.json @@ -351,7 +351,9 @@ "immunizationsColDate": "Date", "immunizationsColVaccine": "Vaccine", "immunizationsColDose": "Dose", - "immunizationsColLot": "Lot" + "immunizationsColLot": "Lot", + "courseRange": "Course {start} to {end}", + "courseSince": "Course since {start}" }, "errorBoundary": { "title": "Something went wrong", @@ -2303,6 +2305,38 @@ "label": "Category", "all": "All categories" } + }, + "course": { + "endedOn": "Last course ended {date}", + "nth": "Course {n}", + "startNew": "Start a new course", + "editTitle": "Edit course", + "startsOn": "First day", + "endsOn": "Last day (optional)", + "note": "Note (optional)", + "notePlaceholder": "e.g. the flu in March", + "title": "Courses", + "helper": "When you took it. Doses are expected only inside a course.", + "none": "Taken continuously, no separate courses.", + "range": "{start} to {end}", + "since": "Since {start}", + "meta": "Course {n}, {status}, {taken} doses taken", + "status": { + "current": "running", + "upcoming": "upcoming", + "ended": "ended" + }, + "delete": "Delete course", + "deleteTitle": "Delete this course?", + "deleteBody": "The dates go; the doses you logged stay in the history.", + "deleteLastConfirm": "This is the only course. Without it the medication counts as taken continuously since you added it. The logged doses stay.", + "error": { + "overlap": "This course shares days with another one.", + "currentOpen": "End the running course before adding one after it.", + "oneShot": "A one-time medication has a single course.", + "invalidRange": "The last day cannot be before the first.", + "generic": "That did not save. Please try again." + } } }, "charts": { @@ -8362,7 +8396,10 @@ "doses": { "title": "Logged doses", "showing": "Showing the {shown} most recent of {total} logged doses." - } + }, + "course": "Course {n}", + "courseRange": "{start} to {end}", + "courseSince": "since {start}" }, "cycle": { "symptomCategory": { diff --git a/messages/es.json b/messages/es.json index cbbbcfcf1..aafe4581b 100644 --- a/messages/es.json +++ b/messages/es.json @@ -351,7 +351,9 @@ }, "contacts": "Contactos de emergencia", "notes": "Notas adicionales" - } + }, + "courseRange": "Tratamiento del {start} al {end}", + "courseSince": "Tratamiento desde el {start}" }, "errorBoundary": { "title": "Algo ha salido mal", @@ -2303,6 +2305,38 @@ "label": "Categoría", "all": "Todas las categorías" } + }, + "course": { + "endedOn": "El último tratamiento terminó el {date}", + "nth": "Tratamiento {n}", + "startNew": "Empezar un nuevo tratamiento", + "editTitle": "Editar tratamiento", + "startsOn": "Primer día", + "endsOn": "Último día (opcional)", + "note": "Nota (opcional)", + "notePlaceholder": "p. ej. la gripe de marzo", + "title": "Tratamientos", + "helper": "Cuándo lo tomaste. Solo se esperan tomas dentro de un tratamiento.", + "none": "Tomado de forma continua, sin tratamientos separados.", + "range": "Del {start} al {end}", + "since": "Desde el {start}", + "meta": "Tratamiento {n}, {status}, {taken} tomas", + "status": { + "current": "en curso", + "upcoming": "previsto", + "ended": "terminado" + }, + "delete": "Eliminar tratamiento", + "deleteTitle": "¿Eliminar este tratamiento?", + "deleteBody": "Se eliminan las fechas; las tomas registradas siguen en el historial.", + "deleteLastConfirm": "Es el único tratamiento. Sin él, el medicamento cuenta como tomado de forma continua desde que lo añadiste. Las tomas registradas se conservan.", + "error": { + "overlap": "Este tratamiento coincide en días con otro.", + "currentOpen": "Termina el tratamiento en curso antes de añadir uno posterior.", + "oneShot": "Un medicamento de una sola vez tiene un único tratamiento.", + "invalidRange": "El último día no puede ser anterior al primero.", + "generic": "No se ha guardado. Inténtalo de nuevo." + } } }, "charts": { @@ -8362,7 +8396,10 @@ "doses": { "title": "Dosis registradas", "showing": "Se muestran las {shown} dosis más recientes de {total} registradas." - } + }, + "course": "Tratamiento {n}", + "courseRange": "del {start} al {end}", + "courseSince": "desde el {start}" }, "cycle": { "symptomCategory": { diff --git a/messages/fr.json b/messages/fr.json index ecf204b16..f50881afb 100644 --- a/messages/fr.json +++ b/messages/fr.json @@ -351,7 +351,9 @@ }, "contacts": "Contacts d'urgence", "notes": "Notes complémentaires" - } + }, + "courseRange": "Traitement du {start} au {end}", + "courseSince": "Traitement depuis le {start}" }, "errorBoundary": { "title": "Une erreur est survenue", @@ -2303,6 +2305,38 @@ "label": "Catégorie", "all": "Toutes les catégories" } + }, + "course": { + "endedOn": "Dernier traitement terminé le {date}", + "nth": "Traitement {n}", + "startNew": "Commencer un nouveau traitement", + "editTitle": "Modifier le traitement", + "startsOn": "Premier jour", + "endsOn": "Dernier jour (facultatif)", + "note": "Note (facultatif)", + "notePlaceholder": "p. ex. la grippe de mars", + "title": "Traitements", + "helper": "Quand tu l’as pris. Les prises ne sont attendues que pendant un traitement.", + "none": "Pris en continu, sans traitements séparés.", + "range": "Du {start} au {end}", + "since": "Depuis le {start}", + "meta": "Traitement {n}, {status}, {taken} prises", + "status": { + "current": "en cours", + "upcoming": "à venir", + "ended": "terminé" + }, + "delete": "Supprimer le traitement", + "deleteTitle": "Supprimer ce traitement ?", + "deleteBody": "Les dates disparaissent ; les prises enregistrées restent dans l’historique.", + "deleteLastConfirm": "C’est le seul traitement. Sans lui, le médicament compte comme pris en continu depuis son ajout. Les prises enregistrées restent.", + "error": { + "overlap": "Ce traitement chevauche un autre.", + "currentOpen": "Termine le traitement en cours avant d’en ajouter un après.", + "oneShot": "Un médicament ponctuel n’a qu’un seul traitement.", + "invalidRange": "Le dernier jour ne peut pas précéder le premier.", + "generic": "L’enregistrement a échoué. Réessaie." + } } }, "charts": { @@ -8362,7 +8396,10 @@ "doses": { "title": "Doses enregistrées", "showing": "Affichage des {shown} doses les plus récentes sur {total} enregistrées." - } + }, + "course": "Traitement {n}", + "courseRange": "du {start} au {end}", + "courseSince": "depuis le {start}" }, "cycle": { "symptomCategory": { diff --git a/messages/it.json b/messages/it.json index 310c84d24..5c41b39fb 100644 --- a/messages/it.json +++ b/messages/it.json @@ -351,7 +351,9 @@ }, "contacts": "Contatti di emergenza", "notes": "Note aggiuntive" - } + }, + "courseRange": "Ciclo dal {start} al {end}", + "courseSince": "Ciclo dal {start}" }, "errorBoundary": { "title": "Qualcosa è andato storto", @@ -2303,6 +2305,38 @@ "label": "Categoria", "all": "Tutte le categorie" } + }, + "course": { + "endedOn": "Ultimo ciclo terminato il {date}", + "nth": "Ciclo {n}", + "startNew": "Inizia un nuovo ciclo", + "editTitle": "Modifica ciclo", + "startsOn": "Primo giorno", + "endsOn": "Ultimo giorno (facoltativo)", + "note": "Nota (facoltativa)", + "notePlaceholder": "es. l’influenza di marzo", + "title": "Cicli", + "helper": "Quando l’hai preso. Le assunzioni sono previste solo dentro un ciclo.", + "none": "Preso in modo continuo, senza cicli separati.", + "range": "Dal {start} al {end}", + "since": "Dal {start}", + "meta": "Ciclo {n}, {status}, {taken} assunzioni", + "status": { + "current": "in corso", + "upcoming": "previsto", + "ended": "concluso" + }, + "delete": "Elimina ciclo", + "deleteTitle": "Eliminare questo ciclo?", + "deleteBody": "Le date vengono rimosse; le assunzioni registrate restano nello storico.", + "deleteLastConfirm": "È l’unico ciclo. Senza di esso il farmaco risulta preso in modo continuo da quando l’hai aggiunto. Le assunzioni registrate restano.", + "error": { + "overlap": "Questo ciclo si sovrappone a un altro.", + "currentOpen": "Concludi il ciclo in corso prima di aggiungerne uno dopo.", + "oneShot": "Un farmaco una tantum ha un solo ciclo.", + "invalidRange": "L’ultimo giorno non può precedere il primo.", + "generic": "Il salvataggio non è riuscito. Riprova." + } } }, "charts": { @@ -8362,7 +8396,10 @@ "doses": { "title": "Dosi registrate", "showing": "Sono mostrate le {shown} dosi più recenti su {total} registrate." - } + }, + "course": "Ciclo {n}", + "courseRange": "dal {start} al {end}", + "courseSince": "dal {start}" }, "cycle": { "symptomCategory": { diff --git a/messages/ko.json b/messages/ko.json index c225b1dbc..b3f504a0f 100644 --- a/messages/ko.json +++ b/messages/ko.json @@ -351,7 +351,9 @@ "immunizationsColDate": "날짜", "immunizationsColVaccine": "백신", "immunizationsColDose": "차수", - "immunizationsColLot": "로트번호" + "immunizationsColLot": "로트번호", + "courseRange": "복용 기간 {start}부터 {end}까지", + "courseSince": "복용 기간 {start}부터" }, "errorBoundary": { "title": "문제가 생겼어요", @@ -2303,6 +2305,38 @@ "label": "카테고리", "all": "모든 카테고리" } + }, + "course": { + "endedOn": "마지막 복용 기간이 {date}에 끝났어요", + "nth": "복용 기간 {n}", + "startNew": "새 복용 기간 시작", + "editTitle": "복용 기간 수정", + "startsOn": "첫날", + "endsOn": "마지막 날 (선택)", + "note": "메모 (선택)", + "notePlaceholder": "예: 3월 독감", + "title": "복용 기간", + "helper": "언제 복용했는지예요. 복용은 기간 안에서만 예정돼요.", + "none": "계속 복용 중이고, 따로 나눈 기간은 없어요.", + "range": "{start}부터 {end}까지", + "since": "{start}부터", + "meta": "복용 기간 {n}, {status}, {taken}회 복용", + "status": { + "current": "진행 중", + "upcoming": "예정", + "ended": "종료" + }, + "delete": "복용 기간 삭제", + "deleteTitle": "이 복용 기간을 삭제할까요?", + "deleteBody": "날짜만 삭제되고, 기록한 복용은 기록에 남아요.", + "deleteLastConfirm": "유일한 복용 기간이에요. 삭제하면 이 약은 추가한 날부터 계속 복용한 것으로 봐요. 기록한 복용은 남아요.", + "error": { + "overlap": "이 기간이 다른 기간과 겹쳐요.", + "currentOpen": "진행 중인 기간을 끝낸 뒤에 다음 기간을 추가해 주세요.", + "oneShot": "일회성 약은 복용 기간이 하나뿐이에요.", + "invalidRange": "마지막 날은 첫날보다 앞설 수 없어요.", + "generic": "저장하지 못했어요. 다시 시도해 주세요." + } } }, "charts": { @@ -8362,7 +8396,10 @@ "doses": { "title": "기록된 복용", "showing": "기록된 복용 {total}건 중 최근 {shown}건을 보여줘요." - } + }, + "course": "복용 기간 {n}", + "courseRange": "{start}부터 {end}까지", + "courseSince": "{start}부터" }, "cycle": { "symptomCategory": { diff --git a/messages/pl.json b/messages/pl.json index 363501fcf..be5166a5f 100644 --- a/messages/pl.json +++ b/messages/pl.json @@ -351,7 +351,9 @@ }, "contacts": "Kontakty w nagłych wypadkach", "notes": "Dodatkowe uwagi" - } + }, + "courseRange": "Kuracja od {start} do {end}", + "courseSince": "Kuracja od {start}" }, "errorBoundary": { "title": "Coś poszło nie tak", @@ -2303,6 +2305,38 @@ "label": "Kategoria", "all": "Wszystkie kategorie" } + }, + "course": { + "endedOn": "Ostatnia kuracja zakończyła się {date}", + "nth": "Kuracja {n}", + "startNew": "Rozpocznij nową kurację", + "editTitle": "Edytuj kurację", + "startsOn": "Pierwszy dzień", + "endsOn": "Ostatni dzień (opcjonalnie)", + "note": "Notatka (opcjonalnie)", + "notePlaceholder": "np. grypa w marcu", + "title": "Kuracje", + "helper": "Kiedy go przyjmowano. Dawki są oczekiwane tylko w trakcie kuracji.", + "none": "Przyjmowany stale, bez osobnych kuracji.", + "range": "Od {start} do {end}", + "since": "Od {start}", + "meta": "Kuracja {n}, {status}, przyjęte dawki: {taken}", + "status": { + "current": "trwa", + "upcoming": "zaplanowana", + "ended": "zakończona" + }, + "delete": "Usuń kurację", + "deleteTitle": "Usunąć tę kurację?", + "deleteBody": "Daty zostaną usunięte; zapisane dawki zostaną w historii.", + "deleteLastConfirm": "To jedyna kuracja. Bez niej lek liczy się jako przyjmowany stale od dodania. Zapisane dawki zostaną.", + "error": { + "overlap": "Ta kuracja pokrywa się z inną.", + "currentOpen": "Zakończ trwającą kurację, zanim dodasz kolejną po niej.", + "oneShot": "Lek jednorazowy ma tylko jedną kurację.", + "invalidRange": "Ostatni dzień nie może być przed pierwszym.", + "generic": "Nie udało się zapisać. Spróbuj ponownie." + } } }, "charts": { @@ -8362,7 +8396,10 @@ "doses": { "title": "Zarejestrowane dawki", "showing": "Pokazano {shown} najnowszych z {total} zarejestrowanych dawek." - } + }, + "course": "Kuracja {n}", + "courseRange": "od {start} do {end}", + "courseSince": "od {start}" }, "cycle": { "symptomCategory": {