mirror of
https://github.com/UNITRONIX/BetterDesk.git
synced 2026-09-10 09:35:39 +00:00
edba7c5da6
Rework password reset flow and diagnostics: change reset-password.js argument order (password first, optional username) and update Docker/CLI scripts to call it accordingly; persist DEFAULT_ADMIN_PASSWORD to .env and restart betterdesk-console after resets to avoid overwrites. Add translations for an "invalid_credentials" message across supported locales. Harden reset-password.js with a bcrypt self-test, log hash info, and add additional data directory candidates. Enhance authService with detailed auth/logging (hash type, failures/success), safer admin-hash migration logic (avoid overwriting if admin has logged in), and self-tests when creating/updating admin password hashes to detect/retry corrupted hashes. Co-Authored-By: MrBrodacz - Design <215021251+MrBrodacz2025@users.noreply.github.com> Co-Authored-By: boruto79 <176351662+boruto79@users.noreply.github.com>
1056 lines
46 KiB
JSON
1056 lines
46 KiB
JSON
{
|
|
"meta": {
|
|
"lang": "fr",
|
|
"name": "French",
|
|
"native_name": "Français",
|
|
"direction": "ltr"
|
|
},
|
|
"common": {
|
|
"loading": "Chargement...",
|
|
"confirm": "Confirmer",
|
|
"alert": "Alerte",
|
|
"prompt": "Saisir une valeur",
|
|
"copied": "Copié dans le presse-papiers",
|
|
"save": "Enregistrer",
|
|
"saved": "Enregistré",
|
|
"error": "Erreur",
|
|
"success": "Succès",
|
|
"warning": "Avertissement",
|
|
"info": "Information",
|
|
"all": "Tous",
|
|
"cancel": "Annuler",
|
|
"delete": "Supprimer"
|
|
},
|
|
"nav": {
|
|
"main": "Principal",
|
|
"tools": "Outils",
|
|
"system": "Système",
|
|
"dashboard": "Tableau de bord",
|
|
"devices": "Appareils",
|
|
"keys": "Clés",
|
|
"generator": "Générateur",
|
|
"settings": "Paramètres",
|
|
"users": "Utilisateurs",
|
|
"inventory": "Inventaire",
|
|
"tickets": "Tickets",
|
|
"activity": "Activité",
|
|
"automation": "Automatisation",
|
|
"file_transfer": "Transfert de fichiers",
|
|
"network": "Réseau",
|
|
"dataguard": "DataGuard",
|
|
"reports": "Rapports",
|
|
"tenants": "Locataires",
|
|
"registrations": "Inscriptions",
|
|
"toggle_sidebar": "Basculer la barre latérale"
|
|
},
|
|
"auth": {
|
|
"login": "Connexion",
|
|
"logout": "Déconnexion",
|
|
"login_title": "Se connecter",
|
|
"login_subtitle": "Connectez-vous à la console BetterDesk",
|
|
"username": "Nom d'utilisateur",
|
|
"username_placeholder": "Entrez le nom d'utilisateur",
|
|
"password": "Mot de passe",
|
|
"password_placeholder": "Entrez le mot de passe",
|
|
"remember_me": "Se souvenir de moi",
|
|
"login_failed": "Échec de la connexion. Veuillez vérifier vos identifiants.",
|
|
"invalid_credentials": "Nom d'utilisateur ou mot de passe invalide.",
|
|
"fill_all_fields": "Veuillez remplir tous les champs",
|
|
"logout_confirm": "Êtes-vous sûr de vouloir vous déconnecter ?",
|
|
"change_password": "Changer le mot de passe",
|
|
"password_required": "Le mot de passe est requis",
|
|
"totp_title": "Authentification à deux facteurs",
|
|
"totp_subtitle": "Entrez le code à 6 chiffres de votre application d'authentification",
|
|
"totp_code": "Code de vérification",
|
|
"totp_verify": "Vérifier",
|
|
"totp_use_recovery": "Utiliser un code de récupération à la place",
|
|
"totp_use_code": "Utiliser le code d'authentification à la place",
|
|
"totp_recovery_code": "Code de récupération",
|
|
"totp_back_to_login": "Retour à la connexion",
|
|
"totp_invalid_code": "Code de vérification invalide. Veuillez réessayer.",
|
|
"totp_enter_code": "Veuillez entrer un code à 6 chiffres",
|
|
"totp_enter_recovery": "Veuillez entrer un code de récupération",
|
|
"totp_session_expired": "Session expirée. Veuillez vous reconnecter.",
|
|
"totp_already_enabled": "L'authentification à deux facteurs est déjà activée"
|
|
},
|
|
"dashboard": {
|
|
"title": "Tableau de bord",
|
|
"subtitle": "Vue d'ensemble de votre serveur RustDesk",
|
|
"total_devices": "Total des appareils",
|
|
"online_now": "En ligne maintenant",
|
|
"banned": "Bannis",
|
|
"active_connections": "Connexions actives",
|
|
"offline_devices": "Hors ligne",
|
|
"server_status": "État du serveur",
|
|
"quick_actions": "Actions rapides",
|
|
"manage_devices": "Gérer les appareils connectés",
|
|
"view_keys": "Voir les clés du serveur",
|
|
"generate_config": "Générer la configuration client",
|
|
"server_settings": "Configurer les paramètres"
|
|
},
|
|
"devices": {
|
|
"title": "Appareils",
|
|
"id": "ID",
|
|
"hostname": "Nom d'hôte",
|
|
"username": "Nom d'utilisateur",
|
|
"platform": "Plateforme",
|
|
"version": "Version",
|
|
"ip_address": "Adresse IP",
|
|
"note": "Note",
|
|
"last_seen": "Vu en dernier",
|
|
"last_online": "Dernière connexion",
|
|
"first_seen": "Première apparition",
|
|
"created": "Créé",
|
|
"status": "Statut",
|
|
"ban_reason": "Raison du bannissement",
|
|
"actions": "Actions",
|
|
"search_placeholder": "Rechercher des appareils...",
|
|
"filter_all": "Tous",
|
|
"filter_online": "En ligne",
|
|
"filter_offline": "Hors ligne",
|
|
"filter_banned": "Bannis",
|
|
"selected": "sélectionné(s)",
|
|
"showing": "Affichage",
|
|
"of": "sur",
|
|
"sync_status": "État de synchronisation",
|
|
"sync_success": "Statut synchronisé avec succès",
|
|
"empty_title": "Aucun appareil trouvé",
|
|
"empty_text": "Aucun appareil ne correspond à vos filtres actuels",
|
|
"edit_title": "Détails de l'appareil",
|
|
"delete_title": "Supprimer l'appareil",
|
|
"delete_confirm": "Êtes-vous sûr de vouloir supprimer l'appareil {id} ?",
|
|
"delete_warning": "Vous êtes sur le point de supprimer définitivement cet appareil :",
|
|
"delete_permanent": "Cette action est irréversible. Toutes les données associées à cet appareil seront définitivement supprimées de la base de données.",
|
|
"delete_success": "Appareil supprimé avec succès",
|
|
"details": "Détails de l'appareil",
|
|
"ban_title": "Bannir l'appareil",
|
|
"ban_confirm": "Êtes-vous sûr de vouloir bannir l'appareil {id} ?",
|
|
"ban_success": "Appareil banni avec succès",
|
|
"unban_title": "Débannir l'appareil",
|
|
"unban_confirm": "Êtes-vous sûr de vouloir débannir l'appareil {id} ?",
|
|
"unban_success": "Appareil débanni avec succès",
|
|
"change_id": "Changer l'ID",
|
|
"change_id_title": "Changer l'ID de l'appareil",
|
|
"new_id": "Nouvel ID",
|
|
"change_id_hint": "6-16 caractères, lettres, chiffres, tirets et underscores uniquement",
|
|
"change_id_success": "ID de l'appareil modifié avec succès",
|
|
"id_length_error": "L'ID doit contenir entre 6 et 16 caractères",
|
|
"id_format_error": "L'ID ne peut contenir que des lettres, des chiffres, des tirets et des underscores",
|
|
"bulk_delete_title": "Supprimer plusieurs appareils",
|
|
"bulk_delete_confirm": "Êtes-vous sûr de vouloir supprimer {count} appareils ?",
|
|
"bulk_delete_success": "{count} appareils supprimés avec succès",
|
|
"columns": "Colonnes",
|
|
"toggle_columns": "Basculer les colonnes visibles"
|
|
},
|
|
"keys": {
|
|
"title": "Clés du serveur",
|
|
"subtitle": "Clé publique et configuration pour les clients RustDesk",
|
|
"public_key": "Clé publique",
|
|
"qr_code": "Code QR",
|
|
"server_info": "Informations du serveur",
|
|
"download": "Télécharger la clé",
|
|
"show_qr": "Afficher le QR",
|
|
"qr_hint": "Scannez ce code QR avec l'application mobile RustDesk",
|
|
"no_key": "Aucune clé publique trouvée",
|
|
"no_key_to_copy": "Aucune clé à copier",
|
|
"no_qr": "Code QR non disponible",
|
|
"download_success": "Fichier de clé téléchargé"
|
|
},
|
|
"settings": {
|
|
"title": "Paramètres",
|
|
"subtitle": "Configuration de la console et paramètres du compte",
|
|
"tab_general": "Général",
|
|
"tab_server": "Serveur",
|
|
"tab_branding": "Image de marque",
|
|
"tab_backup": "Sauvegarde",
|
|
"language": "Langue",
|
|
"change_password": "Changer le mot de passe",
|
|
"password_desc": "Mettre à jour le mot de passe de votre compte",
|
|
"current_password": "Mot de passe actuel",
|
|
"new_password": "Nouveau mot de passe",
|
|
"confirm_password": "Confirmer le mot de passe",
|
|
"save_password": "Mettre à jour le mot de passe",
|
|
"password_changed": "Mot de passe modifié avec succès",
|
|
"fill_all_fields": "Veuillez remplir tous les champs",
|
|
"passwords_not_match": "Les mots de passe ne correspondent pas",
|
|
"password_requirements": "Exigences du mot de passe",
|
|
"password_requirements_not_met": "Le mot de passe ne répond pas aux exigences",
|
|
"req_length": "Au moins 8 caractères",
|
|
"req_uppercase": "Au moins une lettre majuscule",
|
|
"req_lowercase": "Au moins une lettre minuscule",
|
|
"req_number": "Au moins un chiffre",
|
|
"server_info": "Informations du serveur",
|
|
"version": "Version",
|
|
"database": "Base de données",
|
|
"uptime": "Temps de fonctionnement",
|
|
"audit_log": "Journal d'audit",
|
|
"audit_desc": "Activité récente de la console",
|
|
"no_audit_logs": "Aucun journal d'audit trouvé",
|
|
"backend_title": "Backend du serveur",
|
|
"backend_desc": "Choisissez le backend serveur à utiliser pour la gestion des appareils et les services signal/relais.",
|
|
"backend_original": "Original",
|
|
"backend_enhanced": "Amélioré",
|
|
"backend_rustdesk_desc": "Serveurs signal et relais RustDesk standard (hbbs + hbbr). API HTTP basique avec des points d'accès limités.",
|
|
"backend_betterdesk_desc": "Serveur amélioré basé sur Go avec API REST complète, authentification JWT, liste de blocage, tags, événements WebSocket en temps réel et journalisation d'audit.",
|
|
"backend_feature_signal": "Serveur signal (enregistrement ID)",
|
|
"backend_feature_relay": "Serveur relais (relais de connexion)",
|
|
"backend_feature_basic_api": "API REST basique",
|
|
"backend_feature_full_api": "API REST complète (34+ points d'accès)",
|
|
"backend_feature_jwt": "Authentification JWT & TOTP 2FA",
|
|
"backend_feature_blocklist": "Gestion de liste de blocage IP/ID",
|
|
"backend_feature_tags": "Tags et groupement d'appareils",
|
|
"backend_feature_audit": "Journalisation des événements d'audit",
|
|
"backend_feature_websocket": "Événements WebSocket en temps réel",
|
|
"backend_connection": "Connexion",
|
|
"backend_api_url": "URL de l'API",
|
|
"backend_test": "Tester la connexion",
|
|
"backend_testing": "Test en cours...",
|
|
"backend_save": "Appliquer le backend",
|
|
"backend_saved": "Backend serveur modifié avec succès. Les données des appareils seront désormais gérées par le nouveau backend.",
|
|
"backend_save_failed": "Échec du changement de backend serveur",
|
|
"backend_test_success": "Connexion réussie ! Le serveur est accessible.",
|
|
"backend_test_failed": "Échec de la connexion. Le serveur est inaccessible.",
|
|
"backend_confirm_switch": "Êtes-vous sûr de vouloir changer le backend serveur ? Cela modifiera la gestion des appareils.",
|
|
"backend_unreachable": "Changement impossible : le serveur cible est inaccessible. Démarrez d'abord le serveur.",
|
|
"invalid_backend": "Sélection de backend invalide. Choisissez 'rustdesk' ou 'betterdesk'.",
|
|
"backend_status_running": "Connecté",
|
|
"backend_status_unreachable": "Inaccessible",
|
|
"backend_status_error": "Erreur",
|
|
"backend_status_unknown": "Inconnu",
|
|
"totp_title": "Authentification à deux facteurs",
|
|
"totp_desc": "Ajoutez une couche de sécurité supplémentaire avec les applications d'authentification TOTP (Google Authenticator, Microsoft Authenticator, Authy, etc.)",
|
|
"totp_enabled": "2FA activée",
|
|
"totp_enabled_desc": "Votre compte est protégé par l'authentification à deux facteurs.",
|
|
"totp_disabled": "2FA non activée",
|
|
"totp_disabled_desc": "Activez l'authentification à deux facteurs pour une sécurité supplémentaire du compte.",
|
|
"totp_setup": "Activer la 2FA",
|
|
"totp_disable": "Désactiver la 2FA",
|
|
"totp_step1": "Installez une application d'authentification sur votre téléphone",
|
|
"totp_step2": "Scannez le code QR ci-dessous",
|
|
"totp_step3": "Entrez le code à 6 chiffres pour vérifier",
|
|
"totp_manual_key": "Clé manuelle",
|
|
"totp_enter_code": "Entrez le code de vérification",
|
|
"totp_verify_enable": "Vérifier & Activer",
|
|
"totp_enabled_success": "Authentification à deux facteurs activée !",
|
|
"totp_recovery_warning": "Conservez ces codes de récupération en lieu sûr. Chaque code ne peut être utilisé qu'une seule fois. Si vous perdez l'accès à votre application d'authentification, vous pouvez utiliser ces codes pour vous connecter.",
|
|
"totp_done": "Terminé",
|
|
"totp_disable_warning": "Désactiver l'authentification à deux facteurs rendra votre compte moins sécurisé. Entrez votre mot de passe pour confirmer.",
|
|
"totp_disabled_success": "L'authentification à deux facteurs a été désactivée."
|
|
},
|
|
"audit": {
|
|
"time": "Heure",
|
|
"user": "Utilisateur",
|
|
"action": "Action",
|
|
"details": "Détails"
|
|
},
|
|
"generator": {
|
|
"title": "Générateur de configuration client",
|
|
"subtitle": "Générer la configuration pour les clients RustDesk",
|
|
"config_options": "Options de configuration",
|
|
"server_address": "Adresse du serveur",
|
|
"server_address_hint": "Domaine ou adresse IP de votre serveur",
|
|
"custom_port": "Port personnalisé",
|
|
"port_hint": "Laisser vide pour le port par défaut (21116)",
|
|
"relay_server": "Serveur relais",
|
|
"relay_placeholder": "Identique au serveur ID si vide",
|
|
"relay_hint": "Optionnel : adresse de serveur relais séparée",
|
|
"include_key": "Inclure la clé publique dans la configuration",
|
|
"generate": "Générer la configuration",
|
|
"output": "Sortie de configuration",
|
|
"usage_title": "Détails de connexion",
|
|
"generated": "Configuration générée",
|
|
"server_required": "L'adresse du serveur est requise",
|
|
"nothing_to_copy": "Générez d'abord une configuration"
|
|
},
|
|
"server": {
|
|
"port": "Port",
|
|
"api_port": "Port API",
|
|
"id_server": "Serveur ID",
|
|
"relay_server": "Serveur relais",
|
|
"api_key": "Clé API"
|
|
},
|
|
"status": {
|
|
"online": "En ligne",
|
|
"offline": "Hors ligne",
|
|
"banned": "Banni",
|
|
"running": "En cours",
|
|
"stopped": "Arrêté",
|
|
"unknown": "Inconnu",
|
|
"checking": "Vérification..."
|
|
},
|
|
"actions": {
|
|
"refresh": "Actualiser",
|
|
"copy": "Copier",
|
|
"connect": "Connecter",
|
|
"connect_desktop": "Connecter via le client de bureau",
|
|
"details": "Détails",
|
|
"edit": "Modifier",
|
|
"delete": "Supprimer",
|
|
"ban": "Bannir",
|
|
"unban": "Débannir",
|
|
"save": "Enregistrer",
|
|
"cancel": "Annuler",
|
|
"confirm": "Confirmer",
|
|
"close": "Fermer",
|
|
"clear": "Effacer",
|
|
"ok": "OK"
|
|
},
|
|
"time": {
|
|
"just_now": "À l'instant",
|
|
"minutes_ago": "Il y a {count} minute(s)",
|
|
"hours_ago": "Il y a {count} heure(s)",
|
|
"days_ago": "Il y a {count} jour(s)"
|
|
},
|
|
"users": {
|
|
"title": "Gestion des utilisateurs",
|
|
"subtitle": "Gérer les utilisateurs et les permissions de la console",
|
|
"add_user": "Ajouter un utilisateur",
|
|
"edit_user": "Modifier l'utilisateur",
|
|
"username": "Nom d'utilisateur",
|
|
"username_placeholder": "Entrez le nom d'utilisateur",
|
|
"username_hint": "3-32 caractères, lettres, chiffres et underscores uniquement",
|
|
"password": "Mot de passe",
|
|
"password_placeholder": "Entrez le mot de passe",
|
|
"password_hint": "Minimum 8 caractères avec majuscules, minuscules, chiffres et symboles",
|
|
"password_leave_empty": "Laisser vide pour conserver l'actuel",
|
|
"role": "Rôle",
|
|
"role_admin": "Administrateur",
|
|
"role_operator": "Opérateur",
|
|
"role_viewer": "Observateur",
|
|
"role_hint": "Les observateurs peuvent uniquement consulter les données, les opérateurs peuvent gérer les appareils, les administrateurs ont un accès complet",
|
|
"created": "Créé",
|
|
"last_login": "Dernière connexion",
|
|
"never": "Jamais",
|
|
"actions": "Actions",
|
|
"create": "Créer un utilisateur",
|
|
"edit": "Modifier",
|
|
"reset_password": "Réinitialiser le mot de passe",
|
|
"new_password": "Nouveau mot de passe",
|
|
"delete_title": "Supprimer l'utilisateur",
|
|
"delete_confirm": "Êtes-vous sûr de vouloir supprimer l'utilisateur {username} ?",
|
|
"delete_success": "Utilisateur supprimé avec succès",
|
|
"user_created": "Utilisateur créé avec succès",
|
|
"user_updated": "Utilisateur mis à jour avec succès",
|
|
"password_reset_success": "Mot de passe réinitialisé avec succès",
|
|
"empty_title": "Aucun utilisateur trouvé",
|
|
"empty_text": "Ajoutez des utilisateurs pour gérer l'accès à la console",
|
|
"fill_required": "Veuillez remplir tous les champs obligatoires",
|
|
"invalid_username": "Le nom d'utilisateur doit contenir 3-32 caractères, lettres, chiffres et underscores uniquement",
|
|
"username_exists": "Le nom d'utilisateur existe déjà",
|
|
"weak_password": "Le mot de passe est trop faible",
|
|
"password_too_short": "Le mot de passe doit contenir au moins 8 caractères",
|
|
"invalid_role": "Rôle invalide",
|
|
"cannot_demote_self": "Vous ne pouvez pas vous rétrograder",
|
|
"cannot_delete_self": "Vous ne pouvez pas supprimer votre propre compte",
|
|
"last_admin": "Impossible de supprimer le dernier administrateur",
|
|
"admin_only": "Cette fonctionnalité est réservée aux administrateurs",
|
|
"password_required": "Le mot de passe est requis",
|
|
"not_found": "Utilisateur non trouvé",
|
|
"strength_weak": "Faible",
|
|
"strength_medium": "Moyen",
|
|
"strength_strong": "Fort",
|
|
"security_tips_title": "Bonnes pratiques de sécurité",
|
|
"tip_strong_passwords": "Utilisez des mots de passe forts et uniques pour chaque utilisateur",
|
|
"tip_unique_accounts": "Créez des comptes individuels pour chaque personne",
|
|
"tip_viewer_role": "Utilisez le rôle observateur pour les utilisateurs qui n'ont besoin que d'un accès en lecture",
|
|
"tip_operator_role": "Utilisez le rôle opérateur pour les utilisateurs qui doivent gérer les appareils mais pas les utilisateurs",
|
|
"tip_audit_logs": "Vérifiez régulièrement les journaux d'audit pour détecter les activités suspectes"
|
|
},
|
|
"folders": {
|
|
"title": "Dossiers",
|
|
"create": "Créer un dossier",
|
|
"edit": "Modifier le dossier",
|
|
"delete": "Supprimer le dossier",
|
|
"name": "Nom du dossier",
|
|
"name_placeholder": "Entrez le nom du dossier",
|
|
"name_required": "Le nom du dossier est requis",
|
|
"name_too_long": "Le nom du dossier est trop long (max 50 caractères)",
|
|
"color": "Couleur",
|
|
"icon": "Icône",
|
|
"not_found": "Dossier non trouvé",
|
|
"delete_confirm": "Êtes-vous sûr de vouloir supprimer ce dossier ? Les appareils seront désassignés.",
|
|
"delete_success": "Dossier supprimé avec succès",
|
|
"created": "Dossier créé avec succès",
|
|
"updated": "Dossier mis à jour avec succès",
|
|
"no_devices_selected": "Aucun appareil sélectionné",
|
|
"devices_moved": "Appareils déplacés avec succès",
|
|
"device_assigned": "Appareil assigné au dossier",
|
|
"unassigned": "Non assigné",
|
|
"all_devices": "Tous les appareils",
|
|
"drag_hint": "Glissez les appareils dans les dossiers pour les organiser",
|
|
"move_to": "Déplacer vers",
|
|
"toggle_sidebar": "Basculer la barre latérale"
|
|
},
|
|
"errors": {
|
|
"not_found_title": "Page non trouvée",
|
|
"not_found_message": "La page que vous recherchez n'existe pas ou a été déplacée.",
|
|
"server_error_title": "Erreur serveur",
|
|
"server_error_message": "Un problème est survenu. Veuillez réessayer plus tard.",
|
|
"go_home": "Accueil",
|
|
"try_again": "Réessayer",
|
|
"load_devices_failed": "Échec du chargement des appareils",
|
|
"load_key_failed": "Échec du chargement de la clé",
|
|
"load_qr_failed": "Échec du chargement du QR",
|
|
"load_audit_failed": "Échec du chargement du journal d'audit",
|
|
"load_users_failed": "Échec du chargement des utilisateurs",
|
|
"load_folders_failed": "Échec du chargement des dossiers",
|
|
"download_failed": "Échec du téléchargement",
|
|
"logout_failed": "Échec de la déconnexion",
|
|
"password_change_failed": "Échec du changement de mot de passe",
|
|
"language_change_failed": "Échec du changement de langue",
|
|
"ban_failed": "Échec du bannissement de l'appareil",
|
|
"unban_failed": "Échec du débannissement de l'appareil",
|
|
"delete_failed": "Échec de la suppression de l'appareil",
|
|
"change_id_failed": "Échec du changement d'ID de l'appareil",
|
|
"bulk_delete_failed": "Échec de la suppression des appareils",
|
|
"sync_failed": "Échec de la synchronisation"
|
|
},
|
|
"remote": {
|
|
"title": "Bureau à distance",
|
|
"connecting": "Connexion en cours...",
|
|
"waiting_password": "En attente du mot de passe",
|
|
"authenticating": "Authentification...",
|
|
"streaming": "Connecté",
|
|
"disconnected": "Déconnecté",
|
|
"error": "Erreur",
|
|
"status_idle": "Inactif",
|
|
"password_required": "Mot de passe requis",
|
|
"enter_password_for": "Entrez le mot de passe pour l'appareil",
|
|
"password_placeholder": "Mot de passe de l'appareil",
|
|
"connect": "Connecter",
|
|
"reconnect": "Reconnecter",
|
|
"disconnect": "Déconnecter",
|
|
"back_to_devices": "Retour aux appareils",
|
|
"fullscreen": "Plein écran",
|
|
"toggle_audio": "Basculer l'audio",
|
|
"send_keys": "Envoyer des touches",
|
|
"scale_mode": "Mode de mise à l'échelle",
|
|
"scale_fit": "Adapter à la fenêtre",
|
|
"scale_fill": "Remplir la fenêtre",
|
|
"scale_original": "Taille originale (1:1)",
|
|
"scale_stretch": "Étirer",
|
|
"actions": "Actions",
|
|
"lock_screen": "Verrouiller l'écran",
|
|
"restart_remote": "Redémarrer l'appareil distant",
|
|
"refresh_screen": "Rafraîchir l'écran",
|
|
"clipboard_paste": "Coller depuis le presse-papiers",
|
|
"block_input": "Bloquer la saisie",
|
|
"display_settings": "Paramètres d'affichage",
|
|
"image_quality": "Qualité d'image",
|
|
"quality_best": "Meilleure qualité",
|
|
"quality_balanced": "Équilibrée",
|
|
"quality_low": "Performance",
|
|
"show_cursor": "Afficher le curseur distant",
|
|
"lock_after_session": "Verrouiller après la session",
|
|
"privacy_mode": "Mode confidentialité",
|
|
"disable_clipboard": "Désactiver le presse-papiers",
|
|
"chat": "Discussion",
|
|
"chat_placeholder": "Tapez un message...",
|
|
"record": "Enregistrer l'écran",
|
|
"view_only": "Affichage seul",
|
|
"pin_toolbar": "Épingler la barre d'outils",
|
|
"confirm_restart": "Êtes-vous sûr de vouloir redémarrer l'appareil distant ?",
|
|
"webcodecs_not_supported": "Votre navigateur ne prend pas en charge l'API WebCodecs. Veuillez utiliser Chrome 94+ ou Edge 94+.",
|
|
"webcodecs_insecure_context": "WebCodecs indisponible en HTTP. La vidéo utilise un décodeur logiciel. Pour de meilleures performances, utilisez HTTPS.",
|
|
"webcodecs_fallback_active": "Décodeur vidéo logiciel actif (performances limitées)",
|
|
"click_to_start": "Cliquez pour démarrer",
|
|
"autoplay_blocked": "Le navigateur nécessite une interaction utilisateur pour démarrer la vidéo et l'audio.",
|
|
"start_playback": "Démarrer la lecture"
|
|
},
|
|
"branding": {
|
|
"identity_title": "Identité de marque",
|
|
"identity_desc": "Personnalisez le nom et la description de l'application affichés dans la console",
|
|
"app_name": "Nom de l'application",
|
|
"app_description": "Description de l'application",
|
|
"logo_title": "Logo",
|
|
"logo_desc": "Choisissez comment votre logo apparaît dans la barre latérale et la page de connexion",
|
|
"logo_type_icon": "Icône Material",
|
|
"logo_type_svg": "Code SVG",
|
|
"logo_type_image": "URL de l'image",
|
|
"logo_icon_name": "Nom de l'icône",
|
|
"logo_icon_hint": "Entrez un nom Material Icons (ex: dns, cloud, security). Voir fonts.google.com/icons",
|
|
"logo_svg_code": "Code SVG",
|
|
"logo_svg_hint": "Collez votre balisage SVG ici. Supporte les éléments <svg> complets avec chemins et styles.",
|
|
"logo_image_upload": "Télécharger une image",
|
|
"logo_image_choose": "Choisir un fichier image",
|
|
"logo_image_hint": "PNG, JPG, GIF, WebP ou SVG. Max 1,5 Mo. L'image est stockée en données base64.",
|
|
"logo_image_url": "Données / URL de l'image",
|
|
"logo_image_url_hint": "Rempli automatiquement lors du téléchargement ou collez une URL manuellement.",
|
|
"logo_image_too_large": "L'image est trop grande. Taille maximale : 1,5 Mo.",
|
|
"logo_image_invalid_type": "Type de fichier invalide. Utilisez PNG, JPG, GIF, WebP ou SVG.",
|
|
"preview": "Aperçu",
|
|
"colors_title": "Palette de couleurs",
|
|
"colors_desc": "Personnalisez la palette de couleurs. Laissez vide pour les valeurs par défaut.",
|
|
"colors_backgrounds": "Arrière-plans",
|
|
"colors_text": "Texte",
|
|
"colors_accents": "Couleurs d'accentuation",
|
|
"colors_borders": "Bordures",
|
|
"import_export_title": "Import / Export",
|
|
"import_export_desc": "Sauvegardez votre thème en fichier JSON ou importez-en un d'une autre instance",
|
|
"export_theme": "Exporter le thème",
|
|
"import_theme": "Importer un thème",
|
|
"reset_defaults": "Réinitialiser par défaut",
|
|
"save_branding": "Enregistrer l'image de marque",
|
|
"saved": "Image de marque enregistrée avec succès. Rechargement...",
|
|
"exported": "Thème exporté",
|
|
"imported": "Thème importé avec succès. Rechargement...",
|
|
"import_error": "Échec de l'import du thème. Format de fichier invalide.",
|
|
"reset_confirm": "Êtes-vous sûr de vouloir réinitialiser l'image de marque par défaut ? Cette action est irréversible.",
|
|
"reset_success": "Image de marque réinitialisée par défaut. Rechargement..."
|
|
},
|
|
"device_detail": {
|
|
"tab_overview": "Vue d'ensemble",
|
|
"tab_tags": "Tags & Notes",
|
|
"tab_actions": "Actions",
|
|
"section_identity": "Identité",
|
|
"section_network": "Réseau",
|
|
"section_timestamps": "Horodatages",
|
|
"section_connect": "Connexion",
|
|
"section_manage": "Gestion",
|
|
"folder": "Dossier",
|
|
"status_tier": "Niveau de statut",
|
|
"device_banned": "Cet appareil est banni",
|
|
"no_reason": "Aucune raison fournie",
|
|
"tags": "Tags",
|
|
"no_tags": "Aucun tag assigné à cet appareil",
|
|
"tag_placeholder": "Entrez un nom de tag...",
|
|
"add_tag": "Ajouter",
|
|
"tag_exists": "Ce tag existe déjà",
|
|
"notes": "Notes",
|
|
"notes_placeholder": "Ajoutez des notes sur cet appareil...",
|
|
"danger_zone": "Zone de danger",
|
|
"action_connect_web": "Bureau à distance Web",
|
|
"action_connect_web_desc": "Connexion via le bureau à distance du navigateur",
|
|
"action_native_remote": "BetterDesk Remote",
|
|
"action_native_remote_desc": "Flux JPEG natif — aucun plugin requis",
|
|
"action_connect_desktop": "Client de bureau",
|
|
"action_connect_desktop_desc": "Ouvrir dans l'application client de bureau",
|
|
"action_change_id_desc": "Changer l'ID d'enregistrement de l'appareil",
|
|
"action_ban_desc": "Empêcher cet appareil de se connecter",
|
|
"action_unban_desc": "Permettre à cet appareil de se reconnecter",
|
|
"action_delete_desc": "Supprimer définitivement cet appareil",
|
|
"tab_hardware": "Matériel",
|
|
"tab_metrics": "Métriques",
|
|
"section_system": "Système",
|
|
"section_cpu": "Processeur",
|
|
"section_memory": "Mémoire",
|
|
"section_displays": "Écrans",
|
|
"section_encoding": "Capacités d'encodage",
|
|
"section_live_metrics": "Métriques en direct",
|
|
"section_current_usage": "Utilisation actuelle",
|
|
"section_usage_history": "Historique d'utilisation",
|
|
"os": "Système d'exploitation",
|
|
"version": "Version du client",
|
|
"cpu_model": "Modèle CPU",
|
|
"cpu_cores": "Cœurs CPU",
|
|
"cpu_freq": "Fréquence CPU",
|
|
"total_memory": "Mémoire totale",
|
|
"metric_memory": "Mémoire",
|
|
"metric_disk": "Disque",
|
|
"metrics_updated": "Mis à jour",
|
|
"device_groups": "Groupes",
|
|
"no_sysinfo": "Aucune information matérielle disponible",
|
|
"no_sysinfo_hint": "Les infos système apparaîtront après que l'appareil aura envoyé un rapport sysinfo",
|
|
"no_metrics": "Aucune donnée de métriques disponible",
|
|
"no_metrics_hint": "Les métriques apparaîtront après que l'appareil aura envoyé des rapports de battement de cœur",
|
|
"chart_oldest": "← Plus ancien",
|
|
"chart_newest": "Plus récent →"
|
|
},
|
|
"inventory": {
|
|
"title": "Inventaire",
|
|
"subtitle": "Inventaire matériel et logiciel des appareils gérés",
|
|
"device_id": "ID de l'appareil",
|
|
"hostname": "Nom d'hôte",
|
|
"os": "Système d'exploitation",
|
|
"cpu": "CPU",
|
|
"cpu_cores": "Cœurs CPU",
|
|
"cpu_usage": "Utilisation CPU",
|
|
"memory": "Mémoire",
|
|
"memory_total": "Mémoire totale",
|
|
"memory_used": "Mémoire utilisée",
|
|
"memory_available": "Mémoire disponible",
|
|
"memory_usage": "Utilisation mémoire",
|
|
"swap": "Swap",
|
|
"disks": "Disques",
|
|
"disk_count": "Nombre de disques",
|
|
"network": "Réseau",
|
|
"network_interfaces": "Interfaces réseau",
|
|
"software": "Logiciels",
|
|
"software_count": "Logiciels installés",
|
|
"system": "Système",
|
|
"kernel": "Noyau",
|
|
"architecture": "Architecture",
|
|
"uptime": "Temps de fonctionnement",
|
|
"frequency": "Fréquence",
|
|
"physical_cores": "Cœurs physiques",
|
|
"logical_cores": "Cœurs logiques",
|
|
"model": "Modèle",
|
|
"usage": "Utilisation",
|
|
"total": "Total",
|
|
"used": "Utilisé",
|
|
"available": "Disponible",
|
|
"mount_point": "Point de montage",
|
|
"removable": "Amovible",
|
|
"mac_address": "Adresse MAC",
|
|
"ip_addresses": "Adresses IP",
|
|
"traffic": "Trafic",
|
|
"collect_now": "Collecter maintenant",
|
|
"collector_running": "Collecte en cours",
|
|
"collector_stopped": "Collecte arrêtée",
|
|
"last_upload": "Dernier envoi",
|
|
"total_uploads": "Total",
|
|
"last_seen": "Vu en dernier",
|
|
"collected_at": "Collecté le",
|
|
"no_data": "Aucune donnée d'inventaire disponible. Cliquez sur \"Collecter maintenant\" pour recueillir les informations système.",
|
|
"no_devices": "Aucun appareil avec des données d'inventaire trouvé",
|
|
"detail_title": "Détails d'inventaire de l'appareil",
|
|
"telemetry": "Télémétrie",
|
|
"view_detail": "Voir les détails",
|
|
"export": "Exporter",
|
|
"refresh": "Actualiser"
|
|
},
|
|
"tickets": {
|
|
"title": "Helpdesk",
|
|
"subtitle": "Tickets de support et suivi des problèmes",
|
|
"create": "Nouveau ticket",
|
|
"edit": "Modifier le ticket",
|
|
"delete": "Supprimer le ticket",
|
|
"detail": "Détails du ticket",
|
|
"ticket_id": "ID du ticket",
|
|
"ticket_title": "Titre",
|
|
"description": "Description",
|
|
"status": "Statut",
|
|
"priority": "Priorité",
|
|
"category": "Catégorie",
|
|
"assigned_to": "Assigné à",
|
|
"created_by": "Créé par",
|
|
"device": "Appareil",
|
|
"sla_due": "Échéance SLA",
|
|
"created_at": "Créé",
|
|
"updated_at": "Mis à jour",
|
|
"resolved_at": "Résolu",
|
|
"closed_at": "Fermé",
|
|
"status_open": "Ouvert",
|
|
"status_in_progress": "En cours",
|
|
"status_resolved": "Résolu",
|
|
"status_closed": "Fermé",
|
|
"priority_low": "Faible",
|
|
"priority_medium": "Moyen",
|
|
"priority_high": "Élevé",
|
|
"priority_critical": "Critique",
|
|
"category_general": "Général",
|
|
"category_hardware": "Matériel",
|
|
"category_software": "Logiciel",
|
|
"category_network": "Réseau",
|
|
"category_access": "Accès",
|
|
"category_other": "Autre",
|
|
"comments": "Commentaires",
|
|
"add_comment": "Ajouter un commentaire",
|
|
"comment_placeholder": "Écrire un commentaire...",
|
|
"internal_note": "Note interne (non visible par les utilisateurs finaux)",
|
|
"attachments": "Pièces jointes",
|
|
"upload_attachment": "Télécharger une pièce jointe",
|
|
"download": "Télécharger",
|
|
"connect_device": "Se connecter à l'appareil",
|
|
"no_tickets": "Aucun ticket trouvé",
|
|
"no_comments": "Aucun commentaire",
|
|
"no_attachments": "Aucune pièce jointe",
|
|
"title_required": "Le titre est requis",
|
|
"delete_confirm": "Êtes-vous sûr de vouloir supprimer le ticket #{id} ?",
|
|
"delete_success": "Ticket supprimé avec succès",
|
|
"created_success": "Ticket créé avec succès",
|
|
"updated_success": "Ticket mis à jour avec succès",
|
|
"sla_overdue": "SLA dépassé",
|
|
"filter_all": "Tous",
|
|
"search_placeholder": "Rechercher des tickets...",
|
|
"assign_to_me": "M'assigner",
|
|
"unassign": "Désassigner",
|
|
"stats_total": "Total",
|
|
"stats_open": "Ouverts",
|
|
"stats_in_progress": "En cours",
|
|
"stats_resolved": "Résolus",
|
|
"stats_closed": "Fermés"
|
|
},
|
|
"activity": {
|
|
"title": "Surveillance d'activité",
|
|
"subtitle": "Utilisation des applications et suivi de l'inactivité",
|
|
"device": "Appareil",
|
|
"hostname": "Nom d'hôte",
|
|
"sessions": "Sessions",
|
|
"idle_time": "Temps d'inactivité",
|
|
"active_time": "Temps actif",
|
|
"last_report": "Dernier rapport",
|
|
"top_apps": "Applications principales",
|
|
"app_name": "Application",
|
|
"window_title": "Titre de la fenêtre",
|
|
"category": "Catégorie",
|
|
"duration": "Durée",
|
|
"started_at": "Démarré",
|
|
"ended_at": "Terminé",
|
|
"session_count": "Nombre de sessions",
|
|
"total_active": "Total actif",
|
|
"total_idle": "Total inactif",
|
|
"detail_count": "Enregistrements détaillés",
|
|
"no_data": "Aucune donnée d'activité disponible",
|
|
"no_sessions": "Aucune session enregistrée",
|
|
"filter_from": "De",
|
|
"filter_to": "À",
|
|
"filter_apply": "Appliquer le filtre",
|
|
"hours": "heures",
|
|
"minutes": "minutes",
|
|
"seconds": "secondes",
|
|
"category_browser": "Navigateur",
|
|
"category_productivity": "Productivité",
|
|
"category_communication": "Communication",
|
|
"category_development": "Développement",
|
|
"category_media": "Médias",
|
|
"category_gaming": "Jeux",
|
|
"category_system": "Système",
|
|
"category_other": "Autre",
|
|
"summary": "Résumé",
|
|
"details": "Détails",
|
|
"refresh": "Actualiser"
|
|
},
|
|
"automation": {
|
|
"title": "Automatisation & Alertes",
|
|
"subtitle": "Règles d'alerte, commandes à distance et configuration SMTP",
|
|
"rules": "Règles d'alerte",
|
|
"rules_subtitle": "Définir les conditions qui déclenchent des notifications",
|
|
"alerts": "Historique des alertes",
|
|
"alerts_subtitle": "Voir et acquitter les alertes déclenchées",
|
|
"commands": "Commandes à distance",
|
|
"commands_subtitle": "Envoyer des commandes aux appareils distants",
|
|
"smtp": "Configuration SMTP",
|
|
"smtp_subtitle": "Paramètres de notification par e-mail",
|
|
"rule_name": "Nom de la règle",
|
|
"description": "Description",
|
|
"condition_type": "Type de condition",
|
|
"condition_op": "Opérateur",
|
|
"condition_value": "Seuil",
|
|
"severity": "Sévérité",
|
|
"scope_device": "Appareil cible",
|
|
"scope_all": "Tous les appareils",
|
|
"cooldown": "Temps de refroidissement (secondes)",
|
|
"notify_emails": "E-mails de notification",
|
|
"enabled": "Activé",
|
|
"disabled": "Désactivé",
|
|
"create_rule": "Créer une règle",
|
|
"edit_rule": "Modifier la règle",
|
|
"delete_rule": "Supprimer la règle",
|
|
"acknowledge": "Acquitter",
|
|
"acknowledged": "Acquitté",
|
|
"unacknowledged": "Non acquitté",
|
|
"triggered_at": "Déclenché le",
|
|
"severity_info": "Info",
|
|
"severity_warning": "Avertissement",
|
|
"severity_critical": "Critique",
|
|
"op_gt": "Supérieur à",
|
|
"op_gte": "Supérieur ou égal",
|
|
"op_lt": "Inférieur à",
|
|
"op_lte": "Inférieur ou égal",
|
|
"op_eq": "Égal à",
|
|
"op_neq": "Différent de",
|
|
"type_cpu_usage": "Utilisation CPU (%)",
|
|
"type_memory_usage": "Utilisation mémoire (%)",
|
|
"type_disk_usage": "Utilisation disque (%)",
|
|
"type_offline_duration": "Durée hors ligne (s)",
|
|
"type_idle_duration": "Durée d'inactivité (s)",
|
|
"type_custom": "Personnalisé",
|
|
"command_type": "Type de commande",
|
|
"command_payload": "Commande / Script",
|
|
"command_result": "Résultat",
|
|
"command_status": "Statut",
|
|
"send_command": "Envoyer la commande",
|
|
"status_pending": "En attente",
|
|
"status_running": "En cours",
|
|
"status_completed": "Terminé",
|
|
"status_failed": "Échoué",
|
|
"smtp_host": "Hôte SMTP",
|
|
"smtp_port": "Port",
|
|
"smtp_secure": "Utiliser TLS",
|
|
"smtp_user": "Nom d'utilisateur",
|
|
"smtp_pass": "Mot de passe",
|
|
"smtp_from": "Adresse d'expédition",
|
|
"smtp_test": "Tester la connexion",
|
|
"smtp_save": "Enregistrer la configuration",
|
|
"smtp_test_success": "Connexion réussie",
|
|
"smtp_test_failed": "Échec de la connexion",
|
|
"no_rules": "Aucune règle d'alerte configurée",
|
|
"no_alerts": "Aucune alerte déclenchée",
|
|
"no_commands": "Aucune commande envoyée"
|
|
},
|
|
"file_transfer": {
|
|
"title": "Transfert de fichiers",
|
|
"transfers": "Transferts",
|
|
"new_transfer": "Nouveau transfert",
|
|
"upload": "Télécharger vers",
|
|
"download": "Télécharger depuis",
|
|
"direction": "Direction",
|
|
"filename": "Nom du fichier",
|
|
"file_size": "Taille du fichier",
|
|
"mime_type": "Type MIME",
|
|
"progress": "Progression",
|
|
"status": "Statut",
|
|
"device": "Appareil",
|
|
"initiated_by": "Initié par",
|
|
"created_at": "Créé le",
|
|
"cancel": "Annuler",
|
|
"cancel_confirm": "Êtes-vous sûr de vouloir annuler ce transfert ?",
|
|
"download_file": "Télécharger le fichier",
|
|
"browse_files": "Parcourir les fichiers",
|
|
"select_file": "Sélectionner un fichier",
|
|
"select_device": "Sélectionner un appareil",
|
|
"no_transfers": "Aucun transfert de fichier",
|
|
"status_pending": "En attente",
|
|
"status_active": "Actif",
|
|
"status_completed": "Terminé",
|
|
"status_failed": "Échoué",
|
|
"status_cancelled": "Annulé",
|
|
"bytes_transferred": "Octets transférés",
|
|
"chunks": "Blocs",
|
|
"transfer_started": "Transfert démarré",
|
|
"transfer_completed": "Transfert terminé",
|
|
"transfer_failed": "Transfert échoué",
|
|
"transfer_cancelled": "Transfert annulé",
|
|
"max_file_size": "Taille maximale du fichier : 4 Go",
|
|
"error_too_large": "Le fichier est trop volumineux",
|
|
"error_no_device": "Aucun appareil sélectionné",
|
|
"error_no_file": "Aucun fichier sélectionné"
|
|
},
|
|
"network": {
|
|
"title": "Surveillance réseau",
|
|
"targets": "Cibles de surveillance",
|
|
"add_target": "Ajouter une cible",
|
|
"edit_target": "Modifier la cible",
|
|
"delete_target": "Supprimer la cible",
|
|
"delete_confirm": "Êtes-vous sûr de vouloir supprimer cette cible ?",
|
|
"target_name": "Nom",
|
|
"host": "Hôte",
|
|
"port": "Port",
|
|
"url": "URL",
|
|
"check_type": "Type de vérification",
|
|
"timeout": "Délai d'attente (ms)",
|
|
"interval": "Intervalle (ms)",
|
|
"enabled": "Activé",
|
|
"status": "Statut",
|
|
"last_check": "Dernière vérification",
|
|
"last_rtt": "Dernier RTT",
|
|
"rtt_ms": "RTT (ms)",
|
|
"status_up": "Accessible",
|
|
"status_down": "Inaccessible",
|
|
"status_unknown": "Inconnu",
|
|
"check_now": "Vérifier maintenant",
|
|
"history": "Historique des vérifications",
|
|
"stats": "Statistiques",
|
|
"total_targets": "Cibles totales",
|
|
"targets_up": "Cibles accessibles",
|
|
"targets_down": "Cibles inaccessibles",
|
|
"type_ping": "Ping (ICMP)",
|
|
"type_tcp": "Port TCP",
|
|
"type_http": "HTTP",
|
|
"type_https": "HTTPS",
|
|
"tools": "Outils réseau",
|
|
"ping_tool": "Test Ping",
|
|
"tcp_tool": "Vérification port TCP",
|
|
"http_tool": "Vérification HTTP",
|
|
"dns_tool": "Résolution DNS",
|
|
"monitor_start": "Démarrer la surveillance",
|
|
"monitor_stop": "Arrêter la surveillance",
|
|
"monitor_running": "Surveillance en cours",
|
|
"monitor_stopped": "Surveillance arrêtée",
|
|
"no_targets": "Aucune cible de surveillance configurée",
|
|
"no_history": "Aucun historique de vérification disponible",
|
|
"error_code": "Erreur",
|
|
"status_code": "Code de statut HTTP"
|
|
},
|
|
"dataguard": {
|
|
"title": "DataGuard — DLP",
|
|
"policies": "Politiques DLP",
|
|
"add_policy": "Ajouter une politique",
|
|
"edit_policy": "Modifier la politique",
|
|
"delete_policy": "Supprimer la politique",
|
|
"delete_confirm": "Êtes-vous sûr de vouloir supprimer cette politique ?",
|
|
"policy_name": "Nom",
|
|
"policy_description": "Description",
|
|
"enabled": "Activé",
|
|
"disabled": "Désactivé",
|
|
"rules": "Règles",
|
|
"add_rule": "Ajouter une règle",
|
|
"rule_type": "Type de règle",
|
|
"rule_type_usb": "Périphérique USB",
|
|
"rule_type_file": "Opération sur fichier",
|
|
"action": "Action",
|
|
"action_allow": "Autoriser",
|
|
"action_block": "Bloquer",
|
|
"action_log": "Journaliser uniquement",
|
|
"filter": "Filtre",
|
|
"vid": "ID fournisseur (VID)",
|
|
"pid": "ID produit (PID)",
|
|
"serial": "Numéro de série",
|
|
"device_class": "Classe d'appareil",
|
|
"drive_type": "Type de lecteur",
|
|
"file_extensions": "Extensions de fichier",
|
|
"events": "Événements DLP",
|
|
"event_source": "Source",
|
|
"event_source_usb": "USB",
|
|
"event_source_file": "Fichier",
|
|
"event_type": "Type d'événement",
|
|
"event_details": "Détails",
|
|
"no_policies": "Aucune politique DLP configurée",
|
|
"no_events": "Aucun événement DLP enregistré",
|
|
"stats": "Statistiques",
|
|
"total_events": "Total des événements",
|
|
"blocked_events": "Bloqués",
|
|
"logged_events": "Journalisés",
|
|
"usb_events": "Événements USB",
|
|
"file_events": "Événements fichier",
|
|
"device_id": "ID de l'appareil",
|
|
"policy_matched": "Politique correspondante",
|
|
"timestamp": "Horodatage",
|
|
"drive_removable": "Amovible",
|
|
"drive_fixed": "Fixe",
|
|
"drive_network": "Réseau",
|
|
"drive_cdrom": "CD-ROM",
|
|
"drive_unknown": "Inconnu"
|
|
},
|
|
"reports": {
|
|
"title": "Rapports",
|
|
"generate": "Générer un rapport",
|
|
"generate_csv": "Exporter CSV",
|
|
"report_type": "Type de rapport",
|
|
"type_devices": "Résumé des appareils",
|
|
"type_activity": "Résumé d'activité",
|
|
"type_security": "Rapport de sécurité",
|
|
"type_tickets": "Rapport de tickets",
|
|
"type_network": "Rapport réseau",
|
|
"type_inventory": "Rapport d'inventaire",
|
|
"type_alerts": "Rapport d'alertes",
|
|
"saved": "Rapports sauvegardés",
|
|
"save_report": "Sauvegarder le rapport",
|
|
"delete_report": "Supprimer le rapport",
|
|
"delete_confirm": "Êtes-vous sûr de vouloir supprimer ce rapport sauvegardé ?",
|
|
"no_saved": "Aucun rapport sauvegardé",
|
|
"report_title": "Titre",
|
|
"created_by": "Créé par",
|
|
"created_at": "Créé le",
|
|
"filters": "Filtres",
|
|
"date_from": "De",
|
|
"date_to": "À",
|
|
"device_filter": "ID de l'appareil",
|
|
"generated_at": "Généré le",
|
|
"section": "Section de données",
|
|
"total_devices": "Total des appareils",
|
|
"online": "En ligne",
|
|
"offline": "Hors ligne",
|
|
"banned": "Bannis",
|
|
"platform_distribution": "Distribution par plateforme",
|
|
"top_applications": "Applications principales",
|
|
"total_active": "Temps total actif",
|
|
"total_idle": "Temps total inactif",
|
|
"dlp_stats": "Statistiques DLP",
|
|
"banned_devices": "Appareils bannis",
|
|
"audit_logs": "Journaux d'audit",
|
|
"ticket_stats": "Statistiques des tickets",
|
|
"category_distribution": "Distribution par catégorie",
|
|
"priority_distribution": "Distribution par priorité",
|
|
"targets_status": "Statut des cibles",
|
|
"os_distribution": "Distribution des OS",
|
|
"avg_ram": "RAM moyenne",
|
|
"alert_rules": "Règles d'alerte",
|
|
"recent_alerts": "Alertes récentes"
|
|
},
|
|
"tenants": {
|
|
"title": "Multi-location",
|
|
"list": "Locataires",
|
|
"add_tenant": "Ajouter un locataire",
|
|
"edit_tenant": "Modifier le locataire",
|
|
"delete_tenant": "Supprimer le locataire",
|
|
"delete_confirm": "Êtes-vous sûr de vouloir supprimer ce locataire ? Toutes les affectations d'appareils et d'utilisateurs seront supprimées.",
|
|
"name": "Nom",
|
|
"slug": "Slug",
|
|
"contact_name": "Nom du contact",
|
|
"contact_email": "E-mail du contact",
|
|
"max_devices": "Max appareils",
|
|
"max_devices_hint": "0 = illimité",
|
|
"notes": "Notes",
|
|
"active": "Actif",
|
|
"inactive": "Inactif",
|
|
"devices": "Appareils",
|
|
"users": "Utilisateurs",
|
|
"assign_device": "Assigner un appareil",
|
|
"assign_devices": "Assigner des appareils",
|
|
"remove_device": "Retirer l'appareil",
|
|
"assign_user": "Assigner un utilisateur",
|
|
"remove_user": "Retirer l'utilisateur",
|
|
"no_tenants": "Aucun locataire configuré",
|
|
"no_devices": "Aucun appareil assigné à ce locataire",
|
|
"no_users": "Aucun utilisateur assigné à ce locataire",
|
|
"stats": "Statistiques du locataire",
|
|
"total_devices": "Total des appareils",
|
|
"online_devices": "Appareils en ligne",
|
|
"total_users": "Total des utilisateurs",
|
|
"created_at": "Créé le",
|
|
"updated_at": "Mis à jour le",
|
|
"slug_exists": "Le slug du locataire existe déjà"
|
|
},
|
|
"registrations": {
|
|
"title": "Inscriptions des appareils",
|
|
"subtitle": "Gérer les demandes d'inscription des appareils découverts via LAN",
|
|
"search_placeholder": "Rechercher par ID d'appareil, nom d'hôte ou IP...",
|
|
"no_registrations": "Aucune demande d'inscription",
|
|
"col_device_id": "ID de l'appareil",
|
|
"col_hostname": "Nom d'hôte",
|
|
"col_platform": "Plateforme",
|
|
"col_ip": "Adresse IP",
|
|
"col_version": "Version",
|
|
"col_status": "Statut",
|
|
"col_requested": "Demandé",
|
|
"col_actions": "Actions",
|
|
"status_pending": "En attente",
|
|
"status_approved": "Approuvé",
|
|
"status_rejected": "Rejeté",
|
|
"approve_btn": "Approuver",
|
|
"approve_confirm": "Êtes-vous sûr de vouloir approuver cet appareil ? Il recevra les identifiants du serveur et pourra se connecter automatiquement.",
|
|
"approved_success": "Inscription de l'appareil approuvée avec succès",
|
|
"reject_btn": "Rejeter",
|
|
"reject_title": "Rejeter l'inscription",
|
|
"reject_confirm": "Êtes-vous sûr de vouloir rejeter cette demande d'inscription ?",
|
|
"reject_reason": "Raison (optionnel)",
|
|
"reject_reason_placeholder": "Entrez la raison du rejet...",
|
|
"rejected_success": "Inscription de l'appareil rejetée",
|
|
"delete_confirm": "Êtes-vous sûr de vouloir supprimer cet enregistrement d'inscription ?",
|
|
"deleted_success": "Enregistrement d'inscription supprimé"
|
|
},
|
|
"backup": {
|
|
"title": "Sauvegarde",
|
|
"desc": "Téléchargez une sauvegarde complète de la configuration de votre console, utilisateurs, groupes et paramètres. Les données peer du serveur Go sont incluses lorsque le backend BetterDesk est actif.",
|
|
"restore_title": "Restaurer",
|
|
"restore_desc": "Téléchargez un fichier de sauvegarde précédemment téléchargé pour restaurer la configuration de la console. Sélectionnez ci-dessous les sections à restaurer.",
|
|
"stat_users": "Utilisateurs",
|
|
"stat_settings": "Paramètres",
|
|
"stat_folders": "Dossiers",
|
|
"stat_groups": "Groupes",
|
|
"stat_strategies": "Stratégies",
|
|
"stat_backend": "Backend",
|
|
"download": "Télécharger la sauvegarde",
|
|
"creating": "Création de la sauvegarde...",
|
|
"download_success": "Sauvegarde téléchargée avec succès",
|
|
"upload": "Envoyer la sauvegarde",
|
|
"restore_confirm": "Êtes-vous sûr de vouloir restaurer à partir de cette sauvegarde ? Les sections sélectionnées seront écrasées.",
|
|
"restore_success": "Sauvegarde restaurée avec succès. Certaines modifications peuvent nécessiter un rechargement de la page.",
|
|
"restored": "Restauré",
|
|
"skipped": "Ignoré",
|
|
"backup_date": "Date de sauvegarde",
|
|
"opt_settings": "Paramètres de la console",
|
|
"opt_branding": "Image de marque / Thème",
|
|
"opt_folders": "Dossiers d'appareils",
|
|
"opt_groups": "Groupes d'utilisateurs & d'appareils",
|
|
"opt_addressbooks": "Carnets d'adresses",
|
|
"opt_users": "Comptes utilisateurs",
|
|
"opt_users_warning": "Destructif : remplace TOUS les comptes utilisateurs par les données de sauvegarde. Vous pourriez être déconnecté.",
|
|
"no_file": "Aucun fichier de sauvegarde sélectionné",
|
|
"invalid_json": "Fichier de sauvegarde invalide : JSON non valide",
|
|
"invalid_format": "Fichier de sauvegarde invalide : pas une sauvegarde BetterDesk"
|
|
}
|
|
}
|