mirror of
https://github.com/UNITRONIX/BetterDesk.git
synced 2026-09-10 17:45:42 +00:00
8956ec653d
Keep classic as the default production chrome. Mark the opt-in switcher with a BETA badge/tooltip and show a topbar chip while UX 3.5 is active.
4352 lines
231 KiB
JSON
4352 lines
231 KiB
JSON
{
|
||
"meta": {
|
||
"language": "Français",
|
||
"code": "fr",
|
||
"direction": "ltr",
|
||
"author": "UNITRONIX (recreated under AGPL-3.0)",
|
||
"version": "1.0.0",
|
||
"lang": "en",
|
||
"native_name": "English",
|
||
"name": "English"
|
||
},
|
||
"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",
|
||
"invalid_json": "Format JSON invalide",
|
||
"field_required": "Le champ {field} est obligatoire",
|
||
"back": "Retour",
|
||
"edit": "Modifier",
|
||
"yes": "Ja",
|
||
"no": "Nein"
|
||
},
|
||
"nav": {
|
||
"main": "Principal",
|
||
"tools": "Outils réseau",
|
||
"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": "Help Requests",
|
||
"activity": "Activity",
|
||
"automation": "Automation",
|
||
"file_transfer": "Transfert de fichiers",
|
||
"network": "Network Adapters",
|
||
"dataguard": "DataGuard",
|
||
"reports": "Reports",
|
||
"tenants": "Tenants",
|
||
"registrations": "Registrations",
|
||
"management": "Management",
|
||
"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": "Device Tokens",
|
||
"organizations": "Organizations",
|
||
"policies": "Politiques DLP",
|
||
"attestation": "Attestation",
|
||
"remote": "Remote Desktop",
|
||
"toolkit": "Toolkit",
|
||
"security_audit": "Audit de Sécurité",
|
||
"permissions": "Permissions",
|
||
"languages": "Langues",
|
||
"resource_control": "Contrôle des ressources",
|
||
"sdk_studio": "SDK Studio",
|
||
"chat": "Discussion",
|
||
"help": "Help",
|
||
"expand_sidebar": "Expand sidebar",
|
||
"login": "Connexion",
|
||
"server_management": "Server-Verwaltung",
|
||
"server_attestation": "Server-Attestierung",
|
||
"commercialization": "Kommerzialisierung",
|
||
"remote_open_tab": "Ouvrir le client Bureau à distance dans un nouvel onglet"
|
||
},
|
||
"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.",
|
||
"or": "oder",
|
||
"login_sso": "Mit SSO anmelden",
|
||
"login_sso_with": "Mit {{provider}} anmelden",
|
||
"oidc_denied": "Der Zugriff wurde vom Identitätsanbieter verweigert.",
|
||
"oidc_invalid": "Ungültiger OIDC-Rückruf. Bitte versuchen Sie es erneut.",
|
||
"oidc_failed": "OIDC-Authentifizierung fehlgeschlagen. Bitte versuchen Sie es erneut.",
|
||
"oidc_error": "Beim SSO-Anmelden ist ein Fehler aufgetreten.",
|
||
"oidc_no_account": "Ihr Konto wurde nicht gefunden und die automatische Registrierung ist deaktiviert.",
|
||
"invalid_credentials": "Nom d'utilisateur ou mot de passe invalide.",
|
||
"username_collision": "Ein lokales Konto mit diesem Benutzernamen existiert bereits. Melden Sie sich mit Ihrem lokalen Passwort an, oder bitten Sie einen Administrator, das kollidierende Konto umzubenennen oder zu entfernen.",
|
||
"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 récupération à la place",
|
||
"totp_use_code": "Utiliser le code d'authentification à la place",
|
||
"totp_recovery_code": "Code de récupération",
|
||
"totp_back_to_login": "Retour à la connexion",
|
||
"totp_invalid_code": "Code de vérification invalide. Veuillez réessayer.",
|
||
"totp_enter_code": "Veuillez entrer un code à 6 chiffres",
|
||
"totp_enter_recovery": "Veuillez entrer un code de récupération",
|
||
"totp_session_expired": "Session expirée. Veuillez vous reconnecter.",
|
||
"totp_rate_limited": "Zu viele Versuche. Bitte versuchen Sie es später erneut.",
|
||
"totp_already_enabled": "L'authentification à deux facteurs est déjà activée",
|
||
"passwords_mismatch": "Les mots de passe ne correspondent pas",
|
||
"emergency_mode_banner": "Go-Server nicht erreichbar — Notfallmodus aktiv (nur Admin, eingeschränkte Funktionalität)"
|
||
},
|
||
"dashboard": {
|
||
"title": "Tableau de bord",
|
||
"subtitle": "Vue d'ensemble de votre serveur RustDesk",
|
||
"total_devices": "Total des appareils",
|
||
"online_now": "En ligne maintenant",
|
||
"banned": "Bannis",
|
||
"active_connections": "Connexions actives",
|
||
"offline_devices": "Hors ligne",
|
||
"server_status": "État du serveur",
|
||
"quick_actions": "Actions rapides",
|
||
"manage_devices": "Gérer les appareils connectés",
|
||
"view_keys": "Voir les clés du serveur",
|
||
"generate_config": "Générer la configuration client",
|
||
"server_settings": "Configurer les paramètres",
|
||
"greeting_morning": "Bonjour, {name}",
|
||
"greeting_afternoon": "Bon après-midi, {name}",
|
||
"greeting_evening": "Bonsoir, {name}",
|
||
"greeting_night": "Bonne nuit, {name}",
|
||
"health_overview": "Vue d'ensemble de l'état",
|
||
"devices_online": "Appareils en ligne",
|
||
"active_alerts": "Alertes actives",
|
||
"recent_connections": "Appareils totaux",
|
||
"server_uptime": "Temps de fonctionnement du serveur",
|
||
"activity_feed": "Activité récente",
|
||
"no_recent_activity": "Aucune activité récente",
|
||
"just_now": "à l'instant",
|
||
"ago": "il y a",
|
||
"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.",
|
||
"client_config_eyebrow": "Configuration client",
|
||
"client_config_title": "Configuration du client RustDesk",
|
||
"client_config_subtitle": "Utilisez ces valeurs dans RustDesk pour connecter les clients à ce serveur BetterDesk.",
|
||
"copy_all_config": "Tout copier",
|
||
"show_config_qr": "Afficher le QR",
|
||
"config_server_id": "Serveur ID",
|
||
"config_relay_server": "Serveur relais",
|
||
"config_api_server": "Serveur API",
|
||
"config_key": "Clé",
|
||
"client_config_hint": "Saisissez ces valeurs dans les paramètres réseau de RustDesk, dans la section serveur ID/relais.",
|
||
"open_generator": "Générateur de client",
|
||
"open_keys": "Ouvrir les clés",
|
||
"open_remote": "Ouvrir la console de bureau distant",
|
||
"attention_panel": "À surveiller",
|
||
"system_ready": "Système prêt",
|
||
"system_attention": "Attention requise",
|
||
"config_not_ready": "La configuration du client n'est pas encore prête.",
|
||
"client_config_qr_title": "QR de configuration RustDesk",
|
||
"client_config_qr_hint": "Scannez ce code avec un client RustDesk compatible avec les QR codes de configuration.",
|
||
"client_server_host_label": "Adresse serveur pour les clients",
|
||
"client_server_host_placeholder": "ex. 203.0.113.10 ou desk.example.com",
|
||
"client_server_host_hint": "Adresse utilisée par les clients RustDesk pour joindre ce serveur. Modifiez-la si l’URL du panneau diffère de l’IP/DNS client. Domaines séparés : Paramètres → Points de terminaison clients publics.",
|
||
"apply_client_host": "Appliquer",
|
||
"copy_deploy_string": "Copier la chaîne de déploiement",
|
||
"show_intune_script": "Script Intune / PSADT",
|
||
"intune_script_title": "Extrait de déploiement Windows",
|
||
"intune_script_hint": "Exécutez en administrateur après l’installation MSI de RustDesk. Utilise la même chaîne que Copier la chaîne de déploiement.",
|
||
"deploy_string_not_ready": "La chaîne de déploiement n’est pas disponible tant que la clé publique du serveur n’est pas chargée.",
|
||
"client_server_host_env_hint": "Les points de terminaison publics ID, relais et API sont définis dans Paramètres → Points de terminaison clients publics. Effacez-les pour réutiliser ce champ."
|
||
},
|
||
"devices": {
|
||
"title": "Tableau de bord",
|
||
"id": "ID",
|
||
"hostname": "Nom d'hôte",
|
||
"username": "Nom d'utilisateur",
|
||
"platform": "Plateforme",
|
||
"version": "Version",
|
||
"ip_address": "Adresse IP",
|
||
"note": "Note",
|
||
"last_seen": "Vu en dernier",
|
||
"last_online": "Last Online",
|
||
"first_seen": "First Seen",
|
||
"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": "Banned",
|
||
"no_signal_tooltip": "Der Client hat kürzlich die API kontaktiert, ist aber nicht auf dem Signalserver registriert (UDP :21116). Starten Sie den Client nach der Servermigration neu.",
|
||
"selected": "selected",
|
||
"showing": "Showing",
|
||
"of": "of",
|
||
"per_page": "Pro Seite",
|
||
"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'utilisateur",
|
||
"delete_confirm": "Êtes-vous sûr de vouloir supprimer l'appareil {id} ?",
|
||
"delete_reserved_hint": "L’appareil sera masqué et son ID restera réservé. Sélectionnez la suppression définitive pour libérer l’ID et le réutiliser.",
|
||
"delete_warning": "You are about to permanently delete this device:",
|
||
"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": "Bloquer 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": "Are you sure you want to ban device {id}?",
|
||
"ban_success": "Appareil banni avec succès",
|
||
"unban_title": "Débannir l'appareil",
|
||
"unban_confirm": "Êtes-vous sûr de vouloir débannir l'appareil {id} ?",
|
||
"unban_success": "Appareil débanni avec succès",
|
||
"change_id": "Changer l'ID",
|
||
"change_id_title": "Changer l'ID de l'appareil",
|
||
"new_id": "Nouvel ID",
|
||
"change_id_hint": "6-16 caractères, lettres, chiffres, tirets et underscores uniquement",
|
||
"change_id_online_warn": "L'appareil est en ligne. Privilégiez le changement d'ID dans le client RustDesk. Un changement via le panneau conserve l'identité, mais le client doit adopter le nouvel ID.",
|
||
"change_id_success": "ID de l'appareil modifié avec succès",
|
||
"id_length_error": "L'ID doit contenir entre 6 et 16 caractères",
|
||
"id_format_error": "L'ID ne peut contenir que des lettres, des chiffres, des tirets et des underscores",
|
||
"bulk_delete_title": "Supprimer plusieurs appareils",
|
||
"bulk_delete_confirm": "Êtes-vous sûr de vouloir supprimer {count} appareils ?",
|
||
"bulk_delete_success": "{count} appareils supprimés avec succès",
|
||
"columns": "Colonnes",
|
||
"toggle_columns": "Basculer les colonnes visibles",
|
||
"not_found": "Introuvable",
|
||
"delete_failed": "Failed to delete device",
|
||
"restore_failed": "Gerät konnte nicht wiederhergestellt werden",
|
||
"change_id_failed": "Failed to change device ID",
|
||
"invalid_id": "Invalid device ID (6-16 characters required)",
|
||
"invalid_id_format": "Invalid ID format (letters, numbers, dashes, underscores only)",
|
||
"id_exists": "Device ID already exists",
|
||
"id_reserved_deleted": "Cet ID appartient à un appareil supprimé. Restaurez-le ou supprimez-le définitivement pour libérer l'ID.",
|
||
"show_deleted": "Afficher les appareils supprimés",
|
||
"deleted_badge": "Supprimé",
|
||
"restore_title": "Restaurer l'appareil",
|
||
"restore_confirm": "Restaurer l'appareil {id} ? Il redeviendra visible et pourra se reconnecter avec la même identité.",
|
||
"restore_success": "Appareil restauré avec succès",
|
||
"restore_action": "Restaurer",
|
||
"permanent_delete_title": "Supprimer définitivement l'appareil",
|
||
"permanent_delete_confirm": "Supprimer définitivement l'appareil {id} ? Cela libère son ID et est irréversible.",
|
||
"permanent_delete_success": "Appareil supprimé définitivement",
|
||
"filter_deleted": "Supprimés",
|
||
"no_selection": "No devices selected",
|
||
"device_type": "Type d'appareil",
|
||
"tags": "Tags",
|
||
"filter_type_all": "All Types",
|
||
"filter_type_rustdesk": "RustDesk",
|
||
"filter_type_desktop": "Desktop",
|
||
"filter_type_scada": "SCADA",
|
||
"filter_type_iot": "IoT",
|
||
"filter_type_agent": "Agent",
|
||
"cdap_connected": "CDAP connecté",
|
||
"revoke": "Révoquer",
|
||
"access_policy": "Access Policy",
|
||
"filter_by_tags": "Nach Tags filtern",
|
||
"no_tags": "No tags",
|
||
"all_groups": "Alle Gruppen",
|
||
"create_group": "Gruppe erstellen",
|
||
"manage_groups": "Gruppen verwalten",
|
||
"group_name": "Gruppenname",
|
||
"group_name_placeholder": "z. B. Medien-PCs",
|
||
"dynamic_group": "Dynamische Gruppe aus Tag",
|
||
"dynamic_group_hint": "Geräte mit diesem Tag treten automatisch bei.",
|
||
"tag_filter": "Tag filter",
|
||
"group_allowed_users": "Zugelassene Benutzer",
|
||
"group_allowed_users_hint": "Leer lassen, damit die Gruppe für alle mit Geräteberechtigungen sichtbar bleibt.",
|
||
"group_allowed_user_groups": "Zugelassene Benutzergruppen",
|
||
"group_allowed_user_groups_hint": "Benutzer in ausgewählten Benutzergruppen können auf diese Gerätegruppe zugreifen.",
|
||
"manage_user_groups": "Benutzergruppen verwalten",
|
||
"no_user_groups": "Keine Benutzergruppen",
|
||
"edit_group": "Gruppe bearbeiten",
|
||
"delete_group": "Gruppe löschen",
|
||
"delete_group_confirm": "Gerätegruppe {name} löschen?",
|
||
"group_deleted": "Gerätegruppe gelöscht",
|
||
"folder_group_readonly": "Ordnerbasierte Gruppen werden über Ordner verwaltet.",
|
||
"group_tag_required": "Tag-Filter ist für dynamische Gruppen erforderlich",
|
||
"group_invalid": "Ungültige Gruppenkennung",
|
||
"group_not_found": "Gruppe nicht gefunden",
|
||
"group_saved": "Gerätegruppe gespeichert",
|
||
"strategies_title": "Access control strategies",
|
||
"strategies_hint": "Link user groups to device groups and push RustDesk Pro security settings to matching clients.",
|
||
"create_strategy": "Add strategy",
|
||
"edit_strategy": "Edit strategy",
|
||
"delete_strategy": "Delete strategy",
|
||
"delete_strategy_confirm": "Delete strategy {name}?",
|
||
"strategy_name": "Strategy name",
|
||
"strategy_name_required": "Strategy name is required",
|
||
"strategy_user_group": "User group",
|
||
"strategy_device_group": "Device group",
|
||
"strategy_any_user_group": "Any user group",
|
||
"strategy_any_device_group": "Any device group",
|
||
"strategy_enabled": "Enabled",
|
||
"strategy_disabled": "Disabled",
|
||
"strategy_enabled_label": "Strategy enabled",
|
||
"strategy_permissions": "Client security settings",
|
||
"strategy_permissions_hint": "Uses RustDesk advanced-setting keys (Y/N). Leave Default to keep client or strategy inheritance.",
|
||
"strategy_permissions_count": "{count} settings",
|
||
"strategy_perm_default": "Default",
|
||
"strategy_perm_allow": "Allow (Y)",
|
||
"strategy_perm_deny": "Deny (N)",
|
||
"strategy_perm_file_transfer": "File transfer",
|
||
"strategy_perm_disable_clipboard": "Disable clipboard",
|
||
"strategy_perm_enable_clipboard": "Enable clipboard",
|
||
"strategy_perm_audio": "Audio",
|
||
"strategy_perm_tunnel": "TCP tunnel",
|
||
"strategy_perm_camera": "Camera",
|
||
"strategy_perm_restart": "Remote restart",
|
||
"strategy_perm_block_input": "Block user input",
|
||
"strategy_created": "Strategy created",
|
||
"strategy_updated": "Strategy updated",
|
||
"strategy_deleted": "Strategy deleted",
|
||
"strategy_not_found": "Strategy not found",
|
||
"no_strategies": "No access control strategies yet",
|
||
"loading_strategies": "Loading strategies...",
|
||
"groups_saved": "Gerätegruppen gespeichert",
|
||
"group_membership_added": "Zur Gruppe hinzugefügt",
|
||
"group_membership_removed": "Aus Gruppe entfernt",
|
||
"no_groups": "Noch keine Gruppen",
|
||
"manual_groups": "Manuelle Gruppen",
|
||
"dynamic_memberships": "Dynamische Mitgliedschaften",
|
||
"unattended_access": "Unattended Access",
|
||
"enable_unattended": "Enable unattended access",
|
||
"access_password": "Access Password",
|
||
"password_configured": "Password set",
|
||
"no_password": "No password",
|
||
"new_password": "New password (leave empty to keep current)",
|
||
"clear_password": "Clear password",
|
||
"access_schedule": "Access Schedule",
|
||
"enable_schedule": "Enable time-based access",
|
||
"allowed_days": "Allowed days",
|
||
"start_time": "Start time",
|
||
"end_time": "End time",
|
||
"timezone": "Timezone",
|
||
"allowed_operators": "Allowed Operators",
|
||
"all_operators": "All operators (leave empty)",
|
||
"operators_hint": "Comma-separated usernames. Leave empty to allow all operators.",
|
||
"last_updated_by": "Last updated by",
|
||
"access_policy_saved": "Access policy saved",
|
||
"display_name": "Display Name",
|
||
"display_name_placeholder": "Custom name (overrides hostname)",
|
||
"note_placeholder": "Notes about this device",
|
||
"tabs": {
|
||
"overview": "Overview",
|
||
"hardware": "Matériel",
|
||
"metrics": "Métriques",
|
||
"connections": "Connections",
|
||
"audit": "Audit",
|
||
"info": "Information",
|
||
"history": "History"
|
||
},
|
||
"hardware": {
|
||
"cpu": "Processor",
|
||
"memory": "Memory",
|
||
"disk": "Disk",
|
||
"os": "Operating System",
|
||
"hostname": "Nom d'hôte",
|
||
"uptime": "Uptime",
|
||
"load_avg": "Load Average",
|
||
"network": "Network Adapters",
|
||
"no_data": "No hardware data available",
|
||
"title": "Tableau de bord",
|
||
"gpu": "Graphics Card"
|
||
},
|
||
"strategy_assign": "Assign targets",
|
||
"strategy_assign_title": "Assign strategy: {name}",
|
||
"strategy_assign_devices": "Devices",
|
||
"strategy_assign_users": "Users",
|
||
"strategy_assign_groups": "Device groups",
|
||
"strategy_assign_hint": "Select devices, users, or device groups that should use this strategy directly (RustDesk Pro priority: device > user > group).",
|
||
"strategy_assign_saved": "Strategy assignments saved",
|
||
"strategy_assign_counts": "{peers} devices, {users} users, {groups} groups",
|
||
"strategy_assign_none": "No direct assignments"
|
||
},
|
||
"keys": {
|
||
"title": "Tableau de bord",
|
||
"subtitle": "Vue d'ensemble de votre serveur RustDesk",
|
||
"public_key": "Clé publique",
|
||
"qr_code": "Code QR",
|
||
"server_info": "Informations du serveur",
|
||
"download": "Télécharger la clé",
|
||
"show_qr": "Afficher le QR",
|
||
"qr_hint": "Scannez ce code QR avec l'application mobile RustDesk",
|
||
"no_key": "Aucune clé publique trouvée",
|
||
"no_key_to_copy": "Aucune clé à copier",
|
||
"no_qr": "Code QR non disponible",
|
||
"download_success": "Fichier de clé téléchargé",
|
||
"not_found": "Introuvable",
|
||
"api_not_found": "API key not found"
|
||
},
|
||
"settings": {
|
||
"title": "Tableau de bord",
|
||
"subtitle": "Vue d'ensemble de votre serveur RustDesk",
|
||
"tab_general": "Général",
|
||
"tab_server": "Serveur",
|
||
"tab_branding": "Image de marque",
|
||
"tab_backup": "Sauvegarde",
|
||
"tab_auth": "Authentifizierung",
|
||
"tab_advanced": "Erweitert",
|
||
"connection_mode_title": "Verbindungsstrategie",
|
||
"connection_mode_desc": "Steuern, wie RustDesk-Desktop-Clients verbinden: direktes P2P (Hole Punch) wenn möglich oder immer über Relay.",
|
||
"connection_mode_label": "Standard-Verbindungsmodus",
|
||
"connection_mode_p2p_first": "P2P zuerst (empfohlen) — direkte Verbindung versuchen, auf Relay zurückfallen",
|
||
"connection_mode_relay_only": "Nur Relay — alle Sitzungen verwenden den Relay-Server",
|
||
"connection_mode_advanced": "Erweiterte Optionen",
|
||
"connection_mode_fallback_ms": "P2P-Fallback-Timeout (ms)",
|
||
"connection_mode_same_nat_relay": "Relay erzwingen, wenn beide Peers dieselbe öffentliche IP teilen (NAT-Hairpin)",
|
||
"connection_mode_network_hint": "P2P erfordert, dass UDP-Port 21116 zwischen Clients erreichbar ist. Signal TCP 21116, Relay TCP 21117, NAT-Test 21115 müssen auf dem Server offen sein. Webbrowser-Clients verwenden immer Relay.",
|
||
"connection_mode_save": "Speichern",
|
||
"connection_mode_save_restart": "Speichern & Server neu starten",
|
||
"connection_mode_saved": "Verbindungsmodus gespeichert",
|
||
"connection_mode_restart_started": "Server-Neustart eingeleitet",
|
||
"connection_mode_restart_failed": "Server-Neustart fehlgeschlagen",
|
||
"connection_mode_not_configurable": "Verbindungsmodus kann auf diesem Deployment nicht geändert werden (keine systemd-Unit oder docker-compose gefunden)",
|
||
"connection_mode_compose_error": "Serverumgebungsabschnitt in docker-compose.yml nicht gefunden",
|
||
"connection_mode_source_saved": "Gespeichert in",
|
||
"connection_mode_source_defaults": "Server-Standardwerte verwenden (nicht über Panel beschreibbar)",
|
||
"connection_mode_runtime": "Aktiver Server",
|
||
"advanced_title": "Konfigurationsdateien",
|
||
"advanced_desc": "Serverkonfigurationsdateien direkt bearbeiten. Änderungen erfordern möglicherweise einen Dienstneustart. Vor jedem Speichern wird eine Sicherungskopie erstellt.",
|
||
"advanced_warning": "Diese Dateien enthalten Geheimnisse (API-Schlüssel, Datenbankpasswörter, Sitzungsgeheimnisse). Nur bearbeiten, wenn Sie wissen, was Sie tun. Falsche Syntax kann verhindern, dass der Server startet.",
|
||
"advanced_files_label": "Dateien",
|
||
"advanced_select_file": "Eine Datei aus der Liste auswählen, um deren Inhalt anzuzeigen oder zu bearbeiten.",
|
||
"advanced_reload": "Neu laden",
|
||
"advanced_save": "Datei speichern",
|
||
"advanced_apply_restart": "Anwenden (Dienst neu starten)",
|
||
"advanced_saved": "Konfigurationsdatei gespeichert",
|
||
"advanced_restart_after_save": "Konfiguration gespeichert. Den betroffenen Dienst jetzt neu starten, damit die Änderungen wirksam werden?",
|
||
"advanced_restart_confirm": "Die zugehörigen BetterDesk-Dienste neu starten? Aktive Verbindungen können kurz unterbrochen werden.",
|
||
"advanced_restart_console_confirm": "Den Webkonsolendienst neu starten? Ihre Browsersitzung wird kurz getrennt und die Seite wird neu geladen, wenn die Konsole wieder verfügbar ist.",
|
||
"advanced_restart_started": "Dienstneustart eingeleitet",
|
||
"advanced_restart_done": "Konsole neu gestartet — Seite wird neu geladen…",
|
||
"advanced_restart_polling": "Warten, bis die Konsole wieder online ist…",
|
||
"advanced_restart_timeout": "Neustart wurde gesendet, aber die Konsole hat nicht rechtzeitig geantwortet. Systemd/NSSM-Protokolle prüfen und manuell neu laden.",
|
||
"advanced_restart_failed": "Dienstneustart fehlgeschlagen (unzureichende Berechtigungen oder Dienst nicht installiert)",
|
||
"advanced_save_confirm": "Änderungen an dieser Datei speichern? Eine Sicherung der vorherigen Version wird erstellt.",
|
||
"advanced_unsaved_confirm": "Sie haben ungespeicherte Änderungen. Diese verwerfen?",
|
||
"advanced_no_files": "Keine Konfigurationsdateien auf diesem System verfügbar.",
|
||
"advanced_readonly": "schreibgeschützt",
|
||
"advanced_missing": "fehlend",
|
||
"advanced_new_file": "Neue Datei (wird erst beim Speichern erstellt)",
|
||
"advanced_new_file_hint": "Neue Datei — Inhalt hinzufügen und speichern",
|
||
"advanced_backup_created": "Sicherung erstellt",
|
||
"advanced_restart_console": "Den Webkonsolendienst neu starten (z. B. systemctl restart betterdesk-console), damit .env-Änderungen wirksam werden.",
|
||
"advanced_restart_goserver": "Den BetterDesk Go-Server neu starten, damit Blocklist-Änderungen geladen werden.",
|
||
"advanced_restart_systemd": "Nach dem Bearbeiten von systemd-Units ausführen: systemctl daemon-reload && systemctl restart <service>",
|
||
"advanced_restart_generic": "Den betroffenen Dienst neu starten, damit die Änderungen wirksam werden.",
|
||
"advanced_error_unknown": "Unbekannte Konfigurationsdatei",
|
||
"advanced_error_not_found": "Datei existiert nicht",
|
||
"advanced_error_not_file": "Pfad ist keine reguläre Datei",
|
||
"advanced_error_too_large": "Datei überschreitet die maximale bearbeitbare Größe (512 KB)",
|
||
"advanced_error_binary": "Binärdateien können nicht im Panel bearbeitet werden",
|
||
"advanced_error_invalid": "Ungültiger Dateiinhalt",
|
||
"advanced_error_not_writable": "Datei ist nicht vom Konsolenprozess beschreibbar",
|
||
"advanced_file_console-env": "Konsolenumgebung (.env)",
|
||
"advanced_file_console-env-local": "Konsolen-Überschreibungen (.env.local)",
|
||
"advanced_file_go-blocklist": "Go-Server-Blocklist (blocklist.txt)",
|
||
"advanced_file_systemd-console": "systemd: betterdesk-console (unité de service)",
|
||
"advanced_file_systemd-server": "systemd: betterdesk-server (unité de service)",
|
||
"advanced_file_console-session-secret": "Konsolensitzungsgeheimnis (.session_secret)",
|
||
"advanced_file_go-audit-log": "Go-Server-Auditprotokoll (audit.jsonl)",
|
||
"advanced_file_build-env": "Agent-Build-Umgebung (/etc/betterdesk/build.env)",
|
||
"advanced_file_docker-supervisord": "Docker: supervisord.conf (configuration supervisord)",
|
||
"advanced_file_docker-compose": "Docker: docker-compose.yml (orchestration)",
|
||
"advanced_restart_none": "Für diese Datei ist kein Dienstneustart erforderlich.",
|
||
"enrollment_title": "Geräteregistrierung (RustDesk)",
|
||
"enrollment_desc": "Steuern, wie sich neue RustDesk-Clients registrieren und wie Operatoren sie auf der Seite mit den Registrierungsanfragen genehmigen.",
|
||
"enrollment_require_approval": "Genehmigung des Operators erforderlich (Verwalteter Modus)",
|
||
"enrollment_require_approval_hint": "Wenn aktiviert, werden unbekannte Clients in die Warteschlange eingereiht, bis ein Operator sie in den Registrierungsanfragen genehmigt.",
|
||
"enrollment_rich_approve": "Vollständiges Genehmigungsformular (Name, Ordner, Gruppen, Tags)",
|
||
"enrollment_rich_approve_hint": "Zeigt einen detaillierten Dialog bei der Genehmigung von Registrierungs- oder LAN-Registrierungsanfragen an.",
|
||
"enrollment_tag_picker": "Tags aus vorhandenen Geräte-Tags auswählen",
|
||
"enrollment_tag_picker_hint": "Ermöglicht Operatoren, Tags aus der auf der Geräteseite verwendeten Liste auszuwählen, anstatt nur zu tippen.",
|
||
"enrollment_open_requests": "Offene Registrierungsanfragen",
|
||
"enrollment_pending_count": "{count} ausstehende Registrierungsanfrage(n)",
|
||
"ldap_title": "LDAP / Active Directory",
|
||
"ldap_desc": "Konfigurieren Sie externe Authentifizierung über LDAP oder Active Directory. Benutzer können sich mit ihren Domänenanmeldedaten anmelden.",
|
||
"ldap_enabled": "LDAP-Authentifizierung aktivieren",
|
||
"ldap_enabled_hint": "Une fois activé, les utilisateurs d'annuaire peuvent se connecter avec des identifiants LDAP/AD. Chaque compte est lié à un fournisseur (local, LDAP ou OIDC) — les mots de passe locaux ne sont pas acceptés pour les comptes LDAP.",
|
||
"ldap_connection": "Serververbindung",
|
||
"ldap_host": "Host",
|
||
"ldap_port": "Port",
|
||
"ldap_use_tls": "LDAPS (TLS)",
|
||
"ldap_start_tls": "StartTLS",
|
||
"ldap_skip_verify": "TLS-Prüfung überspringen",
|
||
"ldap_timeout": "Verbindungs-Timeout (s)",
|
||
"ldap_timeout_hint": "Sekunden, die auf eine Antwort des LDAP-Servers gewartet wird",
|
||
"ldap_bind_mode": "Bind-Modus",
|
||
"ldap_direct_bind": "Direkter Bind",
|
||
"ldap_direct_bind_hint": "Direkt mit einer DN-Vorlage binden, statt ein Dienstkonto für die Suche zu verwenden.",
|
||
"ldap_bind_dn": "Bind-DN (Dienstkonto)",
|
||
"ldap_bind_dn_hint": "Distinguished Name eines schreibgeschützten Dienstkontos, das zur Benutzersuche verwendet wird.",
|
||
"ldap_bind_password": "Bind-Passwort",
|
||
"ldap_base_dn": "Basis-DN",
|
||
"ldap_base_dn_hint": "Suchbasis zum Finden von Benutzern, z. B. dc=example,dc=com",
|
||
"ldap_user_filter": "Benutzerfilter",
|
||
"ldap_user_filter_hint": "LDAP-Filter zum Finden von Benutzern. Verwenden Sie {{username}} als Platzhalter. Standard: (sAMAccountName={{username}})",
|
||
"ldap_direct_bind_dn": "DN-Vorlage für direkten Bind",
|
||
"ldap_direct_bind_dn_hint": "DN-Vorlage für direkten Bind. Verwenden Sie {{username}} als Platzhalter, z. B. uid={{username}},ou=users,dc=example,dc=com",
|
||
"ldap_user_attrs": "Benutzerattribute",
|
||
"ldap_attr_id": "Benutzernamen-Attribut",
|
||
"ldap_attr_email": "E-Mail-Attribut",
|
||
"ldap_attr_name": "Anzeigenamen-Attribut",
|
||
"ldap_group_mapping": "Gruppen → Rollen-Zuordnung",
|
||
"ldap_group_base_dn": "Basis-DN für Gruppen",
|
||
"ldap_group_base_dn_hint": "Leer lassen, um die Haupt-Basis-DN zu verwenden",
|
||
"ldap_group_filter": "Gruppenfilter",
|
||
"ldap_group_attr_name": "Gruppennamen-Attribut",
|
||
"ldap_default_role": "Standardrolle",
|
||
"ldap_default_role_hint": "Rolle für Benutzer, deren LDAP-Gruppen keiner Zuordnung entsprechen",
|
||
"ldap_role_viewer": "Betrachter",
|
||
"ldap_role_operator": "Operator",
|
||
"ldap_role_admin": "Administrator",
|
||
"ldap_group_role_map": "Gruppen → Rollen-Karte",
|
||
"ldap_group_role_map_hint": "Ordnen Sie LDAP-Gruppen BetterDesk-Rollen zu. Format: GroupDN=Rolle, getrennt durch | (Pipe). Beispiel: CN=Admins,DC=example,DC=com=admin|CN=Ops,DC=example,DC=com=operator",
|
||
"ldap_test_connection": "Verbindung testen",
|
||
"ldap_testing": "Test läuft...",
|
||
"ldap_test_success": "Verbindung erfolgreich! Der LDAP-Server ist erreichbar und die Bind-Anmeldedaten sind gültig.",
|
||
"ldap_test_failed": "Verbindung fehlgeschlagen",
|
||
"ldap_save": "LDAP-Konfiguration speichern",
|
||
"ldap_saved": "LDAP-Konfiguration erfolgreich gespeichert",
|
||
"oidc_title": "OIDC / OAuth2 (SSO)",
|
||
"oidc_desc": "Konfigurieren Sie Single Sign-On über einen OpenID-Connect-Anbieter (Azure AD, Okta, Google, Keycloak usw.).",
|
||
"oidc_enabled": "OIDC-Authentifizierung aktivieren",
|
||
"oidc_enabled_hint": "Benutzern erlauben, sich mit einem externen Identitätsanbieter anzumelden",
|
||
"oidc_provider": "Identitätsanbieter",
|
||
"oidc_display_name": "Anzeigename der Schaltfläche",
|
||
"oidc_display_name_hint": "Text auf der Anmeldeschaltfläche (z. B. Azure AD, Okta)",
|
||
"oidc_issuer_url": "Aussteller-URL",
|
||
"oidc_issuer_url_hint": "Aussteller-URL von OpenID Connect (Discovery erfolgt automatisch)",
|
||
"oidc_client_id": "Client-ID",
|
||
"oidc_client_secret": "Client-Secret",
|
||
"oidc_redirect_url": "Weiterleitungs-URL (Callback)",
|
||
"oidc_redirect_url_hint": "Doit correspondre exactement à l'IdP. Chemin : /api/auth/oidc/callback (ou /api/oidc/callback). Préférez l'URL publique du panneau — la console proxifie le callback vers l'API Go. Les ports API (:21114 / :21121) fonctionnent aussi.",
|
||
"oidc_panel_url": "URL du panneau",
|
||
"oidc_panel_url_hint": "URL utilisée par les opérateurs pour ouvrir la console web (port 5000 ou nom d'hôte du reverse proxy). Requise pour la connexion SSO lorsque le callback OIDC s'exécute sur le port API Go.",
|
||
"oidc_scopes": "Scopes",
|
||
"oidc_use_pkce": "PKCE verwenden (empfohlen)",
|
||
"oidc_auto_discovery": "Automatische Discovery",
|
||
"oidc_allow_signup": "Benutzer automatisch erstellen",
|
||
"oidc_manual_endpoints": "Manuelle Endpoint-URLs",
|
||
"oidc_authorization_url": "Autorisierungs-Endpoint",
|
||
"oidc_token_url": "Token-Endpoint",
|
||
"oidc_userinfo_url": "UserInfo-Endpoint",
|
||
"oidc_claim_mapping": "Claim-Zuordnung",
|
||
"oidc_claim_username": "Benutzername-Claim",
|
||
"oidc_claim_email": "E-Mail-Claim",
|
||
"oidc_claim_name": "Anzeigename-Claim",
|
||
"oidc_claim_groups": "Gruppen-Claim",
|
||
"oidc_role_mapping": "Rollenzuordnung",
|
||
"oidc_default_role": "Standardrolle",
|
||
"oidc_group_role_map": "Gruppen → Rollen-Zuordnung",
|
||
"oidc_group_role_map_hint": "Eine Zuordnung pro Zeile: gruppenname=rolle (z. B. admins=admin, operators=operator)",
|
||
"oidc_test_discovery": "Discovery testen",
|
||
"oidc_testing": "Test läuft...",
|
||
"oidc_test_success": "Discovery erfolgreich! Endpoints aufgelöst.",
|
||
"oidc_test_failed": "Discovery fehlgeschlagen",
|
||
"oidc_issuer_required": "Die Aussteller-URL ist für den Discovery-Test erforderlich",
|
||
"oidc_save": "OIDC-Konfiguration speichern",
|
||
"oidc_saved": "OIDC-Konfiguration erfolgreich gespeichert",
|
||
"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": "New password (leave empty to keep current)",
|
||
"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": "Uptime",
|
||
"audit_log": "Journal d'audit",
|
||
"audit_desc": "Activité récente de la console",
|
||
"no_audit_logs": "Aucun journal d'audit trouvé",
|
||
"tutorials_title": "Interaktive Einführungen",
|
||
"tutorials_desc": "Kurze geführte Hinweise für neue oder geänderte Bereiche der Konsole anzeigen.",
|
||
"tutorials_enabled": "Einführungen aktivieren",
|
||
"tutorials_enabled_hint": "Wenn aktiviert, werden Einführungen automatisch für Bereiche angezeigt, die Sie noch nicht abgeschlossen haben.",
|
||
"tutorials_reset_hint": "Alle gespeicherten Fortschritte löschen, damit die Einführungen erneut angezeigt werden.",
|
||
"tutorials_enabled_toast": "Einführungen aktiviert",
|
||
"tutorials_disabled_toast": "Einführungen deaktiviert",
|
||
"tutorials_reset_toast": "Einführungsfortschritt zurückgesetzt",
|
||
"backend_title": "Backend du serveur",
|
||
"backend_desc": "Choisissez le backend serveur à utiliser pour la gestion des appareils et les services signal/relais.",
|
||
"backend_original": "Original",
|
||
"backend_enhanced": "Amélioré",
|
||
"backend_rustdesk_desc": "Serveurs signal et relais RustDesk standard (hbbs + hbbr). API HTTP basique avec des points d'accès limités.",
|
||
"backend_betterdesk_desc": "Serveur amélioré basé sur Go avec API REST complète, authentification JWT, liste de blocage, tags, événements WebSocket en temps réel et journalisation d'audit.",
|
||
"backend_feature_signal": "Serveur signal (enregistrement ID)",
|
||
"backend_feature_relay": "Serveur relais (relais de connexion)",
|
||
"backend_feature_basic_api": "API REST basique",
|
||
"backend_feature_full_api": "API REST complète (34+ points d'accès)",
|
||
"backend_feature_jwt": "Authentification JWT & TOTP 2FA",
|
||
"backend_feature_blocklist": "Gestion de liste de blocage IP/ID",
|
||
"backend_feature_tags": "Tags et groupement d'appareils",
|
||
"backend_feature_audit": "Journalisation des événements d'audit",
|
||
"backend_feature_websocket": "Événements WebSocket en temps réel",
|
||
"backend_connection": "Connexion",
|
||
"backend_api_url": "URL de l'API",
|
||
"backend_test": "Tester la connexion",
|
||
"backend_testing": "Test en cours...",
|
||
"backend_save": "Appliquer le backend",
|
||
"backend_saved": "Backend serveur modifié avec succès. Les données des appareils seront désormais gérées par le nouveau backend.",
|
||
"backend_save_failed": "Échec du changement de backend serveur",
|
||
"backend_test_success": "Connexion réussie ! Le serveur est accessible.",
|
||
"backend_test_failed": "Échec de la connexion. Le serveur est inaccessible.",
|
||
"backend_confirm_switch": "Êtes-vous sûr de vouloir changer le backend serveur ? Cela modifiera la gestion des appareils.",
|
||
"backend_unreachable": "Changement impossible : le serveur cible est inaccessible. Démarrez d'abord le serveur.",
|
||
"invalid_backend": "Sélection de backend invalide. Choisissez 'rustdesk' ou 'betterdesk'.",
|
||
"backend_status_running": "Connecté",
|
||
"backend_status_unreachable": "Inaccessible",
|
||
"backend_status_error": "Erreur",
|
||
"backend_status_unknown": "Inconnu",
|
||
"totp_title": "Authentification à deux facteurs",
|
||
"totp_desc": "Ajoutez une couche de sécurité supplémentaire avec les applications d'authentification TOTP (Google Authenticator, Microsoft Authenticator, Authy, etc.)",
|
||
"totp_enabled": "2FA activée",
|
||
"totp_enabled_desc": "Votre compte est protégé par l'authentification à deux facteurs.",
|
||
"totp_disabled": "2FA non activée",
|
||
"totp_disabled_desc": "Activez l'authentification à deux facteurs pour une sécurité supplémentaire du compte.",
|
||
"totp_setup": "Activer la 2FA",
|
||
"totp_disable": "Désactiver la 2FA",
|
||
"totp_step1": "Installez une application d'authentification sur votre téléphone",
|
||
"totp_step2": "Scannez le code QR ci-dessous",
|
||
"totp_step3": "Entrez le code à 6 chiffres pour vérifier",
|
||
"totp_manual_key": "Clé manuelle",
|
||
"totp_enter_code": "Veuillez entrer un code à 6 chiffres",
|
||
"totp_verify_enable": "Vérifier & Activer",
|
||
"totp_enabled_success": "Authentification à deux facteurs activée !",
|
||
"totp_recovery_warning": "Conservez ces codes de récupération en lieu sûr. Chaque code ne peut être utilisé qu'une seule fois. Si vous perdez l'accès à votre application d'authentification, vous pouvez utiliser ces codes pour vous connecter.",
|
||
"totp_done": "Terminé",
|
||
"totp_disable_warning": "Désactiver l'authentification à deux facteurs rendra votre compte moins sécurisé. Entrez votre mot de passe pour confirmer.",
|
||
"totp_disabled_success": "L'authentification à deux facteurs a été désactivée.",
|
||
"go_server_version": "Go-Server",
|
||
"go_server_version_dev_hint": "Go-Binary meldet Entwicklungsbuild — Server neu bauen oder aktualisieren, um die Produktversion anzugleichen",
|
||
"tab_email": "E-mail",
|
||
"email": {
|
||
"title": "Notifications e-mail",
|
||
"desc": "Configurez SMTP pour les notifications opérationnelles et les e-mails d'alerte système.",
|
||
"smtp_host": "Hôte SMTP",
|
||
"smtp_port": "Port",
|
||
"smtp_secure": "Utiliser TLS/SSL",
|
||
"smtp_user": "Nom d'utilisateur",
|
||
"smtp_pass": "Mot de passe",
|
||
"smtp_from": "Adresse d'expéditeur",
|
||
"alert_email": "E-mail d'alerte",
|
||
"alert_email_hint": "Adresse de secours lorsqu'aucun e-mail opérateur n'est disponible, et pour les avertissements système.",
|
||
"smtp_test": "Tester la connexion",
|
||
"smtp_save": "Enregistrer la configuration",
|
||
"smtp_saved": "Paramètres e-mail enregistrés",
|
||
"smtp_test_success": "Connexion réussie",
|
||
"smtp_test_failed": "Échec de la connexion"
|
||
},
|
||
"ui": {
|
||
"search_placeholder": "Rechercher dans les paramètres…",
|
||
"search_results": "{count} sections correspondantes",
|
||
"auth_sub_enrollment": "Enregistrement",
|
||
"auth_sub_ldap": "LDAP / AD",
|
||
"auth_sub_oidc": "OIDC / SSO",
|
||
"branding_rdclient": "RdClient",
|
||
"connection_p2p_hint": "Connexion P2P directe en priorité ; relais si P2P échoue.",
|
||
"connection_relay_hint": "Tout le trafic client via le serveur relais.",
|
||
"auth_sub_client_sessions": "Clients RustDesk"
|
||
},
|
||
"confirm": {
|
||
"connection_mode_title": "Enregistrer la stratégie de connexion ?",
|
||
"connection_mode": "Appliquer la nouvelle stratégie pour les clients RustDesk ?",
|
||
"connection_restart_title": "Enregistrer et redémarrer le serveur ?",
|
||
"connection_restart": "Enregistrer et redémarrer le serveur BetterDesk ? Les sessions actives peuvent être coupées brièvement.",
|
||
"enrollment_mode_title": "Changer le mode d’enregistrement ?",
|
||
"enrollment_mode": "Passer l’enregistrement à « {mode} » ? Cela affecte l’inscription des nouveaux clients RustDesk.",
|
||
"ldap_enable_title": "Activer LDAP ?",
|
||
"ldap_enable": "Activer la connexion LDAP / Active Directory ?",
|
||
"ldap_save_title": "Enregistrer les paramètres LDAP ?",
|
||
"ldap_save": "Enregistrer la configuration LDAP ? Des erreurs peuvent bloquer la connexion.",
|
||
"oidc_enable_title": "Activer le SSO ?",
|
||
"oidc_enable": "Activer la connexion OIDC / SSO ?",
|
||
"oidc_save_title": "Enregistrer les paramètres SSO ?",
|
||
"oidc_save": "Enregistrer la configuration OIDC / SSO ?",
|
||
"smtp_save_title": "Enregistrer les paramètres SMTP ?",
|
||
"smtp_save": "Enregistrer la configuration SMTP ? Les alertes utiliseront ce serveur mail.",
|
||
"backup_restore_title": "Restaurer la sauvegarde ?",
|
||
"backup_restore": "Restaurer depuis ce fichier ? Les données sélectionnées seront remplacées.",
|
||
"tutorials_reset_title": "Réinitialiser les tutoriels ?",
|
||
"tutorials_reset": "Réinitialiser la progression de tous les tutoriels ?",
|
||
"advanced_save_title": "Enregistrer le fichier de configuration ?",
|
||
"advanced_restart_after_title": "Redémarrer le service ?",
|
||
"advanced_restart_title": "Redémarrer le service ?",
|
||
"advanced_discard_title": "Abandonner les modifications ?"
|
||
},
|
||
"public_endpoints_title": "Points de terminaison clients publics",
|
||
"public_endpoints_desc": "Nom d’hôte et URL API utilisés par les clients RustDesk. Configuration du tableau de bord, QR et chaînes de déploiement.",
|
||
"public_endpoints_hint": "À définir quand l’hôte de la console diffère de l’ID/relai/API (proxy inverse / DNS séparé). Vide = détection auto.",
|
||
"public_endpoints_server_id": "Serveur ID public",
|
||
"public_endpoints_server_id_placeholder": "ex. remote.example.com",
|
||
"public_endpoints_relay": "Serveur relais public",
|
||
"public_endpoints_relay_placeholder": "ex. remote.example.com (par défaut : serveur ID)",
|
||
"public_endpoints_api_url": "URL API publique",
|
||
"public_endpoints_api_url_placeholder": "ex. https://api.example.com",
|
||
"public_endpoints_api_url_hint": "URL complète pour connexion et API RustDesk (port 21114 par défaut).",
|
||
"public_endpoints_save": "Enregistrer les points de terminaison",
|
||
"public_endpoints_saved": "Points de terminaison clients publics enregistrés",
|
||
"public_endpoints_invalid_host": "Nom d’hôte ID ou relais invalide",
|
||
"public_endpoints_invalid_api_url": "URL API invalide — utilisez http:// ou https://",
|
||
"public_endpoints_save_title": "Enregistrer les points de terminaison publics ?",
|
||
"public_endpoints_save_confirm": "Mettre à jour la configuration client RustDesk du tableau de bord ?",
|
||
"device_scope_title": "Device visibility default",
|
||
"device_scope_desc": "Controls what non-admin users see when no folder, group, or direct device grants exist.",
|
||
"device_scope_open": "Open (legacy) — show all devices until ACL is configured",
|
||
"device_scope_restricted": "Restricted — show only explicitly granted devices",
|
||
"device_scope_save": "Save visibility default",
|
||
"device_scope_saved": "Device visibility default saved",
|
||
"device_scope_invalid": "Invalid visibility mode",
|
||
"device_scope_restricted_warning": "Restricted mode is active. Ensure users have folder, group, or direct device grants or they will see an empty device list.",
|
||
"client_sessions_title": "Sessions client RustDesk",
|
||
"client_sessions_desc": "Définissez la durée de connexion des applications RustDesk à votre compte BetterDesk.",
|
||
"client_sessions_expiry_days": "Durée de session (jours)",
|
||
"client_sessions_expiry_hint": "La valeur par défaut est 7 jours. Sans renouvellement glissant, les clients doivent se reconnecter.",
|
||
"client_sessions_sliding": "Prolonger la session lors de l'activité",
|
||
"client_sessions_sliding_hint": "Tant que le client est utilisé, la session est renouvelée jusqu'à la durée maximale ci-dessous.",
|
||
"client_sessions_max_days": "Durée maximale de session (jours)",
|
||
"client_sessions_max_days_hint": "Limite supérieure du renouvellement depuis la première connexion (30 jours par défaut).",
|
||
"client_sessions_save": "Enregistrer les paramètres de session",
|
||
"enrollment_ldap_hint": "Les paramètres LDAP/AD et OIDC se trouvent dans les onglets LDAP / AD et OIDC / SSO ci-dessus.",
|
||
"oidc_redirect_url_invalid": "L'URL de redirection doit utiliser http(s) et se terminer par /api/auth/oidc/callback (ou /api/oidc/callback).",
|
||
"oidc_redirect_url_example": "Exemple : {url}"
|
||
},
|
||
"audit": {
|
||
"time": "Heure",
|
||
"user": "Utilisateur",
|
||
"action": "Action",
|
||
"details": "Détails de l'appareil",
|
||
"action_login": "Login",
|
||
"action_login_failed": "Login Failed",
|
||
"action_logout": "Logout",
|
||
"action_password_change": "Password Changed",
|
||
"action_2fa_enable": "2FA Enabled",
|
||
"action_2fa_disable": "2FA Disabled",
|
||
"action_user_create": "User Created",
|
||
"action_user_update": "User Updated",
|
||
"action_user_delete": "User Deleted",
|
||
"action_settings_update": "Settings Updated",
|
||
"action_device_ban": "Device Banned",
|
||
"action_device_unban": "Device Unbanned",
|
||
"action_device_delete": "Device Deleted"
|
||
},
|
||
"generator": {
|
||
"title": "Tableau de bord",
|
||
"subtitle": "Vue d'ensemble de votre serveur RustDesk",
|
||
"alpha_badge": "ALPHA",
|
||
"alpha_tooltip": "Frühe Funktion — der Agent-Bundle-Generator befindet sich in aktiver Entwicklung.",
|
||
"bundles_title": "Agent-Pakete",
|
||
"new_bundle": "Neues Paket",
|
||
"editor_title": "Paket-Editor",
|
||
"empty_state": "Wählen Sie links ein Paket aus oder erstellen Sie ein neues, um zu beginnen.",
|
||
"loading": "Wird geladen…",
|
||
"no_bundles": "Noch keine Pakete. Erstellen Sie Ihr erstes Paket.",
|
||
"bundle_name": "Paketname",
|
||
"bundle_name_hint": "Nur interne Bezeichnung — wird Endbenutzern nicht angezeigt.",
|
||
"short_link": "Kurzer Download-Link",
|
||
"short_link_hint": "Wird in der öffentlichen URL (/d/…) verwendet. Nur Kleinbuchstaben, Zahlen und Bindestriche (2–32 Zeichen). Wird automatisch aus dem Paketnamen übernommen — kürzen Sie ihn für einfacheres Teilen (z. B. acme).",
|
||
"connection_section": "Serververbindung",
|
||
"server_host": "Öffentliche Serveradresse",
|
||
"server_host_placeholder": "support.example.com oder 203.0.113.10",
|
||
"server_host_hint": "Domainname oder öffentliche IP-Adresse, unter der Endbenutzer Ihren BetterDesk-Server erreichen. Port wird aus der Konsolenkonfiguration übernommen.",
|
||
"use_https": "HTTPS / WSS verwenden (empfohlen)",
|
||
"enrollment_token": "Geräteregistrierung",
|
||
"enrollment_token_pending": "Pro Gerät nach Genehmigung",
|
||
"enrollment_token_set": "Pro Gerät — in Registrierungen genehmigen",
|
||
"enrollment_token_hint": "Jede Installation registriert sich selbst. Neue Geräte im Registrierungsbereich genehmigen; der Server stellt dann einen eindeutigen Zugriffsschlüssel pro Computer aus.",
|
||
"enrollment_per_device": "Pro Gerät — in Registrierungen genehmigen",
|
||
"branding_section": "Branding",
|
||
"company_name": "Unternehmens-/Markenname",
|
||
"short_text": "Kurzbeschreibung",
|
||
"contact_email": "Kontakt-E-Mail",
|
||
"contact_phone": "Kontakttelefon",
|
||
"contact_url": "Kontaktwebsite",
|
||
"logo": "Logo",
|
||
"logo_hint": "PNG, JPEG, SVG oder WebP. Maximal 256 KB.",
|
||
"logo_clear": "Logo entfernen",
|
||
"primary_color": "Primärfarbe",
|
||
"accent_color": "Kopfzeilenfarbe",
|
||
"background_color": "Fensterhintergrund",
|
||
"surface_color": "Kartenhintergrund",
|
||
"text_color": "Textfarbe",
|
||
"text_muted_color": "Gedämpfte Textfarbe",
|
||
"status_ready_color": "Farbe des Bereit-Indikators",
|
||
"header_text_color": "Kopfzeilentextfarbe",
|
||
"default_lang": "Standardsprache",
|
||
"allow_unattended": "Unbeaufsichtigten Zugriff erlauben",
|
||
"allow_unattended_hint": "Wenn aktiviert, zeigt der Agent ein dauerhaftes Passwort für den Operatorzugriff an.",
|
||
"save": "Paket speichern",
|
||
"revoke": "Widerrufen",
|
||
"unrevoke": "Wieder aktivieren",
|
||
"revoked": "Widerrufen",
|
||
"preview_title": "Live-Vorschau",
|
||
"preview_hint": "Ungefähres Aussehen des Agentfensters für Endbenutzer.",
|
||
"preview_default_name": "BetterDesk-Support",
|
||
"preview_status_ready": "Bereit",
|
||
"preview_id": "Ihre ID",
|
||
"preview_password": "Passwort",
|
||
"preview_chat": "Mit Support chatten",
|
||
"preview_help": "Hilfe anfordern",
|
||
"preview_settings": "Einstellungen (nur Admin)",
|
||
"preview_quit": "Beenden (nur Admin)",
|
||
"download_link_title": "Download-Link",
|
||
"download_link_hint": "Teilen Sie diesen Link mit Endbenutzern. Sie sehen eine gebrandete Download-Seite. Alte Hex-Links funktionieren weiterhin, wenn Sie den kurzen Link ändern.",
|
||
"open_portal": "Öffnen",
|
||
"created": "Paket erstellt",
|
||
"saved": "Paket gespeichert",
|
||
"deleted": "Paket gelöscht",
|
||
"revoked_ok": "Paket widerrufen",
|
||
"unrevoked_ok": "Paket wieder aktiviert",
|
||
"link_copied": "Link in die Zwischenablage kopiert",
|
||
"copy_failed": "Automatisches Kopieren fehlgeschlagen — bitte manuell kopieren",
|
||
"unsaved_confirm": "Nicht gespeicherte Änderungen verwerfen?",
|
||
"confirm_revoke": "Dieses Paket widerrufen? Der Download-Link funktioniert danach nicht mehr.",
|
||
"confirm_unrevoke": "Dieses Paket wieder aktivieren?",
|
||
"confirm_delete": "Dieses Paket dauerhaft löschen? Diese Aktion kann nicht rückgängig gemacht werden.",
|
||
"builds_title": "Client-Builds",
|
||
"builds_hint": "Auf diesem Server kompilierte Installationsprogramme für jede Plattform. Nach der Behebung von Toolchain-Fehlern oder der Aktualisierung der Agent-Quellen neu erstellen.",
|
||
"builds_loading": "Build-Status wird geladen…",
|
||
"builds_empty": "Noch keine Builds in der Warteschlange — Paket speichern oder 'Alle neu erstellen' klicken.",
|
||
"rebuild_all": "Alle neu erstellen",
|
||
"rebuilding_all": "Neubuilds werden eingereiht…",
|
||
"rebuild_queued": "Alle Plattform-Builds in der Warteschlange",
|
||
"rebuild_confirm": "Alle Plattform-Installer für dieses Paket neu erstellen? Vorhandene fertige Artefakte werden ersetzt.",
|
||
"build_status_ready": "Bereit",
|
||
"build_status_pending": "In Warteschlange",
|
||
"build_status_building": "Wird erstellt",
|
||
"build_status_failed": "Fehlgeschlagen",
|
||
"builds_summary": "{{ready}} bereit · {{pending}} in Warteschlange · {{building}} wird erstellt · {{failed}} fehlgeschlagen",
|
||
"build_error_hint": "Build-Fehler",
|
||
"errors": {
|
||
"validation_failed": "Validierung fehlgeschlagen",
|
||
"name_required": "Paketname ist erforderlich",
|
||
"company_name_required": "Unternehmensname ist erforderlich",
|
||
"logo_invalid": "Das Logo muss eine gültige Bilddatei sein",
|
||
"logo_too_large": "Das Logo darf höchstens 256 KB groß sein",
|
||
"logo_read_failed": "Logodatei konnte nicht gelesen werden",
|
||
"primary_color_invalid": "Primärfarbe muss ein Hex-Wert sein (z. B. #2563eb)",
|
||
"accent_color_invalid": "Kopfzeilenfarbe muss ein Hex-Wert sein (z. B. #1e293b)",
|
||
"contact_url_invalid": "Kontaktwebsite muss eine gültige URL sein",
|
||
"server_host_required": "Öffentliche Serveradresse ist erforderlich",
|
||
"server_host_invalid": "Gültigen Domainnamen oder IPv4-Adresse eingeben",
|
||
"token_failed": "Registrierungstoken konnte nicht generiert werden — Serverkonnektivität prüfen",
|
||
"rebuild_revoked": "Ein widerrufenes Paket kann nicht neu erstellt werden — zuerst wieder aktivieren",
|
||
"slug_invalid": "Der kurze Link darf nur Kleinbuchstaben, Zahlen und Bindestriche enthalten",
|
||
"slug_too_short": "Der kurze Link muss mindestens 2 Zeichen haben",
|
||
"slug_too_long": "Der kurze Link darf höchstens 32 Zeichen haben",
|
||
"slug_taken": "Dieser kurze Link wird bereits von einem anderen Paket verwendet"
|
||
},
|
||
"legacy_title": "Client-Konfigurationsgenerator",
|
||
"config_options": "Options de configuration",
|
||
"server_address": "Adresse du serveur",
|
||
"server_address_hint": "Domaine ou adresse IP de votre serveur",
|
||
"custom_port": "Port personnalisé",
|
||
"port_hint": "Laisser vide pour le port par défaut (21116)",
|
||
"relay_server": "Serveur relais",
|
||
"relay_placeholder": "Identique au serveur ID si vide",
|
||
"relay_hint": "Optionnel : adresse de serveur relais séparée",
|
||
"include_key": "Inclure la clé publique dans la configuration",
|
||
"generate": "Générer la configuration",
|
||
"output": "Sortie de configuration",
|
||
"usage_title": "Détails de connexion",
|
||
"generated": "Configuration générée",
|
||
"server_required": "L'adresse du serveur est requise",
|
||
"nothing_to_copy": "Générez d'abord une configuration",
|
||
"rdclient_tab": "RdClient bureau",
|
||
"rdclient_new_bundle": "Nouveau bundle RdClient",
|
||
"rdclient_subtitle": "Créer des installateurs RdClient avec URL du panel intégrée",
|
||
"rdclient_server_url_hint": "URL publique de la console BetterDesk (/remote).",
|
||
"agent_client_tab": "Agent Client",
|
||
"agent_client_new_bundle": "New Agent Client bundle",
|
||
"support_agent_tab": "Support Agent",
|
||
"support_agent_new_bundle": "New Support Agent bundle",
|
||
"product_agent_client": "Agent Client",
|
||
"product_support_agent": "Support",
|
||
"product_rdclient": "RdClient"
|
||
},
|
||
"download": {
|
||
"title": "BetterDesk Agent herunterladen",
|
||
"choose_platform": "Plattform auswählen",
|
||
"choose_platform_hint": "Wählen Sie den Installer, der zu Ihrem Betriebssystem passt.",
|
||
"download": "Herunterladen",
|
||
"building": "Wird gebaut…",
|
||
"failed": "Build fehlgeschlagen",
|
||
"need_help": "Benötigen Sie Hilfe?",
|
||
"powered_by": "Bereitgestellt von",
|
||
"product_agent_client": "BetterDesk Agent Client — full managed endpoint agent",
|
||
"product_support_agent": "BetterDesk Support Agent — lightweight end-user client",
|
||
"product_rdclient": "BetterDesk RdClient — operator remote desktop client"
|
||
},
|
||
"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",
|
||
"no_signal": "Kein Signal",
|
||
"banned": "Bannis",
|
||
"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",
|
||
"cdap_viewer": "CDAP Snapshot Viewer",
|
||
"details": "Détails de l'appareil",
|
||
"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",
|
||
"add": "Add",
|
||
"remove": "Remove",
|
||
"retry": "Réessayer",
|
||
"show_value": "Afficher",
|
||
"hide_value": "Masquer"
|
||
},
|
||
"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": "Mon",
|
||
"day_tue": "Tue",
|
||
"day_wed": "Wed",
|
||
"day_thu": "Thu",
|
||
"day_fri": "Fri",
|
||
"day_sat": "Sat",
|
||
"day_sun": "Sun"
|
||
},
|
||
"users": {
|
||
"title": "Tableau de bord",
|
||
"subtitle": "Vue d'ensemble de votre serveur RustDesk",
|
||
"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": "Remote Operator",
|
||
"role_viewer": "Observateur",
|
||
"role_pro": "Pro License (client API only)",
|
||
"role_super_admin": "Super Admin",
|
||
"role_server_admin": "Server Admin",
|
||
"role_global_admin": "Global Admin",
|
||
"role_hint": "Server-wide role. Remote Operators connect remotely and can change their own password. Viewers are read-only (no Web Client). Pro License accounts activate RustDesk Pro via the desktop client API only — no web panel access. Organization roles are configured separately.",
|
||
"user_groups": "Benutzergruppen",
|
||
"user_groups_hint": "Benutzergruppen können Zugriff auf ausgewählte Gerätegruppen gewähren.",
|
||
"loading_user_groups": "Benutzergruppen werden geladen...",
|
||
"no_user_groups": "Keine Benutzergruppen verfügbar",
|
||
"create_user_group": "Gruppe erstellen",
|
||
"edit_user_group": "Benutzergruppe bearbeiten",
|
||
"delete_user_group": "Benutzergruppe löschen",
|
||
"delete_user_group_confirm": "Benutzergruppe {name} löschen? Mitglieder verlieren den über diese Gruppe gewährten Zugriff.",
|
||
"user_group_created": "Benutzergruppe erstellt",
|
||
"user_group_updated": "Benutzergruppe aktualisiert",
|
||
"user_group_deleted": "Benutzergruppe gelöscht",
|
||
"user_group_not_found": "Benutzergruppe nicht gefunden",
|
||
"group_name": "Gruppenname",
|
||
"group_name_placeholder": "Operatoren",
|
||
"group_note": "Note",
|
||
"group_note_placeholder": "Optionale Notiz",
|
||
"group_name_required": "Gruppenname ist erforderlich",
|
||
"group_members_count": "{count} Mitglieder",
|
||
"created": "Créé",
|
||
"last_login": "Dernière connexion",
|
||
"never": "Jamais",
|
||
"actions": "Actions",
|
||
"create": "Créer",
|
||
"edit": "Modifier",
|
||
"reset_password": "Réinitialiser le mot de passe",
|
||
"new_password": "New password (leave empty to keep current)",
|
||
"delete_title": "Supprimer l'utilisateur",
|
||
"delete_confirm": "Êtes-vous sûr de vouloir supprimer l'utilisateur {username} ?",
|
||
"delete_success": "Appareil 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 appareil trouvé",
|
||
"empty_text": "Aucun appareil ne correspond à vos filtres actuels",
|
||
"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",
|
||
"last_admin_go": "Suppression impossible : c'est le seul Super Admin sur le serveur BetterDesk. Créez ou synchronisez d'abord un autre Super Admin (pas Global Admin).",
|
||
"delete_mirror_failed": "Impossible de supprimer l'utilisateur sur le serveur. Réessayez lorsque le serveur BetterDesk est accessible.",
|
||
"admin_only": "Cette fonctionnalité est réservée aux administrateurs",
|
||
"password_required": "Le mot de passe est requis",
|
||
"not_found": "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": "Use Viewer for read-only monitoring; Remote Operator for users who need to connect",
|
||
"tip_operator_role": "Use operator role for users who need to manage devices but not users",
|
||
"tip_audit_logs": "Vérifiez régulièrement les journaux d'audit pour détecter les activités suspectes",
|
||
"organizations": "Organizations",
|
||
"user_organizations": "Organizations for {username}",
|
||
"no_organizations": "User is not assigned to any organization",
|
||
"org_removed": "Organization assignment removed",
|
||
"server_role_label": "Serverrolle",
|
||
"server_role_hint": "Legt fest, was der Benutzer in der gesamten Konsole tun kann (Panelzugriff, Serverkonfiguration, Audit usw.).",
|
||
"org_membership_section": "Organisationsmitgliedschaft",
|
||
"org_membership_hint": "Ein Benutzer kann mehreren Organisationen angehören. Die Organisationsrolle steuert nur Berechtigungen innerhalb dieser Organisation und ist unabhängig von der Serverrolle oben.",
|
||
"column_organizations": "Organisationen",
|
||
"provider": "Anbieter",
|
||
"provider_local": "Lokal",
|
||
"provider_ldap": "LDAP/AD",
|
||
"provider_oidc": "SSO",
|
||
"password_managed_by_provider": "Vom Identitätsanbieter verwaltet",
|
||
"provider_managed_hint": "Dieses Konto wird von einem externen Identitätsanbieter (LDAP/AD oder SSO) verwaltet. Passwort und Rolle werden vom Anbieter gesteuert und können hier nicht geändert werden.",
|
||
"no_orgs_short": "—",
|
||
"org_count_one": "{count} Organisation",
|
||
"org_count_many": "{count} Organisationen",
|
||
"all_orgs_assigned": "Der Benutzer ist bereits Mitglied jeder Organisation.",
|
||
"email": "E-mail",
|
||
"email_placeholder": "operator@example.com",
|
||
"email_hint": "Utilisé pour les notifications de demande d'aide lorsque l'utilisateur est assigné à des dossiers ou groupes d'appareils.",
|
||
"scope_hint": "Limit which devices this user sees: assign user groups, folders, and/or direct devices. Without restrictions, operators and viewers see all devices (unless the server uses restricted default mode in Settings).",
|
||
"role_desc_viewer": "Read-only panel access: device list, audit, metrics. Cannot use Web Remote Desktop.",
|
||
"role_desc_operator": "Can connect via Web Client and RustDesk desktop, edit devices, and change own password in Settings.",
|
||
"role_desc_pro": "RustDesk desktop client API only — activates Pro license. Blocked from web panel login.",
|
||
"role_desc_admin": "Full access (legacy alias for Super Admin).",
|
||
"role_desc_super_admin": "Full server and panel access, including user and server configuration.",
|
||
"role_desc_server_admin": "Server infrastructure, keys, and read-only user visibility. No device connect.",
|
||
"role_desc_global_admin": "Manage all users, organizations, and devices. Cannot change server config.",
|
||
"user_folders": "Folder access",
|
||
"user_folders_hint": "Devices in selected folders are visible to this user when folder ACL is configured.",
|
||
"user_direct_devices": "Direct devices",
|
||
"user_direct_devices_hint": "Grant access to specific devices regardless of folder or group membership.",
|
||
"user_direct_devices_placeholder": "Enter device IDs separated by commas",
|
||
"effective_scope_count": "{count} devices visible",
|
||
"loading_folders": "Loading folders...",
|
||
"no_folders": "No folders available",
|
||
"pro_strategy_label": "RustDesk Pro strategy",
|
||
"pro_strategy_hint": "Optional access-control strategy for RustDesk Pro client features (separate from panel role).",
|
||
"pro_strategy_none": "None",
|
||
"column_scope": "Scope"
|
||
},
|
||
"folders": {
|
||
"title": "Tableau de bord",
|
||
"create": "Créer",
|
||
"edit": "Modifier",
|
||
"delete": "Supprimer",
|
||
"name": "Folder Name",
|
||
"name_placeholder": "Entrez le nom du dossier",
|
||
"name_required": "Le nom est obligatoire",
|
||
"name_too_long": "Le nom du dossier est trop long (max 50 caractères)",
|
||
"color": "Couleur",
|
||
"icon": "Icône",
|
||
"not_found": "Introuvable",
|
||
"delete_confirm": "Êtes-vous sûr de vouloir supprimer ce dossier ? Les appareils seront désassignés.",
|
||
"delete_success": "Appareil supprimé avec succès",
|
||
"created": "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 page.",
|
||
"not_found_title": "Page non trouvée",
|
||
"not_found_message": "La page que vous recherchez n'existe pas ou a été déplacée.",
|
||
"server_error_title": "Erreur serveur",
|
||
"server_error_message": "Un problème est survenu. Veuillez réessayer plus tard.",
|
||
"go_home": "Accueil",
|
||
"try_again": "Réessayer",
|
||
"load_devices_failed": "Échec du chargement des appareils",
|
||
"load_key_failed": "Échec du chargement de la clé",
|
||
"load_qr_failed": "Échec du chargement du QR",
|
||
"load_audit_failed": "Échec du chargement du journal d'audit",
|
||
"load_users_failed": "Échec du chargement des utilisateurs",
|
||
"load_folders_failed": "Échec du chargement des dossiers",
|
||
"download_failed": "Échec du téléchargement",
|
||
"logout_failed": "Échec de la déconnexion",
|
||
"password_change_failed": "Échec du changement de mot de passe",
|
||
"language_change_failed": "Échec du changement de langue",
|
||
"ban_failed": "Échec du bannissement de l'appareil",
|
||
"unban_failed": "Échec du débannissement de l'appareil",
|
||
"delete_failed": "Failed to delete device",
|
||
"change_id_failed": "Failed to change device ID",
|
||
"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": "Impossible de charger les détails de l'appareil",
|
||
"load_orgs_failed": "Failed to load organizations"
|
||
},
|
||
"remote": {
|
||
"title": "Tableau de bord",
|
||
"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": "Entrez le mot de passe",
|
||
"connect": "Connecter",
|
||
"reconnect": "Reconnecter",
|
||
"use_cdap_fallback": "CDAP-Viewer verwenden",
|
||
"cdap_fallback_hint": "Öffnet den einfachen JPEG-Polling-Viewer, der bd-signal/CDAP statt des RustDesk-Relays verwendet. Nützlich, wenn der Peer auf dem Relay offline, aber über den Agent-Verwaltungskanal erreichbar ist.",
|
||
"disconnect": "Déconnecter",
|
||
"back_to_devices": "Retour aux appareils",
|
||
"fullscreen": "Plein écran",
|
||
"toggle_audio": "Basculer l'audio",
|
||
"send_keys": "Envoyer des touches",
|
||
"scale_mode": "Mode de mise à l'échelle",
|
||
"scale_fit": "Adapter à la fenêtre",
|
||
"scale_fill": "Remplir la fenêtre",
|
||
"scale_original": "Taille originale (1:1)",
|
||
"scale_stretch": "Étirer",
|
||
"actions": "Actions",
|
||
"lock_screen": "Verrouiller l'écran",
|
||
"restart_remote": "Redémarrer l'appareil distant",
|
||
"refresh_screen": "Rafraîchir l'écran",
|
||
"clipboard_paste": "Coller depuis le presse-papiers",
|
||
"clipboard_empty": "Zwischenablage ist leer",
|
||
"clipboard_denied": "Zugriff auf die Zwischenablage verweigert. HTTPS erforderlich oder Berechtigung nicht erteilt.",
|
||
"block_input": "Bloquer la saisie",
|
||
"reset_keyboard": "Réinitialiser le clavier",
|
||
"reset_keyboard_done": "État du clavier réinitialisé à distance",
|
||
"keyboard_mode": "Mode clavier",
|
||
"keyboard_mode_auto": "Auto (Map, comme RustDesk)",
|
||
"keyboard_mode_legacy": "Legacy (caractère)",
|
||
"keyboard_mode_map": "Map (scancode physique)",
|
||
"display_settings": "Paramètres d'affichage",
|
||
"image_quality": "Qualité d'image",
|
||
"quality_best": "Meilleure qualité",
|
||
"quality_balanced": "Équilibrée",
|
||
"quality_low": "Performance",
|
||
"codec": "Video-Codec",
|
||
"codec_auto": "Automatisch (empfohlen)",
|
||
"show_cursor": "Afficher le curseur distant",
|
||
"lock_after_session": "Verrouiller après la session",
|
||
"privacy_mode": "Mode confidentialité",
|
||
"disable_clipboard": "Désactiver le presse-papiers",
|
||
"chat": "Discussion",
|
||
"chat_placeholder": "Tapez un message...",
|
||
"record": "Enregistrer l'écran",
|
||
"view_only": "Affichage seul",
|
||
"pin_toolbar": "Épingler la barre d'outils",
|
||
"monitors": "Monitors",
|
||
"select_monitor": "Select Monitor",
|
||
"quality_speed": "Speed (Low Quality, 60fps)",
|
||
"quality_quality": "Quality (Best, 30fps)",
|
||
"recording_started": "Recording started",
|
||
"recording_stopped": "Recording stopped",
|
||
"download_recording": "Download Recording",
|
||
"e2e_encrypted": "End-to-End Encrypted",
|
||
"e2e_key_exchange": "Establishing secure channel...",
|
||
"confirm_restart": "Êtes-vous sûr de vouloir redémarrer l'appareil distant ?",
|
||
"webcodecs_not_supported": "Votre navigateur ne prend pas en charge l'API WebCodecs. Veuillez utiliser Chrome 94+ ou Edge 94+.",
|
||
"webcodecs_insecure_context": "WebCodecs indisponible en HTTP. La vidéo utilise un décodeur logiciel. Pour de meilleures performances, utilisez HTTPS.",
|
||
"webcodecs_fallback_active": "Décodeur vidéo logiciel actif (performances limitées)",
|
||
"click_to_start": "Cliquez pour démarrer",
|
||
"autoplay_blocked": "Le navigateur nécessite une interaction utilisateur pour démarrer la vidéo et l'audio.",
|
||
"start_playback": "Démarrer la lecture",
|
||
"new_connection": "Nouvelle connexion",
|
||
"device_id_placeholder": "Saisir l'ID de l'appareil",
|
||
"session_picker": {
|
||
"title": "Choisir un appareil",
|
||
"already_connected": "Déjà connecté"
|
||
},
|
||
"http_warning": "Mode HTTP : limité au décodage logiciel H.264 (~15 FPS). Utilisez HTTPS pour des performances optimales (WebCodecs, VP9, 60 FPS).",
|
||
"file_transfer": "Transfert de fichiers",
|
||
"file_upload": "Téléverser",
|
||
"file_download": "Télécharger",
|
||
"file_empty": "Ce dossier est vide",
|
||
"file_loading": "Wird geladen...",
|
||
"file_timeout": "Das entfernte Gerät hat nicht geantwortet. Dateiübertragung wird möglicherweise nicht unterstützt oder ist auf dem entfernten Computer deaktiviert.",
|
||
"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": "2FA Verification Required",
|
||
"2fa_hint": "Enter the 6-digit code from your authenticator app",
|
||
"2fa_invalid": "Enter a valid 6-digit code",
|
||
"verify": "Verify",
|
||
"remember_peer_password": "Mémoriser le mot de passe de l’appareil sur cet ordinateur",
|
||
"save_peer_password": "Enregistrer le mot de passe",
|
||
"input_mode_touch": "Toucher",
|
||
"input_mode_touchpad": "Pavé tactile",
|
||
"show_keyboard": "Clavier",
|
||
"special_keys": "Touches spéciales",
|
||
"special_print_screen": "Impr. écran",
|
||
"mobile_toolbar": "Contrôles distants",
|
||
"phone_unsupported_title": "Le bureau à distance nécessite un écran plus grand",
|
||
"phone_unsupported_body": "Utilisez une tablette, un foldable déplié ou un ordinateur. La gestion des appareils reste disponible dans la console.",
|
||
"phone_unsupported_back_devices": "Retour aux appareils",
|
||
"phone_unsupported_get_desktop": "Obtenir RdClient desktop",
|
||
"file_local": "Ordinateur local",
|
||
"file_remote": "Ordinateur distant",
|
||
"file_send": "Envoyer",
|
||
"file_pick_folder": "Choisir un dossier",
|
||
"file_queue_empty": "Aucun transfert en cours",
|
||
"file_connecting": "Connexion à la session de transfert de fichiers…",
|
||
"file_connect_failed": "Impossible d'ouvrir la session de transfert de fichiers",
|
||
"file_local_limited": "La navigation complète des dossiers locaux nécessite Chrome ou Edge en HTTPS. L'envoi et le téléchargement restent disponibles.",
|
||
"file_transfer_unavailable_cdap": "Le transfert de fichiers n'est pas disponible pour les sessions instantanées CDAP.",
|
||
"file_status_waiting": "En attente…",
|
||
"file_status_transferring": "Transfert…",
|
||
"file_status_saving": "Enregistrement…",
|
||
"file_status_downloaded": "Téléchargé",
|
||
"file_status_uploaded": "Envoyé",
|
||
"file_drop_upload_hint": "Déposez pour envoyer vers : {path}",
|
||
"file_local_upload_hint": "Déposez les fichiers dans la zone à gauche ou cliquez pour téléverser. La destination est le dossier ouvert côté distant.",
|
||
"file_transfer_stalled": "L'appareil distant n'a pas démarré le transfert",
|
||
"file_no_local_tree": "Choisissez un dossier pour parcourir les fichiers locaux (facultatif)",
|
||
"file_dropzone_title": "Déposez les fichiers ici",
|
||
"file_dropzone_subtitle": "ou cliquez pour choisir des fichiers",
|
||
"file_dropzone_multiple": "Plusieurs fichiers pris en charge",
|
||
"file_dropzone_waiting": "En attente de la connexion distante…",
|
||
"file_overwrite_title": "Le fichier existe déjà",
|
||
"file_overwrite_message": "Un fichier nommé « {name} » existe déjà sur l’ordinateur distant. Remplacer ?",
|
||
"file_overwrite_skip": "Ignorer",
|
||
"file_overwrite_skip_all": "Tout ignorer",
|
||
"file_overwrite_confirm": "Remplacer",
|
||
"file_overwrite_all": "Tout remplacer",
|
||
"file_resume": "Reprendre",
|
||
"file_open": "Ouvrir",
|
||
"file_up": "Monter",
|
||
"file_home": "Accueil",
|
||
"file_hide_hidden": "Masquer les fichiers cachés",
|
||
"windows_sessions": "Sessions Windows"
|
||
},
|
||
"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_text": "Text Logo",
|
||
"logo_type_icon": "Icône Material",
|
||
"logo_type_svg": "Code SVG",
|
||
"logo_type_image": "URL de l'image",
|
||
"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_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.",
|
||
"logo_upload_success": "Logo uploaded successfully.",
|
||
"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",
|
||
"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",
|
||
"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": "Apparence enregistrée.",
|
||
"exported": "Thème exporté",
|
||
"imported": "Thème importé.",
|
||
"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": "Apparence par défaut rétablie.",
|
||
"powered_by": "Entwickelt von",
|
||
"background_title": "Hintergrund & Erscheinungsbild",
|
||
"background_desc": "Ein Konsolen-Hintergrundbild, Farbverlauf oder einfarbigen Hintergrund festlegen. Karten schweben darüber.",
|
||
"bg_type_none": "Keiner",
|
||
"bg_type_color": "Einfarbig",
|
||
"bg_type_gradient": "Farbverlauf",
|
||
"bg_type_image": "Bild",
|
||
"bg_color": "Hintergrundfarbe",
|
||
"bg_gradient": "CSS-Farbverlauf",
|
||
"bg_gradient_hint": "Beliebiger gültiger CSS-Farbverlauf, z. B. linear-gradient(135deg, #1e293b, #0f172a)",
|
||
"bg_image_upload": "Hintergrundbild hochladen",
|
||
"bg_image_choose": "Bilddatei auswählen",
|
||
"bg_image_hint": "PNG, JPG, WebP oder GIF. Maximal 8 MB. Auf dem Server gespeichert.",
|
||
"bg_image_url": "Bildpfad / URL",
|
||
"bg_size": "Bildgröße",
|
||
"bg_size_cover": "Abdecken (Bildschirm füllen)",
|
||
"bg_size_contain": "Einpassen (Contain)",
|
||
"bg_size_auto": "Automatique (original)",
|
||
"bg_blur": "Hintergrundunschärfe",
|
||
"bg_overlay": "Dunkle Überlagerung",
|
||
"bg_overlay_hint": "Verdunkelt den Hintergrund für bessere Lesbarkeit des Textes.",
|
||
"bg_image_too_large": "Bild ist zu groß. Maximale Größe beträgt 8 MB.",
|
||
"bg_image_invalid_type": "Ungültiger Dateityp. Bitte PNG, JPG, WebP oder GIF verwenden.",
|
||
"bg_upload_success": "Hintergrundbild erfolgreich hochgeladen.",
|
||
"login_title": "Anmeldeseite",
|
||
"login_desc": "Überschrift, Untertitel und Hintergrund des Anmeldebildschirms anpassen.",
|
||
"login_heading": "Anmeldeüberschrift",
|
||
"login_heading_placeholder": "Willkommen zurück",
|
||
"login_subheading": "Anmeldeuntertitel",
|
||
"login_subheading_placeholder": "Bei Ihrem Konto anmelden",
|
||
"login_bg_inherit": "Wie die Konsole",
|
||
"agent_title": "Agent-Downloadseite",
|
||
"agent_desc": "Das öffentliche Agent-Downloadportal für Endbenutzer anpassen.",
|
||
"agent_show_powered": "\"Powered by BetterDesk\" anzeigen",
|
||
"agent_show_powered_hint": "Die BetterDesk-Zuschreibung in der Fußzeile des Downloadportals anzeigen.",
|
||
"footer_title": "Fußzeile & Copyright",
|
||
"footer_desc": "Eine benutzerdefinierte Fußzeile hinzufügen, die auf dem Anmeldebildschirm und in der Konsolenseitenleiste angezeigt wird.",
|
||
"footer_text": "Fußzeilentext",
|
||
"footer_text_hint": "z. B. ein Urheberrechtshinweis oder Firmenname.",
|
||
"show_powered": "BetterDesk-Zuschreibung anzeigen",
|
||
"show_powered_hint": "Den BetterDesk-Namen und die Version in der Anmeldefußzeile und Seitenleiste anzeigen.",
|
||
"custom_css_title": "Benutzerdefiniertes CSS",
|
||
"custom_css_desc": "Erweitert: Benutzerdefiniertes CSS einfügen, das auf der gesamten Konsole und der Anmeldeseite angewendet wird.",
|
||
"custom_css_hint": "Mit Vorsicht verwenden. Ungültige oder unsichere Regeln werden bereinigt. Maximal 20.000 Zeichen.",
|
||
"save_now": "Enregistrer",
|
||
"autosaved": "Modifications enregistrées automatiquement.",
|
||
"status_saved": "Toutes les modifications enregistrées",
|
||
"status_dirty": "Modifications non enregistrées",
|
||
"status_saving": "Enregistrement…",
|
||
"status_error": "Échec de l’enregistrement",
|
||
"revert_changes": "Annuler les modifications",
|
||
"profiles_label": "Profil d’apparence",
|
||
"profile_apply": "Appliquer le profil",
|
||
"profile_new": "Nouveau profil",
|
||
"profile_save": "Enregistrer dans le profil",
|
||
"profile_duplicate": "Dupliquer",
|
||
"profile_delete": "Supprimer",
|
||
"profile_none": "— Choisir un profil —",
|
||
"profile_active": "actif",
|
||
"profile_applied": "Profil appliqué.",
|
||
"profile_created": "Profil créé.",
|
||
"profile_updated": "Profil mis à jour.",
|
||
"profile_duplicated": "Profil dupliqué.",
|
||
"profile_deleted": "Profil supprimé.",
|
||
"profile_delete_confirm": "Supprimer ce profil ?",
|
||
"profile_name_prompt": "Nom du profil :",
|
||
"profile_select_first": "Sélectionnez d’abord un profil.",
|
||
"builtin_themes": "Thèmes intégrés",
|
||
"theme_apply_confirm": "Appliquer ce thème ? Les réglages actuels seront remplacés.",
|
||
"theme_applied": "Thème appliqué.",
|
||
"module_identity": "Identité et logo",
|
||
"module_colors": "Couleurs",
|
||
"module_typography": "Typographie",
|
||
"module_backgrounds": "Arrière-plan console",
|
||
"module_pages": "Pages connexion et agent",
|
||
"module_advanced": "Avancé",
|
||
"modules_nav": "Modules d’apparence",
|
||
"live_preview": "Aperçu en direct",
|
||
"preview_apply_page": "Aperçu sur cette page",
|
||
"preview_card_title": "Carte tableau de bord",
|
||
"preview_card_body": "Texte d’exemple montrant typographie et couleurs.",
|
||
"preview_btn_primary": "Principal",
|
||
"preview_btn_secondary": "Secondaire",
|
||
"font_google": "Google Fonts",
|
||
"font_local": "Téléchargées",
|
||
"font_upload": "Importer une police",
|
||
"font_upload_choose": "Choisir un fichier",
|
||
"font_upload_name": "Nom de la police",
|
||
"font_upload_success": "Police importée.",
|
||
"font_local_empty": "Aucune police téléchargée.",
|
||
"font_delete": "Supprimer la police",
|
||
"glass_title": "Surfaces en verre",
|
||
"glass_desc": "Arrière-plan en verre dépoli pour les cartes, modales, formulaires et autres éléments du panneau.",
|
||
"glass_enabled": "Activer les surfaces en verre",
|
||
"glass_color": "Couleur de teinte du verre",
|
||
"glass_color_hint": "Couleur de base des panneaux dépolis. Utilise la couleur de fond secondaire si vide.",
|
||
"glass_blur": "Flou de surface",
|
||
"glass_opacity": "Opacité du verre"
|
||
},
|
||
"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",
|
||
"tab_services": "Services",
|
||
"tab_processes": "Processes",
|
||
"tab_events": "Events",
|
||
"tab_activity": "Activity",
|
||
"tab_files": "Dateien",
|
||
"agent_lazy_hint": "Klicken Sie auf diesen Tab, um Live-Daten vom Agenten zu laden",
|
||
"agent_offline": "Agent ist offline",
|
||
"agent_timeout": "Agent hat nicht rechtzeitig geantwortet",
|
||
"agent_error": "Daten vom Agenten konnten nicht geladen werden",
|
||
"service_name": "Name",
|
||
"service_display": "Anzeigename",
|
||
"service_status": "Status",
|
||
"service_start": "Start mode",
|
||
"process_name": "Name",
|
||
"process_user": "User",
|
||
"process_memory": "Memory",
|
||
"section_system": "Système",
|
||
"section_cpu": "Processeur",
|
||
"section_memory": "Mémoire",
|
||
"section_displays": "Écrans",
|
||
"section_encoding": "Capacités d'encodage",
|
||
"section_live_metrics": "Métriques en direct",
|
||
"section_current_usage": "Utilisation actuelle",
|
||
"section_usage_history": "Historique d'utilisation",
|
||
"os": "Système d'exploitation",
|
||
"version": "Version",
|
||
"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 →"
|
||
},
|
||
"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": "Système d'exploitation",
|
||
"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": "Règles d'alerte, commandes à distance",
|
||
"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",
|
||
"approve_title": "Gerät genehmigen",
|
||
"field_name": "Gerätename",
|
||
"field_name_placeholder": "Name für dieses Gerät eingeben...",
|
||
"field_sync_mode": "Synchronisierungsmodus",
|
||
"sync_standard": "Standard — ausgewogene Synchronisierung",
|
||
"sync_silent": "Lautlos — minimale Telemetrie",
|
||
"sync_turbo": "Turbo — aggressive Synchronisierung",
|
||
"field_tags": "Tags",
|
||
"field_tags_placeholder": "Kommagetrennte Tags (z. B. Büro, Laptop)...",
|
||
"field_tags_existing": "Vorhandene Tags",
|
||
"field_tag_add_placeholder": "Neues Tag hinzufügen...",
|
||
"field_tag_add_btn": "Hinzufügen",
|
||
"field_groups": "Gerätegruppen",
|
||
"field_folder": "Ordner",
|
||
"field_folder_none": "Kein Ordner",
|
||
"reject_ban_option": "Dieses Gerät sperren",
|
||
"reject_ban_hint": "Das Gerät wird gesperrt und kann keine neuen Registrierungsanfragen senden.",
|
||
"banner_open_mode": "Registrierung ist offen — neue RustDesk-Clients registrieren sich ohne Genehmigung des Operators. Verwalteten Modus in den Einstellungen festlegen, um diese Warteschlange zu nutzen.",
|
||
"banner_locked_mode": "Registrierung ist gesperrt — nur token-gebundene Geräte können sich registrieren. Der verwaltete Modus ist für die Genehmigung unbekannter Clients durch den Operator erforderlich.",
|
||
"enrollment_settings_link": "Registrierungseinstellungen"
|
||
},
|
||
"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",
|
||
"stat_database": "Datenbank-Engine",
|
||
"stat_keys": "Serverschlüssel enthalten",
|
||
"stat_env": "Umgebungsdatei",
|
||
"stat_uploads": "Branding-Dateien",
|
||
"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.",
|
||
"restart_required": "Einige wiederhergestellte Komponenten (Schlüssel / .env / Go-Datenbank) erfordern einen Dienstneustart, damit die Änderungen wirksam werden.",
|
||
"restored": "Restauré",
|
||
"skipped": "Ignoré",
|
||
"backup_date": "Date de sauvegarde",
|
||
"security_warning": "Dieses Backup enthält Geheimnisse (Serverschlüssel, Umgebungsdatei, Passwort-Hashes und 2FA-Geheimnisse). Sicher aufbewahren und niemals teilen.",
|
||
"restore_warning": "Das Wiederherstellen von Geheimnissen, der Umgebungsdatei oder der Go-Server-Datenbank überschreibt die Serveridentität und erfordert danach einen Dienstneustart.",
|
||
"opt_database": "Datenbank (alle Tabellen)",
|
||
"opt_database_hint": "Importiert alle Konsolendaten erneut. Wird sofort angewendet, kein Neustart erforderlich.",
|
||
"opt_uploads": "Branding-Dateien",
|
||
"opt_uploads_hint": "Logos und hochgeladene Bilder.",
|
||
"opt_secrets": "Serverschlüssel & Geheimnisse",
|
||
"opt_secrets_warning": "Überschreibt die Ed25519-Serveridentität, den API-Schlüssel und das Sitzungsgeheimnis. Erfordert einen Dienstneustart.",
|
||
"opt_env": "Umgebungsdatei (.env)",
|
||
"opt_env_warning": "Überschreibt SESSION_SECRET, API-Schlüssel, Datenbank-DSN, Ports und TLS-Einstellungen. Erfordert einen Dienstneustart.",
|
||
"opt_godb": "Go-Server-Datenbank",
|
||
"opt_godb_warning": "Überschreibt die SQLite-Datenbank des Go-Servers (nur SQLite-Backend). Erfordert einen Dienstneustart.",
|
||
"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": "Chargement des widgets de l'appareil...",
|
||
"load_error": "Impossible de charger les données de l'appareil",
|
||
"connected": "Connecté",
|
||
"disconnected": "Déconnecté",
|
||
"device_offline_msg": "L'appareil est actuellement hors ligne. Les valeurs des widgets peuvent être obsolètes.",
|
||
"no_widgets": "Cet appareil ne signale aucun widget.",
|
||
"no_widgets_desc": "Cet appareil n'a pas enregistré de manifeste CDAP avec des définitions de widgets.",
|
||
"command_log": "Journal des commandes",
|
||
"clear_log": "Effacer le journal",
|
||
"confirm_command": "Exécuter cette commande ?",
|
||
"select_option": "Sélectionner",
|
||
"cdap_status": "Statut CDAP",
|
||
"cdap_enabled": "CDAP activé",
|
||
"cdap_disabled": "CDAP désactivé",
|
||
"cdap_devices": "Appareils CDAP",
|
||
"cdap_connections": "Connexions actives",
|
||
"send_command": "Envoyer la commande",
|
||
"command_sent": "Commande envoyée",
|
||
"command_failed": "Échec de l'envoi de la commande",
|
||
"devices_title": "Appareils CDAP",
|
||
"devices_subtitle": "Appareils connectés via le protocole d'application d'appareil personnalisé",
|
||
"stat_connected": "Connecté",
|
||
"stat_port": "Port",
|
||
"search_devices": "Rechercher des appareils...",
|
||
"no_devices": "Aucun appareil avec des données d'inventaire trouvé",
|
||
"no_devices_desc": "Aucun appareil CDAP n'est actuellement connecté. Les appareils apparaîtront ici dès qu'ils se connecteront à la passerelle.",
|
||
"gateway_disabled": "Passerelle CDAP désactivée",
|
||
"gateway_disabled_desc": "Activez la passerelle CDAP en définissant CDAP_ENABLED=true dans la configuration du serveur.",
|
||
"gateway_active": "Active",
|
||
"toggle_enable": "Activer CDAP",
|
||
"toggle_disable": "Désactiver CDAP",
|
||
"enabled_restart": "CDAP activé. Redémarrage du serveur requis pour appliquer les modifications.",
|
||
"disabled_restart": "CDAP désactivé. Redémarrage du serveur requis pour appliquer les modifications.",
|
||
"widgets": "widgets",
|
||
"type_all": "Tous",
|
||
"type_iot": "IoT",
|
||
"type_scada": "SCADA",
|
||
"type_os_agent": "Agent OS",
|
||
"type_network": "Rapport réseau",
|
||
"type_camera": "Caméra",
|
||
"type_custom": "Personnalisé",
|
||
"active_alerts": "Alertes actives",
|
||
"alert_fired": "Alerte déclenchée",
|
||
"alert_cleared": "Alerte résolue",
|
||
"no_alerts": "Aucune alerte déclenchée",
|
||
"connect_terminal": "Connecter le terminal",
|
||
"table_search": "Rechercher...",
|
||
"just_now": "à l'instant",
|
||
"terminal_connecting": "Connexion à l'appareil...",
|
||
"terminal_disconnected": "Déconnecté",
|
||
"terminal_error": "Échec de la connexion au terminal",
|
||
"linked_devices": "Appareils liés",
|
||
"link_device": "Lier un appareil",
|
||
"unlink_device": "Délier",
|
||
"no_linked_devices": "Aucun appareil lié",
|
||
"unlink_confirm": "Êtes-vous sûr de vouloir délier cet appareil ?",
|
||
"link_prompt": "Entrez l'ID du pair à lier à cet appareil :",
|
||
"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"
|
||
},
|
||
"notifications": {
|
||
"title": "Benachrichtigungen",
|
||
"empty": "Keine neuen Benachrichtigungen",
|
||
"mark_all_read": "Alle als gelesen markieren",
|
||
"see_all": "Alle Hilfeanfragen anzeigen",
|
||
"help_request": "Hilfeanfrage",
|
||
"just_now": "just now"
|
||
},
|
||
"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."
|
||
},
|
||
"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_server_attestation": "Server-Leistungsattestierung",
|
||
"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"
|
||
},
|
||
"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",
|
||
"disable_tutorials": "Einführungen deaktivieren",
|
||
"enable_tutorials": "Einführungen aktivieren",
|
||
"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": "Appareils CDAP",
|
||
"cdap_devices_text": "Affichez tous les appareils CDAP connectés — capteurs IoT, automates, ponts et agents personnalisés. Les indicateurs verts signalent des connexions en direct.",
|
||
"cdap_widgets_title": "Tableau de bord des widgets",
|
||
"cdap_widgets_text": "Les widgets affichent des données en temps réel depuis les appareils. Jauges, interrupteurs, LEDs, graphiques — chaque type de widget visualise un type de données différent.",
|
||
"cdap_commands_title": "Envoyer des commandes",
|
||
"cdap_commands_text": "Interagissez avec les appareils en envoyant des commandes. Certaines commandes nécessitent une confirmation. Le journal des commandes conserve l'historique de toutes les commandes envoyées.",
|
||
"cdap_terminal_title": "Terminal de l'appareil",
|
||
"cdap_terminal_text": "Ouvrez une session de terminal vers les agents CDAP pour des diagnostics avancés ou une configuration manuelle. Saisissez les commandes directement.",
|
||
"cdap_complete_title": "Présentation CDAP terminée !",
|
||
"cdap_complete_text": "Explorez les widgets des appareils, envoyez des commandes et utilisez le terminal ou le navigateur de fichiers pour une gestion plus approfondie. Les agents CDAP rapportent automatiquement les métriques.",
|
||
"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."
|
||
},
|
||
"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": "User",
|
||
"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",
|
||
"device_groups_tab": "Gerätegruppen",
|
||
"device_groups_intro": "Mit dieser Organisation verknüpfte Gerätegruppen legen fest, welche Maschinen Mitglieder im RustDesk-Client erreichen können. Mitgliedschaft und Zugriff konfigurieren Sie unter Geräte.",
|
||
"manage_in_devices": "Geräte → Gruppen öffnen",
|
||
"no_org_device_groups": "Keine Gerätegruppen mit dieser Organisation verknüpft.",
|
||
"create_org_device_group": "Gerätegruppe erstellen",
|
||
"org_device_group_created": "Gerätegruppe erstellt",
|
||
"org_user_groups_title": "Benutzergruppen",
|
||
"org_user_groups_intro": "Mit der Organisation verknüpfte Benutzergruppen können Zugriff auf die Gerätegruppen oben erhalten (Geräte → Gruppen → Erlaubte Benutzergruppen).",
|
||
"no_org_user_groups": "Keine Benutzergruppen mit dieser Organisation verknüpft.",
|
||
"group_name": "Name",
|
||
"group_type": "Typ",
|
||
"group_members": "Geräte",
|
||
"group_type_manual": "Manuell",
|
||
"group_type_tag": "Tag",
|
||
"group_allowed_user_groups": "Erlaubte Benutzergruppen",
|
||
"group_devices_suffix": "Geräte",
|
||
"group_name_required": "Gruppenname erforderlich",
|
||
"org_team_id": "Team-ID der Organisation",
|
||
"link_team_id_hint": "Die Gruppe wird automatisch mit dieser Organisation verknüpft (Team-ID = Organisations-ID).",
|
||
"address_book": "Carnet d'adresses",
|
||
"address_book_import_devices": "Importer les appareils de l'organisation",
|
||
"address_book_save": "Enregistrer le carnet d'adresses",
|
||
"address_book_intro": "Gérez les contacts partagés avec les membres de cette organisation. Les entrées personnelles restent privées et priment en cas de conflit.",
|
||
"address_book_enabled": "Partager ce carnet d'adresses avec les membres de l'organisation",
|
||
"address_book_json": "JSON du carnet d'adresses",
|
||
"address_book_json_hint": "Format RustDesk hérité, par exemple : {\"peers\":[{\"id\":\"123456789\",\"alias\":\"PC bureau\"}],\"tags\":[\"Bureau\"]}",
|
||
"address_book_invalid_json": "Le carnet d'adresses doit être un JSON valide",
|
||
"address_book_peers_array_required": "Les pairs du carnet d'adresses doivent être un tableau",
|
||
"address_book_tags_array_required": "Les tags du carnet d'adresses doivent être un tableau",
|
||
"address_book_saved": "Carnet d'adresses enregistré",
|
||
"address_book_save_failed": "Impossible d'enregistrer le carnet d'adresses",
|
||
"address_book_imported": "Appareils de l'organisation importés",
|
||
"address_book_import_none": "Aucun nouvel appareil de l'organisation à importer",
|
||
"address_book_contacts": "Shared contacts",
|
||
"address_book_add_peer": "Add contact",
|
||
"address_book_peer_id": "Device ID",
|
||
"address_book_alias": "Alias",
|
||
"address_book_peer_tags": "Contact tags",
|
||
"address_book_peer_tags_placeholder": "office, support",
|
||
"address_book_tags_label": "Global tags",
|
||
"address_book_tags_placeholder": "Office, Support",
|
||
"address_book_tags_hint": "Comma-separated tags available in the RustDesk client address book.",
|
||
"address_book_no_peers": "No contacts yet — add a device ID or import organization devices.",
|
||
"address_book_show_json": "Advanced JSON",
|
||
"address_book_hide_json": "Structured editor"
|
||
},
|
||
"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",
|
||
"custom": "Personnalisé"
|
||
},
|
||
"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)",
|
||
"block_direct_p2p_hint": "Gilt für Geräte in dieser Organisation. Der globale Standard wird unter Einstellungen → Verbindungsstrategie festgelegt.",
|
||
"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": "Richtlinie erfolgreich gespeichert",
|
||
"save_failed": "Richtlinie konnte nicht gespeichert werden",
|
||
"load_failed": "Richtlinien konnten nicht geladen werden"
|
||
},
|
||
"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": "Gerät als verifiziert markiert",
|
||
"verify_failed": "Gerät konnte nicht verifiziert werden",
|
||
"revoke_success": "Geräteattestierung widerrufen",
|
||
"revoke_failed": "Attestierung konnte nicht widerrufen werden"
|
||
},
|
||
"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 ?",
|
||
"relays_info_banner": "Diese Liste dient nur zur Information. Die von Clients tatsächlich verwendeten Relay-Server werden über die Umgebungsvariable RELAY_SERVERS auf dem BetterDesk-Server konfiguriert.",
|
||
"relay_name_address_required": "Name und Adresse sind erforderlich.",
|
||
"relay_save_failed": "Relay-Knoten konnte nicht gespeichert werden.",
|
||
"relay_delete_failed": "Relay-Knoten konnte nicht gelöscht werden.",
|
||
"relay_saved": "Relay-Knoten gespeichert.",
|
||
"relay_deleted": "Relay-Knoten gelöscht.",
|
||
"rule_name_value_required": "Regelname und Trefferwert sind erforderlich.",
|
||
"rule_save_failed": "Regel konnte nicht gespeichert werden.",
|
||
"rule_delete_failed": "Regel konnte nicht gelöscht werden.",
|
||
"rule_saved": "Regel gespeichert.",
|
||
"rule_deleted": "Regel gelöscht.",
|
||
"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"
|
||
},
|
||
"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",
|
||
"feat_session_recording": "Sitzungsaufzeichnung",
|
||
"feat_multi_monitor": "Multi-écran",
|
||
"feat_unattended_access": "Unbeaufsichtigter Zugriff",
|
||
"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_win_virtual_account": "Dienste laufen unter isolierten virtuellen Konten anstelle von LocalSystem; benutzerdefinierte Protokollpfade müssen möglicherweise ACL-Anpassungen vorgenommen werden.",
|
||
"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_linux_unprivileged": "Dienste laufen unter dem dedizierten unprivilegierten Konto 'betterdesk' mit systemd-Härtung (NoNewPrivileges, ProtectSystem=strict).",
|
||
"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.",
|
||
"delete": "Löschen",
|
||
"delete_confirm": "Sicherung {name} dauerhaft löschen? Diese Aktion kann nicht rückgängig gemacht werden.",
|
||
"delete_success": "Sicherung gelöscht",
|
||
"delete_failed": "Sicherung konnte nicht gelöscht werden",
|
||
"retention_label": "Die neuesten N Sicherungen behalten",
|
||
"retention_hint": "Ältere Sicherungen werden nach jedem Update automatisch gelöscht. Verwenden Sie 0, um alle zu behalten.",
|
||
"retention_saved": "Aufbewahrungseinstellung gespeichert",
|
||
"retention_invalid": "Aufbewahrung muss eine Ganzzahl zwischen 0 und 1000 sein",
|
||
"retention_required_for_prune": "Legen Sie zuerst einen Aufbewahrungswert größer als 0 fest",
|
||
"prune_now": "Apply now",
|
||
"prune_confirm": "Nur die neuesten {n} Sicherungen behalten und den Rest löschen?",
|
||
"prune_done": "{n} Sicherung(en) gelöscht",
|
||
"total_size": "Total size",
|
||
"backups_count": "backup(s)",
|
||
"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": "Go wird geprüft...",
|
||
"go_not_found": "Go ist nicht installiert",
|
||
"go_check_failed": "Go-Verfügbarkeit konnte nicht geprüft werden",
|
||
"server_building": "Go-Server wird kompiliert... Das kann einige Minuten dauern.",
|
||
"server_built": "Server-Binary kompiliert",
|
||
"server_build_failed": "Server-Kompilierung fehlgeschlagen",
|
||
"server_stale_title": "Server-Binary veraltet",
|
||
"server_stale_desc": "Der Quellcode des Go-Servers wurde aktualisiert, aber das laufende Binary wurde nicht neu gebaut. Bauen Sie es jetzt neu, um Sicherheits- und Bibliotheksupdates anzuwenden.",
|
||
"rebuild_server": "Server-Binary neu bauen",
|
||
"rebuilding_server": "Rebuilding…",
|
||
"rebuild_server_success": "Server-Binary neu gebaut und neu gestartet",
|
||
"rebuild_server_failed": "Server-Binary konnte nicht neu gebaut werden",
|
||
"docker_title": "Docker-Image-Bereitstellung",
|
||
"docker_desc": "Cette console s'exécute à partir d'une image de conteneur préconstruite (all-in-one officiel ou split legacy). Les mises à jour s'appliquent sur l'hôte en tirant de nouvelles image(s) depuis GHCR, pas via l'installation dans l'app ni une recompilation Go.",
|
||
"docker_install_note": "In-App-Installation ist in Docker deaktiviert. Führen Sie die obigen Befehle auf dem Host aus und aktualisieren Sie dann diese Seite.",
|
||
"docker_update_available": "Nouvelle(s) image(s) de conteneur disponible(s)",
|
||
"docker_sha_unknown": "Aktuell (Image-Commit unbekannt)",
|
||
"docker_images": "Images",
|
||
"server_deployed": "Server-Binary bereitgestellt",
|
||
"server_deploy_failed": "Serverbereitstellung fehlgeschlagen",
|
||
"server_build_note": "Server compilation may take 1-5 minutes. The page will remain unresponsive during compilation.",
|
||
"server_source_downloading": "Serverquellcode wird heruntergeladen...",
|
||
"strategy_label": "Update-Methode",
|
||
"strategy_download": "Vorkompiliertes Binary herunterladen",
|
||
"strategy_compile": "Aus Quellcode kompilieren",
|
||
"both_available": "Herunterladen und kompilieren",
|
||
"download_available": "Download verfügbar",
|
||
"no_method": "Keine Update-Methode",
|
||
"no_release": "No release",
|
||
"available": "Verfügbar",
|
||
"server_downloading": "Server-Binary wird heruntergeladen...",
|
||
"server_downloaded": "Server-Binary heruntergeladen",
|
||
"server_download_failed": "Download des Server-Binarys fehlgeschlagen",
|
||
"server_download_note": "Ein vorkompiliertes Binary wird aus GitHub Releases heruntergeladen. Das dauert normalerweise weniger als eine Minute.",
|
||
"install_go_hint": "Installieren Sie Go von https://go.dev/dl/, um die Kompilierung zu aktivieren, oder veröffentlichen Sie ein Release mit vorkompilierten Binarys",
|
||
"strategy_install_go": "Go automatisch installieren und kompilieren",
|
||
"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": "Automatische Neuerstellung bereit",
|
||
"toolchain_ready": "Toolchain installiert",
|
||
"toolchain_will_install": "Go toolchain will be installed automatically",
|
||
"toolchain_downloading": "Go-Toolchain wird heruntergeladen...",
|
||
"toolchain_failed": "Installation der Go-Toolchain fehlgeschlagen",
|
||
"modal_title": "Update wird installiert",
|
||
"modal_done_title": "Update abgeschlossen",
|
||
"modal_close": "Schließen",
|
||
"modal_reload_now": "Konsole neu laden",
|
||
"log_title": "Journal de mise à jour",
|
||
"log_expand": "Développer le journal",
|
||
"log_collapse": "Réduire le journal",
|
||
"log_copy": "Copier le journal",
|
||
"progress_step": "Étape {current} sur {total}",
|
||
"reload_countdown": "Rechargement auto dans {seconds} s",
|
||
"retry_update": "Réessayer la mise à jour",
|
||
"retry_confirm": "Réessayer d'installer cette mise à jour ?",
|
||
"phase_confirm": "Confirmation",
|
||
"phase_backup": "Backup",
|
||
"phase_console": "Konsolendateien",
|
||
"phase_server": "Go-Server",
|
||
"phase_restart": "Neustart",
|
||
"phase_done": "Done",
|
||
"preparing": "Preparing…",
|
||
"backup_skipped": "Sicherung übersprungen (Benutzerauswahl)",
|
||
"server_skipped": "Go-Server übersprungen",
|
||
"server_not_selected": "Go server not selected",
|
||
"server_processing": "Go-Server-Update wird verarbeitet...",
|
||
"no_restart_needed": "Kein Neustart erforderlich",
|
||
"complete": "Update angewendet",
|
||
"complete_summary": "Das Update wurde erfolgreich angewendet.",
|
||
"complete_with_errors": "Das Update ist abgeschlossen, aber einige Schritte sind fehlgeschlagen. Details siehe unten.",
|
||
"modal_done_with_errors_title": "Update mit Fehlern abgeschlossen",
|
||
"console_will_restart": "Der Konsolenprozess wird jetzt neu gestartet...",
|
||
"restart_complete_msg": "Die Konsole hat den Neustart abgeschlossen. Klicken Sie auf Neu laden, um die neue Version zu laden. Die Seite lädt in 8 Sekunden automatisch neu.",
|
||
"refresh_recommended": "Statische Ressourcen wurden geändert — laden Sie die Seite neu, um die neue Oberfläche zu sehen.",
|
||
"confirm_title": "Update anwenden",
|
||
"confirm_with_backup": "Vorab wird automatisch eine Sicherung erstellt.",
|
||
"confirm_no_backup": "Es wird keine Sicherung erstellt (Fortfahren auf eigenes Risiko).",
|
||
"channel_title": "Update-Kanal",
|
||
"channel_desc": "Wählen Sie, wo das Panel Updates prüft. Produktionsserver sollten Stable nutzen.",
|
||
"channel_stable": "Stabil (main)",
|
||
"channel_development": "Entwicklung (dev)",
|
||
"channel_pick_label": "Wechseln zu",
|
||
"channel_apply_hint": "Nach Bestätigung wird sofort gespeichert. Dann „Auf Updates prüfen“ klicken.",
|
||
"channel_branch_label": "GitHub-Branch",
|
||
"channel_save": "Kanal wechseln",
|
||
"channel_saved": "Kanal gewechselt. Klicken Sie auf Auf Updates prüfen.",
|
||
"channel_save_failed": "Update-Kanal konnte nicht gespeichert werden",
|
||
"channel_docker_blocked": "Les déploiements image Docker ne peuvent pas changer de canal depuis le panneau. Définissez BETTERDESK_IMAGE_TAG=latest (stable) ou BETTERDESK_IMAGE_TAG=dev (development), puis exécutez : docker compose pull && docker compose up -d.",
|
||
"channel_docker_note": "Le canal de mise à jour du panneau ne s’applique qu’aux installations natives. Pour les images GHCR, changez BETTERDESK_IMAGE_TAG et recréez les conteneurs.",
|
||
"channel_switch_warning": "Ein Kanalwechsel ändert den GitHub-Branch für Prüfung und Installation. Die verfolgte Commit-SHA bleibt — der nächste Check kann eine große Differenz zeigen. Fortfahren?",
|
||
"channel_confirm_switch": "Update-Quelle von {from} auf {to} wechseln? Installierter Commit bleibt bis „Auf Updates prüfen“.",
|
||
"more_options": "Plus d'options",
|
||
"option_advanced": "Options avancées",
|
||
"option_advanced_desc": "Rétention des sauvegardes, déploiement Docker, reconstruction du serveur et stratégie de mise à jour"
|
||
},
|
||
"accessibility": {
|
||
"title": "Barrierefreiheit",
|
||
"subtitle": "Passen Sie die Konsole an Sehen, Bewegung und Lesen an.",
|
||
"close": "Menü Barrierefreiheit schließen",
|
||
"profiles": "Schnellprofile",
|
||
"profile_low_vision": "Low vision",
|
||
"profile_low_vision_hint": "Größerer Text, hoher Kontrast und sichtbarer Fokus.",
|
||
"profile_dyslexia": "Lesekomfort",
|
||
"profile_dyslexia_hint": "Lesbare Schrift und größerer Abstand.",
|
||
"profile_motion_safe": "Motion safe",
|
||
"profile_motion_safe_hint": "Reduziert Übergänge und pausiert Animationen.",
|
||
"profile_color_assist": "Farbunterstützung",
|
||
"profile_color_assist_hint": "Farbfilter, Beschriftungen und hervorgehobene Links.",
|
||
"reading": "Lesen",
|
||
"font_size": "Schriftgröße",
|
||
"line_height": "Zeilenhöhe",
|
||
"letter_spacing": "Buchstabenabstand",
|
||
"word_spacing": "Wortabstand",
|
||
"readable_font": "Lesbare Schrift",
|
||
"readable_font_hint": "Verwendet breite, vertraute Buchstabenformen.",
|
||
"dyslexia_spacing": "Abstand für Dyslexie",
|
||
"dyslexia_spacing_hint": "Fügt längeren Texten zusätzlichen Abstand hinzu.",
|
||
"visual": "Visuell",
|
||
"contrast": "Kontrast",
|
||
"contrast_normal": "Normal",
|
||
"contrast_high_dark": "Hoher Kontrast dunkel",
|
||
"contrast_high_light": "Hoher Kontrast hell",
|
||
"contrast_yellow_black": "Gelb auf Schwarz",
|
||
"color_filter": "Farbsehfilter",
|
||
"filter_none": "None",
|
||
"filter_protanopia": "Protanopia",
|
||
"filter_deuteranopia": "Deuteranopia",
|
||
"filter_tritanopia": "Tritanopia",
|
||
"filter_achromatopsia": "Achromatopsia",
|
||
"saturation": "Farbsättigung",
|
||
"underline_links": "Links unterstreichen",
|
||
"underline_links_hint": "Macht Links sichtbar, ohne sich auf Farbe zu verlassen.",
|
||
"highlight_links": "Aktionen hervorheben",
|
||
"highlight_links_hint": "Zeichnet eine Kontur um Links und Schaltflächen.",
|
||
"highlight_headings": "Überschriften hervorheben",
|
||
"highlight_headings_hint": "Markiert Abschnittsüberschriften mit einer Farbleiste.",
|
||
"hide_media": "Dim media",
|
||
"hide_media_hint": "Dimmt Bilder, Videos und Canvas-Flächen.",
|
||
"interaction": "Interaktion",
|
||
"strong_focus": "Starker Fokus",
|
||
"strong_focus_hint": "Zeigt eine breite Tastaturfokus-Kontur.",
|
||
"large_cursor": "Großer Cursor",
|
||
"large_cursor_hint": "Verwendet einen größeren Zeiger mit hohem Kontrast.",
|
||
"reduce_motion": "Bewegung reduzieren",
|
||
"reduce_motion_hint": "Verkürzt Übergänge und sanftes Scrollen.",
|
||
"pause_animations": "Animationen pausieren",
|
||
"pause_animations_hint": "Stoppt wiederholte visuelle Bewegungen.",
|
||
"reading_guide": "Lesehilfe",
|
||
"reading_guide_hint": "Folgt dem Zeiger mit einer hellen Linie.",
|
||
"reading_mask": "Lesemaske",
|
||
"reading_mask_hint": "Verdunkelt Inhalte oberhalb und unterhalb des Zeigers.",
|
||
"preview": "Vorschau",
|
||
"preview_title": "Vorschau des Operator-Arbeitsbereichs",
|
||
"preview_text": "Prüfen Sie, ob Text, Links, Steuerelemente und Statusbeschriftungen gut lesbar sind, bevor Sie dieses Menü schließen.",
|
||
"preview_link": "Link zu Gerätedetails",
|
||
"preview_status": "Online",
|
||
"preview_button": "Hauptaktion",
|
||
"preview_secondary": "Secondary",
|
||
"reset": "Zurücksetzen",
|
||
"done": "Fertig"
|
||
},
|
||
"server_mgmt": {
|
||
"title": "Server-Verwaltung",
|
||
"subtitle": "Cockpit-ähnliche Steuerung für den BetterDesk-Konsolen-Host (BETA).",
|
||
"beta_tooltip": "Beta-Funktion — in aktiver Entwicklung.",
|
||
"notice_title": "Beta-Funktion",
|
||
"notice_body": "Diese Werkzeuge laufen auf dem Host, auf dem der BetterDesk-Konsolenprozess ausgeführt wird. Alle Operationen werden auditiert.",
|
||
"tab_overview": "Übersicht",
|
||
"tab_terminal": "Terminal",
|
||
"tab_files": "Dateien",
|
||
"tab_services": "Dienste",
|
||
"cpu": "CPU",
|
||
"memory": "Speicher",
|
||
"load": "Last (Durchschnitt)",
|
||
"disks": "Festplatten",
|
||
"history": "Verlauf (letzte 60 Werte)",
|
||
"host_info": "Host-Info",
|
||
"cores": "Kerne",
|
||
"uptime": "Laufzeit",
|
||
"no_disks": "Keine Datenträgerdaten verfügbar",
|
||
"info_hostname": "Hostname",
|
||
"info_platform": "Platform",
|
||
"info_kernel": "Kernel",
|
||
"info_node": "Node.js",
|
||
"info_process_id": "Process ID",
|
||
"info_pty_available": "PTY verfügbar",
|
||
"term_connect": "Verbinden",
|
||
"term_disconnect": "Trennen",
|
||
"term_clear": "Löschen",
|
||
"term_status": "Status",
|
||
"term_connecting": "Verbinden…",
|
||
"term_connected": "Verbunden",
|
||
"term_disconnected": "Getrennt",
|
||
"term_error": "Verbindungsfehler",
|
||
"term_warning": "Befehle werden als Konsolen-Prozessbenutzer ausgeführt. Sudoers-Regel hinzufügen für Erhöhung.",
|
||
"term_hint": "Tipp: Geben Sie `sudo -i` ein, um Root-Rechte zu erhalten (sudoers-Konfiguration erforderlich).",
|
||
"term_lib_failed": "Terminalbibliothek konnte nicht geladen werden",
|
||
"files_up": "Eine Ebene höher",
|
||
"files_go": "Go",
|
||
"files_mkdir": "New folder",
|
||
"files_name": "Name",
|
||
"files_size": "Größe",
|
||
"files_perms": "Modus",
|
||
"files_mtime": "Geändert",
|
||
"files_rename": "Umbenennen",
|
||
"files_rename_prompt": "New name:",
|
||
"files_empty": "Leeres Verzeichnis",
|
||
"files_error": "Verzeichnis konnte nicht aufgelistet werden",
|
||
"read_failed": "Datei konnte nicht gelesen werden",
|
||
"save_failed": "Datei konnte nicht gespeichert werden",
|
||
"rename_failed": "Umbenennen fehlgeschlagen",
|
||
"delete_failed": "Löschen fehlgeschlagen",
|
||
"delete_confirm": "Diesen Eintrag löschen?",
|
||
"mkdir_prompt": "Name des neuen Ordners:",
|
||
"mkdir_failed": "Ordner konnte nicht erstellt werden",
|
||
"file_saved": "Datei gespeichert",
|
||
"binary_warn": "Binärdatei — nur Vorschau",
|
||
"encoding_utf8": "UTF-8 text",
|
||
"truncated": "truncated",
|
||
"full": "full",
|
||
"svc_search_placeholder": "Dienste suchen...",
|
||
"svc_name": "Dienst",
|
||
"svc_state": "Status",
|
||
"svc_description": "Beschreibung",
|
||
"svc_empty": "Keine Dienste gefunden",
|
||
"svc_load_failed": "Dienste konnten nicht geladen werden",
|
||
"svc_action_failed": "Aktion fehlgeschlagen",
|
||
"svc_confirm": "Run",
|
||
"svc_start": "Start",
|
||
"svc_stop": "Stopp",
|
||
"svc_restart": "Neustart",
|
||
"svc_reload": "Neu laden",
|
||
"svc_enable": "Aktivieren",
|
||
"svc_disable": "Deaktivieren",
|
||
"svc_status": "Status"
|
||
},
|
||
"server_attestation": {
|
||
"title": "Server-Attestierung",
|
||
"subtitle": "Leistungs-Benchmark zur Bestimmung der gleichzeitigen Fernverbindungskapazität bei einem 80%-CPU-, RAM- und Festplatten-Schwellenwert.",
|
||
"warning_title": "Lasttest",
|
||
"warning_body": "Der Benchmark simuliert parallele WebSocket-Verbindungen zu den Signal- und Relay-Servern. Außerhalb der Stoßzeiten ausführen — dieser Test belastet die Produktion.",
|
||
"run_benchmark": "Benchmark ausführen",
|
||
"abort": "Abbrechen",
|
||
"download_report": "JSON-Bericht herunterladen",
|
||
"last_test": "Letzter Test",
|
||
"no_test_yet": "Es wurde noch kein Benchmark ausgeführt",
|
||
"max_connections": "Maximale Verbindungen",
|
||
"threshold_80": "80%-Schwellenwert — endgültige Metriken",
|
||
"disk": "Festplatte",
|
||
"ramp_chart": "Last-Rampen-Diagramm",
|
||
"connections": "Verbindungen",
|
||
"connections_short": "Verb.",
|
||
"tier_guide_title": "Was bedeutet jede Stufe?",
|
||
"tier_bronze": "BRONZE",
|
||
"tier_iron": "IRON",
|
||
"tier_titanium": "TITANIUM",
|
||
"tier_platinum": "PLATINUM",
|
||
"tier_obsidian": "OBSIDIAN",
|
||
"tier_none": "UNBEWERTET",
|
||
"tier_bronze_desc": "1–25 gleichzeitige Verbindungen — kleiner VPS (1–2 vCPU, 2–4 GB RAM).",
|
||
"tier_iron_desc": "26–75 Verbindungen — mittlerer Server (2–4 vCPU, 4–8 GB RAM).",
|
||
"tier_platinum_desc": "76–200 Verbindungen — Hochleistungsserver (4–8 vCPU, 8–16 GB RAM).",
|
||
"tier_titanium_desc": "201–400 Verbindungen — Enterprise-Infrastruktur (8+ vCPU, 16–32 GB RAM).",
|
||
"tier_obsidian_desc": "401+ Verbindungen — Turbo-Klasse: dedizierte Hardware, 16+ vCPU, 32+ GB RAM, NVMe.",
|
||
"docker_note": "Hinweis: In Docker können CPU/RAM-Metriken Containergrenzen anstatt des physischen Hosts widerspiegeln.",
|
||
"badge_tooltip": "BetterDesk Server-Attestierung — Server-Leistungszertifizierung",
|
||
"confirm_run": "Dieser Benchmark führt einen Lasttest des Servers mit simulierten Verbindungen durch. Fortfahren?",
|
||
"starting": "Wird gestartet…",
|
||
"complete": "Benchmark abgeschlossen",
|
||
"signal_peers": "Signal-Peers",
|
||
"relay_sessions": "Relay-Sitzungen",
|
||
"page_error": "Fehler beim Laden der Server-Attestierungsseite",
|
||
"mode_estimated": "Geschätzt (WebSocket nicht erreichbar)",
|
||
"incomplete": "Benchmark abgeschlossen ohne gültige Einstufung"
|
||
},
|
||
"commercialization": {
|
||
"title": "Kommerzialisierung",
|
||
"subtitle": "Support-Pakete, abrechenbare Sitzungen und Arbeitsberichte",
|
||
"alpha_badge": "ALPHA",
|
||
"alpha_tooltip": "Frühe Funktion — Abrechnung und Pakete befinden sich in aktiver Entwicklung.",
|
||
"tabs": {
|
||
"overview": "Übersicht",
|
||
"packages": "Pakete & Verträge",
|
||
"sessions": "Sitzungen",
|
||
"reports": "Berichte",
|
||
"settings": "Erweiterte Einstellungen"
|
||
},
|
||
"clock": {
|
||
"title": "Serverzeit (NTP)",
|
||
"check_now": "Jetzt prüfen",
|
||
"unsynced": "Serveruhr nicht synchronisiert — abrechenbare Sitzungen können blockiert werden",
|
||
"synced_detail": "Horloge synchronisée pour la facturation",
|
||
"ntp_servers": "Serveurs NTP",
|
||
"ntp_servers_hint": "Noms d'hôte ou IP séparés par des virgules. Appliqué au serveur Go (betterdesk-server).",
|
||
"max_skew_ms": "Décalage horaire max. (ms)",
|
||
"require_sync": "Exiger une horloge synchronisée pour les sessions facturables",
|
||
"trust_os": "Faire confiance au NTP OS si les requêtes directes échouent",
|
||
"trust_os_hint": "Utiliser l'état systemd-timesyncd/chrony quand l'UDP NTP est bloqué (DMZ/pare-feu).",
|
||
"save": "Enregistrer les paramètres NTP",
|
||
"saved": "Paramètres d'horloge enregistrés. Redémarrage du serveur Go lancé.",
|
||
"save_restart": "Enregistrer le NTP et redémarrer le serveur Go ? Les sessions actives peuvent se déconnecter brièvement.",
|
||
"status_offset": "Décalage",
|
||
"status_server": "Source NTP",
|
||
"status_os": "Horloge OS synchronisée",
|
||
"status_error": "Dernière erreur",
|
||
"os_yes": "Oui",
|
||
"os_no": "Non",
|
||
"checked": "Clock check completed"
|
||
},
|
||
"stats": {
|
||
"active_sessions": "Aktive abrechenbare Sitzungen",
|
||
"expiring_contracts": "Contracts expiring (30 days)",
|
||
"expiring_hint": "Active assignments with end date within 30 days"
|
||
},
|
||
"packages": {
|
||
"new": "Neues Paket",
|
||
"name": "Name",
|
||
"included_minutes": "Enthaltene Minuten",
|
||
"overage_rate": "Überziehungssatz / h",
|
||
"currency": "Währung",
|
||
"heading": "Support-Pakete",
|
||
"prompt_name": "Paketname",
|
||
"create_title": "Neues Paket für Organisation",
|
||
"create_submit": "Paket erstellen",
|
||
"select_org": "Organisation",
|
||
"select_org_placeholder": "Organisation wählen…",
|
||
"description": "Description",
|
||
"edit_title": "Edit package",
|
||
"created": "Package created",
|
||
"updated": "Package updated",
|
||
"deleted": "Package deleted",
|
||
"delete_confirm": "Delete this package? Assignments using it must be removed first."
|
||
},
|
||
"sessions": {
|
||
"device": "Gerät",
|
||
"operator": "Operator",
|
||
"duration": "Dauer",
|
||
"phase": "Phase",
|
||
"amount": "Betrag",
|
||
"org": "Organization"
|
||
},
|
||
"reports": {
|
||
"session": "Sitzung",
|
||
"summary": "Zusammenfassung",
|
||
"date": "Datum"
|
||
},
|
||
"contracts": {
|
||
"title": "Organisationsverträge",
|
||
"new": "Paket zuweisen",
|
||
"org": "Organisation",
|
||
"package": "Paket",
|
||
"remaining": "Verbleibende Minuten",
|
||
"status": "Status",
|
||
"actions": "Aktionen",
|
||
"suspend": "Aussetzen",
|
||
"activate": "Aktivieren",
|
||
"select_org": "Organisation wählen",
|
||
"select_package": "Paket wählen",
|
||
"no_orgs": "Keine Organisationen gefunden",
|
||
"no_packages": "Erstellen Sie zuerst ein Paket",
|
||
"assignments_title": "Package assignments",
|
||
"target": "Target",
|
||
"hourly_rate": "Hourly rate",
|
||
"custom_overage": "Custom overage rate / h",
|
||
"validity": "Validity",
|
||
"valid_from": "Valid from",
|
||
"valid_until": "Valid until",
|
||
"edit_title": "Edit assignment",
|
||
"updated": "Assignment updated",
|
||
"deleted": "Assignment removed",
|
||
"delete_confirm": "Remove this package assignment?"
|
||
},
|
||
"assign": {
|
||
"title": "Vorhandenes Paket zuweisen",
|
||
"submit": "Zuweisen",
|
||
"target_type": "Target type",
|
||
"target": "Target",
|
||
"select_target": "Select target…",
|
||
"missing_fields": "Select target and package",
|
||
"optional": "Optional",
|
||
"success": "Package assigned"
|
||
},
|
||
"form": {
|
||
"cancel": "Abbrechen"
|
||
},
|
||
"export": {
|
||
"csv": "CSV exportieren",
|
||
"pdf": "PDF exportieren",
|
||
"sessions_csv": "Sitzungen als CSV exportieren"
|
||
},
|
||
"empty": {
|
||
"packages": "Noch keine Pakete. Erstellen Sie eines mit der Schaltfläche oben.",
|
||
"contracts": "Noch keine Organisationsverträge. Weisen Sie einer Organisation ein Paket zu.",
|
||
"sessions": "Noch keine abrechenbaren Sitzungen erfasst.",
|
||
"reports": "Noch keine Arbeitsberichte eingereicht."
|
||
},
|
||
"report": {
|
||
"title": "Arbeitsbericht",
|
||
"subtitle": "Beschreiben Sie die während dieser Fernsitzung durchgeführte Arbeit.",
|
||
"category": "Kategorie",
|
||
"ticket_ref": "Ticket-Referenz",
|
||
"summary": "Durchgeführte Arbeit",
|
||
"skip": "Vorerst überspringen",
|
||
"submit": "Bericht senden",
|
||
"summary_required": "Zusammenfassung ist erforderlich",
|
||
"saved": "Arbeitsbericht gespeichert"
|
||
},
|
||
"notifications": {
|
||
"title": "Notifications e-mail",
|
||
"desc": "Notifier les opérateurs par e-mail lorsque des appareils de leurs dossiers ou groupes demandent de l'aide.",
|
||
"smtp_status": "État SMTP",
|
||
"smtp_configured": "SMTP est configuré",
|
||
"smtp_missing": "SMTP n'est pas configuré — configurez-le dans Paramètres → E-mail",
|
||
"smtp_link": "Ouvrir les paramètres SMTP",
|
||
"help_requests_enabled": "Envoyer un e-mail pour les nouvelles demandes d'aide",
|
||
"notify_assigned_operators": "Notifier les opérateurs assignés au dossier ou groupe de l'appareil",
|
||
"fallback_alert_email": "Utiliser l'e-mail d'alerte si aucune adresse opérateur n'est disponible",
|
||
"include_folder_in_subject": "Inclure le nom du dossier dans l'objet de l'e-mail",
|
||
"save": "Enregistrer les paramètres de notification",
|
||
"saved": "Paramètres de notification enregistrés"
|
||
},
|
||
"targets": {
|
||
"org": "Organization",
|
||
"device_group": "Device group",
|
||
"folder": "Folder",
|
||
"device": "Device"
|
||
},
|
||
"actions": {
|
||
"edit": "Edit",
|
||
"delete": "Delete",
|
||
"save": "Save",
|
||
"refresh": "Refresh"
|
||
},
|
||
"filters": {
|
||
"target_type": "Target type",
|
||
"all_types": "All types",
|
||
"all_statuses": "All statuses",
|
||
"all_orgs": "All organizations",
|
||
"organization": "Organization",
|
||
"search": "Search",
|
||
"search_placeholder": "Name or package…",
|
||
"device_id_placeholder": "Device ID"
|
||
},
|
||
"status": {
|
||
"active": "Active",
|
||
"suspended": "Suspended",
|
||
"pending_report": "Pending report",
|
||
"closed": "Closed"
|
||
}
|
||
},
|
||
"remote_dashboard": {
|
||
"title": "Client Bureau à distance",
|
||
"subtitle": "Connectez-vous à vos appareils depuis le navigateur",
|
||
"search_placeholder": "Rechercher par ID, nom d'hôte ou note…",
|
||
"filter_all": "Tous",
|
||
"filter_online": "En ligne",
|
||
"filter_offline": "Hors ligne",
|
||
"col_id": "ID appareil",
|
||
"col_hostname": "Nom d'hôte",
|
||
"col_platform": "Plateforme",
|
||
"col_status": "Statut",
|
||
"col_last_seen": "Dernière activité",
|
||
"connect": "Connecter",
|
||
"empty": "Aucun appareil ne correspond aux filtres",
|
||
"loading": "Chargement des appareils…",
|
||
"error_load": "Échec du chargement des appareils",
|
||
"open_panel": "Ouvrir la console",
|
||
"devices_count": "{count} appareils",
|
||
"retry": "Réessayer",
|
||
"nav_address_book": "Carnet d'adresses",
|
||
"nav_folders": "Dossiers",
|
||
"nav_groups": "Groupes",
|
||
"nav_tags": "Tags",
|
||
"quick_connect": "Contrôler le bureau à distance",
|
||
"quick_connect_placeholder": "Saisir l'ID distant…",
|
||
"view_grid": "Vue grille",
|
||
"view_list": "Vue liste",
|
||
"sync_now": "Actualiser",
|
||
"last_sync": "Mis à jour",
|
||
"status_ready": "Prêt",
|
||
"sync_error": "Erreur de synchronisation",
|
||
"unassigned": "Non assigné",
|
||
"no_groups": "Aucun groupe",
|
||
"no_tags": "Aucun tag",
|
||
"collapse_devices": "Réduire la liste des appareils",
|
||
"expand_devices": "Développer la liste des appareils",
|
||
"open_settings": "Paramètres"
|
||
},
|
||
"rdclient_login": {
|
||
"title": "Client Bureau à distance",
|
||
"subtitle": "Connectez-vous pour accéder à vos appareils",
|
||
"username_placeholder": "Nom d'utilisateur",
|
||
"password_placeholder": "Mot de passe",
|
||
"remember_me": "Se souvenir de moi sur cet appareil",
|
||
"sign_in": "Se connecter",
|
||
"totp_title": "Authentification à deux facteurs",
|
||
"totp_subtitle": "Entrez le code à 6 chiffres de votre application d'authentification",
|
||
"verify": "Vérifier",
|
||
"back_to_login": "Retour à la connexion",
|
||
"open_console_login": "Ouvrir la connexion console",
|
||
"session_expired": "Session expirée. Veuillez vous reconnecter.",
|
||
"fill_all_fields": "Veuillez remplir tous les champs",
|
||
"invalid_credentials": "Identifiants invalides",
|
||
"network_error": "Erreur réseau",
|
||
"enter_6_digits": "Entrez les 6 chiffres",
|
||
"invalid_code": "Code invalide"
|
||
},
|
||
"rdclient_settings": {
|
||
"title": "Paramètres RdClient",
|
||
"open": "Paramètres",
|
||
"server_url": "URL du panel",
|
||
"tls_strict": "TLS strict",
|
||
"sign_out": "Se déconnecter",
|
||
"reset_client": "Réinitialiser le client",
|
||
"discovery_refresh": "Actualiser",
|
||
"discovery_empty": "Aucun serveur trouvé sur le réseau local"
|
||
},
|
||
"mobile_nav": {
|
||
"label": "Navigation principale",
|
||
"home": "Accueil",
|
||
"devices": "Appareils",
|
||
"remote": "Remote",
|
||
"chat": "Chat",
|
||
"more": "Plus"
|
||
},
|
||
"mesh": {
|
||
"settings_title": "MeshCentral Compatibility",
|
||
"enabled": "MeshCentral layer enabled",
|
||
"disabled": "MeshCentral layer disabled",
|
||
"server_id": "Server ID (for .msh)",
|
||
"download_msh": "Download MeshAgent .msh",
|
||
"agents_online": "Mesh agents online",
|
||
"device_type": "Mesh Agent",
|
||
"transport_mesh": "MeshCentral KVM",
|
||
"linked_peer": "Linked device",
|
||
"link_peer": "Link to RustDesk/CDAP peer on same host",
|
||
"onboarding_title": "MeshAgent onboarding",
|
||
"onboarding_body": "Download the .msh file, install MeshAgent on endpoints, and devices appear as mesh_agent in the device list.",
|
||
"run_command": "Exécuter une commande",
|
||
"terminal": "Terminal",
|
||
"files": "Explorateur de fichiers",
|
||
"run_command_title": "Exécuter une commande sur l'appareil",
|
||
"command_placeholder": "Commande à exécuter",
|
||
"command_sent": "Commande envoyée à l'agent",
|
||
"command_failed": "Échec de l'envoi",
|
||
"run_as_shell": "Exécuter dans le shell",
|
||
"terminal_title": "Terminal distant",
|
||
"terminal_unavailable": "Module terminal non chargé",
|
||
"link_peer_title": "Lier l'agent Mesh au pair",
|
||
"link_peer_hint": "ID RustDesk ou CDAP sur le même hôte. Vide pour dissocier.",
|
||
"link_saved": "Lien mis à jour",
|
||
"transport_terminal": "Terminal Mesh",
|
||
"transport_files": "Fichiers Mesh",
|
||
"settings_desc": "Intégration MeshAgent et ID serveur pour les fichiers .msh.",
|
||
"mesh_name": "Nom du groupe Mesh (.msh)",
|
||
"copy_server_id": "Copier l’ID serveur",
|
||
"copy_server_id_ok": "ID serveur copié",
|
||
"enabled_label": "Activé",
|
||
"disabled_label": "Désactivé",
|
||
"share_link": "Lien bureau invité",
|
||
"share_link_title": "Créer un lien bureau invité",
|
||
"share_link_hint": "Lien en lecture seule limité dans le temps. Les destinataires peuvent ouvrir le bureau distant sans compte panneau.",
|
||
"share_ttl": "Valide pour (minutes)",
|
||
"share_url": "URL de partage",
|
||
"share_create": "Créer le lien",
|
||
"share_created": "Lien invité créé",
|
||
"port_tcp": "Relais de port TCP",
|
||
"port_forward_title": "Relais TCP via MeshAgent",
|
||
"port_connect": "Connecter",
|
||
"port_connected": "Relais prêt",
|
||
"port_connecting": "Connexion…",
|
||
"port_closed": "Déconnecté",
|
||
"port_error": "Erreur WebSocket",
|
||
"port_invalid": "Port invalide",
|
||
"port_send": "Envoyer",
|
||
"port_send_placeholder": "Envoyer du texte au port distant…",
|
||
"port_unavailable": "Module de relais de port non chargé",
|
||
"power_sleep": "Veille",
|
||
"power_reset": "Réinitialiser",
|
||
"power_confirm": "Envoyer action d’alimentation",
|
||
"power_sent": "Commande d’alimentation envoyée",
|
||
"power_wake": "Wake",
|
||
"power_off": "Power off",
|
||
"filter_mesh": "Mesh agents",
|
||
"port_udp": "UDP port relay",
|
||
"groups_title": "Mesh groups",
|
||
"group_id_placeholder": "Group ID",
|
||
"group_name_placeholder": "Display name",
|
||
"group_add": "Add group",
|
||
"groups_save": "Save groups",
|
||
"groups_empty": "No mesh groups yet.",
|
||
"groups_load_error": "Could not load mesh groups.",
|
||
"groups_saved": "Mesh groups saved",
|
||
"groups_save_error": "Failed to save mesh groups",
|
||
"recordings_title": "Session recordings (server)",
|
||
"recordings_desc": "Mesh desktop sessions captured on the server (.mcrec). CDAP/RustDesk browser recordings stay local unless exported.",
|
||
"recordings_empty": "No server recordings yet.",
|
||
"recordings_load_error": "Could not load recordings.",
|
||
"recording_download": "Download",
|
||
"recording_server_on": "Server recording enabled — reconnecting…",
|
||
"recording_server_off": "Server recording disabled — reconnecting…",
|
||
"cert_missing": "Agent-server certificate not found. Back up mesh_agent_server.pem after agents connect.",
|
||
"cert_ok": "Agent-server certificate present",
|
||
"onboarding_step_msh": "Download the .msh file and set the mesh group name.",
|
||
"onboarding_step_install": "Install unmodified MeshAgent on endpoints using the .msh file.",
|
||
"onboarding_step_verify": "Confirm devices appear as mesh_agent and show online."
|
||
},
|
||
"guest_access": {
|
||
"title": "Remote invité",
|
||
"subtitle": "Accès temporaire — uniquement les appareils partagés",
|
||
"menu": "Lien d'accès invité",
|
||
"create_title": "Créer un lien d'accès invité",
|
||
"create_hint": "Lien RdClient à durée limitée. Le destinataire ne peut se connecter qu’aux appareils sélectionnés — sans compte Console ni inventaire complet.",
|
||
"devices": "Appareils",
|
||
"ttl": "Valide pendant (minutes)",
|
||
"label": "Libellé (optionnel)",
|
||
"view_only": "Lecture seule",
|
||
"url": "URL de partage",
|
||
"create": "Créer le lien",
|
||
"created": "Lien invité créé",
|
||
"invalid_title": "Lien invité invalide",
|
||
"missing_token": "Ce lien invité n’a pas de jeton.",
|
||
"expired": "Ce lien invité est invalide ou expiré.",
|
||
"device_denied": "Ce lien invité est invalide, expiré ou n’autorise pas cet appareil.",
|
||
"empty": "Aucun appareil sur ce lien invité.",
|
||
"expires": "Expire",
|
||
"back_to_list": "Retour à la liste invitée"
|
||
},
|
||
"ux35": {
|
||
"resize_sidebar": "Redimensionner la barre latérale",
|
||
"open_menu": "Ouvrir le menu",
|
||
"theme_mode_hint": "Clair et Sombre sont intégrés. Personnalisé s’active lorsque vous modifiez les couleurs ci-dessous.",
|
||
"switch_to_ux35": "Passer à UX 3.5 (Bêta)",
|
||
"switch_to_classic": "Passer à l’interface classique",
|
||
"beta_badge": "BÊTA",
|
||
"beta_tooltip": "Disposition console en bêta — optionnelle ; l’interface classique reste la valeur par défaut."
|
||
}
|
||
}
|