From dd6b0867a4265d43e29c3bce07bafb14b0908645 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Bombeck?= Date: Sun, 28 Jun 2026 18:29:26 +0200 Subject: [PATCH] i18n: translate illness journal strings and add v1.25 UI strings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The illness journal copy (load error, delete confirmation, edit/menu labels, parent links, and the vital-sign labels) shipped in English in every locale; translate it into de/es/fr/it/pl. Also add the new strings the v1.25 surfaces introduce — the biomarker 'load more readings' action, the environment city-search zero-result message, and an accessible label for the document upload file input — across all six locales. --- messages/de.json | 43 +++++++++++++++++++++++-------------------- messages/en.json | 9 ++++++--- messages/es.json | 43 +++++++++++++++++++++++-------------------- messages/fr.json | 43 +++++++++++++++++++++++-------------------- messages/it.json | 43 +++++++++++++++++++++++-------------------- messages/pl.json | 43 +++++++++++++++++++++++-------------------- 6 files changed, 121 insertions(+), 103 deletions(-) diff --git a/messages/de.json b/messages/de.json index dc0e00086..621accc32 100644 --- a/messages/de.json +++ b/messages/de.json @@ -4317,7 +4317,8 @@ "title": "Vergangene Tage nacherfassen", "description": "Rufe Wetter für einen vergangenen Zeitraum ab und speichere es, damit ältere Tage in die Korrelationen einfließen. Der Start steht standardmäßig auf dem Gültigkeitsdatum deines Wohnorts; um weiter zurückzureichen, füge zuerst einen Ortszeitraum für diesen Bereich hinzu.", "run": "Nacherfassen" - } + }, + "noResults": "Keine passenden Orte gefunden." } }, "profile": "Profil", @@ -7201,7 +7202,8 @@ "fileType": "Lade ein JPEG, PNG, WebP oder PDF hoch.", "extractFailed": "Der Befund konnte nicht gelesen werden. Versuche ein schärferes Foto.", "pdfNeedsAnthropic": "PDF-Scannen benötigt einen Claude-Bildanbieter; lade stattdessen ein Foto hoch." - } + }, + "loadMoreReadings": "Weitere Werte laden" }, "modules": { "cycle": { @@ -7319,8 +7321,8 @@ "note": "Notiz", "notePlaceholder": "Was erwähnenswert ist (verschlüsselt).", "saveError": "Die Episode konnte nicht gespeichert werden. Bitte erneut versuchen.", - "parent": "Part of", - "parentNone": "Not linked" + "parent": "Teil von", + "parentNone": "Nicht verknüpft" }, "sheet": { "title": "{date} erfassen", @@ -7401,32 +7403,32 @@ "fever": "Temperatur: {value} °C", "empty": "Noch keine Tage erfasst." }, - "loadError": "Could not load this episode.", - "backToList": "Back to journal", + "loadError": "Diese Episode konnte nicht geladen werden.", + "backToList": "Zurück zum Journal", "detail": { "note": "Note" }, "edit": { - "title": "Edit episode", - "description": "Update this episode's details." + "title": "Episode bearbeiten", + "description": "Aktualisiere die Details dieser Episode." }, "menu": { - "label": "Episode actions" + "label": "Episodenaktionen" }, "deleteConfirm": { - "title": "Delete this episode?", - "body": "“{label}” and all its day-logs will be removed. This cannot be undone." + "title": "Diese Episode löschen?", + "body": "„{label}“ und alle zugehörigen Tageseinträge werden entfernt. Dies kann nicht rückgängig gemacht werden." }, "vital": { - "RESTING_HEART_RATE": "Resting heart rate", - "HEART_RATE_VARIABILITY": "Heart-rate variability", + "RESTING_HEART_RATE": "Ruheherzfrequenz", + "HEART_RATE_VARIABILITY": "Herzfrequenzvariabilität", "RECOVERY_SCORE": "Recovery", - "OXYGEN_SATURATION": "Oxygen saturation", - "BODY_TEMPERATURE": "Body temperature", - "SKIN_TEMPERATURE": "Skin temperature", - "RESPIRATORY_RATE": "Respiratory rate", - "BLOOD_PRESSURE_SYS": "Systolic blood pressure", - "BLOOD_PRESSURE_DIA": "Diastolic blood pressure", + "OXYGEN_SATURATION": "Sauerstoffsättigung", + "BODY_TEMPERATURE": "Körpertemperatur", + "SKIN_TEMPERATURE": "Hauttemperatur", + "RESPIRATORY_RATE": "Atemfrequenz", + "BLOOD_PRESSURE_SYS": "Systolischer Blutdruck", + "BLOOD_PRESSURE_DIA": "Diastolischer Blutdruck", "PULSE": "Pulse", "WEIGHT": "Weight" }, @@ -7741,7 +7743,8 @@ "label": "Dokument hochladen", "kindLabel": "Dokumenttyp", "button": "Hochladen", - "uploading": "Wird gelesen …" + "uploading": "Wird gelesen …", + "fileLabel": "Dokumentdatei" }, "kind": { "DOCTOR_REPORT": "Arztbericht", diff --git a/messages/en.json b/messages/en.json index e6e776db1..557f2e415 100644 --- a/messages/en.json +++ b/messages/en.json @@ -4317,7 +4317,8 @@ "title": "Backfill past days", "description": "Fetch and store weather for a past date range so older days join the correlations. The start defaults to your home's effective date; to reach further back, add a location period for that range first.", "run": "Backfill" - } + }, + "noResults": "No matching places found." } }, "profile": "Profile", @@ -7201,7 +7202,8 @@ "fileType": "Upload a JPEG, PNG, WebP, or PDF.", "extractFailed": "Couldn't read the report. Try a clearer photo.", "pdfNeedsAnthropic": "PDF scanning needs a Claude vision provider; upload a photo instead." - } + }, + "loadMoreReadings": "Load more readings" }, "modules": { "cycle": { @@ -7741,7 +7743,8 @@ "label": "Upload a document", "kindLabel": "Document type", "button": "Upload", - "uploading": "Reading…" + "uploading": "Reading…", + "fileLabel": "Document file" }, "kind": { "DOCTOR_REPORT": "Doctor report", diff --git a/messages/es.json b/messages/es.json index b9687c4c0..d80b581bf 100644 --- a/messages/es.json +++ b/messages/es.json @@ -4317,7 +4317,8 @@ "title": "Rellenar días pasados", "description": "Obtén y guarda el tiempo de un rango de fechas pasado para que los días antiguos entren en las correlaciones. El inicio toma por defecto la fecha de vigencia de tu hogar; para llegar más atrás, añade primero un periodo de ubicación para ese rango.", "run": "Rellenar" - } + }, + "noResults": "No se encontraron lugares coincidentes." } }, "profile": "Perfil", @@ -7201,7 +7202,8 @@ "fileType": "Sube un JPEG, PNG, WebP o PDF.", "extractFailed": "No se pudo leer el informe. Prueba con una foto más nítida.", "pdfNeedsAnthropic": "El escaneo de PDF necesita un proveedor de visión de Claude; sube una foto en su lugar." - } + }, + "loadMoreReadings": "Cargar más mediciones" }, "modules": { "cycle": { @@ -7319,8 +7321,8 @@ "note": "Nota", "notePlaceholder": "Algo que valga la pena recordar (cifrado).", "saveError": "No se pudo guardar el episodio. Inténtalo de nuevo.", - "parent": "Part of", - "parentNone": "Not linked" + "parent": "Parte de", + "parentNone": "Sin vincular" }, "sheet": { "title": "Registrar {date}", @@ -7401,32 +7403,32 @@ "fever": "Temperatura: {value} °C", "empty": "Todavía no hay días registrados." }, - "loadError": "Could not load this episode.", - "backToList": "Back to journal", + "loadError": "No se pudo cargar este episodio.", + "backToList": "Volver al diario", "detail": { "note": "Note" }, "edit": { - "title": "Edit episode", - "description": "Update this episode's details." + "title": "Editar episodio", + "description": "Actualiza los detalles de este episodio." }, "menu": { - "label": "Episode actions" + "label": "Acciones del episodio" }, "deleteConfirm": { - "title": "Delete this episode?", - "body": "“{label}” and all its day-logs will be removed. This cannot be undone." + "title": "¿Eliminar este episodio?", + "body": "«{label}» y todos sus registros diarios se eliminarán. Esta acción no se puede deshacer." }, "vital": { - "RESTING_HEART_RATE": "Resting heart rate", - "HEART_RATE_VARIABILITY": "Heart-rate variability", + "RESTING_HEART_RATE": "Frecuencia cardíaca en reposo", + "HEART_RATE_VARIABILITY": "Variabilidad de la frecuencia cardíaca", "RECOVERY_SCORE": "Recovery", - "OXYGEN_SATURATION": "Oxygen saturation", - "BODY_TEMPERATURE": "Body temperature", - "SKIN_TEMPERATURE": "Skin temperature", - "RESPIRATORY_RATE": "Respiratory rate", - "BLOOD_PRESSURE_SYS": "Systolic blood pressure", - "BLOOD_PRESSURE_DIA": "Diastolic blood pressure", + "OXYGEN_SATURATION": "Saturación de oxígeno", + "BODY_TEMPERATURE": "Temperatura corporal", + "SKIN_TEMPERATURE": "Temperatura de la piel", + "RESPIRATORY_RATE": "Frecuencia respiratoria", + "BLOOD_PRESSURE_SYS": "Presión arterial sistólica", + "BLOOD_PRESSURE_DIA": "Presión arterial diastólica", "PULSE": "Pulse", "WEIGHT": "Weight" }, @@ -7741,7 +7743,8 @@ "label": "Subir un documento", "kindLabel": "Tipo de documento", "button": "Subir", - "uploading": "Leyendo…" + "uploading": "Leyendo…", + "fileLabel": "Archivo del documento" }, "kind": { "DOCTOR_REPORT": "Informe médico", diff --git a/messages/fr.json b/messages/fr.json index 7df786db9..70c1ec681 100644 --- a/messages/fr.json +++ b/messages/fr.json @@ -4317,7 +4317,8 @@ "title": "Récupérer les jours passés", "description": "Récupérez et enregistrez la météo d'une plage de dates passée pour que les jours anciens rejoignent les corrélations. Le début reprend par défaut la date d'effet de votre domicile ; pour remonter plus loin, ajoutez d'abord une période de localisation pour cette plage.", "run": "Récupérer" - } + }, + "noResults": "Aucun lieu correspondant trouvé." } }, "profile": "Profil", @@ -7201,7 +7202,8 @@ "fileType": "Importez un JPEG, PNG, WebP ou PDF.", "extractFailed": "Impossible de lire le compte rendu. Essayez une photo plus nette.", "pdfNeedsAnthropic": "Le scan PDF nécessite un fournisseur de vision Claude ; importez plutôt une photo." - } + }, + "loadMoreReadings": "Charger plus de mesures" }, "modules": { "cycle": { @@ -7319,8 +7321,8 @@ "note": "Note", "notePlaceholder": "Ce qui mérite d'être noté (chiffré).", "saveError": "Impossible d'enregistrer l'épisode. Veuillez réessayer.", - "parent": "Part of", - "parentNone": "Not linked" + "parent": "Fait partie de", + "parentNone": "Non lié" }, "sheet": { "title": "Enregistrer {date}", @@ -7401,32 +7403,32 @@ "fever": "Température : {value} °C", "empty": "Aucun jour enregistré pour l’instant." }, - "loadError": "Could not load this episode.", - "backToList": "Back to journal", + "loadError": "Impossible de charger cet épisode.", + "backToList": "Retour au journal", "detail": { "note": "Note" }, "edit": { - "title": "Edit episode", - "description": "Update this episode's details." + "title": "Modifier l'épisode", + "description": "Mettez à jour les détails de cet épisode." }, "menu": { - "label": "Episode actions" + "label": "Actions de l'épisode" }, "deleteConfirm": { - "title": "Delete this episode?", - "body": "“{label}” and all its day-logs will be removed. This cannot be undone." + "title": "Supprimer cet épisode ?", + "body": "« {label} » et tous ses relevés quotidiens seront supprimés. Cette action est irréversible." }, "vital": { - "RESTING_HEART_RATE": "Resting heart rate", - "HEART_RATE_VARIABILITY": "Heart-rate variability", + "RESTING_HEART_RATE": "Fréquence cardiaque au repos", + "HEART_RATE_VARIABILITY": "Variabilité de la fréquence cardiaque", "RECOVERY_SCORE": "Recovery", - "OXYGEN_SATURATION": "Oxygen saturation", - "BODY_TEMPERATURE": "Body temperature", - "SKIN_TEMPERATURE": "Skin temperature", - "RESPIRATORY_RATE": "Respiratory rate", - "BLOOD_PRESSURE_SYS": "Systolic blood pressure", - "BLOOD_PRESSURE_DIA": "Diastolic blood pressure", + "OXYGEN_SATURATION": "Saturation en oxygène", + "BODY_TEMPERATURE": "Température corporelle", + "SKIN_TEMPERATURE": "Température cutanée", + "RESPIRATORY_RATE": "Fréquence respiratoire", + "BLOOD_PRESSURE_SYS": "Pression artérielle systolique", + "BLOOD_PRESSURE_DIA": "Pression artérielle diastolique", "PULSE": "Pulse", "WEIGHT": "Weight" }, @@ -7741,7 +7743,8 @@ "label": "Importer un document", "kindLabel": "Type de document", "button": "Importer", - "uploading": "Lecture…" + "uploading": "Lecture…", + "fileLabel": "Fichier du document" }, "kind": { "DOCTOR_REPORT": "Compte rendu médical", diff --git a/messages/it.json b/messages/it.json index e4f800775..cc173e40b 100644 --- a/messages/it.json +++ b/messages/it.json @@ -4317,7 +4317,8 @@ "title": "Recupera i giorni passati", "description": "Recupera e salva il meteo di un intervallo di date passato così i giorni più vecchi entrano nelle correlazioni. L'inizio è impostato in modo predefinito sulla data di validità della tua residenza; per andare più indietro, aggiungi prima un periodo di posizione per quell'intervallo.", "run": "Recupera" - } + }, + "noResults": "Nessun luogo corrispondente trovato." } }, "profile": "Profilo", @@ -7201,7 +7202,8 @@ "fileType": "Carica un JPEG, PNG, WebP o PDF.", "extractFailed": "Impossibile leggere il referto. Prova con una foto più nitida.", "pdfNeedsAnthropic": "La scansione PDF richiede un provider di visione Claude; carica invece una foto." - } + }, + "loadMoreReadings": "Carica altre misurazioni" }, "modules": { "cycle": { @@ -7319,8 +7321,8 @@ "note": "Nota", "notePlaceholder": "Qualcosa da ricordare (cifrato).", "saveError": "Impossibile salvare l'episodio. Riprova.", - "parent": "Part of", - "parentNone": "Not linked" + "parent": "Parte di", + "parentNone": "Non collegato" }, "sheet": { "title": "Registra {date}", @@ -7401,32 +7403,32 @@ "fever": "Temperatura: {value} °C", "empty": "Nessun giorno registrato finora." }, - "loadError": "Could not load this episode.", - "backToList": "Back to journal", + "loadError": "Impossibile caricare questo episodio.", + "backToList": "Torna al diario", "detail": { "note": "Note" }, "edit": { - "title": "Edit episode", - "description": "Update this episode's details." + "title": "Modifica episodio", + "description": "Aggiorna i dettagli di questo episodio." }, "menu": { - "label": "Episode actions" + "label": "Azioni dell'episodio" }, "deleteConfirm": { - "title": "Delete this episode?", - "body": "“{label}” and all its day-logs will be removed. This cannot be undone." + "title": "Eliminare questo episodio?", + "body": "«{label}» e tutti i relativi registri giornalieri verranno rimossi. L'operazione non può essere annullata." }, "vital": { - "RESTING_HEART_RATE": "Resting heart rate", - "HEART_RATE_VARIABILITY": "Heart-rate variability", + "RESTING_HEART_RATE": "Frequenza cardiaca a riposo", + "HEART_RATE_VARIABILITY": "Variabilità della frequenza cardiaca", "RECOVERY_SCORE": "Recovery", - "OXYGEN_SATURATION": "Oxygen saturation", - "BODY_TEMPERATURE": "Body temperature", - "SKIN_TEMPERATURE": "Skin temperature", - "RESPIRATORY_RATE": "Respiratory rate", - "BLOOD_PRESSURE_SYS": "Systolic blood pressure", - "BLOOD_PRESSURE_DIA": "Diastolic blood pressure", + "OXYGEN_SATURATION": "Saturazione di ossigeno", + "BODY_TEMPERATURE": "Temperatura corporea", + "SKIN_TEMPERATURE": "Temperatura cutanea", + "RESPIRATORY_RATE": "Frequenza respiratoria", + "BLOOD_PRESSURE_SYS": "Pressione arteriosa sistolica", + "BLOOD_PRESSURE_DIA": "Pressione arteriosa diastolica", "PULSE": "Pulse", "WEIGHT": "Weight" }, @@ -7741,7 +7743,8 @@ "label": "Carica un documento", "kindLabel": "Tipo di documento", "button": "Carica", - "uploading": "Lettura…" + "uploading": "Lettura…", + "fileLabel": "File del documento" }, "kind": { "DOCTOR_REPORT": "Referto medico", diff --git a/messages/pl.json b/messages/pl.json index 52381c2ba..4477b6251 100644 --- a/messages/pl.json +++ b/messages/pl.json @@ -4317,7 +4317,8 @@ "title": "Uzupełnij minione dni", "description": "Pobierz i zapisz pogodę dla minionego zakresu dat, aby starsze dni weszły do korelacji. Początek domyślnie przyjmuje datę obowiązywania Twojego domu; aby sięgnąć dalej wstecz, najpierw dodaj okres lokalizacji dla tego zakresu.", "run": "Uzupełnij" - } + }, + "noResults": "Nie znaleziono pasujących miejsc." } }, "profile": "Profil", @@ -7201,7 +7202,8 @@ "fileType": "Prześlij plik JPEG, PNG, WebP lub PDF.", "extractFailed": "Nie udało się odczytać wyniku. Spróbuj wyraźniejszego zdjęcia.", "pdfNeedsAnthropic": "Skanowanie PDF wymaga dostawcy wizji Claude; prześlij zamiast tego zdjęcie." - } + }, + "loadMoreReadings": "Wczytaj więcej pomiarów" }, "modules": { "cycle": { @@ -7319,8 +7321,8 @@ "note": "Notatka", "notePlaceholder": "Cokolwiek wartego zapamiętania (zaszyfrowane).", "saveError": "Nie udało się zapisać epizodu. Spróbuj ponownie.", - "parent": "Part of", - "parentNone": "Not linked" + "parent": "Część", + "parentNone": "Niepowiązane" }, "sheet": { "title": "Zapisz {date}", @@ -7401,32 +7403,32 @@ "fever": "Temperatura: {value} °C", "empty": "Nie zapisano jeszcze żadnych dni." }, - "loadError": "Could not load this episode.", - "backToList": "Back to journal", + "loadError": "Nie udało się wczytać tego epizodu.", + "backToList": "Powrót do dziennika", "detail": { "note": "Note" }, "edit": { - "title": "Edit episode", - "description": "Update this episode's details." + "title": "Edytuj epizod", + "description": "Zaktualizuj szczegóły tego epizodu." }, "menu": { - "label": "Episode actions" + "label": "Działania epizodu" }, "deleteConfirm": { - "title": "Delete this episode?", - "body": "“{label}” and all its day-logs will be removed. This cannot be undone." + "title": "Usunąć ten epizod?", + "body": "„{label}” oraz wszystkie powiązane wpisy dzienne zostaną usunięte. Tej operacji nie można cofnąć." }, "vital": { - "RESTING_HEART_RATE": "Resting heart rate", - "HEART_RATE_VARIABILITY": "Heart-rate variability", + "RESTING_HEART_RATE": "Spoczynkowe tętno", + "HEART_RATE_VARIABILITY": "Zmienność rytmu serca", "RECOVERY_SCORE": "Recovery", - "OXYGEN_SATURATION": "Oxygen saturation", - "BODY_TEMPERATURE": "Body temperature", - "SKIN_TEMPERATURE": "Skin temperature", - "RESPIRATORY_RATE": "Respiratory rate", - "BLOOD_PRESSURE_SYS": "Systolic blood pressure", - "BLOOD_PRESSURE_DIA": "Diastolic blood pressure", + "OXYGEN_SATURATION": "Saturacja tlenem", + "BODY_TEMPERATURE": "Temperatura ciała", + "SKIN_TEMPERATURE": "Temperatura skóry", + "RESPIRATORY_RATE": "Częstość oddechów", + "BLOOD_PRESSURE_SYS": "Ciśnienie skurczowe", + "BLOOD_PRESSURE_DIA": "Ciśnienie rozkurczowe", "PULSE": "Pulse", "WEIGHT": "Weight" }, @@ -7741,7 +7743,8 @@ "label": "Prześlij dokument", "kindLabel": "Typ dokumentu", "button": "Prześlij", - "uploading": "Odczytywanie…" + "uploading": "Odczytywanie…", + "fileLabel": "Plik dokumentu" }, "kind": { "DOCTOR_REPORT": "Raport lekarski",