From 14f22a8d36be92c0dd8d44682fe4dad16cefd5f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Bombeck?= Date: Sat, 27 Jun 2026 15:33:45 +0200 Subject: [PATCH] i18n: translate v1.22 keys into es, fr, it, pl The v1.22 waves added new keys to en.json and de.json only, leaving the es/fr/it/pl bundles short and failing the locale-integrity guard. Translate the 70 missing keys per locale across the Coach suggested-action prompts, conversation seeds, read-aloud controls, derived-metric subtitles, freshness timestamps, biomarker hide/restore controls, the per-metric insights link, and the saved-reminders settings panel. ICU placeholders are preserved and the new keys follow the en.json ordering within their parent objects. --- messages/es.json | 92 +++++++++++++++++++++++++++++++++++++++++++++--- messages/fr.json | 92 +++++++++++++++++++++++++++++++++++++++++++++--- messages/it.json | 92 +++++++++++++++++++++++++++++++++++++++++++++--- messages/pl.json | 92 +++++++++++++++++++++++++++++++++++++++++++++--- 4 files changed, 352 insertions(+), 16 deletions(-) diff --git a/messages/es.json b/messages/es.json index cbe9974df..f9641ab19 100644 --- a/messages/es.json +++ b/messages/es.json @@ -511,6 +511,7 @@ "previousPage": "Página anterior", "nextPage": "Página siguiente", "dailyTotalCaption": "({count} muestras)", + "openMetricInsights": "Abrir análisis de {type}", "sleepNapCaption": "+{count} siesta(s)", "sleepAwakeningsCaption": "{count} despertar(es)", "expandDay": "Mostrar las muestras de este día", @@ -2098,6 +2099,9 @@ "composerPlaceholder": "Pregúntame sobre tus datos…", "nudgeBubbleLabel": "Nuevo mensaje del coach — abrir el chat", "fabLabel": "Abrir el coach", + "readAloud": "Leer en voz alta", + "readAloudStop": "Detener lectura", + "messageTimeLabel": "Mensaje enviado {time}", "selfContextAdopt": { "offer": "¿Añadir esta respuesta a tu información personal?", "confirm": "Añadir", @@ -2211,6 +2215,8 @@ "settingsSourcesPointerLink": "Abrir el coach", "settingsExcludeLabel": "Excluir métricas", "settingsExcludeHint": "El coach no verá los datos de las métricas seleccionadas.", + "settingsContextLabel": "Enviar contexto", + "settingsContextHint": "Bloques opcionales en los que el coach puede apoyarse. Si desactivas alguno, se omitirá en cada respuesta.", "settingsEvidenceLabel": "Mostrar evidencia por defecto", "settingsEvidenceHint": "Abre automáticamente el cuadro de evidencias bajo cada respuesta.", "settingsDefaultWindowLabel": "Periodo de análisis por defecto", @@ -2226,8 +2232,6 @@ "dailyLimitBody": "Límite diario alcanzado. El cupo se reinicia a medianoche (UTC).", "providerRateLimitTitle": "Proveedor con límite de tasa", "providerRateLimitBody": "El proveedor está temporalmente saturado; reinicio en ~5 min.", - "settingsContextLabel": "Enviar contexto", - "settingsContextHint": "Bloques opcionales en los que el coach puede apoyarse. Si desactivas alguno, se omitirá en cada respuesta.", "cluster": { "cardio": { "label": "Cardiovascular", @@ -2320,6 +2324,33 @@ "groupYesterday": "Ayer", "groupThisWeek": "Esta semana", "groupEarlier": "Anteriores" + }, + "seed": { + "bloodPressure": "Repasa conmigo la tendencia de mi presión arterial de los últimos 30 días — ¿hay algo que deba vigilar?", + "weight": "¿Cómo ha evolucionado mi peso últimamente y la dirección es algo sobre lo que actuar?", + "bmi": "¿Qué me dice mi tendencia de IMC y cómo debería interpretarla?", + "pulse": "Repasa conmigo mis lecturas de pulso — ¿hay algo fuera de lo normal?", + "restingHr": "¿Cómo ha evolucionado mi frecuencia cardíaca en reposo y qué dice sobre mi forma física?", + "hrv": "¿Qué me dice mi variabilidad de la frecuencia cardíaca sobre la recuperación y el estrés últimamente?", + "sleep": "Repasa conmigo mi sueño reciente — duración, regularidad y cualquier cosa que valga la pena cambiar.", + "mood": "¿Qué patrones ves en mi estado de ánimo durante las últimas semanas?", + "medications": "¿Cómo va mi adherencia a la medicación y coincide con cómo me he sentido?", + "steps": "¿Qué tan activo he estado últimamente según mis pasos y cómo se compara con un nivel de referencia saludable?", + "activeEnergy": "¿Qué dice mi tendencia de energía activa sobre mi nivel de actividad últimamente?", + "cardioFitness": "¿Qué significa la tendencia de mi capacidad cardiorrespiratoria (VO₂ máx.) y cómo la llevo en la dirección correcta?", + "bloodGlucose": "Repasa conmigo mis últimas lecturas de glucosa — ¿están en un rango saludable?", + "oxygenSaturation": "¿Qué me dice mi tendencia de oxígeno en sangre (SpO₂)?", + "respiratoryRate": "¿Qué dice mi tendencia de frecuencia respiratoria sobre mi salud?", + "workouts": "Repasa conmigo mis entrenamientos recientes — carga, frecuencia y cómo me recupero entre ellos.", + "recoveryPage": "¿Por qué mi recuperación está donde está ahora mismo y qué la está provocando?", + "briefing": "Repasa conmigo el resumen de hoy — ¿en qué debería centrarme y hay algo en lo que valga la pena actuar?", + "healthScore": "¿Por qué mi puntuación de salud es {score} de 100 y qué la mejoraría más?", + "periodWeek": "Repasa conmigo cómo fue mi última semana en mis métricas de salud — ¿qué destaca?", + "periodMonth": "Repasa conmigo cómo fue mi último mes en mis métricas de salud — ¿qué destaca?", + "correlationBpCompliance": "¿Cómo se relaciona mi adherencia a la medicación con mi presión arterial? Explícame qué significa esta correlación para mí.", + "correlationMoodPulse": "¿Existe una relación real entre mi estado de ánimo y mi pulso? Ayúdame a interpretar esta correlación.", + "correlationWeightWeekday": "¿Mi peso sigue un patrón semanal? ¿Qué me dice esta correlación por día de la semana?", + "recommendation": "Cuéntame más sobre esta recomendación: \"{text}\" — ¿por qué se aplica a mí y qué debería hacer al respecto?" } }, "relativeJustNow": "ahora mismo", @@ -3240,6 +3271,7 @@ }, "vitals": { "sectionTitle": "Tus constantes", + "sectionSubtitle": "Señales cardiovasculares y respiratorias en reposo frente a tu propia línea base", "loadingLabel": "Cargando tus constantes", "loadError": "No se pudieron cargar tus constantes en este momento.", "building": "Creando tu rango habitual — {count} de {target} días", @@ -3366,6 +3398,7 @@ }, "scores": { "sectionTitle": "Tus indicadores de salud", + "sectionSubtitle": "Valores combinados de recuperación, estrés y esfuerzo leídos de tus dispositivos conectados", "loadError": "No se pudieron cargar tus puntuaciones de bienestar en este momento.", "recovery": "Recuperación", "stress": "Estrés", @@ -3611,7 +3644,10 @@ "returnLabel": "Tu {metric} ha vuelto a tu rango habitual tras {count} días — fuera lo que fuera, ya pasó.", "daysInside": "{count} días dentro", "daysOutside": "{count} días fuera" - } + }, + "updatedTodayAt": "Actualizado hoy, {time}", + "updatedYesterday": "Actualizado ayer", + "updatedOn": "Actualizado el {date}" }, "thresholds": { "defaultLabel": "Por defecto", @@ -4413,6 +4449,28 @@ "clearedToast": "Se olvidaron {count} datos guardados.", "clearError": "No se pudieron borrar los datos guardados. Inténtalo de nuevo." }, + "coachReminders": { + "title": "Tus recordatorios", + "description": "Cosas que le pediste al Coach que retomara más tarde. Las que vencen aparecen aquí y en el Coach.", + "empty": "Aún no hay recordatorios. Pídele al Coach que te recuerde algo y aparecerá aquí.", + "loadError": "No se pudieron cargar tus recordatorios.", + "dueHeading": "Vencen ahora", + "allHeading": "Guardados", + "duePrefix": "vence {when}", + "confirm": "Conservar", + "markDone": "Hecho", + "dismiss": "Descartar", + "deleteAria": "Eliminar este recordatorio", + "note": "Los recordatorios se guardan cifrados. Elimina uno cuando quieras — desaparece de lo que el Coach puede ver.", + "status": { + "proposed": "Sugerido", + "active": "Guardado", + "due": "Vencido", + "surfaced": "Mostrado", + "done": "Hecho", + "dismissed": "Descartado" + } + }, "aboutMe": { "title": "Sobre mí", "description": "Contexto personal que el Coach y el informe diario leen junto con tus datos.", @@ -6737,7 +6795,14 @@ "savedToast": "Biomarcador guardado", "updatedToast": "Biomarcador actualizado", "saveError": "No se pudo guardar el biomarcador" - } + }, + "hide": "Ocultar", + "unhide": "Restaurar", + "hiddenToast": "Biomarcador ocultado", + "unhiddenToast": "Biomarcador restaurado", + "hideError": "No se pudo actualizar el biomarcador", + "allHidden": "Todos los biomarcadores están ocultos.", + "hiddenSection": "Ocultos" }, "catalog": { "total-cholesterol": "Colesterol total", @@ -7058,6 +7123,25 @@ "glucoseStructured": "Mide tu glucosa con un horario diario estructurado" } }, + "suggestedAction": { + "apply": "Añadir", + "dismiss": "Ahora no", + "applied": "Añadido", + "dismissed": "Descartado", + "failed": "No se pudo añadir — inténtalo de nuevo", + "checkup": { + "title": "¿Añadir un recordatorio de revisión?" + }, + "note": { + "title": "¿Guardar un recordatorio?" + }, + "interval": { + "yearly": "Cada año", + "halfYearly": "Cada seis meses", + "quarterly": "Cada tres meses", + "monthly": "Cada mes" + } + }, "settings": { "reminderSuggestionsLabel": "Sugerencias de frecuencia", "reminderSuggestionsDescription": "Permite que el Coach ofrezca de vez en cuando un recordatorio basado en evidencia para medir una métrica con más regularidad." diff --git a/messages/fr.json b/messages/fr.json index 59ce7d7f8..890f9e6d4 100644 --- a/messages/fr.json +++ b/messages/fr.json @@ -511,6 +511,7 @@ "previousPage": "Page précédente", "nextPage": "Page suivante", "dailyTotalCaption": "({count} échantillons)", + "openMetricInsights": "Ouvrir l'analyse {type}", "sleepNapCaption": "+{count} sieste(s)", "sleepAwakeningsCaption": "{count} réveil(s)", "expandDay": "Afficher les échantillons de ce jour", @@ -2098,6 +2099,9 @@ "composerPlaceholder": "Pose-moi une question sur tes données…", "nudgeBubbleLabel": "Nouveau message du coach — ouvrir le chat", "fabLabel": "Ouvrir le coach", + "readAloud": "Lire à voix haute", + "readAloudStop": "Arrêter la lecture", + "messageTimeLabel": "Message envoyé {time}", "selfContextAdopt": { "offer": "Ajouter cette réponse à vos informations personnelles ?", "confirm": "Ajouter", @@ -2211,6 +2215,8 @@ "settingsSourcesPointerLink": "Ouvrir le coach", "settingsExcludeLabel": "Exclure des métriques", "settingsExcludeHint": "Le coach ne verra pas les données des métriques sélectionnées.", + "settingsContextLabel": "Envoyer le contexte", + "settingsContextHint": "Blocs optionnels sur lesquels le coach peut s’appuyer. Si tu en désactives un, il sera omis dans chaque réponse.", "settingsEvidenceLabel": "Afficher les preuves par défaut", "settingsEvidenceHint": "Ouvre automatiquement l’encadré preuves sous chaque réponse.", "settingsDefaultWindowLabel": "Période d’analyse par défaut", @@ -2226,8 +2232,6 @@ "dailyLimitBody": "Limite quotidienne atteinte. Le quota se réinitialise à minuit (UTC).", "providerRateLimitTitle": "Fournisseur limité en débit", "providerRateLimitBody": "Le fournisseur est temporairement saturé ; réinitialisation dans ~5 min.", - "settingsContextLabel": "Envoyer le contexte", - "settingsContextHint": "Blocs optionnels sur lesquels le coach peut s’appuyer. Si tu en désactives un, il sera omis dans chaque réponse.", "cluster": { "cardio": { "label": "Cardiovasculaire", @@ -2320,6 +2324,33 @@ "groupYesterday": "Hier", "groupThisWeek": "Cette semaine", "groupEarlier": "Plus tôt" + }, + "seed": { + "bloodPressure": "Passe en revue avec moi la tendance de ma tension artérielle sur les 30 derniers jours — y a-t-il quelque chose à surveiller ?", + "weight": "Comment mon poids a-t-il évolué ces derniers temps, et la tendance mérite-t-elle d'agir ?", + "bmi": "Que m'indique la tendance de mon IMC, et comment dois-je l'interpréter ?", + "pulse": "Passe en revue avec moi mes mesures de pouls — y a-t-il quelque chose d'inhabituel ?", + "restingHr": "Comment ma fréquence cardiaque au repos a-t-elle évolué, et que dit-elle de ma condition physique ?", + "hrv": "Que m'indique ma variabilité de la fréquence cardiaque sur ma récupération et mon stress ces derniers temps ?", + "sleep": "Passe en revue avec moi mon sommeil récent — durée, régularité et tout ce qui mériterait d'être changé.", + "mood": "Quels schémas observes-tu dans mon humeur ces dernières semaines ?", + "medications": "Où en est mon observance médicamenteuse, et correspond-elle à la façon dont je me sens ?", + "steps": "À quel point ai-je été actif ces derniers temps d'après mes pas, et comment cela se compare-t-il à un niveau de référence sain ?", + "activeEnergy": "Que dit ma tendance de dépense énergétique active sur mon niveau d'activité ces derniers temps ?", + "cardioFitness": "Que signifie la tendance de ma condition cardio (VO₂ max), et comment la faire évoluer dans le bon sens ?", + "bloodGlucose": "Passe en revue avec moi mes dernières mesures de glycémie — sont-elles dans une fourchette saine ?", + "oxygenSaturation": "Que m'indique ma tendance de saturation en oxygène (SpO₂) ?", + "respiratoryRate": "Que dit ma tendance de fréquence respiratoire sur ma santé ?", + "workouts": "Passe en revue avec moi mes séances d'entraînement récentes — charge, fréquence et comment je récupère entre elles.", + "recoveryPage": "Pourquoi ma récupération en est-elle là en ce moment, et qu'est-ce qui l'explique ?", + "briefing": "Passe en revue avec moi le briefing d'aujourd'hui — sur quoi devrais-je me concentrer, et y a-t-il quelque chose à entreprendre ?", + "healthScore": "Pourquoi mon score de santé est-il de {score} sur 100, et qu'est-ce qui le ferait le plus progresser ?", + "periodWeek": "Passe en revue avec moi comment s'est déroulée ma dernière semaine sur mes indicateurs de santé — qu'est-ce qui ressort ?", + "periodMonth": "Passe en revue avec moi comment s'est déroulé mon dernier mois sur mes indicateurs de santé — qu'est-ce qui ressort ?", + "correlationBpCompliance": "Quel est le lien entre mon observance médicamenteuse et ma tension artérielle ? Explique-moi ce que cette corrélation signifie pour moi.", + "correlationMoodPulse": "Y a-t-il un lien réel entre mon humeur et mon pouls ? Aide-moi à interpréter cette corrélation.", + "correlationWeightWeekday": "Mon poids suit-il un schéma hebdomadaire ? Que m'indique cette corrélation selon le jour de la semaine ?", + "recommendation": "Parle-moi davantage de cette recommandation : \"{text}\" — pourquoi s'applique-t-elle à moi, et que devrais-je faire ?" } }, "relativeJustNow": "à l’instant", @@ -3240,6 +3271,7 @@ }, "vitals": { "sectionTitle": "Vos constantes", + "sectionSubtitle": "Signaux cardiovasculaires et respiratoires au repos par rapport à ta propre référence", "loadingLabel": "Chargement de vos constantes", "loadError": "Impossible de charger vos constantes pour le moment.", "building": "Construction de votre plage habituelle — {count} sur {target} jours", @@ -3366,6 +3398,7 @@ }, "scores": { "sectionTitle": "Tes indicateurs de santé", + "sectionSubtitle": "Valeurs combinées de récupération, de stress et d'effort issues de tes appareils connectés", "loadError": "Impossible de charger vos scores de bien-être pour le moment.", "recovery": "Récupération", "stress": "Stress", @@ -3611,7 +3644,10 @@ "returnLabel": "Ton {metric} est de nouveau dans ta plage habituelle après {count} jours — quoi que c'était, c'est passé.", "daysInside": "{count} jours dans la plage", "daysOutside": "{count} jours hors plage" - } + }, + "updatedTodayAt": "Mis à jour aujourd'hui, {time}", + "updatedYesterday": "Mis à jour hier", + "updatedOn": "Mis à jour le {date}" }, "thresholds": { "defaultLabel": "Par défaut", @@ -4413,6 +4449,28 @@ "clearedToast": "{count} informations enregistrées oubliées.", "clearError": "Impossible d'effacer les informations enregistrées. Veuillez réessayer." }, + "coachReminders": { + "title": "Tes rappels", + "description": "Les choses que tu as demandé au Coach de te rappeler plus tard. Celles qui arrivent à échéance apparaissent ici et chez le Coach.", + "empty": "Aucun rappel pour l'instant. Demande au Coach de te rappeler quelque chose et cela apparaîtra ici.", + "loadError": "Impossible de charger tes rappels.", + "dueHeading": "À échéance", + "allHeading": "Enregistrés", + "duePrefix": "à échéance {when}", + "confirm": "Garder", + "markDone": "Terminé", + "dismiss": "Ignorer", + "deleteAria": "Supprimer ce rappel", + "note": "Les rappels sont stockés chiffrés. Supprime-en un à tout moment — il disparaît de ce que le Coach peut voir.", + "status": { + "proposed": "Suggéré", + "active": "Enregistré", + "due": "À échéance", + "surfaced": "Affiché", + "done": "Terminé", + "dismissed": "Ignoré" + } + }, "aboutMe": { "title": "À propos de moi", "description": "Contexte personnel que le Coach et le briefing quotidien lisent en plus de vos données.", @@ -6737,7 +6795,14 @@ "savedToast": "Biomarqueur enregistré", "updatedToast": "Biomarqueur mis à jour", "saveError": "Impossible d'enregistrer le biomarqueur" - } + }, + "hide": "Masquer", + "unhide": "Restaurer", + "hiddenToast": "Biomarqueur masqué", + "unhiddenToast": "Biomarqueur restauré", + "hideError": "Impossible de mettre à jour le biomarqueur", + "allHidden": "Tous les biomarqueurs sont masqués.", + "hiddenSection": "Masqués" }, "catalog": { "total-cholesterol": "Cholestérol total", @@ -7058,6 +7123,25 @@ "glucoseStructured": "Mesurez votre glycémie selon un horaire quotidien structuré" } }, + "suggestedAction": { + "apply": "Ajouter", + "dismiss": "Pas maintenant", + "applied": "Ajouté", + "dismissed": "Ignoré", + "failed": "Impossible d'ajouter — réessaie", + "checkup": { + "title": "Ajouter un rappel d'examen ?" + }, + "note": { + "title": "Enregistrer un rappel ?" + }, + "interval": { + "yearly": "Tous les ans", + "halfYearly": "Tous les six mois", + "quarterly": "Tous les trois mois", + "monthly": "Tous les mois" + } + }, "settings": { "reminderSuggestionsLabel": "Suggestions de fréquence", "reminderSuggestionsDescription": "Laissez le Coach proposer de temps en temps un rappel fondé sur des preuves pour mesurer une donnée plus régulièrement." diff --git a/messages/it.json b/messages/it.json index ac0c8924c..2347e559a 100644 --- a/messages/it.json +++ b/messages/it.json @@ -511,6 +511,7 @@ "previousPage": "Pagina precedente", "nextPage": "Pagina successiva", "dailyTotalCaption": "({count} campioni)", + "openMetricInsights": "Apri l'analisi {type}", "sleepNapCaption": "+{count} pisolino/i", "sleepAwakeningsCaption": "{count} risveglio/i", "expandDay": "Mostra i campioni di questa giornata", @@ -2098,6 +2099,9 @@ "composerPlaceholder": "Chiedimi qualcosa sui tuoi dati…", "nudgeBubbleLabel": "Nuovo messaggio dal coach — apri la chat", "fabLabel": "Apri il coach", + "readAloud": "Leggi ad alta voce", + "readAloudStop": "Interrompi lettura", + "messageTimeLabel": "Messaggio inviato {time}", "selfContextAdopt": { "offer": "Aggiungere questa risposta alle tue informazioni personali?", "confirm": "Aggiungi", @@ -2211,6 +2215,8 @@ "settingsSourcesPointerLink": "Apri il coach", "settingsExcludeLabel": "Escludi metriche", "settingsExcludeHint": "Il coach non vede i dati delle metriche selezionate.", + "settingsContextLabel": "Invia contesto", + "settingsContextHint": "Blocchi opzionali su cui il coach può basarsi. Disattivandone uno, viene omesso da ogni risposta.", "settingsEvidenceLabel": "Mostra le evidenze per default", "settingsEvidenceHint": "Apre automaticamente il riquadro delle evidenze sotto ogni risposta.", "settingsDefaultWindowLabel": "Periodo di analisi predefinito", @@ -2226,8 +2232,6 @@ "dailyLimitBody": "Limite giornaliero raggiunto. Il budget si reimposta a mezzanotte (UTC).", "providerRateLimitTitle": "Provider con rate-limit", "providerRateLimitBody": "Il provider è temporaneamente sovraccarico; reset in ~5 min.", - "settingsContextLabel": "Invia contesto", - "settingsContextHint": "Blocchi opzionali su cui il coach può basarsi. Disattivandone uno, viene omesso da ogni risposta.", "cluster": { "cardio": { "label": "Cardiovascolare", @@ -2320,6 +2324,33 @@ "groupYesterday": "Ieri", "groupThisWeek": "Questa settimana", "groupEarlier": "Precedenti" + }, + "seed": { + "bloodPressure": "Esamina con me l'andamento della mia pressione arteriosa negli ultimi 30 giorni — c'è qualcosa che dovrei tenere d'occhio?", + "weight": "Come si è evoluto il mio peso ultimamente e la direzione è qualcosa su cui intervenire?", + "bmi": "Cosa mi dice l'andamento del mio BMI e come dovrei interpretarlo?", + "pulse": "Esamina con me le mie letture del battito — c'è qualcosa fuori dal comune?", + "restingHr": "Come si è evoluta la mia frequenza cardiaca a riposo e cosa dice sulla mia forma fisica?", + "hrv": "Cosa mi dice la mia variabilità della frequenza cardiaca su recupero e stress ultimamente?", + "sleep": "Esamina con me il mio sonno recente — durata, regolarità e qualsiasi cosa valga la pena cambiare.", + "mood": "Quali schemi noti nel mio umore nelle ultime settimane?", + "medications": "Com'è la mia aderenza alla terapia e corrisponde a come mi sono sentito?", + "steps": "Quanto sono stato attivo ultimamente in base ai miei passi e come si confronta con un valore di riferimento sano?", + "activeEnergy": "Cosa dice il mio andamento dell'energia attiva sul mio livello di attività ultimamente?", + "cardioFitness": "Cosa significa l'andamento della mia forma cardiorespiratoria (VO₂ max) e come la indirizzo nella direzione giusta?", + "bloodGlucose": "Esamina con me le mie ultime letture di glicemia — sono in un intervallo sano?", + "oxygenSaturation": "Cosa mi dice l'andamento della mia saturazione di ossigeno (SpO₂)?", + "respiratoryRate": "Cosa dice il mio andamento della frequenza respiratoria sulla mia salute?", + "workouts": "Esamina con me i miei allenamenti recenti — carico, frequenza e come recupero tra uno e l'altro.", + "recoveryPage": "Perché il mio recupero è dov'è in questo momento e cosa lo determina?", + "briefing": "Esamina con me il riepilogo di oggi — su cosa dovrei concentrarmi e c'è qualcosa su cui vale la pena agire?", + "healthScore": "Perché il mio punteggio di salute è {score} su 100 e cosa lo migliorerebbe di più?", + "periodWeek": "Esamina con me com'è andata la mia ultima settimana sui miei parametri di salute — cosa spicca?", + "periodMonth": "Esamina con me com'è andato il mio ultimo mese sui miei parametri di salute — cosa spicca?", + "correlationBpCompliance": "Che relazione c'è tra la mia aderenza alla terapia e la mia pressione arteriosa? Spiegami cosa significa per me questa correlazione.", + "correlationMoodPulse": "C'è un legame reale tra il mio umore e il mio battito? Aiutami a interpretare questa correlazione.", + "correlationWeightWeekday": "Il mio peso segue uno schema settimanale? Cosa mi dice questa correlazione per giorno della settimana?", + "recommendation": "Dimmi di più su questa raccomandazione: \"{text}\" — perché si applica a me e cosa dovrei fare?" } }, "relativeJustNow": "proprio ora", @@ -3240,6 +3271,7 @@ }, "vitals": { "sectionTitle": "I tuoi parametri vitali", + "sectionSubtitle": "Segnali cardiovascolari e respiratori a riposo rispetto alla tua baseline personale", "loadingLabel": "Caricamento dei tuoi parametri vitali", "loadError": "Al momento non è stato possibile caricare i tuoi parametri vitali.", "building": "Creazione del tuo intervallo abituale — {count} di {target} giorni", @@ -3366,6 +3398,7 @@ }, "scores": { "sectionTitle": "I tuoi indicatori di salute", + "sectionSubtitle": "Valori combinati di recupero, stress e sforzo letti dai tuoi dispositivi connessi", "loadError": "Al momento non è stato possibile caricare i tuoi punteggi di benessere.", "recovery": "Recupero", "stress": "Stress", @@ -3611,7 +3644,10 @@ "returnLabel": "Il tuo {metric} è di nuovo nel tuo intervallo abituale dopo {count} giorni — qualunque cosa fosse, è passata.", "daysInside": "{count} giorni dentro", "daysOutside": "{count} giorni fuori" - } + }, + "updatedTodayAt": "Aggiornato oggi, {time}", + "updatedYesterday": "Aggiornato ieri", + "updatedOn": "Aggiornato il {date}" }, "thresholds": { "defaultLabel": "Predefinito", @@ -4413,6 +4449,28 @@ "clearedToast": "Dimenticate {count} informazioni memorizzate.", "clearError": "Impossibile cancellare le informazioni memorizzate. Riprova." }, + "coachReminders": { + "title": "I tuoi promemoria", + "description": "Cose che hai chiesto al Coach di riprendere più tardi. Quelle in scadenza compaiono qui e nel Coach.", + "empty": "Ancora nessun promemoria. Chiedi al Coach di ricordarti qualcosa e comparirà qui.", + "loadError": "Impossibile caricare i tuoi promemoria.", + "dueHeading": "In scadenza", + "allHeading": "Salvati", + "duePrefix": "in scadenza {when}", + "confirm": "Mantieni", + "markDone": "Fatto", + "dismiss": "Ignora", + "deleteAria": "Elimina questo promemoria", + "note": "I promemoria sono memorizzati cifrati. Eliminane uno in qualsiasi momento — viene rimosso da ciò che il Coach può vedere.", + "status": { + "proposed": "Suggerito", + "active": "Salvato", + "due": "In scadenza", + "surfaced": "Mostrato", + "done": "Fatto", + "dismissed": "Ignorato" + } + }, "aboutMe": { "title": "Su di me", "description": "Contesto personale che il Coach e il briefing giornaliero leggono insieme ai tuoi dati.", @@ -6737,7 +6795,14 @@ "savedToast": "Biomarcatore salvato", "updatedToast": "Biomarcatore aggiornato", "saveError": "Impossibile salvare il biomarcatore" - } + }, + "hide": "Nascondi", + "unhide": "Ripristina", + "hiddenToast": "Biomarcatore nascosto", + "unhiddenToast": "Biomarcatore ripristinato", + "hideError": "Impossibile aggiornare il biomarcatore", + "allHidden": "Tutti i biomarcatori sono nascosti.", + "hiddenSection": "Nascosti" }, "catalog": { "total-cholesterol": "Colesterolo totale", @@ -7058,6 +7123,25 @@ "glucoseStructured": "Misura la glicemia con un programma giornaliero strutturato" } }, + "suggestedAction": { + "apply": "Aggiungi", + "dismiss": "Non ora", + "applied": "Aggiunto", + "dismissed": "Ignorato", + "failed": "Impossibile aggiungere — riprova", + "checkup": { + "title": "Aggiungere un promemoria di controllo?" + }, + "note": { + "title": "Salvare un promemoria?" + }, + "interval": { + "yearly": "Ogni anno", + "halfYearly": "Ogni sei mesi", + "quarterly": "Ogni tre mesi", + "monthly": "Ogni mese" + } + }, "settings": { "reminderSuggestionsLabel": "Suggerimenti di cadenza", "reminderSuggestionsDescription": "Lascia che il Coach proponga ogni tanto un promemoria basato sull'evidenza per misurare una metrica più regolarmente." diff --git a/messages/pl.json b/messages/pl.json index a3c258548..f0787958d 100644 --- a/messages/pl.json +++ b/messages/pl.json @@ -511,6 +511,7 @@ "previousPage": "Poprzednia strona", "nextPage": "Następna strona", "dailyTotalCaption": "({count} pomiarów)", + "openMetricInsights": "Otwórz analizę {type}", "sleepNapCaption": "+{count} drzemka/i", "sleepAwakeningsCaption": "{count} przebudzenia", "expandDay": "Pokaż pomiary z tego dnia", @@ -2098,6 +2099,9 @@ "composerPlaceholder": "Zapytaj o swoje dane…", "nudgeBubbleLabel": "Nowa wiadomość od trenera — otwórz czat", "fabLabel": "Otwórz trenera", + "readAloud": "Czytaj na głos", + "readAloudStop": "Zatrzymaj czytanie", + "messageTimeLabel": "Wiadomość wysłana {time}", "selfContextAdopt": { "offer": "Dodać tę odpowiedź do Twoich informacji o sobie?", "confirm": "Dodaj", @@ -2211,6 +2215,8 @@ "settingsSourcesPointerLink": "Otwórz coacha", "settingsExcludeLabel": "Wyklucz metryki", "settingsExcludeHint": "Coach nie zobaczy danych wybranych metryk.", + "settingsContextLabel": "Wysyłaj kontekst", + "settingsContextHint": "Opcjonalne bloki, na których coach może się opierać. Wyłączenie pominie blok w każdej odpowiedzi.", "settingsEvidenceLabel": "Pokazuj dowody domyślnie", "settingsEvidenceHint": "Automatycznie otwiera pole dowodów pod każdą odpowiedzią.", "settingsDefaultWindowLabel": "Domyślny okres analizy", @@ -2226,8 +2232,6 @@ "dailyLimitBody": "Osiągnięto dzienny limit. Limit resetuje się o północy (UTC).", "providerRateLimitTitle": "Dostawca z ograniczeniem", "providerRateLimitBody": "Dostawca jest tymczasowo przeciążony; reset za ~5 min.", - "settingsContextLabel": "Wysyłaj kontekst", - "settingsContextHint": "Opcjonalne bloki, na których coach może się opierać. Wyłączenie pominie blok w każdej odpowiedzi.", "cluster": { "cardio": { "label": "Sercowo-naczyniowe", @@ -2320,6 +2324,33 @@ "groupYesterday": "Wczoraj", "groupThisWeek": "W tym tygodniu", "groupEarlier": "Wcześniej" + }, + "seed": { + "bloodPressure": "Przejdź ze mną przez trend mojego ciśnienia krwi z ostatnich 30 dni — czy jest coś, na co powinienem zwrócić uwagę?", + "weight": "Jak zmieniała się ostatnio moja waga i czy ten kierunek wymaga reakcji?", + "bmi": "Co mówi mi mój trend BMI i jak powinienem go odczytywać?", + "pulse": "Przejdź ze mną przez moje odczyty tętna — czy coś odbiega od normy?", + "restingHr": "Jak zmieniało się moje tętno spoczynkowe i co mówi o mojej kondycji?", + "hrv": "Co moja zmienność rytmu serca mówi mi o regeneracji i stresie w ostatnim czasie?", + "sleep": "Przejdź ze mną przez mój ostatni sen — długość, regularność i wszystko, co warto zmienić.", + "mood": "Jakie wzorce widzisz w moim nastroju w ciągu ostatnich kilku tygodni?", + "medications": "Jak wygląda moje przestrzeganie zaleceń lekowych i czy pokrywa się z tym, jak się czułem?", + "steps": "Jak aktywny byłem ostatnio na podstawie moich kroków i jak wypada to na tle zdrowego punktu odniesienia?", + "activeEnergy": "Co mój trend aktywnej energii mówi o moim poziomie aktywności w ostatnim czasie?", + "cardioFitness": "Co oznacza trend mojej wydolności krążeniowo-oddechowej (VO₂ max) i jak skierować go we właściwą stronę?", + "bloodGlucose": "Przejdź ze mną przez moje ostatnie odczyty glukozy — czy mieszczą się w zdrowym zakresie?", + "oxygenSaturation": "Co mówi mi mój trend saturacji krwi tlenem (SpO₂)?", + "respiratoryRate": "Co mój trend częstości oddechów mówi o moim zdrowiu?", + "workouts": "Przejdź ze mną przez moje ostatnie treningi — obciążenie, częstotliwość i jak regeneruję się między nimi.", + "recoveryPage": "Dlaczego moja regeneracja jest teraz na takim poziomie i co na nią wpływa?", + "briefing": "Przejdź ze mną przez dzisiejszy briefing — na czym powinienem się skupić i czy jest coś, co warto podjąć?", + "healthScore": "Dlaczego mój wynik zdrowia wynosi {score} na 100 i co poprawiłoby go najbardziej?", + "periodWeek": "Przejdź ze mną przez to, jak minął mój ostatni tydzień w moich wskaźnikach zdrowia — co się wyróżnia?", + "periodMonth": "Przejdź ze mną przez to, jak minął mój ostatni miesiąc w moich wskaźnikach zdrowia — co się wyróżnia?", + "correlationBpCompliance": "Jak moje przestrzeganie zaleceń lekowych wiąże się z moim ciśnieniem krwi? Wyjaśnij mi, co ta korelacja oznacza dla mnie.", + "correlationMoodPulse": "Czy istnieje rzeczywisty związek między moim nastrojem a tętnem? Pomóż mi odczytać tę korelację.", + "correlationWeightWeekday": "Czy moja waga podlega cotygodniowemu wzorcowi? Co mówi mi ta korelacja według dnia tygodnia?", + "recommendation": "Powiedz mi więcej o tej rekomendacji: \"{text}\" — dlaczego mnie dotyczy i co powinienem z nią zrobić?" } }, "relativeJustNow": "przed chwilą", @@ -3240,6 +3271,7 @@ }, "vitals": { "sectionTitle": "Twoje parametry życiowe", + "sectionSubtitle": "Spoczynkowe sygnały sercowo-naczyniowe i oddechowe na tle Twojej własnej linii bazowej", "loadingLabel": "Wczytywanie parametrów życiowych", "loadError": "Nie udało się teraz wczytać Twoich parametrów życiowych.", "building": "Budowanie Twojego typowego zakresu — {count} z {target} dni", @@ -3366,6 +3398,7 @@ }, "scores": { "sectionTitle": "Twoje wskaźniki zdrowia", + "sectionSubtitle": "Złożone wartości regeneracji, stresu i obciążenia odczytane z Twoich połączonych urządzeń", "loadError": "Nie udało się teraz wczytać Twoich wyników dobrostanu.", "recovery": "Regeneracja", "stress": "Stres", @@ -3611,7 +3644,10 @@ "returnLabel": "Twój {metric} wrócił do twojego zwykłego zakresu po {count} dniach — cokolwiek to było, minęło.", "daysInside": "{count} dni w zakresie", "daysOutside": "{count} dni poza zakresem" - } + }, + "updatedTodayAt": "Zaktualizowano dzisiaj, {time}", + "updatedYesterday": "Zaktualizowano wczoraj", + "updatedOn": "Zaktualizowano {date}" }, "thresholds": { "defaultLabel": "Domyślne", @@ -4413,6 +4449,28 @@ "clearedToast": "Zapomniano {count} zapisanych informacji.", "clearError": "Nie udało się usunąć zapisanych informacji. Spróbuj ponownie." }, + "coachReminders": { + "title": "Twoje przypomnienia", + "description": "Rzeczy, o których przypomnienie poprosiłeś Coacha. Te, których termin nadszedł, pojawiają się tutaj i w Coachu.", + "empty": "Brak przypomnień. Poproś Coacha, aby przypomniał Ci o czymś, a pojawi się tutaj.", + "loadError": "Nie udało się wczytać Twoich przypomnień.", + "dueHeading": "Termin teraz", + "allHeading": "Zapisane", + "duePrefix": "termin {when}", + "confirm": "Zachowaj", + "markDone": "Gotowe", + "dismiss": "Odrzuć", + "deleteAria": "Usuń to przypomnienie", + "note": "Przypomnienia są przechowywane w postaci zaszyfrowanej. Usuń je w dowolnej chwili — znika z tego, co widzi Coach.", + "status": { + "proposed": "Sugerowane", + "active": "Zapisane", + "due": "Termin", + "surfaced": "Wyświetlone", + "done": "Gotowe", + "dismissed": "Odrzucone" + } + }, "aboutMe": { "title": "O mnie", "description": "Osobisty kontekst, który Coach i codzienny briefing czytają obok Twoich danych.", @@ -6737,7 +6795,14 @@ "savedToast": "Biomarker zapisany", "updatedToast": "Biomarker zaktualizowany", "saveError": "Nie udało się zapisać biomarkera" - } + }, + "hide": "Ukryj", + "unhide": "Przywróć", + "hiddenToast": "Biomarker ukryty", + "unhiddenToast": "Biomarker przywrócony", + "hideError": "Nie udało się zaktualizować biomarkera", + "allHidden": "Wszystkie biomarkery są ukryte.", + "hiddenSection": "Ukryte" }, "catalog": { "total-cholesterol": "Cholesterol całkowity", @@ -7058,6 +7123,25 @@ "glucoseStructured": "Mierz glukozę według ustrukturyzowanego planu dziennego" } }, + "suggestedAction": { + "apply": "Dodaj", + "dismiss": "Nie teraz", + "applied": "Dodano", + "dismissed": "Odrzucono", + "failed": "Nie udało się dodać — spróbuj ponownie", + "checkup": { + "title": "Dodać przypomnienie o badaniu?" + }, + "note": { + "title": "Zapisać przypomnienie?" + }, + "interval": { + "yearly": "Co roku", + "halfYearly": "Co sześć miesięcy", + "quarterly": "Co trzy miesiące", + "monthly": "Co miesiąc" + } + }, "settings": { "reminderSuggestionsLabel": "Sugestie częstotliwości", "reminderSuggestionsDescription": "Pozwól Coachowi od czasu do czasu zaproponować oparte na dowodach przypomnienie, aby mierzyć daną wartość bardziej regularnie."