From 435021857a6e6fcdcb04ef65a3c3092e2c15f484 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Bombeck?= Date: Sat, 16 May 2026 20:48:21 +0200 Subject: [PATCH] i18n: add Vitals parent + Targets & Sources keys across six locales MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two key additions land in every locale (de, en, es, fr, it, pl): - `insights.tabStrip.vitalsParent.{label,header}` — the parent pill text and popover header for the collapsed wave-A vital pills. - `settings.sections.thresholds.{title,description}` — renamed to "Targets & Sources" / "Zielwerte & Quellen" / "Objetivos y fuentes" / "Objectifs et sources" / "Obiettivi e fonti" / "Cele i źródła" (and matching descriptions). - `settings.sections.sources.redirectNotice` — copy reserved for the back-compat redirect surface; reads "Sources are now part of 'Targets & Sources'" in each locale. The existing `settings.sections.sources.*` block stays in the locale files because `` (now embedded inside the Targets & Sources page) still resolves card-level labels through those keys. Per `.planning/research/v1434-r-2-carryover-scope.md` §7 + §8. --- messages/de.json | 11 +++++++++-- messages/en.json | 11 +++++++++-- messages/es.json | 11 +++++++++-- messages/fr.json | 11 +++++++++-- messages/it.json | 11 +++++++++-- messages/pl.json | 11 +++++++++-- 6 files changed, 54 insertions(+), 12 deletions(-) diff --git a/messages/de.json b/messages/de.json index 575515e9b..70fa53e4f 100644 --- a/messages/de.json +++ b/messages/de.json @@ -1120,6 +1120,12 @@ "navBodyTemperature": "Temperatur", "navActiveEnergy": "Aktive Energie", "navAriaLabel": "Zu Abschnitt springen", + "tabStrip": { + "vitalsParent": { + "label": "Vitalwerte", + "header": "Vital-Werte" + } + }, "hrv": { "title": "HRV", "description": "Herzratenvariabilität im Verlauf — dein Erholungssignal des autonomen Nervensystems, nächtlich von Apple Watch und kompatiblen Wearables erfasst.", @@ -1519,12 +1525,13 @@ "description": "Kachel-Layout und Reihenfolge." }, "thresholds": { - "title": "Persönliche Zielwerte", - "description": "Eigene Zielbereiche für jede Metrik." + "title": "Zielwerte & Quellen", + "description": "Pro Metrik: eigener Zielbereich und welche Quelle führt, wenn mehrere am selben Tag denselben Wert liefern." }, "sources": { "title": "Quellen", "description": "Lege fest, welche Quelle führt, wenn mehrere am selben Tag dieselbe Metrik liefern.", + "redirectNotice": "Quellen sind jetzt Teil von „Zielwerte & Quellen“.", "cardTitle": "Quellen-Priorität pro Metrik", "help": "Wenn mehrere Quellen denselben Wert am selben Tag liefern (z. B. Withings + Apple Health beide 1.200 Schritte), wird die oberste Quelle als kanonisch verwendet. Andere Quellen bleiben gespeichert für die Audit-Spur.", "resetDefaults": "Auf Standard zurücksetzen", diff --git a/messages/en.json b/messages/en.json index 0838a626f..5dc198ee5 100644 --- a/messages/en.json +++ b/messages/en.json @@ -1120,6 +1120,12 @@ "navBodyTemperature": "Temperature", "navActiveEnergy": "Active energy", "navAriaLabel": "Skip to section", + "tabStrip": { + "vitalsParent": { + "label": "Vitals", + "header": "Vital signs" + } + }, "hrv": { "title": "HRV", "description": "Heart-rate variability over time — your nervous-system recovery signal, captured during sleep by Apple Watch and other compatible wearables.", @@ -1519,12 +1525,13 @@ "description": "Tile layout and order." }, "thresholds": { - "title": "Personal thresholds", - "description": "Override target ranges for every metric." + "title": "Targets & Sources", + "description": "Per metric: your own target range and which source wins when more than one records the same value on the same day." }, "sources": { "title": "Sources", "description": "Pick which ingest source wins when more than one records the same metric for the same day.", + "redirectNotice": "Sources are now part of “Targets & Sources”.", "cardTitle": "Source priority by metric", "help": "When more than one source delivers the same value on the same day (e.g. Withings and Apple Health both report 1,200 steps), the top source counts as the canonical reading. Other sources stay stored for the audit trail.", "resetDefaults": "Reset to defaults", diff --git a/messages/es.json b/messages/es.json index b93557c2c..01bcc7471 100644 --- a/messages/es.json +++ b/messages/es.json @@ -1120,6 +1120,12 @@ "navBodyTemperature": "Temperatura", "navActiveEnergy": "Energía activa", "navAriaLabel": "Skip to section", + "tabStrip": { + "vitalsParent": { + "label": "Vitales", + "header": "Constantes vitales" + } + }, "hrv": { "title": "VFC", "description": "Variabilidad de la frecuencia cardíaca a lo largo del tiempo — señal de recuperación del sistema nervioso, captada por la noche por Apple Watch y otros wearables compatibles.", @@ -1519,12 +1525,13 @@ "description": "Tile layout and order." }, "thresholds": { - "title": "Personal thresholds", - "description": "Override target ranges for every metric." + "title": "Objetivos y fuentes", + "description": "Por métrica: tu propio rango objetivo y qué fuente prevalece cuando varias registran el mismo valor el mismo día." }, "sources": { "title": "Sources", "description": "Pick which ingest source wins when more than one records the same metric for the same day.", + "redirectNotice": "Las fuentes ahora forman parte de «Objetivos y fuentes».", "cardTitle": "Source priority by metric", "help": "When more than one source delivers the same value on the same day (e.g. Withings and Apple Health both report 1,200 steps), the top source counts as the canonical reading. Other sources stay stored for the audit trail.", "resetDefaults": "Reset to defaults", diff --git a/messages/fr.json b/messages/fr.json index ac1a73e64..78854aa7d 100644 --- a/messages/fr.json +++ b/messages/fr.json @@ -1120,6 +1120,12 @@ "navBodyTemperature": "Température", "navActiveEnergy": "Énergie active", "navAriaLabel": "Skip to section", + "tabStrip": { + "vitalsParent": { + "label": "Constantes", + "header": "Constantes vitales" + } + }, "hrv": { "title": "VFC", "description": "Variabilité de la fréquence cardiaque dans le temps — signal de récupération du système nerveux, capté la nuit par l'Apple Watch et d'autres wearables compatibles.", @@ -1519,12 +1525,13 @@ "description": "Tile layout and order." }, "thresholds": { - "title": "Personal thresholds", - "description": "Override target ranges for every metric." + "title": "Objectifs et sources", + "description": "Par métrique : votre propre plage cible et quelle source prévaut quand plusieurs enregistrent la même valeur le même jour." }, "sources": { "title": "Sources", "description": "Pick which ingest source wins when more than one records the same metric for the same day.", + "redirectNotice": "Les sources font désormais partie de « Objectifs et sources ».", "cardTitle": "Source priority by metric", "help": "When more than one source delivers the same value on the same day (e.g. Withings and Apple Health both report 1,200 steps), the top source counts as the canonical reading. Other sources stay stored for the audit trail.", "resetDefaults": "Reset to defaults", diff --git a/messages/it.json b/messages/it.json index 8837a2d16..5de80ed34 100644 --- a/messages/it.json +++ b/messages/it.json @@ -1120,6 +1120,12 @@ "navBodyTemperature": "Temperatura", "navActiveEnergy": "Energia attiva", "navAriaLabel": "Skip to section", + "tabStrip": { + "vitalsParent": { + "label": "Vitali", + "header": "Parametri vitali" + } + }, "hrv": { "title": "HRV", "description": "Variabilità della frequenza cardiaca nel tempo — segnale di recupero del sistema nervoso, captato di notte da Apple Watch e altri wearable compatibili.", @@ -1519,12 +1525,13 @@ "description": "Tile layout and order." }, "thresholds": { - "title": "Personal thresholds", - "description": "Override target ranges for every metric." + "title": "Obiettivi e fonti", + "description": "Per metrica: il tuo intervallo target e quale fonte prevale quando più di una registra lo stesso valore lo stesso giorno." }, "sources": { "title": "Sources", "description": "Pick which ingest source wins when more than one records the same metric for the same day.", + "redirectNotice": "Le fonti ora fanno parte di «Obiettivi e fonti».", "cardTitle": "Source priority by metric", "help": "When more than one source delivers the same value on the same day (e.g. Withings and Apple Health both report 1,200 steps), the top source counts as the canonical reading. Other sources stay stored for the audit trail.", "resetDefaults": "Reset to defaults", diff --git a/messages/pl.json b/messages/pl.json index 2d91e3ef8..dd271524c 100644 --- a/messages/pl.json +++ b/messages/pl.json @@ -1120,6 +1120,12 @@ "navBodyTemperature": "Temperatura", "navActiveEnergy": "Energia czynna", "navAriaLabel": "Skip to section", + "tabStrip": { + "vitalsParent": { + "label": "Witalne", + "header": "Parametry witalne" + } + }, "hrv": { "title": "HRV", "description": "Zmienność rytmu serca w czasie — sygnał regeneracji układu nerwowego, rejestrowany nocą przez Apple Watch i inne zgodne wearable.", @@ -1519,12 +1525,13 @@ "description": "Tile layout and order." }, "thresholds": { - "title": "Personal thresholds", - "description": "Override target ranges for every metric." + "title": "Cele i źródła", + "description": "Dla każdej metryki: własny zakres docelowy i które źródło wygrywa, gdy kilka rejestruje tę samą wartość tego samego dnia." }, "sources": { "title": "Sources", "description": "Pick which ingest source wins when more than one records the same metric for the same day.", + "redirectNotice": "Źródła są teraz częścią „Cele i źródła”.", "cardTitle": "Source priority by metric", "help": "When more than one source delivers the same value on the same day (e.g. Withings and Apple Health both report 1,200 steps), the top source counts as the canonical reading. Other sources stay stored for the audit trail.", "resetDefaults": "Reset to defaults",