mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-08 12:32:43 +00:00
i18n(shell): translate onboarding, getting-started, bug-report, telegram into es/fr/it/pl
Localises the first-run shell (5-step onboarding tour, getting-started
checklist with 5 items × title/description/cta), the bug-report form,
and the Telegram bot prompts/confirmations. Polish, French, Spanish,
and Italian copy maintains the conversational professional register
used in the German source. Placeholders {current}, {total}, {done},
{name}, {duration}, {minLength} preserved.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
0cc9f55a4c
commit
bc2bc65335
4 files changed
+334
-334
No files matched your search
+83
-83
@@ -155,7 +155,7 @@
|
||||
},
|
||||
"errorBoundary": {
|
||||
"title": "Algo ha salido mal",
|
||||
"description": "An unexpected error occurred. You can retry, copy the technical details, or open a bug report."
|
||||
"description": "Se ha producido un error inesperado. Puedes reintentar, copiar los detalles técnicos o abrir un reporte de bug."
|
||||
},
|
||||
"nav": {
|
||||
"dashboard": "Panel",
|
||||
@@ -165,7 +165,7 @@
|
||||
"targets": "Objetivos",
|
||||
"achievements": "Logros",
|
||||
"settings": "Ajustes",
|
||||
"bugreport": "Bug Report",
|
||||
"bugreport": "Reporte de bug",
|
||||
"admin": "Consola de administración",
|
||||
"logout": "Cerrar sesión",
|
||||
"login": "Iniciar sesión",
|
||||
@@ -175,18 +175,18 @@
|
||||
"themeSystem": "Sistema",
|
||||
"themeDark": "Oscuro",
|
||||
"themeLight": "Claro",
|
||||
"collapseSidebar": "Collapse",
|
||||
"userMenu": "User menu",
|
||||
"collapseSidebar": "Contraer",
|
||||
"userMenu": "Menú de usuario",
|
||||
"mood": "Estado de ánimo",
|
||||
"skipToContent": "Skip to content",
|
||||
"sidebar": "Sidebar",
|
||||
"mainNavigation": "Main navigation",
|
||||
"mobileNavigation": "Mobile navigation",
|
||||
"skipToContent": "Saltar al contenido",
|
||||
"sidebar": "Barra lateral",
|
||||
"mainNavigation": "Navegación principal",
|
||||
"mobileNavigation": "Navegación móvil",
|
||||
"breadcrumb": "Ruta de navegación",
|
||||
"loadingScreen": "Loading…",
|
||||
"more": "More",
|
||||
"moreSheetTitle": "More",
|
||||
"moreSheetDescription": "Pages that don't fit the bottom bar."
|
||||
"loadingScreen": "Cargando…",
|
||||
"more": "Más",
|
||||
"moreSheetTitle": "Más",
|
||||
"moreSheetDescription": "Páginas que no caben en la barra inferior."
|
||||
},
|
||||
"auth": {
|
||||
"login": "Iniciar sesión",
|
||||
@@ -1400,36 +1400,36 @@
|
||||
"unsetExplanation": "Sin valor propio — se aplica el valor por defecto calculado."
|
||||
},
|
||||
"onboarding": {
|
||||
"errorGeneric": "Something went wrong while finishing setup. Please try again.",
|
||||
"errorGeneric": "Algo ha salido mal al finalizar la configuración. Inténtalo de nuevo.",
|
||||
"tour": {
|
||||
"stepOf": "Paso {current} de {total}",
|
||||
"next": "Siguiente",
|
||||
"back": "Atrás",
|
||||
"skip": "Skip tour",
|
||||
"done": "Got it",
|
||||
"restart": "Restart onboarding tour",
|
||||
"restartHint": "Replay the dashboard walkthrough from the start.",
|
||||
"restartConfirmation": "Tour will restart on your next dashboard visit.",
|
||||
"skip": "Saltar tour",
|
||||
"done": "Entendido",
|
||||
"restart": "Reiniciar tour",
|
||||
"restartHint": "Vuelve a mostrar el tour del panel la próxima vez.",
|
||||
"restartConfirmation": "El tour se reiniciará en tu próxima visita al panel.",
|
||||
"steps": {
|
||||
"tileStrip": {
|
||||
"title": "Your daily numbers",
|
||||
"body": "The tile strip shows the latest reading and a 7-day trend for every metric you log — weight, blood pressure, pulse, mood. Hide what you don't need from Settings → Dashboard."
|
||||
"title": "Tus valores del día",
|
||||
"body": "La fila de tarjetas muestra el último valor y la tendencia de 7 días de cada métrica — peso, tensión arterial, pulso, ánimo. Oculta lo que no necesites en Ajustes → Panel."
|
||||
},
|
||||
"quickAdd": {
|
||||
"title": "Log anything in two taps",
|
||||
"body": "Use the Add button to drop a measurement or mood entry without leaving the dashboard. The form remembers your last context and tags."
|
||||
"title": "Registrado en dos toques",
|
||||
"body": "Con el botón Añadir puedes registrar mediciones o entradas de ánimo sin salir del panel. El formulario recuerda tu último contexto y etiquetas."
|
||||
},
|
||||
"insights": {
|
||||
"title": "Automatic insights",
|
||||
"body": "Insights turns your readings into a plain-English health summary, with classifications for blood pressure, weight trend and mood. Bring your own provider key or use the built-in default."
|
||||
"title": "Insights automáticos",
|
||||
"body": "Insights convierte tus valores en un resumen claro de salud, con interpretación de tensión arterial, peso y ánimo. Clave propia o por defecto — tú eliges."
|
||||
},
|
||||
"integrations": {
|
||||
"title": "Connect your devices",
|
||||
"body": "Open Settings to link Withings (auto-sync weight, BP and pulse), moodLog, or your Insights provider. Everything stays optional and encrypted."
|
||||
"title": "Conectar dispositivos",
|
||||
"body": "En Ajustes conectas Withings (sincronización automática de peso, tensión y pulso), moodLog o tu proveedor de análisis. Todo es opcional y queda cifrado."
|
||||
},
|
||||
"achievements": {
|
||||
"title": "Earn streaks and badges",
|
||||
"body": "The Achievements page tracks daily logging streaks, blood-pressure milestones and consistency badges. A small nudge to keep going."
|
||||
"title": "Acumula rachas e insignias",
|
||||
"body": "La página de Logros lleva la cuenta de rachas de registro diario, hitos de tensión arterial e insignias de constancia. Un pequeño empujón para no abandonar."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -1502,27 +1502,27 @@
|
||||
}
|
||||
},
|
||||
"gettingStarted": {
|
||||
"title": "Getting started",
|
||||
"subtitle": "Quick wins to get the most out of HealthLog.",
|
||||
"progress": "{done} de {total} hecho",
|
||||
"dismissAll": "Hide checklist",
|
||||
"dismissTooltip": "Hide this item",
|
||||
"title": "Primeros pasos",
|
||||
"subtitle": "Quick wins para sacar el máximo provecho a HealthLog.",
|
||||
"progress": "{done} de {total} completados",
|
||||
"dismissAll": "Ocultar la lista",
|
||||
"dismissTooltip": "Ocultar este punto",
|
||||
"items": {
|
||||
"profileTitle": "Set your profile",
|
||||
"profileDescription": "Height, date of birth and gender unlock personalised targets.",
|
||||
"profileCta": "Open profile",
|
||||
"measurementTitle": "Log your first measurement",
|
||||
"measurementDescription": "One reading is enough to draw your first trend tile.",
|
||||
"measurementCta": "Add measurement",
|
||||
"medicationTitle": "Add a medication",
|
||||
"medicationDescription": "Track compliance and get reminders right when you need them.",
|
||||
"medicationCta": "Add medication",
|
||||
"withingsTitle": "Connect Withings (optional)",
|
||||
"withingsDescription": "Auto-sync weight, BP and pulse from your Withings devices.",
|
||||
"withingsCta": "Connect",
|
||||
"notificationsTitle": "Configure notifications",
|
||||
"notificationsDescription": "Choose how HealthLog should remind you — Telegram, ntfy or Web Push.",
|
||||
"notificationsCta": "Open notifications"
|
||||
"profileTitle": "Configurar el perfil",
|
||||
"profileDescription": "Altura, fecha de nacimiento y sexo desbloquean objetivos personalizados.",
|
||||
"profileCta": "Abrir perfil",
|
||||
"measurementTitle": "Registrar la primera medición",
|
||||
"measurementDescription": "Basta una medición para trazar tu primera tarjeta de tendencia.",
|
||||
"measurementCta": "Añadir medición",
|
||||
"medicationTitle": "Añadir medicamento",
|
||||
"medicationDescription": "Sigue el cumplimiento y recibe recordatorios justo cuando los necesites.",
|
||||
"medicationCta": "Añadir medicamento",
|
||||
"withingsTitle": "Conectar Withings (opcional)",
|
||||
"withingsDescription": "Sincroniza peso, tensión arterial y pulso automáticamente desde tus dispositivos Withings.",
|
||||
"withingsCta": "Conectar",
|
||||
"notificationsTitle": "Configurar notificaciones",
|
||||
"notificationsDescription": "Elige cómo te recuerda HealthLog — Telegram, ntfy o Web Push.",
|
||||
"notificationsCta": "Abrir notificaciones"
|
||||
}
|
||||
},
|
||||
"trendHints": {
|
||||
@@ -2746,22 +2746,22 @@
|
||||
}
|
||||
},
|
||||
"bugreport": {
|
||||
"title": "Bug Report",
|
||||
"subtitle": "Send a bug report, feature request, or question. The server administrator will see your submission.",
|
||||
"loginRequired": "Please sign in to report a bug.",
|
||||
"bugTitle": "Title",
|
||||
"title": "Reporte de bug",
|
||||
"subtitle": "Envía un fallo, una sugerencia o una pregunta. El administrador del servidor verá tu envío.",
|
||||
"loginRequired": "Inicia sesión para reportar un bug.",
|
||||
"bugTitle": "Título",
|
||||
"description": "Descripción",
|
||||
"submit": "Send",
|
||||
"success": "Thank you! Your bug report has been submitted successfully.",
|
||||
"errorCreating": "Error creating report",
|
||||
"submit": "Enviar",
|
||||
"success": "¡Gracias! Tu reporte se ha enviado correctamente.",
|
||||
"errorCreating": "Error al crear",
|
||||
"category": "Tipo",
|
||||
"categoryBug": "Bug report",
|
||||
"categoryFeature": "Feature request",
|
||||
"categoryQuestion": "Question",
|
||||
"categoryOther": "Other feedback",
|
||||
"bugTitlePlaceholder": "Short summary (optional)",
|
||||
"githubEscalationNote": "Your feedback is stored locally. If the admin enables GitHub integration, it can be promoted to a public issue on request.",
|
||||
"internalOnlyNote": "Your feedback is stored locally and only visible to the administrator of this server.",
|
||||
"categoryBug": "Fallo",
|
||||
"categoryFeature": "Sugerencia",
|
||||
"categoryQuestion": "Pregunta",
|
||||
"categoryOther": "Otro feedback",
|
||||
"bugTitlePlaceholder": "Resumen breve (opcional)",
|
||||
"githubEscalationNote": "Tu feedback se guarda localmente. Si el administrador activa la integración con GitHub, puede publicarse como issue público a petición.",
|
||||
"internalOnlyNote": "Tu feedback se guarda localmente y solo es visible para el administrador de este servidor.",
|
||||
"disabledTitle": "Bug reports are turned off",
|
||||
"disabledBody": "The administrator has disabled bug reports on this server."
|
||||
},
|
||||
@@ -2771,10 +2771,10 @@
|
||||
"breadcrumbChannels": "Canales de notificación",
|
||||
"breadcrumbSettings": "Ajustes",
|
||||
"eventColumn": "Evento",
|
||||
"subtitle": "Choose which notifications you want to receive through which channel.",
|
||||
"loadError": "Notification preferences could not be loaded.",
|
||||
"noChannels": "Configure a notification channel in Settings first.",
|
||||
"goToSettings": "Go to channel settings",
|
||||
"subtitle": "Elige qué notificaciones recibes y por qué canal.",
|
||||
"loadError": "No se han podido cargar los ajustes de notificación.",
|
||||
"noChannels": "Configura primero un canal de notificación en los ajustes.",
|
||||
"goToSettings": "Ir a los ajustes del canal",
|
||||
"channelDisabled": "Desactivado",
|
||||
"admin": {
|
||||
"deployFailedTitle": "Despliegue fallido: {application}",
|
||||
@@ -2952,24 +2952,24 @@
|
||||
"minLength": "Se requieren al menos {count} caracteres."
|
||||
},
|
||||
"telegram": {
|
||||
"errorInvalidAction": "Invalid action.",
|
||||
"errorMedicationNotFound": "Medication not found.",
|
||||
"errorMedicationInactive": "Medication not found or inactive.",
|
||||
"errorUnknownAction": "Unknown action.",
|
||||
"snoozeOneHour": "1 hour",
|
||||
"snoozeThreeHours": "3 hours",
|
||||
"snoozedFor": "{name} snoozed for {duration}.",
|
||||
"skipped": "{name} Omitida.",
|
||||
"alreadyRecorded": "{name} was already recorded.",
|
||||
"recordedAsTaken": "{name} recorded as taken.",
|
||||
"confirmed": "{name} confirmed.",
|
||||
"genericConfirmed": "Confirmed.",
|
||||
"cancelled": "Cancelled.",
|
||||
"noActiveMedications": "No active medications found.",
|
||||
"whichMedication": "<b>Which medication did you take?</b>",
|
||||
"errorInvalidAction": "Acción no válida.",
|
||||
"errorMedicationNotFound": "Medicamento no encontrado.",
|
||||
"errorMedicationInactive": "Medicamento no encontrado o inactivo.",
|
||||
"errorUnknownAction": "Acción desconocida.",
|
||||
"snoozeOneHour": "1 hora",
|
||||
"snoozeThreeHours": "3 horas",
|
||||
"snoozedFor": "{name} pospuesto durante {duration}.",
|
||||
"skipped": "{name} omitido.",
|
||||
"alreadyRecorded": "{name} ya estaba registrado.",
|
||||
"recordedAsTaken": "{name} registrado como tomado.",
|
||||
"confirmed": "{name} confirmado.",
|
||||
"genericConfirmed": "Confirmado.",
|
||||
"cancelled": "Cancelado.",
|
||||
"noActiveMedications": "No se han encontrado medicamentos activos.",
|
||||
"whichMedication": "<b>¿Qué medicamento has tomado?</b>",
|
||||
"cancelButton": "Cancelar",
|
||||
"askMedicationName": "Please specify a medication, e.g. <b>taken Ramipril</b>.",
|
||||
"medicationNotFoundExact": "Medication not found. Please send the name exactly as in HealthLog.",
|
||||
"askMedicationName": "Indica el medicamento, p. ej. <b>tomado Ramipril</b>.",
|
||||
"medicationNotFoundExact": "Medicamento no encontrado. Envía el nombre exactamente como aparece en HealthLog.",
|
||||
"helpHeader": "<b>Available commands:</b>",
|
||||
"helpBody": "/help — show this help\n/add — record an intake\n/start — start the bot\n\n<b>Text commands:</b>\ntaken <name> — confirm an intake\n\n<b>Buttons in reminders:</b>\n• Taken — confirm intake\n• 🕐 1h / 🕐 3h — postpone reminder\n• ⏭ Skip — skip intake\n• ✓ Confirm — confirm a missed intake"
|
||||
},
|
||||
|
||||
+83
-83
@@ -155,7 +155,7 @@
|
||||
},
|
||||
"errorBoundary": {
|
||||
"title": "Une erreur est survenue",
|
||||
"description": "An unexpected error occurred. You can retry, copy the technical details, or open a bug report."
|
||||
"description": "Une erreur inattendue est survenue. Tu peux réessayer, copier les détails techniques ou ouvrir un rapport de bug."
|
||||
},
|
||||
"nav": {
|
||||
"dashboard": "Tableau de bord",
|
||||
@@ -165,7 +165,7 @@
|
||||
"targets": "Objectifs",
|
||||
"achievements": "Succès",
|
||||
"settings": "Paramètres",
|
||||
"bugreport": "Bug Report",
|
||||
"bugreport": "Rapport de bug",
|
||||
"admin": "Console d’administration",
|
||||
"logout": "Se déconnecter",
|
||||
"login": "Se connecter",
|
||||
@@ -175,18 +175,18 @@
|
||||
"themeSystem": "Système",
|
||||
"themeDark": "Sombre",
|
||||
"themeLight": "Clair",
|
||||
"collapseSidebar": "Collapse",
|
||||
"userMenu": "User menu",
|
||||
"collapseSidebar": "Réduire",
|
||||
"userMenu": "Menu utilisateur",
|
||||
"mood": "Humeur",
|
||||
"skipToContent": "Skip to content",
|
||||
"sidebar": "Sidebar",
|
||||
"mainNavigation": "Main navigation",
|
||||
"mobileNavigation": "Mobile navigation",
|
||||
"skipToContent": "Aller au contenu",
|
||||
"sidebar": "Barre latérale",
|
||||
"mainNavigation": "Navigation principale",
|
||||
"mobileNavigation": "Navigation mobile",
|
||||
"breadcrumb": "Fil d'Ariane",
|
||||
"loadingScreen": "Loading…",
|
||||
"more": "More",
|
||||
"moreSheetTitle": "More",
|
||||
"moreSheetDescription": "Pages that don't fit the bottom bar."
|
||||
"loadingScreen": "Chargement…",
|
||||
"more": "Plus",
|
||||
"moreSheetTitle": "Plus",
|
||||
"moreSheetDescription": "Pages qui ne tiennent pas dans la barre du bas."
|
||||
},
|
||||
"auth": {
|
||||
"login": "Se connecter",
|
||||
@@ -1400,36 +1400,36 @@
|
||||
"unsetExplanation": "Pas de valeur personnelle — la valeur par défaut calculée s’applique."
|
||||
},
|
||||
"onboarding": {
|
||||
"errorGeneric": "Something went wrong while finishing setup. Please try again.",
|
||||
"errorGeneric": "Une erreur est survenue à la fin de la configuration. Réessaie.",
|
||||
"tour": {
|
||||
"stepOf": "Étape {current} sur {total}",
|
||||
"next": "Suivant",
|
||||
"back": "Retour",
|
||||
"skip": "Skip tour",
|
||||
"done": "Got it",
|
||||
"restart": "Restart onboarding tour",
|
||||
"restartHint": "Replay the dashboard walkthrough from the start.",
|
||||
"restartConfirmation": "Tour will restart on your next dashboard visit.",
|
||||
"back": "Précédent",
|
||||
"skip": "Passer la visite",
|
||||
"done": "Compris",
|
||||
"restart": "Relancer la visite",
|
||||
"restartHint": "Affiche à nouveau la visite du tableau de bord à la prochaine ouverture.",
|
||||
"restartConfirmation": "La visite redémarrera lors de ta prochaine visite du tableau de bord.",
|
||||
"steps": {
|
||||
"tileStrip": {
|
||||
"title": "Your daily numbers",
|
||||
"body": "The tile strip shows the latest reading and a 7-day trend for every metric you log — weight, blood pressure, pulse, mood. Hide what you don't need from Settings → Dashboard."
|
||||
"title": "Tes valeurs du jour",
|
||||
"body": "La barre de tuiles affiche la dernière valeur et la tendance 7 jours de chaque métrique — poids, tension, pouls, humeur. Masque ce qui ne te sert pas dans Paramètres → Tableau de bord."
|
||||
},
|
||||
"quickAdd": {
|
||||
"title": "Log anything in two taps",
|
||||
"body": "Use the Add button to drop a measurement or mood entry without leaving the dashboard. The form remembers your last context and tags."
|
||||
"title": "Saisi en deux tapotements",
|
||||
"body": "Via le bouton Ajouter, tu saisis des mesures ou des humeurs sans quitter le tableau de bord. Le formulaire mémorise le dernier contexte et les étiquettes."
|
||||
},
|
||||
"insights": {
|
||||
"title": "Automatic insights",
|
||||
"body": "Insights turns your readings into a plain-English health summary, with classifications for blood pressure, weight trend and mood. Bring your own provider key or use the built-in default."
|
||||
"title": "Insights automatiques",
|
||||
"body": "Insights transforme tes valeurs en un résumé santé clair, avec un classement de la tension, du poids et de l’humeur. Clé personnelle ou par défaut — c’est toi qui choisis."
|
||||
},
|
||||
"integrations": {
|
||||
"title": "Connect your devices",
|
||||
"body": "Open Settings to link Withings (auto-sync weight, BP and pulse), moodLog, or your Insights provider. Everything stays optional and encrypted."
|
||||
"title": "Connecter des appareils",
|
||||
"body": "Dans les paramètres, tu connectes Withings (synchronisation automatique du poids, de la tension et du pouls), moodLog ou ton fournisseur d’analyse. Tout reste optionnel et chiffré."
|
||||
},
|
||||
"achievements": {
|
||||
"title": "Earn streaks and badges",
|
||||
"body": "The Achievements page tracks daily logging streaks, blood-pressure milestones and consistency badges. A small nudge to keep going."
|
||||
"title": "Collecter séries et badges",
|
||||
"body": "La page Succès suit les séries de saisie quotidienne, les paliers de tension et les badges de constance. Un petit coup de pouce pour rester régulier."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -1502,27 +1502,27 @@
|
||||
}
|
||||
},
|
||||
"gettingStarted": {
|
||||
"title": "Getting started",
|
||||
"subtitle": "Quick wins to get the most out of HealthLog.",
|
||||
"progress": "{done} sur {total} terminé",
|
||||
"dismissAll": "Hide checklist",
|
||||
"dismissTooltip": "Hide this item",
|
||||
"title": "Premiers pas",
|
||||
"subtitle": "Petites victoires pour tirer le meilleur de HealthLog.",
|
||||
"progress": "{done} sur {total} faits",
|
||||
"dismissAll": "Masquer la liste",
|
||||
"dismissTooltip": "Masquer ce point",
|
||||
"items": {
|
||||
"profileTitle": "Set your profile",
|
||||
"profileDescription": "Height, date of birth and gender unlock personalised targets.",
|
||||
"profileCta": "Open profile",
|
||||
"measurementTitle": "Log your first measurement",
|
||||
"measurementDescription": "One reading is enough to draw your first trend tile.",
|
||||
"measurementCta": "Add measurement",
|
||||
"medicationTitle": "Add a medication",
|
||||
"medicationDescription": "Track compliance and get reminders right when you need them.",
|
||||
"medicationCta": "Add medication",
|
||||
"withingsTitle": "Connect Withings (optional)",
|
||||
"withingsDescription": "Auto-sync weight, BP and pulse from your Withings devices.",
|
||||
"withingsCta": "Connect",
|
||||
"notificationsTitle": "Configure notifications",
|
||||
"notificationsDescription": "Choose how HealthLog should remind you — Telegram, ntfy or Web Push.",
|
||||
"notificationsCta": "Open notifications"
|
||||
"profileTitle": "Configurer le profil",
|
||||
"profileDescription": "Taille, date de naissance et sexe débloquent des objectifs personnalisés.",
|
||||
"profileCta": "Ouvrir le profil",
|
||||
"measurementTitle": "Saisir la première mesure",
|
||||
"measurementDescription": "Une mesure suffit pour tracer ta première tuile de tendance.",
|
||||
"measurementCta": "Ajouter une mesure",
|
||||
"medicationTitle": "Ajouter un médicament",
|
||||
"medicationDescription": "Suis l’observance et reçois des rappels au moment où tu en as besoin.",
|
||||
"medicationCta": "Ajouter un médicament",
|
||||
"withingsTitle": "Connecter Withings (optionnel)",
|
||||
"withingsDescription": "Synchronise automatiquement poids, tension et pouls depuis tes appareils Withings.",
|
||||
"withingsCta": "Connecter",
|
||||
"notificationsTitle": "Configurer les notifications",
|
||||
"notificationsDescription": "Choisis comment HealthLog te prévient — Telegram, ntfy ou Web Push.",
|
||||
"notificationsCta": "Ouvrir les notifications"
|
||||
}
|
||||
},
|
||||
"trendHints": {
|
||||
@@ -2746,22 +2746,22 @@
|
||||
}
|
||||
},
|
||||
"bugreport": {
|
||||
"title": "Bug Report",
|
||||
"subtitle": "Send a bug report, feature request, or question. The server administrator will see your submission.",
|
||||
"loginRequired": "Please sign in to report a bug.",
|
||||
"bugTitle": "Title",
|
||||
"title": "Rapport de bug",
|
||||
"subtitle": "Envoie un bug, une suggestion ou une question. L’administrateur du serveur verra ton envoi.",
|
||||
"loginRequired": "Connecte-toi pour signaler un bug.",
|
||||
"bugTitle": "Titre",
|
||||
"description": "Description",
|
||||
"submit": "Send",
|
||||
"success": "Thank you! Your bug report has been submitted successfully.",
|
||||
"errorCreating": "Error creating report",
|
||||
"submit": "Envoyer",
|
||||
"success": "Merci ! Ton rapport a bien été envoyé.",
|
||||
"errorCreating": "Erreur lors de la création",
|
||||
"category": "Type",
|
||||
"categoryBug": "Bug report",
|
||||
"categoryFeature": "Feature request",
|
||||
"categoryBug": "Bug",
|
||||
"categoryFeature": "Suggestion",
|
||||
"categoryQuestion": "Question",
|
||||
"categoryOther": "Other feedback",
|
||||
"bugTitlePlaceholder": "Short summary (optional)",
|
||||
"githubEscalationNote": "Your feedback is stored locally. If the admin enables GitHub integration, it can be promoted to a public issue on request.",
|
||||
"internalOnlyNote": "Your feedback is stored locally and only visible to the administrator of this server.",
|
||||
"categoryOther": "Autre retour",
|
||||
"bugTitlePlaceholder": "Résumé court (optionnel)",
|
||||
"githubEscalationNote": "Ton retour est stocké localement. Si l’administrateur active l’intégration GitHub, il pourra être publié comme issue public à la demande.",
|
||||
"internalOnlyNote": "Ton retour est stocké localement et n’est visible que par l’administrateur de ce serveur.",
|
||||
"disabledTitle": "Bug reports are turned off",
|
||||
"disabledBody": "The administrator has disabled bug reports on this server."
|
||||
},
|
||||
@@ -2771,10 +2771,10 @@
|
||||
"breadcrumbChannels": "Canaux de notification",
|
||||
"breadcrumbSettings": "Paramètres",
|
||||
"eventColumn": "Événement",
|
||||
"subtitle": "Choose which notifications you want to receive through which channel.",
|
||||
"loadError": "Notification preferences could not be loaded.",
|
||||
"noChannels": "Configure a notification channel in Settings first.",
|
||||
"goToSettings": "Go to channel settings",
|
||||
"subtitle": "Choisis quelles notifications tu reçois et par quel canal.",
|
||||
"loadError": "Impossible de charger les paramètres de notification.",
|
||||
"noChannels": "Configure d’abord un canal de notification dans les paramètres.",
|
||||
"goToSettings": "Aller aux paramètres du canal",
|
||||
"channelDisabled": "Désactivé",
|
||||
"admin": {
|
||||
"deployFailedTitle": "Échec du déploiement : {application}",
|
||||
@@ -2952,24 +2952,24 @@
|
||||
"minLength": "Au moins {count} caractères requis."
|
||||
},
|
||||
"telegram": {
|
||||
"errorInvalidAction": "Invalid action.",
|
||||
"errorMedicationNotFound": "Medication not found.",
|
||||
"errorMedicationInactive": "Medication not found or inactive.",
|
||||
"errorUnknownAction": "Unknown action.",
|
||||
"snoozeOneHour": "1 hour",
|
||||
"snoozeThreeHours": "3 hours",
|
||||
"snoozedFor": "{name} snoozed for {duration}.",
|
||||
"skipped": "{name} Sauté.",
|
||||
"alreadyRecorded": "{name} was already recorded.",
|
||||
"recordedAsTaken": "{name} recorded as taken.",
|
||||
"confirmed": "{name} confirmed.",
|
||||
"genericConfirmed": "Confirmed.",
|
||||
"cancelled": "Cancelled.",
|
||||
"noActiveMedications": "No active medications found.",
|
||||
"whichMedication": "<b>Which medication did you take?</b>",
|
||||
"errorInvalidAction": "Action invalide.",
|
||||
"errorMedicationNotFound": "Médicament introuvable.",
|
||||
"errorMedicationInactive": "Médicament introuvable ou inactif.",
|
||||
"errorUnknownAction": "Action inconnue.",
|
||||
"snoozeOneHour": "1 heure",
|
||||
"snoozeThreeHours": "3 heures",
|
||||
"snoozedFor": "{name} reporté de {duration}.",
|
||||
"skipped": "{name} ignoré.",
|
||||
"alreadyRecorded": "{name} était déjà enregistré.",
|
||||
"recordedAsTaken": "{name} enregistré comme pris.",
|
||||
"confirmed": "{name} confirmé.",
|
||||
"genericConfirmed": "Confirmé.",
|
||||
"cancelled": "Annulé.",
|
||||
"noActiveMedications": "Aucun médicament actif trouvé.",
|
||||
"whichMedication": "<b>Quel médicament as-tu pris ?</b>",
|
||||
"cancelButton": "Annuler",
|
||||
"askMedicationName": "Please specify a medication, e.g. <b>taken Ramipril</b>.",
|
||||
"medicationNotFoundExact": "Medication not found. Please send the name exactly as in HealthLog.",
|
||||
"askMedicationName": "Indique le médicament, p. ex. <b>pris Ramipril</b>.",
|
||||
"medicationNotFoundExact": "Médicament introuvable. Envoie le nom exactement tel qu’il apparaît dans HealthLog.",
|
||||
"helpHeader": "<b>Available commands:</b>",
|
||||
"helpBody": "/help — show this help\n/add — record an intake\n/start — start the bot\n\n<b>Text commands:</b>\ntaken <name> — confirm an intake\n\n<b>Buttons in reminders:</b>\n• Taken — confirm intake\n• 🕐 1h / 🕐 3h — postpone reminder\n• ⏭ Skip — skip intake\n• ✓ Confirm — confirm a missed intake"
|
||||
},
|
||||
|
||||
+84
-84
@@ -155,7 +155,7 @@
|
||||
},
|
||||
"errorBoundary": {
|
||||
"title": "Qualcosa è andato storto",
|
||||
"description": "An unexpected error occurred. You can retry, copy the technical details, or open a bug report."
|
||||
"description": "Si è verificato un errore inatteso. Puoi riprovare, copiare i dettagli tecnici o aprire una segnalazione di bug."
|
||||
},
|
||||
"nav": {
|
||||
"dashboard": "Dashboard",
|
||||
@@ -165,7 +165,7 @@
|
||||
"targets": "Obiettivi",
|
||||
"achievements": "Traguardi",
|
||||
"settings": "Impostazioni",
|
||||
"bugreport": "Bug Report",
|
||||
"bugreport": "Segnalazione bug",
|
||||
"admin": "Console di amministrazione",
|
||||
"logout": "Esci",
|
||||
"login": "Accedi",
|
||||
@@ -175,18 +175,18 @@
|
||||
"themeSystem": "Sistema",
|
||||
"themeDark": "Scuro",
|
||||
"themeLight": "Chiaro",
|
||||
"collapseSidebar": "Collapse",
|
||||
"userMenu": "User menu",
|
||||
"collapseSidebar": "Riduci",
|
||||
"userMenu": "Menu utente",
|
||||
"mood": "Umore",
|
||||
"skipToContent": "Skip to content",
|
||||
"sidebar": "Sidebar",
|
||||
"mainNavigation": "Main navigation",
|
||||
"mobileNavigation": "Mobile navigation",
|
||||
"skipToContent": "Vai al contenuto",
|
||||
"sidebar": "Barra laterale",
|
||||
"mainNavigation": "Navigazione principale",
|
||||
"mobileNavigation": "Navigazione mobile",
|
||||
"breadcrumb": "Navigazione breadcrumb",
|
||||
"loadingScreen": "Loading…",
|
||||
"more": "More",
|
||||
"moreSheetTitle": "More",
|
||||
"moreSheetDescription": "Pages that don't fit the bottom bar."
|
||||
"loadingScreen": "Caricamento…",
|
||||
"more": "Altro",
|
||||
"moreSheetTitle": "Altro",
|
||||
"moreSheetDescription": "Pagine che non entrano nella barra inferiore."
|
||||
},
|
||||
"auth": {
|
||||
"login": "Accedi",
|
||||
@@ -1400,36 +1400,36 @@
|
||||
"unsetExplanation": "Nessun valore personale — è attivo il predefinito calcolato."
|
||||
},
|
||||
"onboarding": {
|
||||
"errorGeneric": "Something went wrong while finishing setup. Please try again.",
|
||||
"errorGeneric": "Qualcosa è andato storto durante il completamento della configurazione. Riprova.",
|
||||
"tour": {
|
||||
"stepOf": "Passo {current} di {total}",
|
||||
"stepOf": "Passaggio {current} di {total}",
|
||||
"next": "Avanti",
|
||||
"back": "Indietro",
|
||||
"skip": "Skip tour",
|
||||
"done": "Got it",
|
||||
"restart": "Restart onboarding tour",
|
||||
"restartHint": "Replay the dashboard walkthrough from the start.",
|
||||
"restartConfirmation": "Tour will restart on your next dashboard visit.",
|
||||
"skip": "Salta tour",
|
||||
"done": "Ho capito",
|
||||
"restart": "Riavvia tour",
|
||||
"restartHint": "Mostra di nuovo il tour della dashboard alla prossima apertura.",
|
||||
"restartConfirmation": "Il tour ripartirà alla tua prossima visita alla dashboard.",
|
||||
"steps": {
|
||||
"tileStrip": {
|
||||
"title": "Your daily numbers",
|
||||
"body": "The tile strip shows the latest reading and a 7-day trend for every metric you log — weight, blood pressure, pulse, mood. Hide what you don't need from Settings → Dashboard."
|
||||
"title": "I tuoi valori di oggi",
|
||||
"body": "La striscia di tile mostra l’ultimo valore e il trend a 7 giorni di ogni metrica — peso, pressione, pulsazioni, umore. Nascondi ciò che non ti serve in Impostazioni → Dashboard."
|
||||
},
|
||||
"quickAdd": {
|
||||
"title": "Log anything in two taps",
|
||||
"body": "Use the Add button to drop a measurement or mood entry without leaving the dashboard. The form remembers your last context and tags."
|
||||
"title": "Registrato in due tap",
|
||||
"body": "Con il pulsante Aggiungi registri misurazioni o voci di umore senza lasciare la dashboard. Il modulo ricorda il contesto e i tag più recenti."
|
||||
},
|
||||
"insights": {
|
||||
"title": "Automatic insights",
|
||||
"body": "Insights turns your readings into a plain-English health summary, with classifications for blood pressure, weight trend and mood. Bring your own provider key or use the built-in default."
|
||||
"title": "Insights automatici",
|
||||
"body": "Insights trasforma i tuoi valori in un riepilogo chiaro della salute, con inquadramento di pressione, peso e umore. Chiave personale o predefinita — scegli tu."
|
||||
},
|
||||
"integrations": {
|
||||
"title": "Connect your devices",
|
||||
"body": "Open Settings to link Withings (auto-sync weight, BP and pulse), moodLog, or your Insights provider. Everything stays optional and encrypted."
|
||||
"title": "Collegare dispositivi",
|
||||
"body": "Dalle impostazioni colleghi Withings (sincronizzazione automatica di peso, pressione e pulsazioni), moodLog o il tuo provider di analisi. Tutto resta opzionale e cifrato."
|
||||
},
|
||||
"achievements": {
|
||||
"title": "Earn streaks and badges",
|
||||
"body": "The Achievements page tracks daily logging streaks, blood-pressure milestones and consistency badges. A small nudge to keep going."
|
||||
"title": "Accumula serie e badge",
|
||||
"body": "La pagina Traguardi tiene traccia delle serie di registrazioni giornaliere, dei traguardi di pressione e dei badge di costanza. Un piccolo incentivo per non mollare."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -1502,27 +1502,27 @@
|
||||
}
|
||||
},
|
||||
"gettingStarted": {
|
||||
"title": "Getting started",
|
||||
"subtitle": "Quick wins to get the most out of HealthLog.",
|
||||
"progress": "{done} di {total} fatto",
|
||||
"dismissAll": "Hide checklist",
|
||||
"dismissTooltip": "Hide this item",
|
||||
"title": "Primi passi",
|
||||
"subtitle": "Quick win per sfruttare al massimo HealthLog.",
|
||||
"progress": "{done} di {total} completati",
|
||||
"dismissAll": "Nascondi la checklist",
|
||||
"dismissTooltip": "Nascondi questa voce",
|
||||
"items": {
|
||||
"profileTitle": "Set your profile",
|
||||
"profileDescription": "Height, date of birth and gender unlock personalised targets.",
|
||||
"profileCta": "Open profile",
|
||||
"measurementTitle": "Log your first measurement",
|
||||
"measurementDescription": "One reading is enough to draw your first trend tile.",
|
||||
"measurementCta": "Add measurement",
|
||||
"medicationTitle": "Add a medication",
|
||||
"medicationDescription": "Track compliance and get reminders right when you need them.",
|
||||
"medicationCta": "Add medication",
|
||||
"withingsTitle": "Connect Withings (optional)",
|
||||
"withingsDescription": "Auto-sync weight, BP and pulse from your Withings devices.",
|
||||
"withingsCta": "Connect",
|
||||
"notificationsTitle": "Configure notifications",
|
||||
"notificationsDescription": "Choose how HealthLog should remind you — Telegram, ntfy or Web Push.",
|
||||
"notificationsCta": "Open notifications"
|
||||
"profileTitle": "Configura il profilo",
|
||||
"profileDescription": "Altezza, data di nascita e sesso sbloccano obiettivi personalizzati.",
|
||||
"profileCta": "Apri profilo",
|
||||
"measurementTitle": "Registra la prima misurazione",
|
||||
"measurementDescription": "Basta una misurazione per disegnare il primo tile di trend.",
|
||||
"measurementCta": "Aggiungi misurazione",
|
||||
"medicationTitle": "Aggiungi un farmaco",
|
||||
"medicationDescription": "Monitora l’aderenza e ricevi promemoria proprio quando ti servono.",
|
||||
"medicationCta": "Aggiungi farmaco",
|
||||
"withingsTitle": "Collega Withings (opzionale)",
|
||||
"withingsDescription": "Sincronizza peso, pressione e pulsazioni automaticamente dai tuoi dispositivi Withings.",
|
||||
"withingsCta": "Collega",
|
||||
"notificationsTitle": "Configura le notifiche",
|
||||
"notificationsDescription": "Scegli come HealthLog ti ricorda — Telegram, ntfy o Web Push.",
|
||||
"notificationsCta": "Apri notifiche"
|
||||
}
|
||||
},
|
||||
"trendHints": {
|
||||
@@ -2746,22 +2746,22 @@
|
||||
}
|
||||
},
|
||||
"bugreport": {
|
||||
"title": "Bug Report",
|
||||
"subtitle": "Send a bug report, feature request, or question. The server administrator will see your submission.",
|
||||
"loginRequired": "Please sign in to report a bug.",
|
||||
"bugTitle": "Title",
|
||||
"title": "Segnalazione bug",
|
||||
"subtitle": "Invia un bug, un’idea o una domanda. L’amministratore del server vedrà la tua segnalazione.",
|
||||
"loginRequired": "Accedi per segnalare un bug.",
|
||||
"bugTitle": "Titolo",
|
||||
"description": "Descrizione",
|
||||
"submit": "Send",
|
||||
"success": "Thank you! Your bug report has been submitted successfully.",
|
||||
"errorCreating": "Error creating report",
|
||||
"submit": "Invia",
|
||||
"success": "Grazie! La tua segnalazione è stata inviata.",
|
||||
"errorCreating": "Errore durante la creazione",
|
||||
"category": "Tipo",
|
||||
"categoryBug": "Bug report",
|
||||
"categoryFeature": "Feature request",
|
||||
"categoryQuestion": "Question",
|
||||
"categoryOther": "Other feedback",
|
||||
"bugTitlePlaceholder": "Short summary (optional)",
|
||||
"githubEscalationNote": "Your feedback is stored locally. If the admin enables GitHub integration, it can be promoted to a public issue on request.",
|
||||
"internalOnlyNote": "Your feedback is stored locally and only visible to the administrator of this server.",
|
||||
"categoryBug": "Bug",
|
||||
"categoryFeature": "Suggerimento",
|
||||
"categoryQuestion": "Domanda",
|
||||
"categoryOther": "Altro feedback",
|
||||
"bugTitlePlaceholder": "Riassunto breve (opzionale)",
|
||||
"githubEscalationNote": "Il feedback viene salvato localmente. Se l’amministratore attiva l’integrazione GitHub, può essere pubblicato come issue pubblico su richiesta.",
|
||||
"internalOnlyNote": "Il feedback viene salvato localmente ed è visibile solo all’amministratore di questo server.",
|
||||
"disabledTitle": "Bug reports are turned off",
|
||||
"disabledBody": "The administrator has disabled bug reports on this server."
|
||||
},
|
||||
@@ -2771,10 +2771,10 @@
|
||||
"breadcrumbChannels": "Canali di notifica",
|
||||
"breadcrumbSettings": "Impostazioni",
|
||||
"eventColumn": "Evento",
|
||||
"subtitle": "Choose which notifications you want to receive through which channel.",
|
||||
"loadError": "Notification preferences could not be loaded.",
|
||||
"noChannels": "Configure a notification channel in Settings first.",
|
||||
"goToSettings": "Go to channel settings",
|
||||
"subtitle": "Scegli quali notifiche ricevere e su quale canale.",
|
||||
"loadError": "Impossibile caricare le impostazioni di notifica.",
|
||||
"noChannels": "Configura prima un canale di notifica nelle impostazioni.",
|
||||
"goToSettings": "Vai alle impostazioni del canale",
|
||||
"channelDisabled": "Disabilitato",
|
||||
"admin": {
|
||||
"deployFailedTitle": "Distribuzione fallita: {application}",
|
||||
@@ -2952,24 +2952,24 @@
|
||||
"minLength": "Servono almeno {count} caratteri."
|
||||
},
|
||||
"telegram": {
|
||||
"errorInvalidAction": "Invalid action.",
|
||||
"errorMedicationNotFound": "Medication not found.",
|
||||
"errorMedicationInactive": "Medication not found or inactive.",
|
||||
"errorUnknownAction": "Unknown action.",
|
||||
"snoozeOneHour": "1 hour",
|
||||
"snoozeThreeHours": "3 hours",
|
||||
"snoozedFor": "{name} snoozed for {duration}.",
|
||||
"skipped": "{name} Saltata.",
|
||||
"alreadyRecorded": "{name} was already recorded.",
|
||||
"recordedAsTaken": "{name} recorded as taken.",
|
||||
"confirmed": "{name} confirmed.",
|
||||
"genericConfirmed": "Confirmed.",
|
||||
"cancelled": "Cancelled.",
|
||||
"noActiveMedications": "No active medications found.",
|
||||
"whichMedication": "<b>Which medication did you take?</b>",
|
||||
"errorInvalidAction": "Azione non valida.",
|
||||
"errorMedicationNotFound": "Farmaco non trovato.",
|
||||
"errorMedicationInactive": "Farmaco non trovato o inattivo.",
|
||||
"errorUnknownAction": "Azione sconosciuta.",
|
||||
"snoozeOneHour": "1 ora",
|
||||
"snoozeThreeHours": "3 ore",
|
||||
"snoozedFor": "{name} rinviato di {duration}.",
|
||||
"skipped": "{name} saltato.",
|
||||
"alreadyRecorded": "{name} era già registrato.",
|
||||
"recordedAsTaken": "{name} registrato come assunto.",
|
||||
"confirmed": "{name} confermato.",
|
||||
"genericConfirmed": "Confermato.",
|
||||
"cancelled": "Annullato.",
|
||||
"noActiveMedications": "Nessun farmaco attivo trovato.",
|
||||
"whichMedication": "<b>Quale farmaco hai assunto?</b>",
|
||||
"cancelButton": "Annulla",
|
||||
"askMedicationName": "Please specify a medication, e.g. <b>taken Ramipril</b>.",
|
||||
"medicationNotFoundExact": "Medication not found. Please send the name exactly as in HealthLog.",
|
||||
"askMedicationName": "Indica il farmaco, es. <b>preso Ramipril</b>.",
|
||||
"medicationNotFoundExact": "Farmaco non trovato. Invia il nome esattamente come appare in HealthLog.",
|
||||
"helpHeader": "<b>Available commands:</b>",
|
||||
"helpBody": "/help — show this help\n/add — record an intake\n/start — start the bot\n\n<b>Text commands:</b>\ntaken <name> — confirm an intake\n\n<b>Buttons in reminders:</b>\n• Taken — confirm intake\n• 🕐 1h / 🕐 3h — postpone reminder\n• ⏭ Skip — skip intake\n• ✓ Confirm — confirm a missed intake"
|
||||
},
|
||||
|
||||
+84
-84
@@ -155,7 +155,7 @@
|
||||
},
|
||||
"errorBoundary": {
|
||||
"title": "Coś poszło nie tak",
|
||||
"description": "An unexpected error occurred. You can retry, copy the technical details, or open a bug report."
|
||||
"description": "Wystąpił nieoczekiwany błąd. Możesz spróbować ponownie, skopiować szczegóły techniczne lub otworzyć zgłoszenie błędu."
|
||||
},
|
||||
"nav": {
|
||||
"dashboard": "Panel",
|
||||
@@ -165,7 +165,7 @@
|
||||
"targets": "Cele",
|
||||
"achievements": "Osiągnięcia",
|
||||
"settings": "Ustawienia",
|
||||
"bugreport": "Bug Report",
|
||||
"bugreport": "Zgłoszenie błędu",
|
||||
"admin": "Konsola administratora",
|
||||
"logout": "Wyloguj",
|
||||
"login": "Zaloguj",
|
||||
@@ -175,18 +175,18 @@
|
||||
"themeSystem": "Systemowy",
|
||||
"themeDark": "Ciemny",
|
||||
"themeLight": "Jasny",
|
||||
"collapseSidebar": "Collapse",
|
||||
"userMenu": "User menu",
|
||||
"collapseSidebar": "Zwiń",
|
||||
"userMenu": "Menu użytkownika",
|
||||
"mood": "Nastrój",
|
||||
"skipToContent": "Skip to content",
|
||||
"sidebar": "Sidebar",
|
||||
"mainNavigation": "Main navigation",
|
||||
"mobileNavigation": "Mobile navigation",
|
||||
"skipToContent": "Przejdź do treści",
|
||||
"sidebar": "Pasek boczny",
|
||||
"mainNavigation": "Nawigacja główna",
|
||||
"mobileNavigation": "Nawigacja mobilna",
|
||||
"breadcrumb": "Nawigacja okruszkami",
|
||||
"loadingScreen": "Loading…",
|
||||
"more": "More",
|
||||
"moreSheetTitle": "More",
|
||||
"moreSheetDescription": "Pages that don't fit the bottom bar."
|
||||
"loadingScreen": "Ładowanie…",
|
||||
"more": "Więcej",
|
||||
"moreSheetTitle": "Więcej",
|
||||
"moreSheetDescription": "Strony, które nie mieszczą się w dolnym pasku."
|
||||
},
|
||||
"auth": {
|
||||
"login": "Zaloguj się",
|
||||
@@ -1400,36 +1400,36 @@
|
||||
"unsetExplanation": "Brak własnej wartości — aktywna jest wartość domyślna."
|
||||
},
|
||||
"onboarding": {
|
||||
"errorGeneric": "Something went wrong while finishing setup. Please try again.",
|
||||
"errorGeneric": "Coś poszło nie tak podczas kończenia konfiguracji. Spróbuj ponownie.",
|
||||
"tour": {
|
||||
"stepOf": "Krok {current} z {total}",
|
||||
"next": "Dalej",
|
||||
"back": "Wstecz",
|
||||
"skip": "Skip tour",
|
||||
"done": "Got it",
|
||||
"restart": "Restart onboarding tour",
|
||||
"restartHint": "Replay the dashboard walkthrough from the start.",
|
||||
"restartConfirmation": "Tour will restart on your next dashboard visit.",
|
||||
"skip": "Pomiń tour",
|
||||
"done": "Rozumiem",
|
||||
"restart": "Uruchom tour ponownie",
|
||||
"restartHint": "Pokaż tour panelu przy następnym wejściu.",
|
||||
"restartConfirmation": "Tour ruszy ponownie przy twojej następnej wizycie w panelu.",
|
||||
"steps": {
|
||||
"tileStrip": {
|
||||
"title": "Your daily numbers",
|
||||
"body": "The tile strip shows the latest reading and a 7-day trend for every metric you log — weight, blood pressure, pulse, mood. Hide what you don't need from Settings → Dashboard."
|
||||
"title": "Twoje wartości dzienne",
|
||||
"body": "Pasek kafelków pokazuje ostatnią wartość i 7-dniowy trend dla każdej metryki — waga, ciśnienie, tętno, nastrój. Niepotrzebne wyłączysz w Ustawienia → Panel."
|
||||
},
|
||||
"quickAdd": {
|
||||
"title": "Log anything in two taps",
|
||||
"body": "Use the Add button to drop a measurement or mood entry without leaving the dashboard. The form remembers your last context and tags."
|
||||
"title": "Zarejestrowane w dwóch stuknięciach",
|
||||
"body": "Przyciskiem Dodaj zapisujesz pomiary lub nastroje bez opuszczania panelu. Formularz zapamiętuje ostatni kontekst i tagi."
|
||||
},
|
||||
"insights": {
|
||||
"title": "Automatic insights",
|
||||
"body": "Insights turns your readings into a plain-English health summary, with classifications for blood pressure, weight trend and mood. Bring your own provider key or use the built-in default."
|
||||
"title": "Automatyczne insights",
|
||||
"body": "Insights zamienia twoje wartości w przejrzysty przegląd zdrowia, z oceną ciśnienia, wagi i nastroju. Własny klucz lub domyślny — ty decydujesz."
|
||||
},
|
||||
"integrations": {
|
||||
"title": "Connect your devices",
|
||||
"body": "Open Settings to link Withings (auto-sync weight, BP and pulse), moodLog, or your Insights provider. Everything stays optional and encrypted."
|
||||
"title": "Połącz urządzenia",
|
||||
"body": "W ustawieniach łączysz Withings (auto-sync wagi, ciśnienia i tętna), moodLog lub dostawcę analizy. Wszystko zostaje opcjonalne i zaszyfrowane."
|
||||
},
|
||||
"achievements": {
|
||||
"title": "Earn streaks and badges",
|
||||
"body": "The Achievements page tracks daily logging streaks, blood-pressure milestones and consistency badges. A small nudge to keep going."
|
||||
"title": "Zbieraj serie i odznaki",
|
||||
"body": "Strona Osiągnięć śledzi codzienne serie zapisów, kamienie milowe ciśnienia i odznaki konsekwencji. Drobna motywacja do trzymania się planu."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -1502,27 +1502,27 @@
|
||||
}
|
||||
},
|
||||
"gettingStarted": {
|
||||
"title": "Getting started",
|
||||
"subtitle": "Quick wins to get the most out of HealthLog.",
|
||||
"progress": "{done} z {total} ukończone",
|
||||
"dismissAll": "Hide checklist",
|
||||
"dismissTooltip": "Hide this item",
|
||||
"title": "Pierwsze kroki",
|
||||
"subtitle": "Szybkie zwycięstwa, aby wycisnąć z HealthLog maksimum.",
|
||||
"progress": "{done} z {total} wykonanych",
|
||||
"dismissAll": "Ukryj listę",
|
||||
"dismissTooltip": "Ukryj ten punkt",
|
||||
"items": {
|
||||
"profileTitle": "Set your profile",
|
||||
"profileDescription": "Height, date of birth and gender unlock personalised targets.",
|
||||
"profileCta": "Open profile",
|
||||
"measurementTitle": "Log your first measurement",
|
||||
"measurementDescription": "One reading is enough to draw your first trend tile.",
|
||||
"measurementCta": "Add measurement",
|
||||
"medicationTitle": "Add a medication",
|
||||
"medicationDescription": "Track compliance and get reminders right when you need them.",
|
||||
"medicationCta": "Add medication",
|
||||
"withingsTitle": "Connect Withings (optional)",
|
||||
"withingsDescription": "Auto-sync weight, BP and pulse from your Withings devices.",
|
||||
"withingsCta": "Connect",
|
||||
"notificationsTitle": "Configure notifications",
|
||||
"notificationsDescription": "Choose how HealthLog should remind you — Telegram, ntfy or Web Push.",
|
||||
"notificationsCta": "Open notifications"
|
||||
"profileTitle": "Skonfiguruj profil",
|
||||
"profileDescription": "Wzrost, data urodzenia i płeć odblokowują spersonalizowane cele.",
|
||||
"profileCta": "Otwórz profil",
|
||||
"measurementTitle": "Zarejestruj pierwszy pomiar",
|
||||
"measurementDescription": "Jeden pomiar wystarczy, aby narysować pierwszy kafelek trendu.",
|
||||
"measurementCta": "Dodaj pomiar",
|
||||
"medicationTitle": "Dodaj lek",
|
||||
"medicationDescription": "Śledź przestrzeganie i otrzymuj przypomnienia dokładnie wtedy, kiedy ich potrzebujesz.",
|
||||
"medicationCta": "Dodaj lek",
|
||||
"withingsTitle": "Połącz Withings (opcjonalnie)",
|
||||
"withingsDescription": "Automatycznie synchronizuj wagę, ciśnienie i tętno z urządzeń Withings.",
|
||||
"withingsCta": "Połącz",
|
||||
"notificationsTitle": "Skonfiguruj powiadomienia",
|
||||
"notificationsDescription": "Wybierz, jak HealthLog ma ci przypominać — Telegram, ntfy lub Web Push.",
|
||||
"notificationsCta": "Otwórz powiadomienia"
|
||||
}
|
||||
},
|
||||
"trendHints": {
|
||||
@@ -2746,22 +2746,22 @@
|
||||
}
|
||||
},
|
||||
"bugreport": {
|
||||
"title": "Bug Report",
|
||||
"subtitle": "Send a bug report, feature request, or question. The server administrator will see your submission.",
|
||||
"loginRequired": "Please sign in to report a bug.",
|
||||
"bugTitle": "Title",
|
||||
"title": "Zgłoszenie błędu",
|
||||
"subtitle": "Wyślij zgłoszenie błędu, sugestię funkcji lub pytanie. Administrator serwera zobaczy twoje zgłoszenie.",
|
||||
"loginRequired": "Zaloguj się, aby zgłosić błąd.",
|
||||
"bugTitle": "Tytuł",
|
||||
"description": "Opis",
|
||||
"submit": "Send",
|
||||
"success": "Thank you! Your bug report has been submitted successfully.",
|
||||
"errorCreating": "Error creating report",
|
||||
"category": "Typ",
|
||||
"categoryBug": "Bug report",
|
||||
"categoryFeature": "Feature request",
|
||||
"categoryQuestion": "Question",
|
||||
"categoryOther": "Other feedback",
|
||||
"bugTitlePlaceholder": "Short summary (optional)",
|
||||
"githubEscalationNote": "Your feedback is stored locally. If the admin enables GitHub integration, it can be promoted to a public issue on request.",
|
||||
"internalOnlyNote": "Your feedback is stored locally and only visible to the administrator of this server.",
|
||||
"submit": "Wyślij",
|
||||
"success": "Dziękujemy! Twoje zgłoszenie zostało wysłane.",
|
||||
"errorCreating": "Błąd tworzenia",
|
||||
"category": "Rodzaj",
|
||||
"categoryBug": "Błąd",
|
||||
"categoryFeature": "Propozycja funkcji",
|
||||
"categoryQuestion": "Pytanie",
|
||||
"categoryOther": "Inna opinia",
|
||||
"bugTitlePlaceholder": "Krótkie podsumowanie (opcjonalnie)",
|
||||
"githubEscalationNote": "Twoja opinia zapisuje się lokalnie. Jeśli administrator włączy integrację z GitHubem, może zostać opublikowana jako publiczne issue na życzenie.",
|
||||
"internalOnlyNote": "Twoja opinia zapisuje się lokalnie i jest widoczna tylko dla administratora tego serwera.",
|
||||
"disabledTitle": "Bug reports are turned off",
|
||||
"disabledBody": "The administrator has disabled bug reports on this server."
|
||||
},
|
||||
@@ -2771,10 +2771,10 @@
|
||||
"breadcrumbChannels": "Kanały powiadomień",
|
||||
"breadcrumbSettings": "Ustawienia",
|
||||
"eventColumn": "Zdarzenie",
|
||||
"subtitle": "Choose which notifications you want to receive through which channel.",
|
||||
"loadError": "Notification preferences could not be loaded.",
|
||||
"noChannels": "Configure a notification channel in Settings first.",
|
||||
"goToSettings": "Go to channel settings",
|
||||
"subtitle": "Wybierz, które powiadomienia chcesz otrzymywać i którym kanałem.",
|
||||
"loadError": "Nie udało się załadować ustawień powiadomień.",
|
||||
"noChannels": "Najpierw skonfiguruj kanał powiadomień w ustawieniach.",
|
||||
"goToSettings": "Przejdź do ustawień kanału",
|
||||
"channelDisabled": "Wyłączone",
|
||||
"admin": {
|
||||
"deployFailedTitle": "Wdrożenie nie powiodło się: {application}",
|
||||
@@ -2952,24 +2952,24 @@
|
||||
"minLength": "Wymagane co najmniej {count} znaków."
|
||||
},
|
||||
"telegram": {
|
||||
"errorInvalidAction": "Invalid action.",
|
||||
"errorMedicationNotFound": "Medication not found.",
|
||||
"errorMedicationInactive": "Medication not found or inactive.",
|
||||
"errorUnknownAction": "Unknown action.",
|
||||
"snoozeOneHour": "1 hour",
|
||||
"snoozeThreeHours": "3 hours",
|
||||
"snoozedFor": "{name} snoozed for {duration}.",
|
||||
"skipped": "{name} Pominięte.",
|
||||
"alreadyRecorded": "{name} was already recorded.",
|
||||
"recordedAsTaken": "{name} recorded as taken.",
|
||||
"confirmed": "{name} confirmed.",
|
||||
"genericConfirmed": "Confirmed.",
|
||||
"cancelled": "Cancelled.",
|
||||
"noActiveMedications": "No active medications found.",
|
||||
"whichMedication": "<b>Which medication did you take?</b>",
|
||||
"errorInvalidAction": "Nieprawidłowa akcja.",
|
||||
"errorMedicationNotFound": "Nie znaleziono leku.",
|
||||
"errorMedicationInactive": "Nie znaleziono leku lub jest nieaktywny.",
|
||||
"errorUnknownAction": "Nieznana akcja.",
|
||||
"snoozeOneHour": "1 godzina",
|
||||
"snoozeThreeHours": "3 godziny",
|
||||
"snoozedFor": "{name} odłożone o {duration}.",
|
||||
"skipped": "{name} pominięte.",
|
||||
"alreadyRecorded": "{name} było już zarejestrowane.",
|
||||
"recordedAsTaken": "{name} zarejestrowane jako przyjęte.",
|
||||
"confirmed": "{name} potwierdzone.",
|
||||
"genericConfirmed": "Potwierdzone.",
|
||||
"cancelled": "Anulowane.",
|
||||
"noActiveMedications": "Nie znaleziono aktywnych leków.",
|
||||
"whichMedication": "<b>Który lek został przyjęty?</b>",
|
||||
"cancelButton": "Anuluj",
|
||||
"askMedicationName": "Please specify a medication, e.g. <b>taken Ramipril</b>.",
|
||||
"medicationNotFoundExact": "Medication not found. Please send the name exactly as in HealthLog.",
|
||||
"askMedicationName": "Podaj lek, np. <b>przyjęty Ramipril</b>.",
|
||||
"medicationNotFoundExact": "Nie znaleziono leku. Wyślij nazwę dokładnie tak, jak w HealthLog.",
|
||||
"helpHeader": "<b>Available commands:</b>",
|
||||
"helpBody": "/help — show this help\n/add — record an intake\n/start — start the bot\n\n<b>Text commands:</b>\ntaken <name> — confirm an intake\n\n<b>Buttons in reminders:</b>\n• Taken — confirm intake\n• 🕐 1h / 🕐 3h — postpone reminder\n• ⏭ Skip — skip intake\n• ✓ Confirm — confirm a missed intake"
|
||||
},
|
||||
|
||||
Reference in new issue
Block a user