mirror of
https://github.com/UNITRONIX/BetterDesk.git
synced 2026-09-10 01:27:11 +00:00
a8d3259d43
- Implemented server management service providing resource snapshots, file browser, service control, and audit logging. - Added terminal proxy for WebSocket-backed PTY, allowing browser-based shell access with user authentication and role-based access control. - Created server management view with tabs for overview, terminal, file management, and services, including UI elements for displaying system metrics and managing files/services. Co-authored-by: Copilot <copilot@github.com>
3082 lines
137 KiB
JSON
3082 lines
137 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",
|
||
"actions": "Actions",
|
||
"close": "Fermer",
|
||
"required": "Obligatoire",
|
||
"name_required": "Le nom est obligatoire",
|
||
"active": "Actif",
|
||
"inactive": "Inactif",
|
||
"inval_json": "Format JSON invale",
|
||
"field_required": "Le champ {field} est obligatoire",
|
||
"back": "Retour",
|
||
"edit": "Modifier",
|
||
"invalid_json": "Invalid JSON"
|
||
},
|
||
"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": "Inventory",
|
||
"tickets": "Tickets",
|
||
"help_requests": "Demande d'Aide",
|
||
"activity": "Activité",
|
||
"automation": "Automatisation",
|
||
"file_transfer": "Transfert de fichiers",
|
||
"network": "Adaptateur Réseaux",
|
||
"dataguard": "Protection de Données",
|
||
"reports": "Rapports",
|
||
"tenants": "Tenants",
|
||
"registrations": "Enregistrements",
|
||
"management": "Gestion",
|
||
"toggle_sidebar": "Basculer la barre latérale",
|
||
"toggle_theme": "Changer de thème",
|
||
"cdap": "CDAP",
|
||
"fleet": "Flotte",
|
||
"scaling": "Mise à l'échelle",
|
||
"cross_platform": "Multiplateforme",
|
||
"tokens": "Jetons d'Appareils",
|
||
"organizations": "Organisations",
|
||
"policies": "Politiques",
|
||
"attestation": "Attestation",
|
||
"remote": "Bureau à Distance",
|
||
"toolkit": "Kit d'Outils",
|
||
"security_audit": "Audit de Sécurité",
|
||
"languages": "Langues",
|
||
"resource_control": "Contrôle des ressources",
|
||
"sdk_studio": "SDK Studio",
|
||
"chat": "Discussion",
|
||
"help": "Aide",
|
||
"expand_sidebar": "Développer la barre latérale",
|
||
"login": "Connexion",
|
||
"permissions": "Permissions",
|
||
"server_management": "Gestion du serveur"
|
||
},
|
||
"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.",
|
||
"pro_only_account": "Ce compte est réservé au client de bureau RustDesk. Veuillez utiliser l'application RustDesk pour vous connecter.",
|
||
"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 vérification à 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",
|
||
"passwords_mismatch": "Les mots de passe ne correspondent pas"
|
||
},
|
||
"dashboard": {
|
||
"title": "Tableau de bord",
|
||
"subtitle": "Vue d'ensemble de votre serveur BetterDesk",
|
||
"total_devices": "Total d'Appareils",
|
||
"online_now": "Actuellement En ligne",
|
||
"banned": "Bannis",
|
||
"active_connections": "Connexions actives",
|
||
"offline_devices": "Actuellement 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",
|
||
"greeting_morning": "Bonjour, {name}",
|
||
"greeting_afternoon": "Bonjour, {name}",
|
||
"greeting_evening": "Bonsoir, {name}",
|
||
"greeting_night": "Bonsoir, {name}",
|
||
"health_overview": "Vue d'ensemble de l'état de santé",
|
||
"devices_online": "Appareils en ligne",
|
||
"active_alerts": "Alertes actives",
|
||
"recent_connections": "Appareils enregistrés",
|
||
"server_uptime": "Temps de fonctionnement du serveur",
|
||
"activity_feed": "Activité récente",
|
||
"no_recent_activity": "Aucune activité récente",
|
||
"just_now": "à l'instant",
|
||
"ago": "depuis",
|
||
"tip_desktop_mode": "Essayez le Mode Bureau pour un espace de travail multi-fenêtres avec des widgets de supervision.",
|
||
"tip_keyboard_shortcuts": "Appuyez sur Ctrl+K n'importe où pour ouvrir la palette de recherche rapide.",
|
||
"tip_address_book": "Synchronisez votre carnet d'adresses entre vos appareils en vous connectant depuis le client RustDesk.",
|
||
"tip_2fa": "Activez l'authentification à deux facteurs dans les paramètres pour renforcer la sécurité du compte.",
|
||
"tip_bulk_actions": "Sélectionnez plusieurs appareils et utilisez les actions groupées pour les gérer en une fois.",
|
||
"tip_theme": "Basculez entre les thèmes sombre et clair dans les paramètres de la barre latérale.",
|
||
"tip_cdap": "Connectez des appareils IoT et des capteurs industriels via la passerelle CDAP.",
|
||
"tip_tutorials": "Cliquez sur le bouton d'aide en bas à droite pour afficher des tutoriels interactifs."
|
||
},
|
||
"devices": {
|
||
"title": "Appareils",
|
||
"id": "Identifiant",
|
||
"hostname": "Nom d'hôte",
|
||
"username": "Nom d'utilisateur",
|
||
"platform": "Plateforme",
|
||
"version": "Version",
|
||
"ip_address": "Adresse IP",
|
||
"note": "Note",
|
||
"last_seen": "Derniere Vu",
|
||
"last_online": "Derniere fois En Ligne",
|
||
"first_seen": "Premiere fois Vu",
|
||
"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": "selectionné",
|
||
"showing": "Affiché",
|
||
"of": "de",
|
||
"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",
|
||
"revoke_option": "Révoquer l'appareil",
|
||
"revoke_hint": "Révoquer l'appareil et déconnecter les connexions actives",
|
||
"revoke_success": "Appareil révoqué 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'identifiant",
|
||
"change_id_title": "Changer l'identifiant de l'appareil",
|
||
"new_id": "Nouvel identifiant",
|
||
"change_id_hint": "6-16 caractères, lettres, chiffres, tirets et underscores uniquement",
|
||
"change_id_success": "Identifiant de l'appareil modifié avec succès",
|
||
"id_length_error": "L'identifiant doit contenir entre 6 et 16 caractères",
|
||
"id_format_error": "L'identifiant 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": "Selectionner les colonnes visibles",
|
||
"not_found": "Introuvable",
|
||
"delete_failed": "Échec de la suppression de l'appareil",
|
||
"change_id_failed": "Échec du changement de l'identifiant de l'appareil",
|
||
"invalid_id": "Identifiant d'appareil non valide (6 à 16 caractères requis)",
|
||
"invalid_id_format": "Format d'identifiant non valide (lettres, chiffres, tirets et underscores uniquement)",
|
||
"id_exists": "L'identifiant de l'appareil existe déjà",
|
||
"no_selection": "Aucun appareil sélectionné",
|
||
"device_type": "Type d'appareil",
|
||
"filter_type_all": "Tous les Types",
|
||
"filter_type_rustdesk": "RustDesk",
|
||
"filter_type_desktop": "Bureau",
|
||
"filter_type_scada": "SCADA",
|
||
"filter_type_iot": "IoT",
|
||
"filter_type_agent": "Agent",
|
||
"cdap_connected": "CDAP connecté",
|
||
"revoke": "Révoquer",
|
||
"access_policy": "Politique d'accès",
|
||
"unattended_access": "Accès sans surveillance",
|
||
"enable_unattended": "Activer l'accès sans surveillance",
|
||
"access_password": "Mot de passe d'accès",
|
||
"password_configured": "Mot de passe défini",
|
||
"no_password": "Pas de mot de passe",
|
||
"new_password": "Nouveau mot de passe (ne rien indiquer pour conserver le mot de passe actuel)",
|
||
"clear_password": "Effacer le mot de passe",
|
||
"access_schedule": "Horaires d'accès",
|
||
"enable_schedule": "Activer l'accès en fonction de l'heure",
|
||
"allowed_days": "Jours autorisés",
|
||
"start_time": "Heure de début",
|
||
"end_time": "Heure de fin",
|
||
"timezone": "Fuseau horaire",
|
||
"allowed_operators": "Opérateurs autorisés",
|
||
"all_operators": "Tous les opérateurs (laisser vide)",
|
||
"operators_hint": "Noms d'utilisateur séparés par des virgules. Laisser vide pour autoriser tous les opérateurs.",
|
||
"last_updated_by": "Dernière mise à jour par",
|
||
"access_policy_saved": "Politique d'accès enregistrée",
|
||
"display_name": "Nom d'affichage",
|
||
"display_name_placeholder": "Nom personnalisé (remplace le nom d'hôte)",
|
||
"note_placeholder": "Remarques concernant cet appareil",
|
||
"tabs": {
|
||
"overview": "Aperçu",
|
||
"hardware": "Matériel",
|
||
"metrics": "Métriques",
|
||
"connections": "Connections",
|
||
"audit": "Audit",
|
||
"info": "Information",
|
||
"history": "Historique"
|
||
},
|
||
"hardware": {
|
||
"cpu": "Processeur",
|
||
"memory": "Mémoire",
|
||
"disk": "Disque",
|
||
"os": "Système d'exploitation",
|
||
"hostname": "Nom d'hôte",
|
||
"uptime": "Temps de fonctionnement",
|
||
"load_avg": "Charge moyenne",
|
||
"network": "Adaptateurs Réseaux",
|
||
"no_data": "Aucune donnée matérielle disponible",
|
||
"title": "Informations sur le matériel",
|
||
"gpu": "Carte graphique"
|
||
}
|
||
},
|
||
"keys": {
|
||
"title": "Tableau de bord",
|
||
"subtitle": "Vue d'ensemble de votre serveur BetterDesk",
|
||
"public_key": "Clé publique",
|
||
"qr_code": "Code QR",
|
||
"server_info": "Informations du serveur",
|
||
"download": "Télécharger la clé",
|
||
"show_qr": "Afficher le code 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é",
|
||
"not_found": "Introuvable",
|
||
"api_not_found": "Clé API non trouvé"
|
||
},
|
||
"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": "Serveur Backend",
|
||
"backend_desc": "Choisissez quel serveur backend à utiliser pour la gestion des appareils et les services de signalisation/relais.",
|
||
"backend_original": "Origine",
|
||
"backend_enhanced": "Amélioré",
|
||
"backend_rustdesk_desc": "Serveurs de signalisation et relais RustDesk standard (hbbs + hbbr). API HTTP de base avec un nombre limité de terminaux.",
|
||
"backend_betterdesk_desc": "Serveur amélioré basé sur GO avec API REST complète, authentification JWT, liste de blocage, balises, événements WebSocket en temps réel et journal d'audit.",
|
||
"backend_feature_signal": "Serveur de signalisation (enregistrement d'identifiant)",
|
||
"backend_feature_relay": "Serveur relais (relais de connexion)",
|
||
"backend_feature_basic_api": "API REST basique",
|
||
"backend_feature_full_api": "API REST complète (34+ terminaux)",
|
||
"backend_feature_jwt": "Authentification JWT & TOTP 2FA",
|
||
"backend_feature_blocklist": "Gestion de liste de blocage IP/Identifiant",
|
||
"backend_feature_tags": "Balises et regroupement des 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": "Serveur Backend 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 serveur Backend",
|
||
"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 serveur backend ? Cela modifiera comment sont gérés les 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 2FA",
|
||
"totp_disable": "Désactiver 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": "Veuillez entrer le code de verification",
|
||
"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": "Effectué",
|
||
"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.",
|
||
"tutorials_title": "Tutorials & Guides",
|
||
"tutorials_desc": "Control guided tours and help overlays shown throughout the console",
|
||
"tutorials_enabled": "Enable tutorials",
|
||
"tutorials_enabled_hint": "When disabled, tutorials will not start automatically and the help button will be hidden",
|
||
"tutorials_reset_hint": "Mark all tutorials as unseen so they can be shown again",
|
||
"tutorials_enabled_toast": "Tutorials enabled",
|
||
"tutorials_disabled_toast": "Tutorials disabled",
|
||
"tutorials_reset_toast": "All tutorials have been reset"
|
||
},
|
||
"audit": {
|
||
"time": "Heure",
|
||
"user": "Utilisateur",
|
||
"action": "Action",
|
||
"details": "Détails",
|
||
"action_login": "Connexion",
|
||
"action_login_failed": "Erreur de Connexion",
|
||
"action_logout": "Deconnexion",
|
||
"action_password_change": "Mot de passe modifié",
|
||
"action_2fa_enable": "2FA Activé",
|
||
"action_2fa_disable": "2FA Désactivé",
|
||
"action_user_create": "Utilisateur Créé",
|
||
"action_user_update": "Utilisateur Mis à Jour",
|
||
"action_user_delete": "Utilisateur Supprimé",
|
||
"action_settings_update": "Paramètres Mis à Jour",
|
||
"action_device_ban": "Appareil Banni",
|
||
"action_device_unban": "Appareils Débanni",
|
||
"action_device_delete": "Appareil Supprimé"
|
||
},
|
||
"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": "Nom de 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": "Informations de configuration",
|
||
"usage_title": "Détails des informations 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...",
|
||
"label": "Status"
|
||
},
|
||
"actions": {
|
||
"refresh": "Actualiser",
|
||
"copy": "Copier",
|
||
"connect": "Connecter",
|
||
"connect_desktop": "Connecter via le client de bureau",
|
||
"remote_viewer": "Visionneuse distante",
|
||
"web_remote": "Bureau distant web",
|
||
"details": "Détails",
|
||
"edit": "Modifier",
|
||
"delete": "Supprimer",
|
||
"ban": "Bannir",
|
||
"unban": "Débannir",
|
||
"save": "Enregistrer",
|
||
"cancel": "Annuler",
|
||
"confirm": "Confirmer",
|
||
"close": "Fermer",
|
||
"clear": "Effacer",
|
||
"ok": "OK",
|
||
"saved": "Enregistré",
|
||
"back": "Retour",
|
||
"create": "Créer",
|
||
"dismiss": "Ignorer",
|
||
"view_all": "Tout afficher",
|
||
"cdap_viewer": "CDAP Snapshot Viewer",
|
||
"add": "Add",
|
||
"remove": "Remove"
|
||
},
|
||
"time": {
|
||
"just_now": "à l'instant",
|
||
"seconds_ago": "Il y a {count} seconde(s)",
|
||
"minutes_ago": "Il y a {count} minute(s)",
|
||
"hours_ago": "Il y a {count} heure(s)",
|
||
"days_ago": "Il y a {count} jour(s)",
|
||
"day_mon": "Lun",
|
||
"day_tue": "Mar",
|
||
"day_wed": "Mer",
|
||
"day_thu": "Jeu",
|
||
"day_fri": "Ven",
|
||
"day_sat": "Sam",
|
||
"day_sun": "Dim"
|
||
},
|
||
"users": {
|
||
"title": "Gestion des Utilisateurs",
|
||
"subtitle": "Gérer les utilisateurs de la console et les autorisations",
|
||
"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_pro": "Pro (API seulement)",
|
||
"role_super_admin": "Super Administrateur",
|
||
"role_server_admin": "Administrateur du serveur",
|
||
"role_global_admin": "Administrateur Global",
|
||
"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 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": "Ajouter des utilisateurs pour gérer les permissions d'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 Introuvable",
|
||
"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",
|
||
"organizations": "Organisations",
|
||
"user_organizations": "Organisations pour {username}",
|
||
"no_organizations": "L'utilisateur n'est affecté à aucune organisation",
|
||
"org_removed": "Suppression de l'affectation à une organisation"
|
||
},
|
||
"folders": {
|
||
"title": "Dossiers",
|
||
"create": "Créer un dossier",
|
||
"edit": "Modifier un dossier",
|
||
"delete": "Supprimer un dossier",
|
||
"name": "Nom du dossier",
|
||
"name_placeholder": "Entrez le nom du dossier",
|
||
"name_required": "Le nom du dossier est obligatoire",
|
||
"name_too_long": "Le nom du dossier est trop long (max 50 caractères)",
|
||
"color": "Couleur",
|
||
"icon": "Icône",
|
||
"not_found": "Dossier Introuvable",
|
||
"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éé",
|
||
"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": {
|
||
"forbidden_title": "Accès refusé",
|
||
"forbidden_message": "Vous n'avez pas la permission d'accéder à cette ressource.",
|
||
"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 code 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 de la modification de l'identifiant de l'appareil",
|
||
"bulk_delete_failed": "Échec de la suppression des appareils",
|
||
"sync_failed": "Échec de la synchronisation",
|
||
"error": "Erreur",
|
||
"not_found": "Introuvable",
|
||
"server_error": "Erreur du serveur",
|
||
"load_device_failed": "Échec du chargement de l'appareil",
|
||
"load_orgs_failed": "Échec du chargement des organisations"
|
||
},
|
||
"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": "Le mot de passe est requis",
|
||
"enter_password_for": "Entrez le mot de passe pour l'appareil",
|
||
"password_placeholder": "Mot de passe pour l'appareil",
|
||
"connect": "Connecter",
|
||
"reconnect": "Reconnecter",
|
||
"disconnect": "Déconnecter",
|
||
"back_to_devices": "Retour aux appareils",
|
||
"fullscreen": "Plein écran",
|
||
"toggle_audio": "Activer/désactiver le son",
|
||
"send_keys": "Envoyer des touches de commande",
|
||
"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": "Ajustement automatique",
|
||
"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é optimale, 60 images par seconde)",
|
||
"quality_balanced": "Équilibrée",
|
||
"quality_low": "Performance",
|
||
"show_cursor": "Afficher le curseur distant",
|
||
"lock_after_session": "Verrouiller après la session",
|
||
"privacy_mode": "Mode confidentiel",
|
||
"disable_clipboard": "Désactiver le presse-papiers",
|
||
"chat": "Discussion",
|
||
"chat_placeholder": "Écrivez un message...",
|
||
"record": "Enregistrer l'écran",
|
||
"view_only": "Affichage seulement",
|
||
"pin_toolbar": "Épingler la barre d'outils",
|
||
"monitors": "Écrans",
|
||
"select_monitor": "Sélectionner un écran",
|
||
"quality_speed": "Vitesse (basse qualité, 60 images par seconde)",
|
||
"quality_quality": "Qualité (Optimale, 30 images par seconde)",
|
||
"recording_started": "L'enregistrement a commencé",
|
||
"recording_stopped": "L'enregistrement s'est arrêté",
|
||
"download_recording": "Télécharger l'enregistrement",
|
||
"e2e_encrypted": "Chiffrement de bout en bout",
|
||
"e2e_key_exchange": "Établissement d'un canal sécurisé...",
|
||
"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 intervention de l'utilisateur pour démarrer la vidéo et le son.",
|
||
"start_playback": "Démarrer la lecture",
|
||
"new_connection": "Nouvelle connexion",
|
||
"device_id_placeholder": "Saisir l'identifiant de l'appareil",
|
||
"http_warning": "Mode HTTP : limité au décodage logiciel H.264 (~15 images par seconde). Utilisez HTTPS pour des performances optimales (WebCodecs, VP9, 60 images par seconde).",
|
||
"file_transfer": "Transfert de fichiers",
|
||
"file_upload": "Transférer",
|
||
"file_download": "Télécharger",
|
||
"file_empty": "Ce dossier est vide",
|
||
"file_transfers": "Transferts",
|
||
"file_complete": "Terminé",
|
||
"file_error": "Échec du transfert",
|
||
"file_show_hidden": "Afficher les fichiers cachés",
|
||
"file_new_folder": "Nouveau dossier",
|
||
"file_new_folder_prompt": "Entrez le nom du dossier :",
|
||
"file_parent": "Dossier parent",
|
||
"file_root": "Racine",
|
||
"file_rename": "Renommer",
|
||
"file_rename_prompt": "Entrez le nouveau nom :",
|
||
"file_delete_confirm": "Êtes-vous sûr de vouloir supprimer cet élément ?",
|
||
"file_cancelled": "Transfert annulé",
|
||
"2fa_required": "Verification 2FA requise",
|
||
"2fa_hint": "Saisissez le code à 6 chiffres de votre application d'authentification",
|
||
"2fa_invalid": "Entrez un code à 6 chiffres valide",
|
||
"verify": "Vérifier",
|
||
"use_cdap_fallback": "Use CDAP viewer",
|
||
"cdap_fallback_hint": "Open the lightweight JPEG-polling viewer that uses bd-signal/CDAP instead of the RustDesk relay. Useful when the peer is offline on the relay but reachable via the agent management channel.",
|
||
"clipboard_empty": "Clipboard is empty",
|
||
"clipboard_denied": "Clipboard access denied. HTTPS required or permission not granted.",
|
||
"file_loading": "Loading...",
|
||
"file_timeout": "Remote device did not respond. File transfer may not be supported or is disabled on the remote machine."
|
||
},
|
||
"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": "Enregistré",
|
||
"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...",
|
||
"logo_type_text": "Text Logo",
|
||
"logo_text": "Logo Text",
|
||
"logo_text_hint": "Primary text displayed as your brand logo",
|
||
"logo_text_accent": "Accent Text",
|
||
"logo_text_accent_hint": "Secondary text below the logo (e.g. product name or tagline)",
|
||
"logo_upload_success": "Logo uploaded successfully.",
|
||
"typography_title": "Typography",
|
||
"typography_desc": "Choose fonts for headings and body text. Fonts are downloaded to the server for self-hosting.",
|
||
"font_heading": "Heading Font",
|
||
"font_heading_hint": "Used for headings (H1–H6) and text logo",
|
||
"font_body": "Body Font",
|
||
"font_body_hint": "Used for body text and UI elements",
|
||
"font_search_placeholder": "Search fonts...",
|
||
"font_system_default": "System default",
|
||
"font_clear": "Clear",
|
||
"font_cat_all": "All",
|
||
"font_downloaded_count": "fonts downloaded on server"
|
||
},
|
||
"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": "Operating System",
|
||
"version": "Version",
|
||
"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 métrique 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 →",
|
||
"tab_services": "Services",
|
||
"tab_processes": "Processes",
|
||
"tab_events": "Events",
|
||
"tab_activity": "Activity",
|
||
"tab_files": "Files",
|
||
"agent_lazy_hint": "Click this tab to load live data from the agent",
|
||
"agent_offline": "Agent is offline",
|
||
"agent_timeout": "Agent did not respond in time",
|
||
"agent_error": "Failed to load data from agent",
|
||
"service_name": "Name",
|
||
"service_display": "Display name",
|
||
"service_status": "Status",
|
||
"service_start": "Start mode",
|
||
"process_name": "Name",
|
||
"process_user": "User",
|
||
"process_memory": "Memory"
|
||
},
|
||
"inventory": {
|
||
"title": "Tableau de bord",
|
||
"subtitle": "Vue d'ensemble de votre serveur RustDesk",
|
||
"device_id": "ID de l'appareil",
|
||
"hostname": "Nom d'hôte",
|
||
"os": "Operating System",
|
||
"cpu": "Processor",
|
||
"cpu_cores": "Cœurs CPU",
|
||
"cpu_usage": "Utilisation CPU",
|
||
"memory": "Memory",
|
||
"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": "Network Adapters",
|
||
"network_interfaces": "Interfaces réseau",
|
||
"software": "Logiciels",
|
||
"software_count": "Logiciels installés",
|
||
"system": "Système",
|
||
"kernel": "Noyau",
|
||
"architecture": "Architecture",
|
||
"uptime": "Uptime",
|
||
"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": "No hardware data available",
|
||
"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": "Tableau de bord",
|
||
"subtitle": "Vue d'ensemble de votre serveur RustDesk",
|
||
"create": "Créer",
|
||
"edit": "Modifier",
|
||
"delete": "Supprimer",
|
||
"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 la clé",
|
||
"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": "Appareil 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 appareils...",
|
||
"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": "Tableau de bord",
|
||
"subtitle": "Vue d'ensemble de votre serveur RustDesk",
|
||
"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": "Nom de l'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": "No hardware data available",
|
||
"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 de l'appareil",
|
||
"refresh": "Actualiser",
|
||
"search": "Search devices...",
|
||
"date_range": "Plage de dates",
|
||
"device_id": "ID de l'appareil",
|
||
"session_start": "Début de session",
|
||
"session_end": "Fin de session",
|
||
"user": "Utilisateur",
|
||
"no_activity": "No activity recorded",
|
||
"reported_at": "Reported At",
|
||
"detail": "Détails du ticket",
|
||
"no_apps": "No applications"
|
||
},
|
||
"automation": {
|
||
"title": "Tableau de bord",
|
||
"subtitle": "Vue d'ensemble de votre serveur RustDesk",
|
||
"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'attribution.",
|
||
"no_alerts": "Aucune alerte déclenchée",
|
||
"no_commands": "Aucune commande envoyée",
|
||
"id_payload_required": "Device ID and payload are required",
|
||
"no_commands_sent": "Aucune commande envoyée pour le moment"
|
||
},
|
||
"file_transfer": {
|
||
"title": "Tableau de bord",
|
||
"transfers": "Transferts",
|
||
"new_transfer": "Nouveau transfert",
|
||
"upload": "Télécharger vers",
|
||
"download": "Télécharger la clé",
|
||
"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éé",
|
||
"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": "Tableau de bord",
|
||
"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": "History",
|
||
"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",
|
||
"search_targets": "Search targets...",
|
||
"name": "Name",
|
||
"tab_targets": "Targets",
|
||
"tab_tools": "Tools",
|
||
"avg_latency": "Avg Latency",
|
||
"type": "Type",
|
||
"latency": "Latency",
|
||
"check_history": "Check History",
|
||
"name_host_required": "Name and host are required",
|
||
"uptime": "Uptime",
|
||
"response_time": "Temps de réponse",
|
||
"avg_response": "Average Response",
|
||
"charts": "Graphiques",
|
||
"realtime": "Temps réel",
|
||
"response_time_ms": "Response Time (ms)",
|
||
"uptime_percent": "Disponibilité %",
|
||
"last_24h": "Dernières 24 heures",
|
||
"last_7d": "7 derniers jours",
|
||
"last_30d": "30 derniers jours"
|
||
},
|
||
"dataguard": {
|
||
"title": "Tableau de bord",
|
||
"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",
|
||
"policy_desc": "Policy Description",
|
||
"status": "Statut",
|
||
"enabled": "Activé",
|
||
"disabled": "Désactivé",
|
||
"rules": "Règles d'alerte",
|
||
"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",
|
||
"total_policies": "Total Policies",
|
||
"active_policies": "Active Policies",
|
||
"violations": "Violations",
|
||
"blocked": "Blocked",
|
||
"tab_policies": "Policies",
|
||
"tab_events": "Events",
|
||
"search_policies": "Search policies...",
|
||
"create_policy": "Create Policy",
|
||
"policy_type": "Policy Type",
|
||
"scope": "Scope",
|
||
"events_count": "Events",
|
||
"search_events": "Search events...",
|
||
"event_time": "Event Time",
|
||
"device": "Appareil",
|
||
"policy": "Policy",
|
||
"detail": "Détails du ticket",
|
||
"scope_help": "Comma-separated device IDs, or leave empty for all",
|
||
"scope_all": "Tous les appareils",
|
||
"active": "Actif",
|
||
"type_file_type": "File Type",
|
||
"type_usb": "USB",
|
||
"type_clipboard": "Clipboard",
|
||
"type_screen_share": "Screen Share",
|
||
"type_file_transfer": "File Transfer"
|
||
},
|
||
"reports": {
|
||
"title": "Tableau de bord",
|
||
"generate": "Générer la configuration",
|
||
"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": "Enregistré",
|
||
"save_report": "Sauvegarder le rapport",
|
||
"delete_report": "Supprimer le rapport",
|
||
"delete_confirm": "Êtes-vous sûr de vouloir supprimer ce rapport enregistré ?",
|
||
"no_saved": "Aucun rapport enregistré",
|
||
"report_title": "Titre",
|
||
"created_by": "Créé par",
|
||
"created_at": "Créé",
|
||
"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": "Total actif",
|
||
"total_idle": "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",
|
||
"tab_generate": "Générer un rapport",
|
||
"tab_saved": "Rapports enregistrés",
|
||
"type_devices_desc": "Vue d'ensemble de tous les appareils, plateformes et statuts",
|
||
"type_activity_desc": "Résumé de l'utilisation des applications et du temps d'inactivité",
|
||
"type_security_desc": "Actions de bannissement, événements DLP et journaux d'audit",
|
||
"type_tickets_desc": "Statistiques des tickets et performance SLA",
|
||
"type_network_desc": "Cibles de surveillance réseau et données de disponibilité",
|
||
"type_inventory_desc": "Résumé de l'inventaire matériel et logiciel",
|
||
"type_alerts_desc": "Règles d'alerte et historique des alertes déclenchées",
|
||
"report_name": "Nom du rapport",
|
||
"format": "Format",
|
||
"save": "Enregistrer",
|
||
"preview": "Aperçu",
|
||
"download": "Télécharger la clé",
|
||
"delete_saved": "Supprimer le rapport",
|
||
"raw_json": "Raw JSON"
|
||
},
|
||
"tenants": {
|
||
"title": "Tableau de bord",
|
||
"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": "Name",
|
||
"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 avec des données d'inventaire trouvé",
|
||
"no_users": "Aucun utilisateur assigné à ce locataire",
|
||
"stats": "Statistiques",
|
||
"total_devices": "Total des appareils",
|
||
"online_devices": "Appareils en ligne",
|
||
"total_users": "Total des utilisateurs",
|
||
"created_at": "Créé",
|
||
"updated_at": "Mis à jour",
|
||
"slug_exists": "Le slug du locataire existe déjà",
|
||
"total_tenants": "Total des locataires",
|
||
"active_tenants": "Locataires actifs",
|
||
"search": "Search devices...",
|
||
"create_tenant": "Créer un locataire",
|
||
"detail": "Détails du ticket",
|
||
"contact": "Contact",
|
||
"enabled": "Activé",
|
||
"disabled": "Désactivé",
|
||
"max": "max",
|
||
"info": "Information",
|
||
"status": "Statut"
|
||
},
|
||
"registrations": {
|
||
"title": "Tableau de bord",
|
||
"subtitle": "Vue d'ensemble de votre serveur RustDesk",
|
||
"search_placeholder": "Rechercher des appareils...",
|
||
"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é",
|
||
"enrollment_title": "Device Enrollment",
|
||
"enrollment_subtitle": "Pending enrollment requests from BetterDesk desktop clients",
|
||
"enrollment_empty": "No pending enrollment requests",
|
||
"enrollment_approve": "Approve",
|
||
"enrollment_reject": "Reject",
|
||
"enrollment_display_name": "Display Name",
|
||
"enrollment_display_name_placeholder": "Enter a name for this device...",
|
||
"enrollment_sync_mode": "Sync Mode",
|
||
"enrollment_sync_silent": "Silent — minimal telemetry",
|
||
"enrollment_sync_standard": "Standard — balanced sync",
|
||
"enrollment_sync_turbo": "Turbo — aggressive sync",
|
||
"enrollment_approved_success": "Device enrollment approved",
|
||
"enrollment_rejected_success": "Device enrollment rejected"
|
||
},
|
||
"backup": {
|
||
"title": "Tableau de bord",
|
||
"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 clé",
|
||
"creating": "Création de la sauvegarde...",
|
||
"download_success": "Fichier de clé téléchargé",
|
||
"upload": "Télécharger vers",
|
||
"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": "Format JSON invalide",
|
||
"invalid_format": "Fichier de sauvegarde invalide : pas une sauvegarde BetterDesk"
|
||
},
|
||
"cdap": {
|
||
"device_detail": "Détail de l'appareil",
|
||
"loading": "Chargement...",
|
||
"loading_widgets": "Loading device widgets...",
|
||
"load_error": "Failed to load device data",
|
||
"connected": "Connecté",
|
||
"disconnected": "Déconnecté",
|
||
"device_offline_msg": "Device is currently offline. Widget values may be stale.",
|
||
"no_widgets": "Cet appareil ne signale aucun widget.",
|
||
"no_widgets_desc": "This device has not registered a CDAP manifest with widget definitions.",
|
||
"command_log": "Journal des commandes",
|
||
"clear_log": "Clear log",
|
||
"confirm_command": "Exécuter cette commande ?",
|
||
"select_option": "Select",
|
||
"cdap_status": "CDAP Status",
|
||
"cdap_enabled": "CDAP Enabled",
|
||
"cdap_disabled": "CDAP Disabled",
|
||
"cdap_devices": "CDAP Devices",
|
||
"cdap_connections": "Active Connections",
|
||
"send_command": "Envoyer la commande",
|
||
"command_sent": "Commande envoyée",
|
||
"command_failed": "Échec de l'envoi de la commande",
|
||
"devices_title": "CDAP Devices",
|
||
"devices_subtitle": "Connected devices via Custom Device Application Protocol",
|
||
"stat_connected": "Connected",
|
||
"stat_port": "Port",
|
||
"search_devices": "Search devices...",
|
||
"no_devices": "Aucun appareil avec des données d'inventaire trouvé",
|
||
"no_devices_desc": "No CDAP devices are currently connected. Devices will appear here once they connect to the gateway.",
|
||
"gateway_disabled": "Passerelle CDAP désactivée",
|
||
"gateway_disabled_desc": "Enable the CDAP gateway by setting CDAP_ENABLED=true in the server configuration.",
|
||
"gateway_active": "Active",
|
||
"toggle_enable": "Enable CDAP",
|
||
"toggle_disable": "Disable CDAP",
|
||
"enabled_restart": "CDAP enabled. Server restart required to apply changes.",
|
||
"disabled_restart": "CDAP disabled. Server restart required to apply changes.",
|
||
"widgets": "widgets",
|
||
"type_all": "All",
|
||
"type_iot": "IoT",
|
||
"type_scada": "SCADA",
|
||
"type_os_agent": "Agent OS",
|
||
"type_network": "Rapport réseau",
|
||
"type_camera": "Camera",
|
||
"type_custom": "Personnalisé",
|
||
"active_alerts": "Alertes actives",
|
||
"alert_fired": "Alert fired",
|
||
"alert_cleared": "Alert cleared",
|
||
"no_alerts": "Aucune alerte déclenchée",
|
||
"connect_terminal": "Connect Terminal",
|
||
"table_search": "Search...",
|
||
"just_now": "à l'instant",
|
||
"terminal_connecting": "Connecting to device...",
|
||
"terminal_disconnected": "Disconnected",
|
||
"terminal_error": "Terminal connection failed",
|
||
"linked_devices": "Linked Devices",
|
||
"link_device": "Link Device",
|
||
"unlink_device": "Unlink",
|
||
"no_linked_devices": "No linked devices",
|
||
"unlink_confirm": "Are you sure you want to unlink this device?",
|
||
"link_prompt": "Enter the Peer ID to link to this device:",
|
||
"connect_desktop": "Connecter via le client de bureau",
|
||
"connect_video": "Connect Stream",
|
||
"connect_files": "Browse Files",
|
||
"connect_audio": "Connecter l'audio",
|
||
"upload_file": "Upload",
|
||
"desktop_connecting": "Connecting...",
|
||
"video_connecting": "Connecting...",
|
||
"files_connecting": "Connecting...",
|
||
"audio_connecting": "Connexion audio...",
|
||
"audio_streaming": "Audio en streaming",
|
||
"clipboard_in": "Presse-papiers appareil → navigateur",
|
||
"clipboard_out": "Presse-papiers navigateur → appareil",
|
||
"monitor_select": "Sélectionner le moniteur",
|
||
"keyframe_request": "Demander une image clé",
|
||
"quality_auto": "Qualité automatique"
|
||
},
|
||
"desktop": {
|
||
"switch_mode": "Desktop Mode",
|
||
"console_mode": "Console Mode",
|
||
"loading": "Chargement...",
|
||
"minimize": "Minimize",
|
||
"maximize": "Maximize",
|
||
"restore": "Restore",
|
||
"close": "Fermer",
|
||
"widgets_mode": "Widgets",
|
||
"windows_mode": "Windows",
|
||
"wallpaper": "Fond d'écran",
|
||
"add_widget": "Add Widget",
|
||
"remove_widget": "Remove Widget",
|
||
"pop_out_widget": "Pop Out",
|
||
"pop_in_widget": "Pop In",
|
||
"configure": "Configure",
|
||
"search_widgets": "Search widgets...",
|
||
"cat_monitoring": "Monitoring",
|
||
"cat_devices": "Devices",
|
||
"cat_tools": "Tools",
|
||
"cat_general": "General",
|
||
"notes_placeholder": "Ajoutez des notes sur cet appareil...",
|
||
"search_placeholder": "Rechercher des appareils...",
|
||
"search_pages": "Pages",
|
||
"search_devices": "Search devices...",
|
||
"search_no_results": "No results",
|
||
"exit_desktop": "Quitter le bureau",
|
||
"refresh": "Actualiser",
|
||
"fullscreen": "Plein écran",
|
||
"help": "Help",
|
||
"widget_clock": "Clock",
|
||
"widget_device_status": "Device Status",
|
||
"widget_server_health": "Server Info",
|
||
"widget_system_stats": "Device Gauges",
|
||
"widget_device_list": "Device List",
|
||
"widget_quick_actions": "Quick Actions",
|
||
"widget_recent_activity": "Recent Activity",
|
||
"widget_notes": "Notes",
|
||
"widget_network_monitor": "Network Monitor",
|
||
"widget_tickets_summary": "Tickets",
|
||
"widget_iframe": "Web Embed",
|
||
"widget_cdap_devices": "CDAP Devices",
|
||
"widget_uptime": "Uptime",
|
||
"widget_port_status": "Port Status",
|
||
"widget_device_grid": "Device Grid",
|
||
"widget_multi_gauge": "Server Gauges",
|
||
"widget_weekly_chart": "Weekly Activity",
|
||
"widget_quick_controls": "Quick Controls",
|
||
"widget_bandwidth": "Bandwidth",
|
||
"widget_connection_stats": "Connection Stats",
|
||
"widget_weather": "Weather",
|
||
"widget_world_clock": "World Clock",
|
||
"widget_bookmarks": "Bookmarks",
|
||
"widget_user_sessions": "User Sessions",
|
||
"widget_alert_feed": "Alert Feed",
|
||
"label_online": "Online",
|
||
"label_offline": "Offline",
|
||
"label_total": "Total",
|
||
"label_blocked": "Blocked",
|
||
"label_banned": "Banned",
|
||
"label_active": "Active",
|
||
"label_service": "Service",
|
||
"label_port": "Port",
|
||
"label_uptime_prefix": "Uptime:",
|
||
"label_uptime": "Uptime",
|
||
"label_no_devices": "No devices",
|
||
"label_no_activity": "No activity",
|
||
"label_no_targets": "No targets",
|
||
"label_unavailable": "Unavailable",
|
||
"label_open": "Open",
|
||
"label_in_progress": "In Progress",
|
||
"label_resolved": "Resolved",
|
||
"label_set_url": "Set URL in config",
|
||
"label_server_uptime": "Server Uptime",
|
||
"label_merged_info": "Merged into Server Info widget",
|
||
"label_with_notes": "With Notes",
|
||
"label_metric": "Metric",
|
||
"label_count": "Count",
|
||
"label_total_devices": "Total Devices",
|
||
"label_throughput": "Throughput",
|
||
"label_active_relays": "Active Relays",
|
||
"label_total_relayed": "Total Relayed",
|
||
"label_total_bytes": "Total Bytes",
|
||
"label_filter_devices": "Filter devices...",
|
||
"label_all": "All",
|
||
"label_ban": "Ban",
|
||
"label_unban": "Unban",
|
||
"label_connect": "Connect",
|
||
"label_no_cdap_devices": "No CDAP devices",
|
||
"action_add_widget": "Add Widget",
|
||
"label_merged_server_info": "Merged into Server Info widget",
|
||
"wp_images": "Images",
|
||
"wp_colors": "Couleurs unies",
|
||
"wp_custom_color": "Couleur personnalisée",
|
||
"wp_fit_style": "Style",
|
||
"wp_fill": "Remplir",
|
||
"wp_fit": "Ajuster",
|
||
"wp_stretch": "Étirer",
|
||
"wp_center": "Centrer",
|
||
"wp_unavailable": "Wallpaper images are not installed on this server.",
|
||
"wp_download_hint": "Place PNG images in the public/wallpapers/ directory to enable wallpaper selection.",
|
||
"widget_calendar": "Calendar",
|
||
"widget_process_monitor": "Process Monitor",
|
||
"widget_disk_usage": "Disk Usage",
|
||
"widget_log_viewer": "Log Viewer",
|
||
"widget_speed_test": "Speed Test",
|
||
"widget_database_stats": "Database Stats",
|
||
"widget_docker_containers": "Docker Containers",
|
||
"widget_shell_command": "Shell Command",
|
||
"widget_device_map": "Device Map",
|
||
"widget_remote_connect": "Remote Connect",
|
||
"label_no_online": "No online devices",
|
||
"label_no_events": "No events today",
|
||
"label_event_title": "Event title:",
|
||
"label_no_data": "No data available",
|
||
"label_download_speed": "Download Speed",
|
||
"label_latency": "Latency",
|
||
"label_server": "Server",
|
||
"label_run_test": "Run Test",
|
||
"label_testing": "Testing...",
|
||
"label_table": "Table",
|
||
"label_rows": "Rows",
|
||
"label_last_backup": "Last Backup",
|
||
"label_no_containers": "No containers",
|
||
"label_docker_unavailable": "Docker not available",
|
||
"label_no_command": "No command configured",
|
||
"label_no_output": "No output yet",
|
||
"label_run": "Run",
|
||
"label_presets": "Presets",
|
||
"label_save_preset": "Save Preset",
|
||
"label_load_preset": "Load Preset",
|
||
"label_preset_name": "Preset name:",
|
||
"label_preset_monitoring": "Monitoring",
|
||
"label_preset_helpdesk": "Helpdesk",
|
||
"label_preset_minimal": "Minimal",
|
||
"label_preset_developer": "Developer",
|
||
"label_snap_layout": "Snap Layout",
|
||
"label_auto_arrange": "Auto Arrange",
|
||
"label_zone_layout": "Zone Layout",
|
||
"label_2col_equal": "2 Columns (Equal)",
|
||
"label_2col_wide": "2 Columns (60/40)",
|
||
"label_3col": "3 Columns",
|
||
"label_2x2_grid": "2×2 Grid",
|
||
"label_1_2": "1 + 2",
|
||
"label_1_3": "1 + 3",
|
||
"widget_group": "Widget Group",
|
||
"ungroup_widgets": "Ungroup Widgets",
|
||
"group_widgets": "Group Selected Widgets",
|
||
"snap_layouts": "Snap Layouts",
|
||
"snap_left": "Snap Left",
|
||
"snap_right": "Snap Right",
|
||
"snap_top_left": "Snap Top-Left",
|
||
"snap_top_right": "Snap Top-Right",
|
||
"snap_bottom_left": "Snap Bottom-Left",
|
||
"snap_bottom_right": "Snap Bottom-Right",
|
||
"aero_shake": "Shake to Minimize Others",
|
||
"zone_resize": "Drag border to resize zones",
|
||
"zone_borders": "Draggable Zone Borders",
|
||
"app_drawer": "Applications",
|
||
"search_apps": "Search apps...",
|
||
"edit_shortcuts": "Modifier les raccourcis",
|
||
"widgets": "widgets",
|
||
"theme": "Theme"
|
||
},
|
||
"desktop_login": {
|
||
"click_to_sign_in": "Click anywhere or press a key to sign in",
|
||
"username_placeholder": "Entrez le nom d'utilisateur",
|
||
"password_placeholder": "Entrez le mot de passe",
|
||
"sign_in": "Sign in",
|
||
"verify": "Verify",
|
||
"totp_title": "Authentification à deux facteurs",
|
||
"totp_subtitle": "Entrez le code à 6 chiffres de votre application d'authentification",
|
||
"back_to_login": "Back to login",
|
||
"fill_all_fields": "Veuillez remplir tous les champs",
|
||
"invalid_credentials": "Nom d'utilisateur ou mot de passe invalide.",
|
||
"invalid_code": "Invalid verification code",
|
||
"enter_6_digits": "Enter all 6 digits",
|
||
"network_error": "Network error — check your connection",
|
||
"session_expired": "Session expired. Please sign in again."
|
||
},
|
||
"tokens": {
|
||
"title": "Tableau de bord",
|
||
"subtitle": "Vue d'ensemble de votre serveur RustDesk",
|
||
"enrollment_mode": "Enrollment Mode",
|
||
"mode_open": "Open",
|
||
"mode_open_desc": "Any device can register without a token",
|
||
"mode_managed": "Managed",
|
||
"mode_managed_desc": "Devices need a valid token to register",
|
||
"mode_locked": "Locked",
|
||
"mode_locked_desc": "No new device registrations allowed",
|
||
"total": "Total",
|
||
"active": "Actif",
|
||
"used": "Utilisé",
|
||
"revoked": "Jeton révoqué",
|
||
"search_placeholder": "Rechercher des appareils...",
|
||
"status_pending": "En attente",
|
||
"status_active": "Actif",
|
||
"status_used": "Used",
|
||
"status_revoked": "Révoqué",
|
||
"status_expired": "Expiré",
|
||
"bulk_generate": "Bulk Generate",
|
||
"create": "Créer",
|
||
"edit": "Modifier",
|
||
"token": "Token",
|
||
"name": "Name",
|
||
"status": "Statut",
|
||
"uses": "Uses",
|
||
"bound_peer": "Bound Peer",
|
||
"expires": "Date d'expiration",
|
||
"created": "Créé",
|
||
"actions": "Actions",
|
||
"name_placeholder": "Entrez le nom du dossier",
|
||
"max_uses": "Max Uses",
|
||
"max_uses_hint": "0 = unlimited",
|
||
"expires_in": "Expires In",
|
||
"no_expiration": "No expiration",
|
||
"expires_1h": "1 hour",
|
||
"expires_24h": "24 hours",
|
||
"expires_7d": "7 days",
|
||
"expires_30d": "30 jours",
|
||
"note": "Note",
|
||
"note_placeholder": "Notes about this device",
|
||
"count": "Count",
|
||
"count_range": "Number of tokens to generate (1-100)",
|
||
"name_prefix": "Name Prefix",
|
||
"generate": "Générer la configuration",
|
||
"token_created": "Jeton créé avec succès",
|
||
"tokens_generated": "Tokens Generated",
|
||
"copy_warning": "Copy the token now. It will not be shown again.",
|
||
"copy_token": "Copy Token",
|
||
"copied": "Copié dans le presse-papiers",
|
||
"revoke": "Révoquer",
|
||
"revoke_confirm": "Êtes-vous sûr de vouloir révoquer ce jeton ? Cela invalidera immédiatement toutes les requêtes API qui l'utilisent.",
|
||
"revoked_success": "Token revoked successfully",
|
||
"no_tokens": "Aucun jeton API créé",
|
||
"expired": "Expired",
|
||
"never": "Jamais",
|
||
"save": "Enregistrer",
|
||
"cancel": "Annuler",
|
||
"unlimited": "Unlimited"
|
||
},
|
||
"tutorial": {
|
||
"next": "Suivant",
|
||
"prev": "Précédent",
|
||
"skip": "Passer le tutoriel",
|
||
"finish": "Terminer",
|
||
"close": "Fermer",
|
||
"step_of": "{current} of {total}",
|
||
"console_sidebar_title": "Navigation Sidebar",
|
||
"console_sidebar_text": "Access all modules from here. Click any icon to navigate to that section. The sidebar adapts to your screen size.",
|
||
"console_expand_title": "Expand Sidebar",
|
||
"console_expand_text": "Click here to expand the sidebar and see full labels for all navigation items. Click again to collapse.",
|
||
"console_search_title": "Quick Search",
|
||
"console_search_text": "Search for devices, settings, or actions quickly. Press Ctrl+K for keyboard shortcut.",
|
||
"console_dashboard_title": "Dashboard",
|
||
"console_dashboard_text": "Your central hub showing server status, online devices, and quick actions. Keep an eye on important metrics at a glance.",
|
||
"console_devices_title": "Device Management",
|
||
"console_devices_text": "View, search, and manage all connected devices. Filter by status, assign tags, and configure individual device settings.",
|
||
"console_settings_title": "Settings",
|
||
"console_settings_text": "Configure server behavior, security options, branding, and user management. Customize BetterDesk to fit your needs.",
|
||
"console_desktop_title": "Desktop Mode",
|
||
"console_desktop_text": "Switch to desktop mode for a windowed workspace with widgets. Perfect for multi-tasking and monitoring dashboards.",
|
||
"console_complete_title": "You're Ready!",
|
||
"console_complete_text": "Explore the sidebar categories to discover all features. Click the Help icon anytime to restart this guide.",
|
||
"desktop_topbar_title": "Top Bar",
|
||
"desktop_topbar_text": "The top bar shows the clock, quick controls, and access to the app drawer. Click the grid icon to browse all apps.",
|
||
"desktop_drawer_title": "App Drawer",
|
||
"desktop_drawer_text": "Open the app drawer to search and launch any console function as a floating window. Apps are organized by category.",
|
||
"desktop_widgets_title": "Widget Dashboard",
|
||
"desktop_widgets_text": "Your customizable workspace. Widgets display live information and provide quick access to features. Drag to rearrange.",
|
||
"desktop_add_widget_title": "Add Widgets",
|
||
"desktop_add_widget_text": "Click here to browse available widgets. Choose from monitoring displays, device lists, notes, and more.",
|
||
"desktop_taskbar_title": "Taskbar",
|
||
"desktop_taskbar_text": "Open apps appear here. Click to focus or minimize windows. The clock shows current time and wallpaper button changes the background.",
|
||
"desktop_snap_title": "Snap Layouts",
|
||
"desktop_snap_text": "Drag windows to screen edges to snap them into position, or hover the maximize button for layout presets. Try Aero Shake!",
|
||
"desktop_windows_title": "App Windows",
|
||
"desktop_windows_text": "Apps open in draggable, resizable windows. Minimize, maximize, or close from the title bar. Windows layer above widgets.",
|
||
"desktop_search_title": "Quick Search",
|
||
"desktop_search_text": "Search across devices, pages, and settings. Press Ctrl+K anywhere to open search instantly.",
|
||
"desktop_complete_title": "Desktop Mode Ready!",
|
||
"desktop_complete_text": "Try opening apps from the drawer and arranging windows side-by-side. Use widget presets for quick dashboard layouts.",
|
||
"devices_folders_title": "Device Folders",
|
||
"devices_folders_text": "Organize devices into folders. Click a folder to filter the list. Right-click to rename or delete.",
|
||
"devices_search_title": "Search & Filter",
|
||
"devices_search_text": "Search by ID, hostname, or platform. Use the status pills to show only online, offline, or all devices.",
|
||
"devices_table_title": "Device List",
|
||
"devices_table_text": "Click any device row for details. Use the kebab menu on the right for quick actions like connect, edit tags, or delete.",
|
||
"devices_complete_title": "Device Management Ready!",
|
||
"devices_complete_text": "Drag devices between folders to organize them. Double-click a device to open its detail panel.",
|
||
"settings_tabs_title": "Settings Categories",
|
||
"settings_tabs_text": "Navigate between General, Security, Appearance, and other configuration sections.",
|
||
"settings_content_title": "Configuration",
|
||
"settings_content_text": "Each section contains specific server and console settings. Changes are saved when you click Save.",
|
||
"settings_complete_title": "Settings Overview",
|
||
"settings_complete_text": "Check Security settings for 2FA, API keys and user management. Visit Appearance to customize the console look.",
|
||
"help": "Help",
|
||
"tour_console": "Console Tour",
|
||
"tour_desktop": "Desktop Mode Tour",
|
||
"tour_devices": "Devices Tour",
|
||
"tour_remote": "Remote Session Tour",
|
||
"tour_organization": "Organization Setup",
|
||
"tour_cdap": "CDAP Overview",
|
||
"tour_chat": "Chat Basics",
|
||
"tour_settings": "Settings Tour",
|
||
"reset_all": "Reset All Tutorials",
|
||
"remote_toolbar_title": "Remote Toolbar",
|
||
"remote_toolbar_text": "Access display controls, clipboard sync, special keys, and quality settings from the toolbar. Toggle fullscreen with F11.",
|
||
"remote_canvas_title": "Remote Display",
|
||
"remote_canvas_text": "This is the remote screen. Click inside to start controlling the remote device. Mouse and keyboard input are forwarded automatically.",
|
||
"remote_clipboard_title": "Clipboard Sync",
|
||
"remote_clipboard_text": "Copy and paste text between your computer and the remote device. Use Ctrl+C / Ctrl+V as normal while focused on the remote display.",
|
||
"remote_complete_title": "Remote Session Ready!",
|
||
"remote_complete_text": "Use the toolbar buttons for special keys (Ctrl+Alt+Del, PrintScreen) and monitor switching. Press Escape or click Disconnect to end the session.",
|
||
"org_overview_title": "Organizations",
|
||
"org_overview_text": "Organizations let you group users, devices, and policies. Each organization has its own admin, operators, and settings.",
|
||
"org_create_title": "Create Organization",
|
||
"org_create_text": "Click here to create a new organization. Provide a name, slug, and optional description. You will be the owner of the new organization.",
|
||
"org_members_title": "Manage Members",
|
||
"org_members_text": "Invite users by email, assign roles (admin, operator, user), and manage access. Members can see devices assigned to their organization.",
|
||
"org_devices_title": "Assign Devices",
|
||
"org_devices_text": "Add devices to the organization. Devices assigned here will inherit the organization's policies and be visible to its members.",
|
||
"org_policies_title": "Organization Policies",
|
||
"org_policies_text": "Set security policies like password requirements, session timeouts, 2FA enforcement, and device enrollment rules for the organization.",
|
||
"org_complete_title": "Organization Setup Complete!",
|
||
"org_complete_text": "Invite your team and assign devices to start using organization-scoped management. Policies apply automatically to all members.",
|
||
"cdap_devices_title": "CDAP Devices",
|
||
"cdap_devices_text": "View all connected CDAP devices — IoT sensors, PLCs, bridges, and custom agents. Green indicators show live connections.",
|
||
"cdap_widgets_title": "Widget Dashboard",
|
||
"cdap_widgets_text": "Widgets display real-time data from devices. Gauges, toggles, LEDs, charts — each widget type visualizes a different kind of data.",
|
||
"cdap_commands_title": "Send Commands",
|
||
"cdap_commands_text": "Interact with devices by sending commands. Some commands need confirmation. The command log keeps a history of all sent commands.",
|
||
"cdap_terminal_title": "Device Terminal",
|
||
"cdap_terminal_text": "Open a terminal session to CDAP agents for advanced diagnostics or manual configuration. Type commands directly.",
|
||
"cdap_complete_title": "CDAP Overview Complete!",
|
||
"cdap_complete_text": "Explore device widgets, send commands, and use the terminal or file browser for deeper management. CDAP agents report metrics automatically.",
|
||
"chat_contacts_title": "Contacts & Groups",
|
||
"chat_contacts_text": "See your contacts and chat groups. Click any contact to open a conversation. Green dots indicate online users.",
|
||
"chat_send_title": "Send Messages",
|
||
"chat_send_text": "Type your message and press Enter to send. Messages are end-to-end encrypted when both parties support E2E.",
|
||
"chat_file_title": "Share Files",
|
||
"chat_file_text": "Click the attachment icon to share files. Files are encrypted and can be up to 50 MB.",
|
||
"chat_complete_title": "Chat Ready!",
|
||
"chat_complete_text": "Chat with operators and end users in real time. Create groups for team communication. All messages support read receipts.",
|
||
"disable_tutorials": "Disable Tutorials",
|
||
"enable_tutorials": "Enable Tutorials"
|
||
},
|
||
"help_request": {
|
||
"title": "Tableau de bord",
|
||
"subtitle": "Vue d'ensemble de votre serveur RustDesk",
|
||
"new_request": "New Help Request",
|
||
"device": "Appareil",
|
||
"hostname": "Nom d'hôte",
|
||
"message": "Message",
|
||
"status": "Statut",
|
||
"pending": "Pending",
|
||
"accepted": "Accepted",
|
||
"resolved": "Resolved",
|
||
"accept": "Accept",
|
||
"resolve": "Resolve",
|
||
"no_requests": "No help requests",
|
||
"notification": "Help request received from",
|
||
"stats_total": "Total",
|
||
"filter_all": "Tous"
|
||
},
|
||
"organizations": {
|
||
"title": "Tableau de bord",
|
||
"create": "Créer",
|
||
"edit": "Modifier",
|
||
"detail": "Détails du ticket",
|
||
"name": "Name",
|
||
"slug": "Slug",
|
||
"logo_url": "Logo URL",
|
||
"users": "Utilisateurs",
|
||
"devices": "Appareils",
|
||
"invitations": "Invitations",
|
||
"settings": "Paramètres",
|
||
"add_user": "Ajouter un utilisateur",
|
||
"assign_device": "Assigner un appareil",
|
||
"create_invitation": "Create Invitation",
|
||
"delete_confirm": "Supprimer cette organisation ? Tous les utilisateurs, appareils et paramètres associés seront supprimés.",
|
||
"no_orgs": "No organizations yet",
|
||
"no_orgs_hint": "Create your first organization to start managing devices and users.",
|
||
"connection_policy": "Connection Policy",
|
||
"allow_file_transfer": "Allow File Transfer",
|
||
"allow_clipboard": "Allow Clipboard",
|
||
"max_session_duration": "Max Session Duration (min)",
|
||
"role_owner": "Owner",
|
||
"role_admin": "Administrateur",
|
||
"role_operator": "Opérateur",
|
||
"role_user": "Observateur",
|
||
"username": "Username",
|
||
"password": "Password",
|
||
"display_name": "Display Name",
|
||
"email": "Email",
|
||
"role": "Role",
|
||
"last_login": "Last Login",
|
||
"actions": "Actions",
|
||
"device_id": "Device ID",
|
||
"department": "Department",
|
||
"building": "Building",
|
||
"location": "Location",
|
||
"assigned_user": "Assigned User",
|
||
"token": "Token",
|
||
"expires": "Expires",
|
||
"used": "Used",
|
||
"no_users": "No users in this organization.",
|
||
"no_devices": "No devices assigned to this organization.",
|
||
"no_invitations": "No invitations.",
|
||
"user_added": "User added",
|
||
"user_removed": "User removed",
|
||
"user_updated": "User role updated",
|
||
"device_assigned": "Device assigned",
|
||
"device_unassigned": "Device unassigned",
|
||
"invitation_created": "Invitation created",
|
||
"settings_saved": "Settings saved",
|
||
"org_deleted": "Organization deleted",
|
||
"confirm_remove_user": "Remove this user from the organization?",
|
||
"confirm_unassign_device": "Unassign this device from the organization?",
|
||
"confirm_delete_org": "Delete this organization and all associated data?",
|
||
"edit_role": "Edit Role",
|
||
"raw_settings": "Raw Settings",
|
||
"key": "Key",
|
||
"value": "Value",
|
||
"save": "Save Settings",
|
||
"policy_unattended": "Unattended (instant)",
|
||
"policy_attended": "Attended (with confirmation)",
|
||
"policy_ask": "Always ask",
|
||
"expires_hours": "Expiration (hours)",
|
||
"loading_failed": "Failed to load organization data",
|
||
"name_slug_required": "Name and slug are required",
|
||
"org_created": "Organization created",
|
||
"org_updated": "Organization updated",
|
||
"create_new_user": "Create New",
|
||
"add_existing_user": "Add Existing",
|
||
"none_available": "none",
|
||
"select_user": "Select user",
|
||
"org_role": "Organization Role",
|
||
"link_user_hint": "Selected user will be linked to this organization using their server account credentials.",
|
||
"no_available_users": "All server users are already linked to this organization.",
|
||
"user_linked": "User linked to organization"
|
||
},
|
||
"chat": {
|
||
"e2e_enabled": "Chiffré de bout en bout",
|
||
"e2e_establishing": "Établissement du canal sécurisé...",
|
||
"e2e_established": "Canal sécurisé établi",
|
||
"e2e_unsupported": "Chiffrement E2E non pris en charge par ce navigateur",
|
||
"typing_indicator": "écrit...",
|
||
"read_receipt": "Lu",
|
||
"delivered": "Remis",
|
||
"file_share": "Fichier",
|
||
"file_too_large": "Fichier trop volumineux (max 50 Mo)",
|
||
"file_encrypted": "Transfert de fichier chiffré",
|
||
"presence_online": "En ligne",
|
||
"presence_away": "Absent",
|
||
"presence_busy": "Occupé",
|
||
"presence_offline": "Hors ligne",
|
||
"key_rotation": "Clés de sécurité renouvelées",
|
||
"new_message": "Nouveau message",
|
||
"title": "Tableau de bord",
|
||
"contacts": "Contacts",
|
||
"groups": "Groupes",
|
||
"no_contacts": "Aucun contact pour le moment",
|
||
"no_groups": "Aucun groupe pour le moment",
|
||
"no_messages": "Aucun message pour le moment",
|
||
"no_results": "Aucun résultat trouvé",
|
||
"select_conversation": "Sélectionnez une conversation pour commencer à discuter",
|
||
"select_conversation_hint": "Sélectionnez une conversation pour afficher les messages",
|
||
"type_message": "Saisissez un message...",
|
||
"send": "Envoyer",
|
||
"attach_file": "Joindre un fichier",
|
||
"emoji": "Emoji",
|
||
"info": "Information",
|
||
"search_messages": "Rechercher des messages",
|
||
"create_group": "Créer un groupe",
|
||
"group_name": "Nom du groupe",
|
||
"group_name_placeholder": "Entrez le nom du groupe",
|
||
"group_members": "Membres",
|
||
"cancel": "Annuler",
|
||
"create": "Créer",
|
||
"members": "membres",
|
||
"today": "Aujourd'hui",
|
||
"yesterday": "Hier",
|
||
"react": "Réagir",
|
||
"my_presence": "Mon statut",
|
||
"search_placeholder": "Rechercher des appareils..."
|
||
},
|
||
"toast": {
|
||
"device_connected": "Device connected",
|
||
"device_disconnected": "Device disconnected",
|
||
"session_started": "Remote session started",
|
||
"session_ended": "Remote session ended",
|
||
"file_upload_complete": "File upload complete",
|
||
"settings_saved": "Settings saved",
|
||
"error_generic": "An error occurred",
|
||
"connection_lost": "Connection lost",
|
||
"reconnecting": "Reconnecting..."
|
||
},
|
||
"theme": {
|
||
"dark": "Dark",
|
||
"light": "Light",
|
||
"auto": "System",
|
||
"title": "Tableau de bord"
|
||
},
|
||
"days": {
|
||
"mon": "Mon",
|
||
"tue": "Tue",
|
||
"wed": "Wed",
|
||
"thu": "Thu",
|
||
"fri": "Fri",
|
||
"sat": "Sat",
|
||
"sun": "Sun"
|
||
},
|
||
"toolkit": {
|
||
"title": "Tableau de bord",
|
||
"subtitle": "Vue d'ensemble de votre serveur RustDesk",
|
||
"cat_network": "Network",
|
||
"cat_crypto": "Crypto",
|
||
"cat_encoding": "Encoding",
|
||
"cat_system": "System",
|
||
"host": "Hôte",
|
||
"port": "Port",
|
||
"domain": "Domain",
|
||
"run": "Run",
|
||
"generate": "Générer la configuration",
|
||
"encode": "Encode",
|
||
"decode": "Decode",
|
||
"send": "Envoyer",
|
||
"refresh": "Actualiser",
|
||
"algorithm": "Algorithm",
|
||
"input_text": "Input Text",
|
||
"enter_text": "Enter text...",
|
||
"length": "Length",
|
||
"options": "Options",
|
||
"source": "Source",
|
||
"lines": "Lines",
|
||
"log_console": "Console",
|
||
"log_go": "Go Server",
|
||
"mac_address": "Adresse MAC",
|
||
"broadcast": "Broadcast",
|
||
"ping_title": "Ping",
|
||
"ping_desc": "Check host reachability and latency",
|
||
"tcp_title": "TCP Port Check",
|
||
"tcp_desc": "Test TCP port connectivity",
|
||
"ssl_title": "SSL Inspector",
|
||
"ssl_desc": "Inspect SSL/TLS certificate details",
|
||
"http_title": "HTTP Health Check",
|
||
"http_desc": "Verify HTTP endpoint status",
|
||
"dns_title": "DNS Lookup",
|
||
"dns_desc": "Resolve hostname to IP address",
|
||
"whois_title": "DNS Records",
|
||
"whois_desc": "Query A, AAAA, MX, TXT, NS records",
|
||
"speed_title": "Speed Test",
|
||
"speed_desc": "Measure download bandwidth",
|
||
"run_speed_test": "Run Speed Test",
|
||
"wol_title": "Wake-on-LAN",
|
||
"wol_desc": "Send magic packet to wake a device",
|
||
"wol_sent": "Magic packet sent",
|
||
"hash_title": "Hash Generator",
|
||
"hash_desc": "Generate cryptographic hashes",
|
||
"password_title": "Password Generator",
|
||
"password_desc": "Mettre à jour le mot de passe de votre compte",
|
||
"jwt_title": "JWT Decoder",
|
||
"jwt_desc": "Decode and inspect JSON Web Tokens",
|
||
"jwt_token": "JWT Token",
|
||
"base64_title": "Base64",
|
||
"base64_desc": "Encode or decode Base64 data",
|
||
"url_title": "URL Encoder",
|
||
"url_desc": "Encode or decode URL components",
|
||
"processes_title": "Process List",
|
||
"processes_desc": "View running system processes",
|
||
"disk_title": "Disk Usage",
|
||
"disk_desc": "View disk partition usage",
|
||
"db_title": "Database Stats",
|
||
"db_desc": "View database table statistics",
|
||
"docker_title": "Docker Containers",
|
||
"docker_desc": "View running Docker containers",
|
||
"logs_title": "Log Viewer",
|
||
"logs_desc": "View recent log output",
|
||
"ip_address": "Adresse IP",
|
||
"latency": "Latency",
|
||
"ttl": "TTL",
|
||
"status": "Statut",
|
||
"resolved": "Resolved",
|
||
"subject": "Subject",
|
||
"issuer": "Issuer",
|
||
"valid_from": "Valid From",
|
||
"valid_to": "Valid To",
|
||
"days_left": "Days Left",
|
||
"days": "days",
|
||
"protocol": "Protocol",
|
||
"cipher": "Cipher",
|
||
"alt_names": "SANs",
|
||
"chain": "Chain",
|
||
"record_type": "Type",
|
||
"record_value": "Value",
|
||
"hash_value": "Hash",
|
||
"entropy": "Entropy",
|
||
"very_strong": "Very Strong",
|
||
"strong": "Strong",
|
||
"weak": "Weak",
|
||
"expiry": "Expiry",
|
||
"expired": "Expired",
|
||
"valid": "Valid",
|
||
"process_name": "Name",
|
||
"db_type": "Type",
|
||
"db_size": "Size",
|
||
"table_name": "Table",
|
||
"row_count": "Rows",
|
||
"no_data": "No hardware data available",
|
||
"no_docker": "No Docker containers found or Docker not available",
|
||
"no_logs": "No log lines available"
|
||
},
|
||
"policies": {
|
||
"title": "Tableau de bord",
|
||
"subtitle": "Vue d'ensemble de votre serveur RustDesk",
|
||
"select_org": "Organisation",
|
||
"select_org_placeholder": "Sélectionner une organisation...",
|
||
"select_org_first": "Sélectionnez une organisation pour voir le journal d'audit des politiques.",
|
||
"configured": "Configuré",
|
||
"connection_title": "Politique de connexion",
|
||
"connection_desc": "Contrôler l'établissement des sessions distantes",
|
||
"connection_mode": "Mode de connexion",
|
||
"mode_attended": "Assisté (nécessite l'approbation)",
|
||
"mode_unattended": "Non assisté (toujours autoriser)",
|
||
"mode_ask": "Toujours demander",
|
||
"max_session": "Durée max. de session (minutes)",
|
||
"idle_lock": "Verrouillage en cas d'inactivité (minutes)",
|
||
"wallpaper_policy": "Fond d'écran pendant la session",
|
||
"wallpaper_show": "Afficher",
|
||
"wallpaper_hide_session": "Masquer pendant la session",
|
||
"wallpaper_hide_always": "Toujours masquer",
|
||
"features_title": "Politique de fonctionnalités",
|
||
"features_desc": "Activer ou désactiver des fonctionnalités spécifiques",
|
||
"allow_file_transfer": "Allow File Transfer",
|
||
"allow_clipboard": "Allow Clipboard",
|
||
"allow_audio": "Autoriser le streaming audio",
|
||
"allow_recording": "Autoriser l'enregistrement de session",
|
||
"security_title": "Politique de sécurité",
|
||
"security_desc": "Appliquer les exigences de sécurité pour les appareils",
|
||
"require_2fa": "Exiger 2FA pour l'accès non assisté",
|
||
"password_min_length": "Longueur minimale du mot de passe",
|
||
"password_require_special": "Exiger des caractères spéciaux",
|
||
"password_max_age": "Âge max. du mot de passe (jours, 0=jamais)",
|
||
"allowed_operators": "Allowed Operators",
|
||
"network_title": "Politique réseau",
|
||
"network_desc": "Contrôler les serveurs relais et les connexions directes",
|
||
"block_direct_p2p": "Bloquer P2P direct (forcer relais)",
|
||
"allowed_relays": "Serveurs relais autorisés (un par ligne)",
|
||
"ip_allowlist": "Liste blanche IP (CIDR, un par ligne)",
|
||
"update_title": "Politique de mise à jour",
|
||
"update_desc": "Contrôler les mises à jour automatiques et les canaux",
|
||
"auto_update": "Activer la mise à jour automatique",
|
||
"update_channel": "Canal de mise à jour",
|
||
"audit_title": "Modifications de politiques",
|
||
"audit_desc": "Activité récente de la console",
|
||
"no_audit": "Aucune modification de politique enregistrée.",
|
||
"save_success": "Policy saved successfully",
|
||
"save_failed": "Failed to save policy",
|
||
"load_failed": "Failed to load policies"
|
||
},
|
||
"attestation": {
|
||
"title": "Tableau de bord",
|
||
"subtitle": "Vue d'ensemble de votre serveur RustDesk",
|
||
"verified": "Vérifié",
|
||
"pending": "Pending",
|
||
"failed": "Échoué",
|
||
"device_list": "Registres d'attestation",
|
||
"device_list_desc": "Empreintes matérielles et statut de vérification d'identité",
|
||
"col_device": "ID d'appareil",
|
||
"col_hostname": "Nom d'hôte",
|
||
"col_fingerprint": "Empreinte",
|
||
"col_status": "Statut",
|
||
"col_last_check": "Dernière vérification",
|
||
"col_actions": "Actions",
|
||
"no_records": "Aucun enregistrement d'attestation trouvé.",
|
||
"verify_success": "Device marked as verified",
|
||
"verify_failed": "Failed to verify device",
|
||
"revoke_success": "Device attestation revoked",
|
||
"revoke_failed": "Failed to revoke attestation"
|
||
},
|
||
"fleet": {
|
||
"title": "Tableau de bord",
|
||
"tab_resources": "Ressources",
|
||
"tab_tasks": "Tâches",
|
||
"tab_builder": "Constructeur",
|
||
"tab_compliance": "Conformité",
|
||
"res_title": "Cartographie des ressources",
|
||
"res_all_types": "Tous les types",
|
||
"res_type_printer": "Imprimante",
|
||
"res_type_network_drive": "Lecteur réseau",
|
||
"res_type_dns": "Serveur DNS",
|
||
"res_type_proxy": "Proxy",
|
||
"res_type_vpn": "VPN",
|
||
"res_add": "Ajouter une ressource",
|
||
"res_name": "Nom de la ressource",
|
||
"res_type": "Type",
|
||
"res_address": "Adresse / Chemin",
|
||
"res_target": "Cible",
|
||
"res_scope": "Portée",
|
||
"res_scope_org": "Organisation",
|
||
"res_scope_group": "Groupe",
|
||
"res_scope_device": "Appareil",
|
||
"res_scope_value": "Valeur de portée",
|
||
"res_status": "Statut",
|
||
"res_active": "Actif",
|
||
"res_inactive": "Inactif",
|
||
"res_no_data": "Aucune ressource trouvée. Cliquez sur 'Ajouter'.",
|
||
"res_confirm_delete": "Êtes-vous sûr de vouloir supprimer cette ressource ?",
|
||
"task_title": "Planificateur de tâches",
|
||
"task_all_status": "Tous les statuts",
|
||
"task_status_pending": "En attente",
|
||
"task_status_running": "En cours",
|
||
"task_status_success": "Succès",
|
||
"task_status_failed": "Échoué",
|
||
"task_search": "Rechercher des tâches…",
|
||
"task_create": "Créer une tâche",
|
||
"task_name": "Nom de la tâche",
|
||
"task_type": "Type",
|
||
"task_type_script": "Script",
|
||
"task_type_install": "Installation",
|
||
"task_type_update": "Mise à jour",
|
||
"task_type_restart": "Redémarrage",
|
||
"task_type_deploy": "Déploiement",
|
||
"task_type_scan": "Scan",
|
||
"task_targets": "Cibles",
|
||
"task_targets_help": "IDs d'appareils ou noms de groupes, séparés par des virgules",
|
||
"task_schedule": "Planification",
|
||
"task_schedule_once": "Une fois",
|
||
"task_schedule_cron": "Cron",
|
||
"task_schedule_interval": "Intervalle",
|
||
"task_schedule_value": "Valeur de planification",
|
||
"task_script": "Script / Commande",
|
||
"task_retries": "Réessais",
|
||
"task_timeout": "Délai (s)",
|
||
"task_last_run": "Dernière exécution",
|
||
"task_no_data": "Aucune tâche trouvée. Créez une nouvelle tâche.",
|
||
"task_confirm_delete": "Êtes-vous sûr de vouloir supprimer cette tâche ?",
|
||
"task_output": "Sortie de la tâche",
|
||
"task_retry": "Réessayer",
|
||
"builder_title": "Constructeur de workflow visuel",
|
||
"builder_select_workflow": "Sélectionner un workflow…",
|
||
"builder_new": "Nouveau",
|
||
"builder_save": "Enregistrer",
|
||
"builder_export": "Exporter",
|
||
"builder_execute": "Exécuter",
|
||
"builder_dry_run": "Simulation",
|
||
"builder_triggers": "Déclencheurs",
|
||
"builder_conditions": "Conditions",
|
||
"builder_actions": "Actions",
|
||
"builder_results": "Résultats",
|
||
"builder_transforms": "Transformations",
|
||
"builder_properties": "Propriétés",
|
||
"builder_no_selection": "Sélectionnez un nœud pour modifier ses propriétés.",
|
||
"builder_node_trigger_manual": "Manual Trigger",
|
||
"builder_node_trigger_schedule": "Schedule",
|
||
"builder_node_trigger_event": "Event Trigger",
|
||
"builder_node_cond_os": "OS Check",
|
||
"builder_node_cond_threshold": "Threshold",
|
||
"builder_node_cond_time_window": "Time Window",
|
||
"builder_node_action_script": "Run Script",
|
||
"builder_node_action_install": "Install SW",
|
||
"builder_node_action_restart": "Restart Svc",
|
||
"builder_node_action_file_deploy": "Deploy File",
|
||
"builder_node_action_message": "Send Message",
|
||
"builder_node_result_log": "Log Output",
|
||
"builder_node_result_alert": "Send Alert",
|
||
"builder_node_result_chain": "Chain Workflow",
|
||
"builder_node_transform_parse": "Parse JSON",
|
||
"builder_node_transform_filter": "Filter",
|
||
"builder_node_transform_delay": "Delay",
|
||
"workflow_name": "Nom du workflow :",
|
||
"comp_title": "Conformité logicielle",
|
||
"comp_compliant": "Conforme",
|
||
"comp_warning": "Avertissement",
|
||
"comp_critical": "Critique",
|
||
"comp_score": "Score moyen",
|
||
"comp_device": "Appareil",
|
||
"comp_hostname": "Nom d'hôte",
|
||
"comp_os": "SE",
|
||
"comp_score_col": "Score",
|
||
"comp_issues": "Problèmes",
|
||
"comp_last_scan": "Dernier scan",
|
||
"comp_scan": "Scanner",
|
||
"comp_scan_all": "Tout scanner",
|
||
"comp_remediate": "Remédier",
|
||
"comp_remediate_confirm": "Exécuter l'auto-remédiation sur cet appareil ?",
|
||
"comp_no_data": "Pas de données de conformité. Lancez un scan.",
|
||
"save": "Enregistrer",
|
||
"cancel": "Annuler",
|
||
"close": "Fermer",
|
||
"edit": "Modifier",
|
||
"delete": "Supprimer",
|
||
"actions": "Actions",
|
||
"all_orgs": "Toutes les organisations",
|
||
"select_org_placeholder": "Sélectionner une organisation...",
|
||
"all_types": "All Types",
|
||
"type_printer": "Printer",
|
||
"type_network_drive": "Network Drive",
|
||
"type_dns": "DNS Server",
|
||
"type_vpn": "VPN",
|
||
"type_proxy": "Proxy",
|
||
"add_resource": "Add Resource",
|
||
"edit_resource": "Edit Resource",
|
||
"col_name": "Name",
|
||
"col_type": "Type",
|
||
"col_target": "Target",
|
||
"col_scope": "Scope",
|
||
"col_status": "Statut",
|
||
"col_actions": "Actions",
|
||
"no_resources": "No resources found.",
|
||
"active": "Actif",
|
||
"inactive": "Inactif",
|
||
"address": "Address / Path",
|
||
"scope_org": "Organization",
|
||
"scope_group": "Group",
|
||
"scope_device": "Appareil cible",
|
||
"scope_value": "Scope Value",
|
||
"scope_value_hint": "Organization, group, or device ID",
|
||
"confirm_delete": "Are you sure you want to delete this item?",
|
||
"all_statuses": "All Statuses",
|
||
"status_pending": "En attente",
|
||
"status_running": "En cours",
|
||
"status_success": "Success",
|
||
"status_failed": "Échoué",
|
||
"search_tasks": "Search tasks…",
|
||
"create_task": "Create Task",
|
||
"edit_task": "Edit Task",
|
||
"col_task_name": "Task Name",
|
||
"col_task_type": "Type",
|
||
"col_schedule": "Schedule",
|
||
"col_last_run": "Last Run",
|
||
"no_tasks": "No tasks found.",
|
||
"task_type_file_deploy": "File Deploy",
|
||
"task_type_registry": "Registry",
|
||
"target_devices": "Target Devices",
|
||
"target_hint": "Device IDs or group names",
|
||
"schedule_immediate": "Immediate",
|
||
"schedule_once": "Once",
|
||
"schedule_cron": "Cron",
|
||
"cron_placeholder": "*/5 * * * *",
|
||
"script_content": "Script / Command",
|
||
"retry_count": "Retries",
|
||
"timeout_sec": "Timeout (s)",
|
||
"loading": "Chargement...",
|
||
"no_output": "No output available",
|
||
"error_loading": "Error loading data",
|
||
"select_workflow": "Select workflow…",
|
||
"new_workflow": "New",
|
||
"export": "Exporter",
|
||
"execute": "Execute",
|
||
"dry_run": "Dry Run",
|
||
"node_triggers": "Triggers",
|
||
"node_manual": "Manual Trigger",
|
||
"node_schedule": "Schedule",
|
||
"node_event": "Event Trigger",
|
||
"node_conditions": "Conditions",
|
||
"node_os_check": "OS Check",
|
||
"node_threshold": "Threshold",
|
||
"node_time_window": "Time Window",
|
||
"node_actions": "Actions",
|
||
"node_run_script": "Run Script",
|
||
"node_install": "Install SW",
|
||
"node_restart": "Restart Svc",
|
||
"node_file_deploy": "Deploy File",
|
||
"node_send_message": "Send Message",
|
||
"node_results": "Results",
|
||
"node_log_output": "Log Output",
|
||
"node_send_alert": "Send Alert",
|
||
"node_chain": "Chain Workflow",
|
||
"node_transforms": "Transforms",
|
||
"node_parse_json": "Parse JSON",
|
||
"node_filter": "Filter",
|
||
"node_delay": "Delay",
|
||
"node_properties": "Properties",
|
||
"all_organizations": "All Organizations",
|
||
"scan_all": "Scan All",
|
||
"compliant": "Compliant",
|
||
"non_compliant": "Warning",
|
||
"critical_issues": "Critical",
|
||
"avg_score": "Avg. Score",
|
||
"col_device": "ID d'appareil",
|
||
"col_hostname": "Nom d'hôte",
|
||
"col_os": "OS",
|
||
"col_score": "Score",
|
||
"col_issues": "Issues",
|
||
"col_last_scan": "Last Scan",
|
||
"no_compliance_data": "No compliance data available.",
|
||
"confirm_remediate": "Run auto-remediation on this device?"
|
||
},
|
||
"scaling": {
|
||
"title": "Tableau de bord",
|
||
"tab_overview": "Vue d'ensemble",
|
||
"tab_relays": "Nœuds relais",
|
||
"tab_rules": "Règles d'attribution",
|
||
"tab_capacity": "Planification de capacité",
|
||
"arch_title": "Architecture réseau",
|
||
"arch_loading": "Chargement du diagramme d'architecture...",
|
||
"stat_relay_nodes": "Nœuds relais",
|
||
"stat_total_devices": "Total appareils",
|
||
"stat_active_sessions": "Sessions actives",
|
||
"stat_bandwidth": "Bande passante totale",
|
||
"relay_health": "État des relais",
|
||
"no_relays": "Aucun nœud relais configuré. Ajoutez votre premier nœud pour distribuer la charge.",
|
||
"relay_search": "Rechercher des relais...",
|
||
"relay_add": "Ajouter un nœud relais",
|
||
"relay_edit": "Modifier le nœud relais",
|
||
"col_name": "Name",
|
||
"col_address": "Adresse",
|
||
"col_location": "Emplacement",
|
||
"col_devices": "Appareils",
|
||
"col_sessions": "Sessions",
|
||
"col_bandwidth": "Bande passante",
|
||
"col_status": "Statut",
|
||
"col_actions": "Actions",
|
||
"col_priority": "Priorité",
|
||
"col_rule_name": "Nom de la règle",
|
||
"col_match": "Correspondance",
|
||
"col_target_relay": "Relais cible",
|
||
"col_fallback": "Repli",
|
||
"status_online": "En ligne",
|
||
"status_degraded": "Dégradé",
|
||
"status_offline": "Hors ligne",
|
||
"status_enabled": "Activé",
|
||
"status_disabled": "Désactivé",
|
||
"confirm_delete_relay": "Êtes-vous sûr de vouloir supprimer ce nœud relais ?",
|
||
"confirm_delete_rule": "Êtes-vous sûr de vouloir supprimer cette règle d'attribution ?",
|
||
"rules_hint": "Les règles d'attribution déterminent quel serveur relais gère des groupes d'appareils spécifiques. Les règles sont évaluées par priorité (la plus basse d'abord).",
|
||
"no_rules": "Aucune règle d'attribution.",
|
||
"rule_add": "Ajouter une règle",
|
||
"rule_edit": "Modifier la règle",
|
||
"rule_match_type": "Type de correspondance",
|
||
"match_subnet": "Sous-réseau",
|
||
"match_group": "Groupe d'appareils",
|
||
"match_tag": "Tag d'appareil",
|
||
"match_location": "Emplacement",
|
||
"rule_match_value": "Valeur de correspondance",
|
||
"fallback_master": "Serveur maître",
|
||
"fallback_nearest": "Relais le plus proche",
|
||
"relay_max_sessions": "Max. sessions",
|
||
"relay_max_bandwidth": "Max. bande passante (Mbps)",
|
||
"cap_tiers": "Niveaux de capacité",
|
||
"cap_loading": "Chargement des données de capacité...",
|
||
"cap_recommendations": "Recommandations",
|
||
"cap_no_recs": "Aucune recommandation disponible.",
|
||
"cap_planning": "Planification d'infrastructure",
|
||
"cap_config": "Configuration",
|
||
"cap_max_devices": "Max. appareils",
|
||
"cap_max_sessions": "Max. sessions",
|
||
"cap_current": "Actuel",
|
||
"cap_utilization": "Utilisation",
|
||
"cap_tier_devices": "Capacité appareils",
|
||
"cap_tier_sessions": "Capacité sessions",
|
||
"cap_tier_bandwidth": "Capacité bande passante",
|
||
"cap_single_sqlite": "Serveur unique (SQLite)",
|
||
"cap_single_pg": "Serveur unique (PostgreSQL)",
|
||
"cap_master_3": "Maître + 3 relais",
|
||
"cap_master_10": "Maître + 10 relais",
|
||
"rec_no_relays": "Aucun nœud configuré. Envisagez d'ajouter des relais pour de meilleures performances et redondance.",
|
||
"rec_devices_high": "L'utilisation des appareils est élevée. Envisagez d'ajouter plus de nœuds relais.",
|
||
"rec_sessions_high": "La capacité de sessions approche sa limite. Envisagez une mise à niveau de l'infrastructure.",
|
||
"rec_cpu_high": "Certains nœuds relais signalent une utilisation CPU élevée. Envisagez l'équilibrage de charge.",
|
||
"rec_all_good": "Tous les systèmes fonctionnent dans les paramètres normaux. Aucune action requise.",
|
||
"save": "Enregistrer",
|
||
"cancel": "Annuler",
|
||
"edit": "Modifier",
|
||
"delete": "Supprimer",
|
||
"close": "Fermer",
|
||
"relays_info_banner": "This list is informational. The relay servers actually used by clients are configured via the RELAY_SERVERS environment variable on the BetterDesk server.",
|
||
"relay_name_address_required": "Name and address are required.",
|
||
"relay_save_failed": "Failed to save relay node.",
|
||
"relay_delete_failed": "Failed to delete relay node.",
|
||
"relay_saved": "Relay node saved.",
|
||
"relay_deleted": "Relay node deleted.",
|
||
"rule_name_value_required": "Rule name and match value are required.",
|
||
"rule_save_failed": "Failed to save rule.",
|
||
"rule_delete_failed": "Failed to delete rule.",
|
||
"rule_saved": "Rule saved.",
|
||
"rule_deleted": "Rule deleted."
|
||
},
|
||
"cross_platform": {
|
||
"title": "Tableau de bord",
|
||
"tab_matrix": "Matrice de compatibilité",
|
||
"tab_distribution": "Distribution",
|
||
"tab_protocols": "Protocoles",
|
||
"tab_limitations": "Limitations",
|
||
"matrix_hint": "Matrice de support des fonctionnalités pour toutes les plateformes prises en charge. Vert = support complet, Jaune = partiel, Gris = non disponible, Bleu = planifié.",
|
||
"col_feature": "Fonctionnalité",
|
||
"legend_full": "Support complet",
|
||
"legend_partial": "Support partiel",
|
||
"legend_none": "Non disponible",
|
||
"legend_planned": "Planifié",
|
||
"platform_breakdown": "Répartition par plateforme",
|
||
"arch_breakdown": "Répartition par architecture",
|
||
"version_breakdown": "Répartition par version",
|
||
"summary": "Résumé",
|
||
"total_devices": "Total des appareils",
|
||
"unique_platforms": "Plateformes",
|
||
"unique_archs": "Architectures",
|
||
"unique_versions": "Versions client",
|
||
"no_devices": "Aucun appareil avec des données d'inventaire trouvé",
|
||
"protocols_hint": "La négociation des capacités du protocole garantit que chaque client reçoit uniquement les fonctionnalités prises en charge. Le serveur adapte son comportement en fonction des capacités signalées.",
|
||
"capability_negotiation": "Négociation des capacités",
|
||
"codec_support": "Support des codecs (appareils en ligne)",
|
||
"feature_support": "Support des fonctionnalités (appareils en ligne)",
|
||
"no_codec_data": "Aucune donnée de codec des appareils en ligne.",
|
||
"no_feature_data": "Aucune donnée de fonctionnalités des appareils en ligne.",
|
||
"protobuf_schema": "Schéma Protobuf ClientCapabilities",
|
||
"diagram_client": "Client",
|
||
"diagram_server": "Serveur BetterDesk",
|
||
"diagram_peer": "Pair distant",
|
||
"limitations_hint": "Chaque plateforme a des limitations spécifiques affectant les fonctionnalités disponibles. Vérifiez-les lors de la planification des déploiements.",
|
||
"feat_desktop_client": "Client bureau",
|
||
"feat_background_agent": "Agent en arrière-plan",
|
||
"feat_remote_target": "Cible distante",
|
||
"feat_screen_capture": "Capture d'écran",
|
||
"feat_input_injection": "Injection d'entrée",
|
||
"feat_file_transfer": "Transfert de fichiers",
|
||
"feat_clipboard_sync": "Synchronisation du presse-papiers",
|
||
"feat_audio_streaming": "Streaming audio",
|
||
"feat_chat": "Chat",
|
||
"feat_h264": "Codec H.264",
|
||
"feat_vp9": "Codec VP9",
|
||
"feat_av1": "Codec AV1",
|
||
"feat_cdap_agent": "Agent CDAP",
|
||
"platform_windows": "Windows",
|
||
"platform_linux": "Linux",
|
||
"platform_macos": "macOS",
|
||
"platform_android": "Android",
|
||
"platform_ios": "iOS",
|
||
"platform_web": "Navigateur web",
|
||
"platform_chromeos": "ChromeOS",
|
||
"status_production": "Production",
|
||
"status_testing": "Test",
|
||
"status_planned": "Planifié",
|
||
"status_limited": "Limité",
|
||
"status_experimental": "Expérimental",
|
||
"limit_win_uac": "Élévation UAC requise pour l'installation du service et l'injection d'entrée sur les bureaux sécurisés.",
|
||
"limit_win_service": "Fonctionne en tant que service NSSM ; nécessite des droits d'administrateur pour l'installation.",
|
||
"limit_win_firewall": "Les règles du pare-feu Windows doivent autoriser les ports 21115-21119 pour les connexions relais.",
|
||
"limit_linux_wayland": "Les compositeurs Wayland restreignent la capture d'écran programmatique ; API portail PipeWire requise.",
|
||
"limit_linux_pipewire": "La capture audio nécessite PipeWire ; repli PulseAudio disponible mais limité.",
|
||
"limit_linux_arm": "Builds ARM64 disponibles ; certains codecs peuvent utiliser le décodage logiciel (plus lent).",
|
||
"limit_mac_screen": "Autorisation d'enregistrement d'écran requise dans Réglages > Confidentialité et sécurité.",
|
||
"limit_mac_signing": "L'agent doit être signé avec un Apple Developer ID pour la distribution.",
|
||
"limit_mac_notarize": "Notarisation requise pour macOS Gatekeeper (distribution hors App Store).",
|
||
"limit_android_projection": "L'API MediaProjection nécessite le consentement de l'utilisateur pour chaque session de capture.",
|
||
"limit_android_accessibility": "L'injection d'entrée nécessite AccessibilityService ; restreint depuis Android 14+.",
|
||
"limit_android_battery": "Service en arrière-plan limité par le mode Doze ; exemption d'optimisation de batterie possible.",
|
||
"limit_ios_capture": "Apple interdit la capture d'écran en arrière-plan ; seul le mode visualisation est pris en charge.",
|
||
"limit_ios_input": "Pas d'injection d'entrée autorisée ; uniquement vue distante et chat.",
|
||
"limit_ios_appstore": "Distribution uniquement via l'App Store ; TestFlight pour les tests bêta.",
|
||
"limit_web_https": "L'API WebCodecs et WebRTC nécessitent HTTPS ; HTTP utilise JMuxer en repli (codecs limités).",
|
||
"limit_web_codec": "Support des codecs dépendant du navigateur ; H.264 largement supporté, VP9/AV1 variable.",
|
||
"limit_web_performance": "Performance limitée par le sandbox du navigateur ; pas d'accélération matérielle directe.",
|
||
"limit_chrome_crostini": "Support complet de l'agent uniquement dans le conteneur Linux Crostini.",
|
||
"limit_chrome_pwa": "Le mode PWA fournit uniquement les capacités web ; pas de fonctions d'agent natives.",
|
||
"limit_chrome_input": "Injection d'entrée en dehors du conteneur Crostini non prise en charge."
|
||
},
|
||
"security_audit": {
|
||
"title": "Tableau de bord",
|
||
"tab_overview": "Vue d'ensemble",
|
||
"tab_events": "Events",
|
||
"tab_hardening": "Durcissement",
|
||
"tab_vulnerabilities": "Vulnérabilités",
|
||
"security_score": "Score de sécurité",
|
||
"failed_logins": "Connexions échouées (24h)",
|
||
"active_bans": "Bannissements actifs",
|
||
"api_keys": "Clés API",
|
||
"old_keys": "Anciennes clés (>90j)",
|
||
"security_checks": "Vérifications de sécurité",
|
||
"tls_status": "Statut TLS",
|
||
"pass": "OK",
|
||
"warning": "Avertissement",
|
||
"fail": "Échec",
|
||
"tls_signal": "Signal TLS",
|
||
"tls_relay": "Relay TLS",
|
||
"tls_api": "API TLS",
|
||
"tls_wss": "WebSocket Secure",
|
||
"enabled": "Activé",
|
||
"disabled": "Désactivé",
|
||
"all_events": "Tous les événements",
|
||
"event_login_failed": "Connexion échouée",
|
||
"event_login_success": "Connexion réussie",
|
||
"event_peer_banned": "Appareil banni",
|
||
"event_ip_banned": "IP bannie",
|
||
"event_config_changed": "Configuration modifiée",
|
||
"event_key_created": "Clé créée",
|
||
"refresh": "Actualiser",
|
||
"col_time": "Heure",
|
||
"col_action": "Action",
|
||
"col_actor": "Acteur",
|
||
"col_target": "Target",
|
||
"col_ip": "Adresse IP",
|
||
"col_details": "Détails",
|
||
"no_events": "Aucun événement DLP enregistré",
|
||
"hardening_hint": "Priorités de durcissement sécuritaire pour votre déploiement BetterDesk. Triés par gravité.",
|
||
"no_hardening": "Aucun élément de durcissement disponible.",
|
||
"vuln_hint": "Résultats de l'analyse des vulnérabilités. Exécutez npm audit régulièrement.",
|
||
"no_vulns": "Aucune vulnérabilité trouvée. Vos dépendances sont sécurisées."
|
||
},
|
||
"languages": {
|
||
"title": "Tableau de bord",
|
||
"total_languages": "Total Languages",
|
||
"fully_translated": "Fully Translated",
|
||
"needs_review": "Needs Review",
|
||
"reference_keys": "Reference Keys",
|
||
"no_languages": "No language files found.",
|
||
"badge_reference": "Reference",
|
||
"badge_review": "Needs Review",
|
||
"badge_complete": "Complete",
|
||
"coverage": "coverage",
|
||
"keys": "Clés",
|
||
"missing": "missing",
|
||
"extra": "extra",
|
||
"view_missing": "View Missing",
|
||
"fix_missing": "Fix Missing",
|
||
"missing_keys_for": "Missing keys for",
|
||
"missing_keys_count": "keys missing (English fallback values shown)",
|
||
"and_more": "and {n} more...",
|
||
"all_keys_present": "All keys are present!",
|
||
"confirm_fix": "Add missing keys to {code} with English fallback values?",
|
||
"fixed_title": "Keys Fixed",
|
||
"fixed_msg": "Added {n} missing keys to {code} with English fallback.",
|
||
"no_fix_needed": "No missing keys to fix."
|
||
},
|
||
"resource_control": {
|
||
"title": "Tableau de bord",
|
||
"tab_overview": "Vue d'ensemble",
|
||
"tab_usb": "USB Control",
|
||
"tab_optical": "Optical Drives",
|
||
"tab_monitors": "Monitors",
|
||
"tab_disks": "Disk Access",
|
||
"tab_quotas": "Resource Quotas",
|
||
"compliance_by_category": "Compliance by Category",
|
||
"device_compliance": "Device Compliance",
|
||
"search_devices": "Search devices...",
|
||
"col_device": "ID d'appareil",
|
||
"col_platform": "Plateforme",
|
||
"col_status": "Statut",
|
||
"col_usb": "USB",
|
||
"col_optical": "Optical",
|
||
"col_monitors": "Monitors",
|
||
"col_disks": "Disks",
|
||
"col_quotas": "Quotas",
|
||
"col_actions": "Actions",
|
||
"stat_total_devices": "Total appareils",
|
||
"stat_compliant": "Compliant",
|
||
"stat_partial": "Partial",
|
||
"stat_noncompliant": "Non-Compliant",
|
||
"stat_compliance_rate": "Compliance Rate",
|
||
"badge_na": "N/A",
|
||
"badge_compliant": "OK",
|
||
"badge_partial": "Partial",
|
||
"badge_noncompliant": "Fail",
|
||
"btn_configure": "Configure",
|
||
"no_devices": "Aucun appareil avec des données d'inventaire trouvé",
|
||
"usb_title": "USB Port Control",
|
||
"usb_hint": "Control USB storage device access for the selected device or organization-wide default policy.",
|
||
"usb_storage_policy": "USB Storage Policy",
|
||
"usb_whitelist": "Whitelisted Devices (one per line)",
|
||
"usb_whitelist_hint": "VID:PID (e.g. 0781:5583)",
|
||
"usb_audit_log": "Log USB device connections",
|
||
"optical_title": "Optical Drive Control",
|
||
"optical_hint": "Control CD/DVD/Blu-ray drive access for the selected device.",
|
||
"optical_policy": "Optical Drive Policy",
|
||
"optical_audit_log": "Log optical drive access",
|
||
"monitors_title": "Monitor Management",
|
||
"monitors_hint": "Configure monitor settings including maximum count, resolution enforcement, brightness and power schedules.",
|
||
"monitors_max_count": "Maximum Monitors (0 = unlimited)",
|
||
"monitors_max_hint": "0 means no limit",
|
||
"monitors_resolution": "Max Resolution",
|
||
"monitors_brightness": "Brightness Limit",
|
||
"monitors_power_schedule": "Power Schedule",
|
||
"monitors_power_hint": "e.g. off:22:00-06:00",
|
||
"disks_title": "Disk Access Control",
|
||
"disks_hint": "Configure disk access policies including read-only mode, encryption enforcement, and partition visibility.",
|
||
"disks_readonly": "Force read-only mode",
|
||
"disks_encryption": "Require encryption (BitLocker/LUKS)",
|
||
"disks_smart": "Enable S.M.A.R.T. monitoring",
|
||
"disks_hidden": "Hidden Partitions",
|
||
"disks_hidden_hint": "Comma-separated drive letters or mount points",
|
||
"quotas_title": "Resource Quotas",
|
||
"quotas_hint": "Set per-user CPU, RAM, bandwidth, and disk quotas for the selected device.",
|
||
"quotas_cpu": "CPU Limit",
|
||
"quotas_ram": "RAM Limit",
|
||
"quotas_bandwidth": "Bandwidth Limit (Mbps)",
|
||
"quotas_bandwidth_hint": "0 = unlimited",
|
||
"quotas_disk_quota": "Disk Quota (GB)",
|
||
"quotas_disk_hint": "0 = unlimited",
|
||
"quotas_process_whitelist": "Process Whitelist (one per line)",
|
||
"quotas_process_hint": "e.g. chrome.exe, code.exe",
|
||
"policy_allowed": "Allowed",
|
||
"policy_blocked": "Blocked",
|
||
"policy_whitelist": "Whitelist Only",
|
||
"policy_any": "Any"
|
||
},
|
||
"sdk_studio": {
|
||
"title": "Tableau de bord",
|
||
"subtitle": "Vue d'ensemble de votre serveur RustDesk",
|
||
"new_flow": "New Flow",
|
||
"open_flow": "Open Flow",
|
||
"save_flow": "Save Flow",
|
||
"import_flow": "Import Flow",
|
||
"run_flow": "Run",
|
||
"debug": "Debug",
|
||
"deploy": "Deploy",
|
||
"undo": "Undo",
|
||
"redo": "Redo",
|
||
"untitled": "Untitled Flow",
|
||
"code_mode": "Code Mode",
|
||
"toggle_grid": "Toggle Grid",
|
||
"zoom_in": "Zoom In",
|
||
"zoom_out": "Zoom Out",
|
||
"zoom_fit": "Fit to Screen",
|
||
"palette": "Node Palette",
|
||
"search_nodes": "Search nodes...",
|
||
"cat_sources": "Sources",
|
||
"cat_processing": "Processing",
|
||
"cat_outputs": "Outputs",
|
||
"empty_title": "Aucun appareil trouvé",
|
||
"empty_desc": "Drag nodes from the palette to start building a flow",
|
||
"browse_templates": "Browse Templates",
|
||
"inspector": "Inspector",
|
||
"select_node": "Select a node to inspect its properties",
|
||
"console": "Console",
|
||
"clear_console": "Clear",
|
||
"console_ready": "Studio ready",
|
||
"label": "Status",
|
||
"configuration": "Configuration",
|
||
"connections": "Connections",
|
||
"inputs": "Inputs",
|
||
"outputs": "Outputs",
|
||
"delete_node": "Delete Node",
|
||
"nodes": "Nodes",
|
||
"wires": "Wires",
|
||
"status_ready": "Ready",
|
||
"status_deployed": "Deployed",
|
||
"flow_name": "Flow Name",
|
||
"flow_desc": "Description",
|
||
"loading": "Chargement...",
|
||
"no_flows": "No saved flows yet",
|
||
"confirm_delete": "Are you sure you want to delete this item?",
|
||
"templates": "Templates",
|
||
"node_modbus_tcp": "Modbus TCP",
|
||
"node_modbus_rtu": "Modbus RTU",
|
||
"node_snmp_poll": "SNMP Poll",
|
||
"node_rest_poll": "REST Poll",
|
||
"node_mqtt_subscribe": "MQTT Subscribe",
|
||
"node_webhook": "Webhook",
|
||
"node_device_telemetry": "Device Telemetry",
|
||
"node_database_query": "Database Query",
|
||
"node_file_watch": "File Watch",
|
||
"node_filter": "Filter",
|
||
"node_transform": "Transform",
|
||
"node_aggregate": "Aggregate",
|
||
"node_delay": "Delay",
|
||
"node_debounce": "Debounce",
|
||
"node_switch": "Switch",
|
||
"node_merge": "Merge",
|
||
"node_script": "Script",
|
||
"node_widget_update": "Widget Update",
|
||
"node_alert": "Alert",
|
||
"node_command": "Command",
|
||
"node_log": "Log",
|
||
"node_rest_call": "REST Call",
|
||
"node_mqtt_publish": "MQTT Publish",
|
||
"node_database_write": "Database Write",
|
||
"node_email": "Email",
|
||
"node_modbus_write": "Modbus Write"
|
||
},
|
||
"updates": {
|
||
"tab_title": "Updates",
|
||
"title": "Tableau de bord",
|
||
"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.",
|
||
"current_version": "Installed version",
|
||
"latest_version": "Latest version",
|
||
"status": "Statut",
|
||
"check_now": "Vérifier maintenant",
|
||
"checking": "Vérification...",
|
||
"up_to_date": "Up to date",
|
||
"update_available": "Update available",
|
||
"changelog": "Release Notes",
|
||
"no_changelog": "No release notes available",
|
||
"files_changed": "Files changed",
|
||
"files": "Fichiers",
|
||
"changes_unavailable": "Could not load file change list. You can still install the update.",
|
||
"create_backup": "Create backup before updating",
|
||
"install": "Install Update",
|
||
"install_confirm": "Are you sure you want to install this update? The console will restart after the update.",
|
||
"installing": "Installing update…",
|
||
"creating_backup": "Creating backup…",
|
||
"downloading": "Downloading files…",
|
||
"install_success": "Update installed successfully. Console is restarting…",
|
||
"install_failed": "Update installation failed",
|
||
"restarting": "Waiting for console to restart…",
|
||
"restart_complete": "Console restarted successfully",
|
||
"restart_timeout": "Console did not restart in time. Please check manually.",
|
||
"no_version": "No update version selected. Check for updates first.",
|
||
"backups_title": "Update Backups",
|
||
"backups_desc": "Pre-update backups created automatically before each update",
|
||
"no_backups": "No update backups found",
|
||
"restore": "Restore",
|
||
"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.",
|
||
"baseline_set": "Baseline set",
|
||
"commits_behind": "commits behind",
|
||
"total_files": "Total files",
|
||
"applied": "Applied",
|
||
"failed": "Failed",
|
||
"skipped": "Skipped",
|
||
"removed": "Removed",
|
||
"auto": "Auto",
|
||
"manual": "Manual",
|
||
"component_console": "Web Console",
|
||
"component_server": "Go Server",
|
||
"component_agent": "Agent",
|
||
"component_scripts": "Scripts & Docker",
|
||
"component_other": "Other",
|
||
"server_rebuild_warning": "Go Server source changed — binary rebuild required. Use the ALL-IN-ONE script or compile manually.",
|
||
"include_server": "Include Go Server (compile & deploy binary)",
|
||
"checking_go": "Checking Go…",
|
||
"go_not_found": "Go not installed",
|
||
"go_check_failed": "Could not check Go availability",
|
||
"server_building": "Compiling Go server… This may take a few minutes.",
|
||
"server_built": "Server binary compiled",
|
||
"server_build_failed": "Server compilation failed",
|
||
"server_deployed": "Server binary deployed",
|
||
"server_deploy_failed": "Server deploy failed",
|
||
"server_build_note": "Server compilation may take 1-5 minutes. The page will remain unresponsive during compilation.",
|
||
"server_source_downloading": "Downloading server source…",
|
||
"delete": "Delete",
|
||
"delete_confirm": "Permanently delete backup {name}? This cannot be undone.",
|
||
"delete_success": "Backup deleted",
|
||
"delete_failed": "Failed to delete backup",
|
||
"retention_label": "Keep N most recent backups",
|
||
"retention_hint": "Older backups are deleted automatically after each update. Use 0 to keep all backups.",
|
||
"retention_saved": "Retention setting saved",
|
||
"retention_invalid": "Retention must be an integer between 0 and 1000",
|
||
"retention_required_for_prune": "Set a retention value greater than 0 first",
|
||
"prune_now": "Apply now",
|
||
"prune_confirm": "Keep only the {n} most recent backups and delete the rest?",
|
||
"prune_done": "Pruned {n} backup(s)",
|
||
"total_size": "Total size",
|
||
"backups_count": "backup(s)",
|
||
"strategy_label": "Update method",
|
||
"strategy_download": "Download pre-built binary",
|
||
"strategy_compile": "Compile from source",
|
||
"both_available": "Download & Compile",
|
||
"download_available": "Download available",
|
||
"no_method": "No update method",
|
||
"no_release": "No release",
|
||
"available": "Available",
|
||
"server_downloading": "Downloading server binary…",
|
||
"server_downloaded": "Server binary downloaded",
|
||
"server_download_failed": "Server binary download failed",
|
||
"server_download_note": "A pre-built binary will be downloaded from GitHub Releases. This usually takes less than a minute.",
|
||
"install_go_hint": "Install Go from https://go.dev/dl/ to enable compilation, or publish a release with pre-built binaries",
|
||
"strategy_install_go": "Auto-install Go and compile",
|
||
"strategy_install_go_hint": "Downloads the official Go toolchain (~120 MB) into the console data directory, then compiles the server. Use this when Go is not installed on the host.",
|
||
"auto_strategy": "Auto",
|
||
"auto_strategy_hint": "The console will pick the best available method (download → compile → auto-install Go).",
|
||
"auto_available": "Auto-rebuild ready",
|
||
"toolchain_ready": "Toolchain installed",
|
||
"toolchain_will_install": "Go toolchain will be installed automatically",
|
||
"toolchain_downloading": "Downloading Go toolchain…",
|
||
"toolchain_failed": "Go toolchain install failed",
|
||
"modal_title": "Installing update",
|
||
"modal_done_title": "Update complete",
|
||
"modal_close": "Close",
|
||
"modal_reload_now": "Reload console",
|
||
"phase_confirm": "Confirmation",
|
||
"phase_backup": "Backup",
|
||
"phase_console": "Console files",
|
||
"phase_server": "Go server",
|
||
"phase_restart": "Restart",
|
||
"phase_done": "Done",
|
||
"preparing": "Preparing…",
|
||
"backup_skipped": "Backup skipped (per user choice)",
|
||
"server_skipped": "Go server skipped",
|
||
"server_not_selected": "Go server not selected",
|
||
"server_processing": "Processing Go server update…",
|
||
"no_restart_needed": "No restart required",
|
||
"complete": "Update applied",
|
||
"complete_summary": "The update has been applied successfully.",
|
||
"complete_with_errors": "The update finished, but some steps failed. See details below.",
|
||
"modal_done_with_errors_title": "Update finished with errors",
|
||
"console_will_restart": "Console process will restart now…",
|
||
"restart_complete_msg": "The console finished restarting. Click reload to load the new version. The page will reload automatically in 8 seconds.",
|
||
"refresh_recommended": "Static assets changed — reload the page to see the new UI.",
|
||
"confirm_title": "Apply update",
|
||
"confirm_with_backup": "A pre-update backup will be created automatically.",
|
||
"confirm_no_backup": "No backup will be created (proceed at your own risk)."
|
||
},
|
||
"permissions": {
|
||
"title": "Permissions",
|
||
"subtitle": "Manage role-based permissions and custom overrides",
|
||
"info_title": "How permissions work",
|
||
"info_desc": "Each role has default permissions. You can add or remove individual permissions per role by toggling them below. Custom overrides are highlighted and can be reverted to defaults at any time.",
|
||
"select_role": "Select role",
|
||
"select_role_placeholder": "Choose a role...",
|
||
"reset_overrides": "Reset all overrides",
|
||
"granted": "Granted",
|
||
"overrides": "Overrides",
|
||
"level": "Level",
|
||
"super_admin_tag": "Full access",
|
||
"server_level_tag": "Server-level",
|
||
"custom": "Custom",
|
||
"default": "Default",
|
||
"revert": "Revert to default",
|
||
"saved": "Permission updated",
|
||
"reverted": "Reverted to default",
|
||
"all_reverted": "All overrides reverted",
|
||
"confirm_reset": "Reset all custom overrides for this role to defaults?",
|
||
"empty_title": "Select a role",
|
||
"empty_desc": "Choose a role from the dropdown above to view and manage its permissions.",
|
||
"locked_title": "Super Admin",
|
||
"locked_desc": "Super Admin has all permissions by default and cannot be customized.",
|
||
"cat_device": "Devices",
|
||
"cat_user": "Users",
|
||
"cat_server": "Server",
|
||
"cat_org": "Organizations",
|
||
"cat_audit": "Audit & Monitoring",
|
||
"cat_cdap": "CDAP",
|
||
"cat_enrollment": "Enrollment",
|
||
"cat_chat": "Chat",
|
||
"cat_branding": "Branding",
|
||
"perm_device_view": "View devices",
|
||
"perm_device_connect": "Connect to devices",
|
||
"perm_device_edit": "Edit devices",
|
||
"perm_device_delete": "Delete devices",
|
||
"perm_device_ban": "Ban / unban devices",
|
||
"perm_device_change_id": "Change device ID",
|
||
"perm_user_view": "View users",
|
||
"perm_user_create": "Create users",
|
||
"perm_user_edit": "Edit users",
|
||
"perm_user_delete": "Delete users",
|
||
"perm_server_config": "Server configuration",
|
||
"perm_server_keys": "Manage API keys",
|
||
"perm_org_create": "Create organizations",
|
||
"perm_org_edit": "Edit organizations",
|
||
"perm_org_delete": "Delete organizations",
|
||
"perm_org_manage_users": "Manage organization users",
|
||
"perm_org_manage_devices": "Manage organization devices",
|
||
"perm_audit_view": "View audit logs",
|
||
"perm_metrics_view": "View metrics",
|
||
"perm_blocklist_edit": "Edit blocklist",
|
||
"perm_cdap_view": "View CDAP devices",
|
||
"perm_cdap_command": "Send CDAP commands",
|
||
"perm_cdap_terminal": "CDAP terminal access",
|
||
"perm_cdap_files": "CDAP file access",
|
||
"perm_enrollment_manage": "Manage enrollment",
|
||
"perm_enrollment_approve": "Approve enrollment",
|
||
"perm_chat_access": "Chat access",
|
||
"perm_branding_edit": "Edit branding"
|
||
},
|
||
"notifications": {
|
||
"title": "Notifications",
|
||
"empty": "No new notifications",
|
||
"mark_all_read": "Mark all read",
|
||
"see_all": "See all help requests",
|
||
"help_request": "Help request",
|
||
"just_now": "just now"
|
||
},
|
||
"accessibility": {
|
||
"title": "Accessibilité",
|
||
"subtitle": "Adaptez la console à votre vision, au mouvement et à la lecture.",
|
||
"close": "Fermer le menu accessibilité",
|
||
"profiles": "Profils rapides",
|
||
"profile_low_vision": "Low vision",
|
||
"profile_low_vision_hint": "Larger text, strong contrast and focus.",
|
||
"profile_dyslexia": "Reading comfort",
|
||
"profile_dyslexia_hint": "Readable font and wider spacing.",
|
||
"profile_motion_safe": "Motion safe",
|
||
"profile_motion_safe_hint": "Reduces transitions and pauses animation.",
|
||
"profile_color_assist": "Color support",
|
||
"profile_color_assist_hint": "Color filter, labels and highlighted links.",
|
||
"reading": "Lecture",
|
||
"font_size": "Taille du texte",
|
||
"line_height": "Hauteur de ligne",
|
||
"letter_spacing": "Letter spacing",
|
||
"word_spacing": "Word spacing",
|
||
"readable_font": "Readable font",
|
||
"readable_font_hint": "Uses broad, familiar letter shapes.",
|
||
"dyslexia_spacing": "Dyslexia spacing",
|
||
"dyslexia_spacing_hint": "Adds extra spacing for long text.",
|
||
"visual": "Visuel",
|
||
"contrast": "Contraste",
|
||
"contrast_normal": "Normal",
|
||
"contrast_high_dark": "High contrast dark",
|
||
"contrast_high_light": "High contrast light",
|
||
"contrast_yellow_black": "Yellow on black",
|
||
"color_filter": "Color vision filter",
|
||
"filter_none": "None",
|
||
"filter_protanopia": "Protanopia",
|
||
"filter_deuteranopia": "Deuteranopia",
|
||
"filter_tritanopia": "Tritanopia",
|
||
"filter_achromatopsia": "Achromatopsia",
|
||
"saturation": "Color saturation",
|
||
"underline_links": "Underline links",
|
||
"underline_links_hint": "Makes links visible without relying on color.",
|
||
"highlight_links": "Highlight actions",
|
||
"highlight_links_hint": "Outlines links and buttons.",
|
||
"highlight_headings": "Highlight headings",
|
||
"highlight_headings_hint": "Marks section titles with a color bar.",
|
||
"hide_media": "Dim media",
|
||
"hide_media_hint": "Dims images, videos and canvases.",
|
||
"interaction": "Interaction",
|
||
"strong_focus": "Strong focus",
|
||
"strong_focus_hint": "Shows a large keyboard focus ring.",
|
||
"large_cursor": "Large cursor",
|
||
"large_cursor_hint": "Uses a larger high-contrast pointer.",
|
||
"reduce_motion": "Reduce motion",
|
||
"reduce_motion_hint": "Shortens transitions and smooth scrolling.",
|
||
"pause_animations": "Pause animations",
|
||
"pause_animations_hint": "Stops looping visual motion.",
|
||
"reading_guide": "Reading guide",
|
||
"reading_guide_hint": "Follows the pointer with a bright line.",
|
||
"reading_mask": "Reading mask",
|
||
"reading_mask_hint": "Dims content above and below the pointer.",
|
||
"preview": "Aperçu",
|
||
"preview_title": "Operator workspace preview",
|
||
"preview_text": "Check whether text, links, controls and status labels are comfortable to read before closing this menu.",
|
||
"preview_link": "Device details link",
|
||
"preview_status": "Online",
|
||
"preview_button": "Primary action",
|
||
"preview_secondary": "Secondary",
|
||
"reset": "Réinitialiser",
|
||
"done": "Terminé"
|
||
},
|
||
"server_mgmt": {
|
||
"title": "Gestion du serveur",
|
||
"subtitle": "Panneau de type Cockpit pour l'hôte de la console BetterDesk (BÊTA).",
|
||
"beta_tooltip": "Fonction bêta — en développement actif.",
|
||
"notice_title": "Fonction bêta",
|
||
"notice_body": "Ces outils s'exécutent sur l'hôte où tourne le processus de la console BetterDesk. Toutes les opérations sont auditées.",
|
||
"tab_overview": "Aperçu",
|
||
"tab_terminal": "Terminal",
|
||
"tab_files": "Fichiers",
|
||
"tab_services": "Services",
|
||
"cpu": "CPU",
|
||
"memory": "Mémoire",
|
||
"load": "Charge moyenne",
|
||
"disks": "Disques",
|
||
"history": "Historique (60 derniers échantillons)",
|
||
"host_info": "Infos hôte",
|
||
"cores": "cœurs",
|
||
"uptime": "Temps d'activité",
|
||
"no_disks": "No disk data available",
|
||
"info_hostname": "Hostname",
|
||
"info_platform": "Platform",
|
||
"info_kernel": "Kernel",
|
||
"info_node": "Node.js",
|
||
"info_process_id": "Process ID",
|
||
"info_pty_available": "PTY available",
|
||
"term_connect": "Connecter",
|
||
"term_disconnect": "Déconnecter",
|
||
"term_clear": "Effacer",
|
||
"term_status": "Status",
|
||
"term_connecting": "Connexion…",
|
||
"term_connected": "Connecté",
|
||
"term_disconnected": "Déconnecté",
|
||
"term_error": "Connection error",
|
||
"term_warning": "Commands run as the user that owns the console process. Add a sudoers rule to enable elevation.",
|
||
"term_hint": "Tip: type `sudo -i` to escalate (requires sudoers configuration).",
|
||
"term_lib_failed": "Failed to load terminal library",
|
||
"files_up": "Up one level",
|
||
"files_go": "Go",
|
||
"files_mkdir": "New folder",
|
||
"files_name": "Nom",
|
||
"files_size": "Taille",
|
||
"files_perms": "Mode",
|
||
"files_mtime": "Modifié",
|
||
"files_rename": "Renommer",
|
||
"files_rename_prompt": "New name:",
|
||
"files_empty": "Répertoire vide",
|
||
"files_error": "Failed to list directory",
|
||
"read_failed": "Failed to read file",
|
||
"save_failed": "Failed to save file",
|
||
"rename_failed": "Rename failed",
|
||
"delete_failed": "Delete failed",
|
||
"delete_confirm": "Delete this entry?",
|
||
"mkdir_prompt": "New folder name:",
|
||
"mkdir_failed": "Failed to create folder",
|
||
"file_saved": "File saved",
|
||
"binary_warn": "Binary file — preview only",
|
||
"encoding_utf8": "UTF-8 text",
|
||
"truncated": "truncated",
|
||
"full": "full",
|
||
"svc_search_placeholder": "Search services…",
|
||
"svc_name": "Service",
|
||
"svc_state": "État",
|
||
"svc_description": "Description",
|
||
"svc_empty": "No services found",
|
||
"svc_load_failed": "Failed to load services",
|
||
"svc_action_failed": "Action failed",
|
||
"svc_confirm": "Run",
|
||
"svc_start": "Démarrer",
|
||
"svc_stop": "Arrêter",
|
||
"svc_restart": "Redémarrer",
|
||
"svc_reload": "Recharger",
|
||
"svc_enable": "Activer",
|
||
"svc_disable": "Désactiver",
|
||
"svc_status": "Status"
|
||
}
|
||
}
|