Files
Checkmate/client/src/locales/fr.json
T
gorkem-bwl eb4a92c84f fix: restructure and translate all i18n locale files
All 15 non-English locale files had a structural mismatch with en.json:
- en.json used nested keys (common.buttons.cancel)
- Other locales used flat keys (cancel, DeleteAccountButton)
- Result: 0.3% effective translation coverage at runtime

## Changes

Migration script (client/scripts/migrate-locales.ts):
- Restructures all locale files to match en.json's nested key structure
- Recovers existing translations via safe key-matching strategies
- Backs up originals to locales/backup/

Translation of all 15 languages:
- ar (94.6%), cs (91.6%), de (89.4%), es (92.6%), fi (94.2%)
- fr (86.7%), ja (93.3%), pt-BR (91.0%), ru (93.0%), th (93.4%)
- tr (91.9%), uk (94.3%), vi (92.5%), zh-CN (94.0%), zh-TW (94.2%)

Keys intentionally left in English are technical terms (HTTP, CPU,
Docker, gRPC, etc.), placeholder examples, and brand names.

en.json was NOT modified.
2026-04-03 23:35:14 -04:00

1306 lines
39 KiB
JSON

{
"common": {
"auth": {
"roles": {
"admin": "Admin",
"demo": "Démo",
"superadmin": "Super admin",
"user": "Utilisateur"
}
},
"alerts": {
"pageSpeedApiKey": {
"content": "Attention : vous n'avez pas encore ajouté de clé API Google PageSpeed. Rendez-vous dans <settingsLink>Paramètres</settingsLink> pour en ajouter une. Sans elle, le moniteur PageSpeed ne fonctionnera pas."
}
},
"appName": "Checkmate",
"breadcrumbs": {
"details": "Détails",
"home": "Accueil"
},
"buttons": {
"addMember": "Ajouter un membre",
"cancel": "Annuler",
"close": "Fermer",
"configure": "Configurer",
"confirm": "Confirmer",
"create": "Créer",
"delete": "Supprimer",
"generateToken": "Générer un jeton",
"incidents": "Incidents",
"inviteMember": "Inviter un membre",
"pause": "Pause",
"resume": "Reprendre",
"save": "Enregistrer",
"sendInvite": "Envoyer l'invitation",
"test": "Tester",
"testNotifications": "Tester les notifications",
"toggleTheme": "Afficher le mode clair & sombre",
"flushQueue": "Vider la file d'attente",
"notFound": "Aller au tableau de bord",
"resetPassword": "Réinitialiser le mot de passe",
"reset": "Réinitialiser",
"clear": "Effacer",
"addDemo": "Ajouter des moniteurs de démo",
"removeMonitors": "Supprimer les moniteurs",
"sendTestEmail": "Envoyer un email de test",
"exportToJSON": "Exporter en JSON",
"importFromJSON": "Importer depuis JSON",
"clearFilters": "Effacer les filtres",
"removeUser": "Supprimer l'utilisateur"
},
"charts": {
"labels": {
"averageResponseTime": "Temps de réponse moyen",
"downtime": "Temps d'arrêt",
"high": "haut",
"low": "bas",
"uptime": "Disponibilité"
},
"histogram": {
"avg": "Moy : {{value}} ms",
"max": "Max : {{value}} ms"
}
},
"dialogs": {
"delete": {
"description": "Cette action est irréversible.",
"title": "Êtes-vous sûr de vouloir supprimer ceci ?"
}
},
"labels": {
"active": "Actif",
"paused": "en pause",
"na": "N/A",
"resolved": "Résolu",
"responseTime": "Temps de réponse"
},
"form": {
"role": {
"option": {
"role": {
"label": "Rôles"
}
}
},
"name": {
"option": {
"firstName": {
"label": "Prénom",
"placeholder": "Jean"
},
"lastName": {
"label": "Nom",
"placeholder": "Dupont"
}
}
},
"email": {
"option": {
"email": {
"label": "Email",
"placeholder": "you@example.com"
}
}
}
},
"table": {
"empty": "Rien à afficher",
"headers": {
"actions": "Actions",
"dateTime": "Date et heure",
"message": "Message",
"monitor": "Moniteur",
"monitorId": "ID du moniteur",
"name": "Nom",
"status": "Statut",
"type": "Type",
"url": "URL",
"interval": "Intervalle",
"active": "Actif",
"responseTime": "Temps de réponse"
}
}
},
"components": {
"imageUpload": {
"clickToUpload": "Cliquer pour téléverser",
"dragAndDrop": "glisser et déposer",
"supportedFormats": "Formats supportés",
"maxSize": "Taille maximum",
"orDragAndDrop": "ou glisser et déposer",
"errors": {
"invalidFileSize": "Le fichier est trop volumineux !",
"invalidFileFormat": "Format de fichier non supporté !"
}
},
"headerStatusPageControls": {
"publicLink": "Lien public"
},
"headerTimeRange": {
"labels": {
"day": "Jour",
"month": "Mois",
"recent": "Récent",
"week": "Semaine"
},
"description": {
"recent": "Statistiques des 2 dernières heures.",
"day": "Statistiques des dernières 24 heures.",
"week": "Statistiques des 7 derniers jours.",
"month": "Statistiques des 30 derniers jours."
}
},
"offlineBanner": {
"serverUnreachable": "Impossible de joindre le serveur",
"retry": "Réessayer",
"retrying": "Nouvelle tentative...",
"reconnected": "Connexion rétablie avec le serveur."
},
"sidebar": {
"menu": {
"uptime": "Temps en ligne",
"pagespeed": "Vitesse",
"infrastructure": "Infrastructure",
"notifications": "Notifications",
"checks": "Vérifications",
"incidents": "Incidents",
"statusPages": "Pages de statut",
"maintenance": "Maintenance",
"logs": "Journaux",
"settings": "Paramètres"
},
"bottomMenu": {
"support": "Support",
"discussions": "Discussions",
"docs": "Documentation",
"changelog": "Journal des modifications"
},
"accountMenu": {
"profile": "Profil",
"password": "Mot de passe",
"team": "Équipe"
},
"starPrompt": {
"title": "Star Checkmate",
"description": "Consultez les dernières versions et aidez la communauté à grandir sur GitHub"
},
"authFooter": {
"navControls": "Contrôle",
"logOut": "Déconnexion",
"roles": {
"superAdmin": "Super admin",
"admin": "Admin",
"user": "Utilisateur",
"demoUser": "Utilisateur de démonstration"
}
}
},
"starPrompt": {
"title": "Star Checkmate",
"description": "Consultez les dernières versions et aidez la communauté à grandir sur GitHub"
}
},
"pages": {
"notFound": {
"title": "Oh non ! Vous avez fait tomber vos sushis !",
"subtitle": "Soit l'URL n'existe pas, soit vous n'y avez pas accès."
},
"account": {
"tabs": {
"profile": "Profil",
"password": "Mot de passe",
"team": "Équipe"
},
"form": {
"name": {
"title": "Nom",
"description": "Mettez à jour vos informations personnelles"
},
"photo": {
"title": "Photo de profil",
"description": "Téléversez une photo de profil"
},
"currentPassword": {
"title": "Mot de passe actuel",
"description": "Saisissez votre mot de passe actuel pour vérifier votre identité",
"option": {
"label": "Mot de passe actuel",
"placeholder": "Saisissez le mot de passe actuel"
}
},
"newPassword": {
"title": "Nouveau mot de passe",
"description": "Choisissez un mot de passe fort d'au moins 8 caractères",
"option": {
"newPassword": {
"label": "Nouveau mot de passe",
"placeholder": "Saisissez le nouveau mot de passe"
},
"confirm": {
"label": "Confirmer le mot de passe",
"placeholder": "Confirmez le nouveau mot de passe"
}
}
},
"deleteAccount": {
"title": "Supprimer le compte",
"description": "Cette action est permanente et irréversible"
}
},
"team": {
"filter": {
"placeholder": "Filtrer par rôle",
"all": "Tous",
"admin": "Admin",
"member": "Membre"
},
"table": {
"headers": {
"email": "Email",
"role": "Rôle",
"created": "Créée"
}
},
"addMember": {
"title": "Inscrire un nouveau membre",
"description": "Créez un nouveau compte utilisateur. Partagez les identifiants de manière sécurisée après la création."
},
"invite": {
"title": "Inviter un membre",
"description": "Envoyez une invitation à rejoindre votre équipe",
"email": {
"label": "Adresse email",
"placeholder": "Saisissez l'adresse email"
},
"role": {
"label": "Rôle",
"placeholder": "Sélectionnez un rôle"
},
"linkLabel": "Lien d'invitation"
}
}
},
"auth": {
"common": {
"passwordRules": {
"length": {
"beginning": "Doit contenir au moins",
"highlighted": "Longueur de 8 caractères"
},
"lowercase": {
"beginning": "Doit contenir au moins",
"highlighted": "un caractère miniscule"
},
"match": {
"beginning": "Confirmer le mot de passe et le mot de passe",
"highlighted": "doit valoir"
},
"number": {
"beginning": "Doit contenir au moins",
"highlighted": "un nombre"
},
"special": {
"beginning": "Doit contenir au moins",
"highlighted": "un caractère spécial"
},
"uppercase": {
"beginning": "Doit contenir au moins",
"highlighted": "un caractère majuscule"
}
},
"form": {
"option": {
"email": {
"label": "Email",
"placeholder": "me@example.com"
},
"password": {
"label": "Mot de passe",
"placeholder": "********"
},
"confirmPassword": {
"label": "Confirmer le mot de passe"
}
}
}
},
"login": {
"title": "Bienvenue sur Checkmate !",
"subtitle": "Connectez-vous pour continuer",
"submit": "Connexion",
"links": {
"forgotPassword": {
"text": "Mot de passe oublié ?",
"linkText": "Réinitialiser le mot de passe"
},
"register": {
"text": "Vous n'avez pas de compte ?",
"linkText": "Inscrivez-vous ici"
}
}
},
"register": {
"title": "Bienvenue sur Checkmate !",
"subtitle": "Inscrivez-vous pour commencer",
"submit": "S'inscrire"
},
"forgotPassword": {
"title": "Mot de passe oublié ?",
"subtitle": "Pas de souci, nous vous enverrons les instructions de réinitialisation.",
"submit": "Demander la récupération",
"links": {
"login": {
"text": "Retour à la",
"linkText": "connexion"
}
}
},
"setNewPassword": {
"title": "Réinitialisez votre mot de passe",
"subtitle": "Votre nouveau mot de passe doit être différent des mots de passe utilisés précédemment."
}
},
"checks": {
"selects": {
"monitor": {
"all": "Tous les moniteurs"
},
"status": {
"all": "Tous",
"down": "Hors ligne",
"up": "En ligne"
}
},
"table": {
"empty": "Aucune vérification en échec sur cette période",
"headers": {
"statusCode": "Code de statut",
"location": "Emplacement"
}
}
},
"common": {
"monitors": {
"actions": {
"configure": "Configurer",
"delete": "Supprimer",
"generateToken": "Générer un jeton",
"details": "Détails",
"incidents": "Incidents",
"inviteMember": "Inviter un membre",
"openSite": "Ouvrir le site",
"pause": "Pause",
"resume": "Reprendre"
},
"statBoxes": {
"activeFor": "Actif depuis",
"certificateExpiry": "Expiration du certificat",
"lastCheck": "Dernière vérification",
"lastResponseTime": "Dernier temps de réponse"
},
"status": {
"down": "hors ligne",
"breached": "seuil dépassé",
"initializing": "initialisation",
"maintenance": "maintenance",
"paused": "en pause",
"total": "total",
"up": "en ligne"
},
"monitorTypes": {
"optionDocker": "Docker",
"optionGame": "Jeu",
"optionHttp": "HTTP(S)",
"optionPing": "Ping",
"optionPort": "Port",
"optionPagespeed": "PageSpeed",
"optionHardware": "Infrastructure",
"optionGrpc": "gRPC",
"optionWebSocket": "WebSocket"
}
}
},
"createMonitor": {
"form": {
"advanced": {
"description": "Paramètres optionnels pour les cas d'utilisation avancés",
"option": {
"advancedMatching": {
"label": "Utiliser la correspondance avancée"
},
"expectedValue": {
"label": "Valeur attendue"
},
"jsonPath": {
"description": "Cette expression sera évaluée sur les données JSON de la réponse et le résultat sera utilisé pour la comparaison avec la valeur attendue. Consultez <jmesLink>jmespath.org</jmesLink> pour la documentation du langage de requête.",
"label": "Expression JSONPath"
},
"matchMethod": {
"label": "Méthode de correspondance",
"equal": "Égal",
"include": "Inclure",
"regex": "Regex"
}
},
"title": "Paramètres avancés"
},
"frequency": {
"description": "À quelle fréquence souhaitez-vous vérifier le statut de ce moniteur ?",
"option": {
"frequency": {
"label": "Fréquence de vérification",
"value": {
"fifteenMinutes": "15 minutes",
"fifteenSeconds": "15 secondes",
"fiveMinutes": "5 minutes",
"fourMinutes": "4 minutes",
"oneMinute": "1 minute",
"tenMinutes": "10 minutes",
"thirtyMinutes": "30 minutes",
"thirtySeconds": "30 secondes",
"threeMinutes": "3 minutes",
"twoMinutes": "2 minutes"
}
}
},
"title": "Fréquence de vérification"
},
"general": {
"option": {
"container": {
"label": "Nom/ID du conteneur",
"placeholder": "my-app ou abcd1234"
},
"host": {
"label": "Hôte",
"placeholder": "192.168.1.100 ou example.com"
},
"name": {
"label": "Nom d'affichage",
"placeholder": "ex. Mon site web"
},
"secret": {
"label": "Secret d'autorisation",
"placeholder": "Saisissez votre clé secrète"
},
"url": {
"label": "URL",
"placeholder": "https://www.google.com"
},
"game": {
"label": "",
"placeholder": ""
},
"port": {
"label": "Port à surveiller",
"placeholder": "80"
},
"grpcServiceName": {
"label": "Nom du service",
"placeholder": "ex. my.service.v1 (laisser vide pour la santé globale)"
},
"wsUrl": {
"label": "URL WebSocket",
"placeholder": "wss://example.com/socket"
}
},
"title": "Paramètres généraux",
"description": {
"http": "Saisissez l'URL ou l'IP à surveiller (ex. https://example.com/ ou 192.168.1.100) et ajoutez un nom d'affichage clair visible sur le tableau de bord.",
"ping": "Entrez l'adresse IP ou le nom d'hôte à tester (par exemple, 192.168.1.100 ou exemple.fr) et ajoutez un nom familier qui apparaîtra sur le tableau de bord.",
"port": "Entrez l'URL ou l'adresse IP du serveur, le numéro de port et un nom d'affichage familier qui apparaîtra sur le tableau de bord.",
"docker": "Entrer l'ID Docker du container. Les identifiants Docker doivent être les 64 caractères de l'ID Docker. Vous pouvez utiliser la commande docker inspect <short_id> pour avoir l'ID complet.",
"game": "",
"pagespeed": "Suivez les performances de chargement, les Core Web Vitals et les scores d'optimisation de votre site web.",
"grpc": "Saisissez le nom d'hôte et le port du serveur gRPC, spécifiez éventuellement un nom de service pour le bilan de santé, et ajoutez un nom d'affichage.",
"websocket": "Saisissez l'URL WebSocket à surveiller (ex. wss://example.com/socket) et ajoutez un nom d'affichage.",
"hardware": "Surveillez l'utilisation du CPU, de la mémoire, du disque et la température de votre infrastructure."
}
},
"ignoreTls": {
"description": "Configurez la validation des certificats TLS/SSL pour les connexions HTTPS.",
"option": {
"tls": {
"label": "Ignorer les erreurs TLS/SSL"
}
},
"title": "Paramètres TLS/SSL"
},
"incidents": {
"description": "Une fenêtre glissante est utilisée pour déterminer quand un moniteur tombe en panne. Le statut d'un moniteur ne changera que lorsque le pourcentage de vérifications dans la fenêtre glissante atteindra la valeur spécifiée.",
"option": {
"checks": {
"label": "Nombre de vérifications dans la fenêtre glissante"
},
"percentage": {
"label": "Quel pourcentage de vérifications dans la fenêtre glissante doit échouer/réussir avant que le statut du moniteur ne change ?"
}
},
"title": "Incidents"
},
"notifications": {
"description": "Sélectionnez les canaux de notification que vous souhaitez utiliser",
"title": "Notifications"
},
"type": {
"description": "Sélectionnez le type de vérification à effectuer",
"optionDockerDescription": "Utilisez Docker pour surveiller si un conteneur est en cours d'exécution.",
"optionGameDescription": "Surveillez si un serveur de jeu spécifique est en ligne.",
"optionGrpcDescription": "Surveillez les services gRPC en utilisant le protocole standard de vérification de santé.",
"optionWebSocketDescription": "Surveillez les points de terminaison WebSocket pour la santé de connexion et le temps de réponse.",
"optionHttpDescription": "Utilisez HTTP(S) pour surveiller votre site web ou point de terminaison API.",
"optionPingDescription": "Utilisez le Ping ICMP pour surveiller si un serveur est en ligne.",
"optionPortDescription": "Surveillez si un port spécifique sur un serveur est ouvert.",
"title": "Type"
},
"thresholds": {
"title": "Seuils d'alerte",
"description": "Définissez les seuils auxquels les alertes doivent être déclenchées pour ce moniteur d'infrastructure.",
"option": {
"cpuThreshold": {
"label": "Seuil d'alerte CPU (%)"
},
"memoryThreshold": {
"label": "Seuil d'alerte mémoire (%)"
},
"diskThreshold": {
"label": "Seuil d'alerte disque (%)"
},
"tempThreshold": {
"label": "Seuil d'alerte température (°C)"
}
}
},
"geoChecks": {
"title": "Vérifications géo-distribuées",
"description": "Exécutez des vérifications depuis plusieurs emplacements géographiques pour surveiller la disponibilité et les performances globales.",
"option": {
"enabled": {
"label": "Activer les vérifications géo-distribuées"
},
"locations": {
"label": "Emplacements",
"placeholder": "Sélectionner les emplacements",
"options": {
"EU": "Europe",
"NA": "Amérique du Nord",
"AS": "Asie",
"SA": "Amérique du Sud",
"AF": "Afrique",
"OC": "Océanie"
}
},
"interval": {
"label": "Intervalle de vérification",
"value": {
"fiveMinutes": "5 minutes",
"tenMinutes": "10 minutes",
"fifteenMinutes": "15 minutes",
"thirtyMinutes": "30 minutes"
}
}
}
},
"url": {
"title": "IP/URL du moniteur sur la page de statut",
"description": "Affichez l'adresse IP ou l'URL du moniteur sur la page de statut publique. Si désactivé, seul le nom du moniteur sera affiché pour protéger les informations sensibles.",
"option": {
"showURL": {
"label": "Afficher l'IP/URL sur la page de statut",
"enabled": "Activé",
"disabled": "Désactivé"
}
}
},
"stats": {
"title": "Historique du moniteur",
"description": "Effacez tout l'historique de surveillance et les statistiques de votre équipe. Cette action est irréversible.",
"buttonText": "Effacer toutes les statistiques",
"dialog": {
"title": "Effacer tout l'historique de surveillance ?",
"description": "Ceci supprimera définitivement tout l'historique de surveillance, les statistiques et les données de vérification de votre équipe. Cette action est irréversible.",
"confirm": "Oui, tout effacer"
}
}
}
},
"editUser": {
"form": {
"roles": {
"title": "Rôles",
"description": "Attribuez des rôles à l'utilisateur. Plusieurs rôles peuvent être sélectionnés."
}
},
"dialog": {
"removeUser": {
"title": "Supprimer l'utilisateur",
"content": "Êtes-vous sûr de vouloir supprimer {{name}} de votre équipe ? Cette action est irréversible."
}
}
},
"incidents": {
"dialog": {
"resolveIncident": {
"title": "Résoudre l'incident",
"option": {
"comment": {
"label": "Commentaire (optionnel)",
"placeholder": "Ajoutez un commentaire sur la résolution..."
}
}
},
"details": {
"analysis": "Analyse de l'incident",
"comment": "Commentaire :",
"detailsLabel": "Détails",
"downtime": "Temps d'arrêt :",
"message": "Message :",
"monitor": "Moniteur :",
"overview": "Aperçu",
"resolutionDetails": "Détails de la résolution",
"resolutionType": "Type :",
"resolutionTypes": {
"automatic": "Automatique",
"manual": "Manuelle"
},
"resolve": "Résoudre l'incident",
"resolvedAt": "Résolu le :",
"resolvedBy": "Résolu par :",
"startedAt": "Démarré le :",
"status": "Statut :",
"statusCode": "Code de statut :",
"timeline": "Chronologie",
"title": "Détails de l'incident",
"url": "URL :"
}
},
"filters": {
"allMonitors": "Tous les moniteurs",
"monitor": "Moniteur",
"resolutionType": "Type de résolution",
"resolutionTypes": {
"manual": "Manuelle",
"automatic": "Automatique",
"all": "Tous"
}
},
"summaryCard": {
"activeIncidents": {
"title": "Incidents actifs",
"active_zero": "Aucun incident actif",
"active_one": "{{count}} incident actif",
"active_other": "{{count}} incidents actifs"
},
"incidentStats": {
"avgResolutionTime": "Temps de résolution moyen",
"mostAffectedMonitor": "Moniteur le plus affecté",
"title": "Statistiques des incidents",
"totalIncidents": "Total des incidents"
},
"latestIncidents": {
"title": "Derniers incidents"
}
},
"table": {
"actions": {
"details": "Détails",
"goToMonitor": "Aller au moniteur",
"resolveManually": "Résoudre manuellement"
},
"activeIncidents": "Incidents actifs",
"headers": {
"endTime": "Heure de fin",
"resolutionType": "Type de résolution",
"startTime": "Date de démarrage",
"statusCode": "Code de statut"
},
"resolvedIncidents": "Incidents résolus",
"status": {
"active": "Actif",
"resolved": "Résolu"
}
}
},
"infrastructure": {
"charts": {
"labels": {
"cpu": "Utilisation CPU",
"disk": "Utilisation disque",
"memory": "Utilisation mémoire",
"netBytesRecv": "{{name}} - Octets reçus",
"netBytesSent": "{{name}} - Octets envoyés",
"temp": "Temp."
}
},
"gauges": {
"cpu": {
"lowerLabel": "Fréquence max.",
"title": "Utilisation CPU",
"upperLabel": "Fréquence actuelle"
},
"disk": {
"lowerLabel": "Libre",
"title": "Utilisation disque {{idx}}",
"upperLabel": "Utilisé"
},
"memory": {
"lowerLabel": "Libre",
"title": "Utilisation mémoire",
"upperLabel": "Utilisé"
}
},
"statBoxes": {
"avgCpuTemperature": "Température moyenne du CPU",
"cpuFrequency": "Fréquence CPU",
"cpuLogical": "CPU (Logique)",
"cpuPhysical": "CPU (Physique)",
"disk": "Disque",
"memory": "Mémoire",
"os": "OS"
},
"table": {
"headers": {
"cpu": "CPU",
"disk": "Disque",
"memory": "Mémoire"
}
},
"tabs": {
"labels": {
"network": "",
"overview": "Aperçu"
}
},
"fallback": {
"actionButton": "Créer un moniteur !",
"checks": "Track the performance of your servers,Identify bottlenecks and optimize usage,Ensure reliability with real-time monitoring",
"title": "Un moniteur d'infrastructure sert à :"
}
},
"logs": {
"tabs": {
"diagnostics": "Diagnostic",
"logs": "Journaux des serveurs",
"queue": "File d'attente des tâches"
},
"logLevelSelect": {
"label": "Niveau de log"
},
"jobQueue": "File d'attente des tâches",
"failedJobs": "Tâches échouées",
"noLogs": "Aucun log trouvé",
"metrics": {
"jobs": "Tâches",
"activeJobs": "Tâches actives",
"failingJobs": "Tâches en échec",
"totalRuns": "Exécutions totales",
"totalFailures": "Échecs totaux"
},
"diagnostics": {
"stats": {
"eventLoopDelay": "Délai de boucle d'événements",
"uptime": "Temps de fonctionnement",
"usedHeapSize": "Taille du tas utilisée",
"totalHeapSize": "Taille totale du tas",
"osMemoryLimit": "Limite mémoire de l'OS"
},
"gauges": {
"heapAllocation": "Allocation du tas",
"heapUsage": "Utilisation du tas",
"heapUtilization": "Utilisation du tas",
"instantCpuUsage": "Utilisation CPU instantanée",
"availableMemoryPercentage": "% de mémoire disponible",
"allocatedPercentage": "% alloué",
"usedSPercentage": "% de 1s utilisé par le CPU",
"total": "Total",
"used": "Utilisé"
}
},
"table": {
"headers": {
"timestamp": "Horodatage",
"level": "Niveau",
"service": "Service",
"method": "Méthode",
"monitorId": "ID du moniteur",
"runCount": "Nombre d'exécutions",
"failCount": "Nombre d'échecs",
"lastRunAt": "Dernière exécution",
"lockedAt": "Verrouillé le",
"lastFinishedAt": "Dernière fin",
"lastRunTook": "Durée dernière exécution",
"lastFailedAt": "Dernier échec",
"failReason": "Raison de l'échec"
}
}
},
"maintenanceWindow": {
"fallback": {
"actionButton": "Créer une fenêtre de maintenance !",
"checks": "Mark your maintenance periods,Eliminate any misunderstandings,Stop sending alerts in maintenance windows",
"title": "Une fenêtre de maintenance sert à :"
},
"table": {
"headers": {
"nextWindow": "Prochaine fenêtre de maintenance",
"repeat": "Répéter"
}
},
"form": {
"general": {
"title": "Paramètres généraux",
"description": "Définissez un nom et une option de répétition pour votre fenêtre de maintenance.",
"option": {
"name": {
"label": "Nom",
"placeholder": "ex. Maintenance hebdomadaire"
},
"repeat": {
"label": "Répéter"
}
}
},
"startDate": {
"title": "Date de début",
"description": "Sélectionnez la date de début de votre fenêtre de maintenance.",
"option": {
"startDate": {
"label": "Date de début"
}
}
},
"startTime": {
"title": "Heure de début",
"description": "Définissez l'heure de début et la durée de votre fenêtre de maintenance. Toutes les valeurs sont en UTC",
"option": {
"duration": {
"label": "Durée"
},
"startTime": {
"label": "Heure de début"
}
},
"monitors": {
"title": "Moniteurs",
"description": "Moniteurs auxquels la fenêtre de maintenance doit s'appliquer",
"option": {
"addMonitors": {
"label": "Ajouter des moniteurs"
}
}
}
}
}
},
"notifications": {
"fallback": {
"actionButton": "Créer un canal",
"checks": "Alert teams about downtime or performance issues,Let engineers know when incidents happen,Keep administrators informed of system changes",
"title": "Les canaux de notification servent à :"
},
"form": {
"accessToken": {
"optionAccessToken": "Jeton d'accès",
"placeholder": "syt_YWxleF9ob2xsaWRheQ_VmtScmV0U2VjcmV0S2V5_abc123"
},
"address": {
"description": "L'adresse où les notifications seront envoyées.",
"optionAddress": "Adresse",
"placeholderEmail": "example@example.com",
"placeholderWebhook": "https://your-server.com/webhook",
"title": "Adresse"
},
"homeServer": {
"optionHomeServer": "Serveur d'accueil",
"placeholder": "example.com"
},
"matrix": {
"description": "Configurez la connexion de votre serveur Matrix pour les notifications.",
"title": "Configuration Matrix"
},
"notificationName": {
"description": "Un nom descriptif pour le canal de notification",
"optionName": "Nom du canal",
"placeholder": "ex. Alertes de production",
"title": "Nom du canal"
},
"pagerDuty": {
"description": "Votre clé d'intégration PagerDuty pour recevoir les alertes.",
"optionIntegrationKey": "Clé d'intégration",
"placeholder": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6",
"title": "Clé d'intégration"
},
"roomId": {
"optionRoomId": "ID de la salle",
"placeholder": "!abcdefg:matrix.org"
},
"type": {
"description": "Sélectionnez le type de canal de notification à créer.",
"optionType": "Type",
"title": "Type de canal"
},
"telegram": {
"title": "Configuration Telegram",
"description": "Pour activer les notifications Telegram, créez un bot Telegram en utilisant BotFather, le robot officiel pour créer et gérer ses propres robots. Indiquez ensuite votre clé API et l'ID du chat ici.",
"optionBotToken": "Jeton du bot",
"placeholderBotToken": "123456789:ABCdefGhIJKlmNoPQRsTUVwxyZ",
"optionChatId": "ID du chat",
"placeholderChatId": "-1001234567890"
}
},
"table": {
"headers": {
"destination": "Destination"
}
}
},
"pageSpeed": {
"charts": {
"common": {
"cls": "Décalage cumulatif de mise en page (CLS)",
"fcp": "Premier affichage de contenu (FCP)",
"lcp": "Plus grand affichage de contenu (LCP)",
"si": "Indice de vitesse (SI)",
"tbt": "Temps de blocage total (TBT)"
},
"legend": {
"title": "Rapport PageSpeed",
"weight": "Poids"
},
"pie": {
"title": "Rapport de performance"
}
},
"table": {
"headers": {
"pageSpeedScore": "Score PageSpeed"
}
},
"fallback": {
"actionButton": "Créer un moniteur !",
"checks": "Report on the user experience of a page,Help analyze webpage speed,Give suggestions on how the page can be improved",
"title": "Un moniteur PageSpeed sert à :"
}
},
"settings": {
"form": {
"timezone": {
"title": "Fuseau horaire d'affichage",
"description": "Sélectionnez le fuseau horaire utilisé pour afficher les dates et heures dans l'application.",
"option": {
"timezone": {
"label": "Fuseau horaire d'affichage"
}
}
},
"ui": {
"title": "Apparence",
"description": "Basculez entre le mode clair et sombre, changez la langue ou personnalisez le type de graphique.",
"option": {
"theme": {
"label": "Mode du thème",
"light": "Clair",
"dark": "Sombre"
},
"language": {
"label": "Langue"
},
"chartType": {
"label": "Type de graphique",
"histogram": "Histogramme",
"heatmap": "Carte thermique"
}
}
},
"pagespeed": {
"title": "Clé API Google PageSpeed",
"description": "Saisissez votre clé API Google PageSpeed pour activer la surveillance PageSpeed. Cliquez sur Réinitialiser pour mettre à jour la clé.",
"option": {
"apiKey": {
"label": "Clé API PageSpeed",
"labelSet": "La clé API est définie. Cliquez sur Réinitialiser pour la modifier.",
"placeholder": "Saisissez votre clé API Google PageSpeed"
}
}
},
"url": {
"title": "IP/URL du moniteur sur la page de statut",
"description": "Affichez l'adresse IP ou l'URL du moniteur sur la page de statut publique. Si désactivé, seul le nom du moniteur sera affiché pour protéger les informations sensibles.",
"option": {
"showURL": {
"label": "Afficher l'IP/URL sur la page de statut",
"enabled": "Activé",
"disabled": "Désactivé"
}
}
},
"stats": {
"title": "Historique du moniteur",
"description": "Effacez tout l'historique de surveillance et les statistiques de votre équipe. Cette action est irréversible.",
"option": {
"clear": {
"label": "Effacer toutes les statistiques. Cette action est irréversible."
}
},
"dialog": {
"title": "Effacer tout l'historique de surveillance ?",
"description": "Cette action est irréversible"
}
},
"retention": {
"title": "Rétention des vérifications",
"description": "Définissez la durée de conservation des données de vérification avant leur nettoyage automatique.",
"option": {
"days": {
"label": "Période de rétention (jours)",
"unlimited": "Illimité"
}
}
},
"thresholds": {
"title": "Seuils globaux",
"description": "Définissez les seuils globaux de CPU, mémoire, disque et température pour la surveillance d'infrastructure. Ils s'appliquent à tous les moniteurs d'infrastructure sauf remplacement.",
"option": {
"cpu": {
"label": "Seuil CPU (%)",
"placeholder": "1 - 100"
},
"memory": {
"label": "Seuil mémoire (%)",
"placeholder": "1 - 100"
},
"disk": {
"label": "Seuil disque (%)",
"placeholder": "1 - 100"
},
"temperature": {
"label": "Seuil température (°C)",
"placeholder": "1 - 150"
}
}
},
"email": {
"title": "Paramètres email",
"description": "Configurez les paramètres email de votre système. Ils sont utilisés pour envoyer des notifications et des alertes.",
"descriptionTransport": "Ceci créé un transport SMTP pour NodeMailer",
"descriptionTransportLink": "Voir les spécifications ici",
"option": {
"host": {
"label": "Hôte email - Nom d'hôte ou adresse IP de connexion",
"placeholder": "smtp.gmail.com"
},
"port": {
"label": "Port email - Port de connexion",
"placeholder": "587"
},
"address": {
"label": "Adresse email - Utilisée pour l'authentification",
"placeholder": "you@example.com"
},
"user": {
"label": "Utilisateur email - Nom d'utilisateur pour l'authentification, remplace l'adresse email si spécifié",
"placeholder": "Laisser vide si non requis"
},
"password": {
"label": "Mot de passe email - Mot de passe pour l'authentification",
"labelSet": "Le mot de passe est défini. Cliquez sur Réinitialiser pour le modifier.",
"placeholder": "Saisissez votre mot de passe"
},
"tlsServername": {
"label": "Nom de serveur TLS - Nom d'hôte optionnel pour la validation TLS quand l'hôte est une IP",
"placeholder": "example.com"
},
"connectionHost": {
"label": "Hôte de connexion email - Nom d'hôte à utiliser dans le message HELO/EHLO",
"placeholder": "localhost"
},
"secure": {
"label": "Utiliser SSL (recommandé) : chiffrer la connexion avec SSL/TLS"
},
"pool": {
"label": "Activer le pool de connexions : réutiliser les connexions existantes pour améliorer les performances"
},
"ignoreTLS": {
"label": "Désactiver STARTTLS : ne pas utiliser TLS même si le serveur le supporte"
},
"requireTLS": {
"label": "Forcer STARTTLS : exiger la mise à niveau TLS, échouer si non supporté"
},
"rejectUnauthorized": {
"label": "Rejeter les certificats invalides : refuser les connexions avec des certificats auto-signés ou non fiables"
}
}
},
"demoMonitors": {
"title": "Moniteurs de démonstration",
"description": "Ajoutez des moniteurs d'exemple à des fins de démonstration."
},
"removeMonitors": {
"title": "Réinitialisation du système",
"description": "Supprimez tous les moniteurs de votre système.",
"dialog": {
"title": "Supprimer tous les moniteurs ?",
"description": "Cette action est irréversible."
}
},
"exportMonitors": {
"title": "Exporter les moniteurs"
},
"importExportMonitors": {
"title": "Importer / Exporter les moniteurs",
"description": "Importez ou exportez vos données de moniteurs sous forme de fichier JSON pour sauvegarde ou transfert."
},
"about": {
"title": "À propos",
"developedBy": "Développé par Bluewave Labs"
},
"validation": {
"errorMessage": "Veuillez corriger les erreurs de validation suivantes :"
}
}
},
"statusPages": {
"deleteSuccess": "Page de statut supprimée avec succès",
"fallback": {
"title": "Une page de statut sert à :",
"checks": "Communicate system status to users and stakeholders,Display real-time uptime information publicly,Build trust with transparent service monitoring,Reduce support requests during incidents",
"actionButton": "Créer une page de statut !"
},
"monitorsList": {
"chartTypeHeatmap": "Carte thermique",
"chartTypeHistogram": "Histogramme",
"noData": "Aucune donnée disponible",
"infrastructure": {
"title": "Infrastructure",
"cpu": "CPU",
"memory": "RAM",
"memoryText": "Mémoire",
"disk": "Disque",
"usage": "Utilisation",
"used": "Utilisé",
"total": "Total"
},
"uptime": {
"title": "Disponibilité",
"responseTime": "Temps de réponse"
}
},
"statusBar": {
"allDown": "Tous les systèmes sont hors service",
"allUp": "Tous les systèmes sont opérationnels",
"degraded": "Certains systèmes rencontrent des problèmes",
"unknown": "Impossible de déterminer le statut du système"
},
"table": {
"headers": {
"name": "Nom de la page de statut",
"url": "URL publique"
},
"published": "Publiée",
"unpublished": "Non publiée"
},
"title": "Pages de statut",
"details": {
"empty": {
"title": "Il n'y a rien ici pour le moment",
"addMonitor": "Ajoutez un moniteur pour commencer"
}
},
"form": {
"access": {
"title": "Accès",
"description": "Si votre page de statut est prête, vous pouvez la marquer comme publiée.",
"option": {
"published": {
"name": "Publiée et visible par le public"
}
}
},
"basicInfo": {
"title": "Informations de base",
"description": "Définissez le nom de l'entreprise et le sous-domaine vers lequel pointe votre page de statut.",
"option": {
"name": {
"label": "Nom de l'entreprise",
"placeholder": "Acme Inc."
},
"url": {
"label": "Adresse de votre page de statut",
"placeholder": "ma-page-de-statut"
}
}
},
"monitors": {
"title": "Moniteurs",
"description": "Sélectionnez les moniteurs à afficher sur votre page de statut.",
"noMonitors": "Aucun moniteur sélectionné",
"option": {
"monitors": {
"label": "Sélectionner les moniteurs",
"placeholder": "Rechercher et sélectionner des moniteurs..."
}
}
},
"timezone": {
"title": "Fuseau horaire",
"description": "Sélectionnez le fuseau horaire d'affichage de votre page de statut.",
"option": {
"timezone": {
"label": "Fuseau horaire",
"placeholder": "Sélectionner un fuseau horaire..."
}
}
},
"appearance": {
"title": "Apparence",
"description": "Définissez l'apparence par défaut de votre page de statut publique.",
"option": {
"logo": {
"label": "Logo"
},
"color": {
"label": "Couleur de marque"
}
}
},
"features": {
"title": "Fonctionnalités",
"description": "Configurez les informations affichées sur votre page de statut.",
"option": {
"showCharts": {
"label": "Afficher les graphiques de temps de réponse"
},
"showUptimePercentage": {
"label": "Afficher le pourcentage de disponibilité"
},
"showAdminLoginLink": {
"label": "Afficher le lien de connexion administrateur"
},
"showInfrastructure": {
"label": "Afficher les métriques d'infrastructure"
}
}
}
}
},
"uptime": {
"filters": {
"search": {
"placeholder": "Rechercher des moniteurs..."
}
},
"table": {
"headers": {
"responseTime": "Temps de réponse"
}
},
"fallback": {
"actionButton": "Créer un moniteur !",
"checks": "Check if websites or servers are online & responsive,Alert teams about downtime or performance issues,Monitor HTTP endpoints, pings, containers & ports,Track historical uptime and reliability trends",
"title": "Un moniteur de disponibilité sert à :"
}
}
}
}