From 1e6bd6f516426cd4fca98d276ebfa443b6302e17 Mon Sep 17 00:00:00 2001 From: billz Date: Wed, 22 Oct 2025 04:56:47 -0700 Subject: [PATCH 1/3] Update fr_FR locale messages --- locale/fr_FR/LC_MESSAGES/messages.mo | Bin 40955 -> 90387 bytes locale/fr_FR/LC_MESSAGES/messages.po | 1166 +++++++++++++++++++++----- 2 files changed, 977 insertions(+), 189 deletions(-) diff --git a/locale/fr_FR/LC_MESSAGES/messages.mo b/locale/fr_FR/LC_MESSAGES/messages.mo index 54a21a73a79180cf16d5e3f065b038450c190658..82bd7d966d3b1c6fb75e62f8bec9d728235c8e75 100644 GIT binary patch literal 90387 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 delta 12897 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 diff --git a/locale/fr_FR/LC_MESSAGES/messages.po b/locale/fr_FR/LC_MESSAGES/messages.po index fd28bf9d..a107f9d3 100644 --- a/locale/fr_FR/LC_MESSAGES/messages.po +++ b/locale/fr_FR/LC_MESSAGES/messages.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: raspap\n" "Report-Msgid-Bugs-To: Bill Zimmerman \n" "POT-Creation-Date: 2017-10-19 08:56+0000\n" -"PO-Revision-Date: 2024-09-27 06:53\n" +"PO-Revision-Date: 2025-10-22 06:44\n" "Last-Translator: Bill Zimmerman \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -24,8 +24,8 @@ msgstr "RaspAP Configuration de Portail Wifi" msgid "Toggle navigation" msgstr "Basculer la navigation" -msgid "RaspAP Wifi Portal" -msgstr "RaspAP Portail Wifi" +msgid "RaspAP Admin Panel" +msgstr "Panneau d'administration RaspAP" msgid "Dashboard" msgstr "Tableau de bord" @@ -37,7 +37,7 @@ msgid "Hotspot" msgstr "Hotspot" msgid "Mem Use" -msgstr "Utilisation de la mémoire" +msgstr "Mémoire" msgid "CPU" msgstr "Processeur" @@ -57,9 +57,6 @@ msgstr "Proxy TOR" msgid "Authentication" msgstr "Authentification" -msgid "Change Theme" -msgstr "Change Thème" - msgid "System" msgstr "Système" @@ -100,6 +97,9 @@ msgstr "Répéter le nouveau mot de passe" msgid "Please provide a valid username." msgstr "Veuillez saisir un nom d'utilisateur valide." +msgid "Please provide a valid password." +msgstr "Veuillez fournir un mot de passe valide." + msgid "Please enter your old password." msgstr "Veuillez saisir votre ancien mot de passe." @@ -110,16 +110,52 @@ msgid "Please re-enter your new password." msgstr "Veuillez ressaisir votre mot de passe." msgid "Avatar" -msgstr "" +msgstr "Avatar" msgid "Click or tap to upload a new user avatar." -msgstr "" +msgstr "Cliquez ou appuyez pour télécharger un nouvel avatar d'utilisateur." msgid "Image files of type JPG, GIF or PNG are accepted. Max file size: 2 MB." -msgstr "" +msgstr "Les fichiers image de type JPG, GIF ou PNG sont acceptés. Taille maximale du fichier : 2 Mo." msgid "Reset avatar" -msgstr "" +msgstr "Réinitialiser l'avatar" + +msgid "Enable limited privilege user" +msgstr "Activer l'utilisateur à privilèges limités" + +msgid "This option enables a non-admin user who can access RaspAP's management interface, but has limited ability to modify the existing configuration. This user becomes active when the current admin user is logged-out." +msgstr "Cette option active un utilisateur non-administrateur qui peut accéder à l'interface de gestion de RaspAP, mais a une capacité limitée à modifier la configuration existante. Cet utilisateur devient actif lorsque l'utilisateur administrateur actuel est déconnecté." + +msgid "Admin login failed. Please try again." +msgstr "Échec de la connexion administrateur. Veuillez réessayer." + +msgid "Limited privilege user mode enabled" +msgstr "Mode utilisateur à privilèges limités activé" + +msgid "Failed to enable limited privilege user mode" +msgstr "Échec de l'activation du mode utilisateur à privilèges limités" + +msgid "Logout and enable limited user mode" +msgstr "Se déconnecter et activer le mode utilisateur limité" + +msgid "Limited user login" +msgstr "Connexion utilisateur limité" + +msgid "Limited user password" +msgstr "Mot de passe utilisateur limité" + +msgid "This action will save the limited user's credentials and logout the current admin user. Save and enable limited privilege mode?" +msgstr "Cette action enregistrera les identifiants de l'utilisateur limité et déconnectera l'utilisateur administrateur actuel. Enregistrer et activer le mode à privilèges limités ?" + +msgid "Save and logout" +msgstr "Enregistrer et se déconnecter" + +msgid "Admin credentials updated successfully" +msgstr "Identifiants administrateur mis à jour avec succès" + +msgid "Limited user credentials updated successfully" +msgstr "Identifiants utilisateur limité mis à jour avec succès" #: includes/configure_client.php msgid "Client settings" @@ -186,7 +222,7 @@ msgid "No Wifi stations found" msgstr "Aucune station Wi-Fi trouvée" msgid "Reinitialized wpa_supplicant. Choose Rescan." -msgstr "" +msgstr "wpa_supplicant réinitialisé. Choisissez Actualiser." msgid "Click 'Rescan' to search for nearby Wifi stations." msgstr "Cliquez sur « Re-scanner » pour rechercher les stations Wifi à proximité." @@ -255,8 +291,8 @@ msgstr "Fréquence" msgid "Link Quality" msgstr "Qualité de lien" -msgid "Information provided by ip and iw and from system" -msgstr "Informations fournies par ip et iw, et par le system" +msgid "Information provided by raspap.system" +msgstr "Informations fournies par raspap.system" msgid "No MAC Address Found" msgstr "Aucune adresse MAC trouvée" @@ -294,6 +330,9 @@ msgstr "Appareils connectés" msgid "Client: Ethernet cable" msgstr "Client : câble Ethernet" +msgid "Current status" +msgstr "État actuel" + msgid "Ethernet" msgstr "Ethernet" @@ -306,6 +345,44 @@ msgstr "Smartphone" msgid "WiFi" msgstr "Wi-Fi" +msgid "Repeater" +msgstr "Répéteur" + +msgid "Tethering" +msgstr "Partage" + +msgid "Cellular" +msgstr "Cellulaire" + +msgid "AP" +msgstr "AP" + +msgid "Bridged" +msgstr "Ponté" + +msgid "Adblock" +msgstr "Adblock" + +msgid "VPN" +msgstr "VPN" + +msgid "Netmask" +msgstr "Masque de réseau" + +msgid "5G" +msgstr "5G" + +msgid "2.4G" +msgstr "2,4G" + +msgid "%d WLAN %s" +msgstr "%d WLAN %s" + +msgid "client" +msgid_plural "clients" +msgstr[0] "client" +msgstr[1] "clients" + msgid "Mobile Data Client" msgstr "Client de données mobiles" @@ -336,9 +413,6 @@ msgstr "Qualité du signal" msgid "WAN IP" msgstr "IP WAN" -msgid "Web-GUI" -msgstr "Interface web" - msgid "Signal strength" msgstr "Intensité du signal" @@ -346,7 +420,20 @@ msgid "No Client device or not yet configured" msgstr "Aucun appareil client ou pas encore configuré" msgid "No Client device found" -msgstr "" +msgstr "Aucun appareil client trouvé" + +#: includes/footer.php +msgid "Created by the %s" +msgstr "Créé par %s" + +msgid "RaspAP Team" +msgstr "L'équipe RaspAP" + +msgid "Get Insiders" +msgstr "Obtenir Insiders" + +msgid "Thanks for being an Insider" +msgstr "Merci d'être un Insider" #: includes/dhcp.php msgid "DHCP server settings" @@ -487,17 +574,17 @@ msgstr "Les clients avec une adresse MAC identifiée peuvent toujours être allo msgid "This option adds dhcp-host entries to the dnsmasq configuration." msgstr "Cette option ajoute no-resolv à la configuration Dnsmasq." -msgid "This toggles the gateway/nogateway option for this interface in the DHCPCD configuration." -msgstr "Cela bascule l'option gateway/nogateway pour cette interface dans la configuration de DHCPCD." +msgid "This toggles the gateway/nogateway option for this interface in the dhcpcd.conf file." +msgstr "Ceci bascule l'option gateway/nogateway pour cette interface dans le fichier dhcpcd.conf." -msgid "This toggles the nohook wpa_supplicant option for this interface in the DHCPCD configuration." -msgstr "Ceci bascule l'option nohook wpa_supplicant pour cette interface dans la configuration de DHCPCD." +msgid "This toggles the nohook wpa_supplicant option for this interface in the dhcpcd.conf file." +msgstr "Ceci bascule l'option nohook wpa_supplicant pour cette interface dans le fichier dhcpcd.conf." msgid "Disable wpa_supplicant dhcp hook for this interface" -msgstr "" +msgstr "Désactiver le hook DHCP wpa_supplicant pour cette interface" msgid "If you manage wireless connections with wpa_supplicant itself, the hook may create unwanted connection events. This option disables the hook." -msgstr "" +msgstr "Si vous gérez les connexions sans fil avec wpa_supplicant lui-même, le hook peut créer des événements de connexion indésirables. Cette option désactive le hook." msgid "Please provide a valid IP Address." msgstr "Veuillez fournir une adresse IP valide." @@ -524,7 +611,7 @@ msgid "Invalid default gateway." msgstr "Passerelle par défaut invalide." msgid "Invalid DHCP range start." -msgstr "" +msgstr "Début de plage DHCP invalide." msgid "Invalid DHCP range end." msgstr "Fin de plage DHCP invalide." @@ -561,7 +648,7 @@ msgid "Encryption Type" msgstr "Type de chiffrement" msgid "Pre-shared key (PSK)" -msgstr "" +msgstr "Clé pré-partagée (PSK)" msgid "Advanced settings" msgstr "Réglages avancés" @@ -612,10 +699,10 @@ msgid "Configure settings in DHCP Server before starting AP." msgstr "Configurer les paramètres dans Serveur DHCP avant de démarrer le point d'accès." msgid "Wifi hotspot settings saved." -msgstr "" +msgstr "Paramètres du point d'accès WiFi enregistrés." msgid "Unable to save WiFi hotspot settings." -msgstr "" +msgstr "Impossible d'enregistrer les paramètres du point d'accès WiFi." msgid "Start hotspot" msgstr "Démarrer le point d'accès" @@ -639,7 +726,10 @@ msgid "Bridged AP mode" msgstr "Mode AP ponté" msgid "WiFi repeater mode" -msgstr "" +msgstr "Mode répéteur WiFi" + +msgid "Dual band AP mode" +msgstr "Mode point d'accès double bande" msgid "Hide SSID in broadcast" msgstr "Masquer le SSID en diffusion" @@ -678,37 +768,34 @@ msgid "dBm is a unit of level used to indicate that a power ratio is expressed i msgstr "dBm est une unité de mesure utilisée pour indiquer qu'un rapport de puissance est exprimé en décibels (dB) avec une référence à un milliwatt (mW). 30 dBm est égal à 1000 mW, tandis que 0 dBm équivaut à 1,25 mW." msgid "WPA and WPA2" -msgstr "" +msgstr "WPA et WPA2" msgid "WPA2 and WPA3-Personal (transitional mode)" -msgstr "" - -msgid "WPA3-Personal (required)" -msgstr "" +msgstr "WPA2 et WPA3-Personnel (mode transitionnel)" msgid "Enabled (for supported clients)" -msgstr "" +msgstr "Activé (pour les clients supportés)" msgid "Required (for supported clients)" -msgstr "" +msgstr "Requis (pour les clients supportés)" msgid "802.11w extends strong cryptographic protection to a select set of robust management frames, including Deauthentication, Disassociation and certain categories of Action Management frames. Collectively, this is known as Management Frame Protection (MFP)." -msgstr "" +msgstr "Le 802.11w étend une protection cryptographique forte à un ensemble sélectionné de trames de gestion robustes, y compris la désauthentification, la dissociation et certaines catégories de trames de gestion d'action. Collectivement, cela est connu sous le nom de Management Frame Protection (MFP)." msgid "Scan this QR code directly or %s %sprint a sign%s for your users." -msgstr "" +msgstr "Scannez ce code QR directement ou %s %simprimez un panneau%s pour vos utilisateurs." msgid "Printable Wi-Fi sign" -msgstr "" +msgstr "Panneau Wi-Fi imprimable" msgid "To connect with your phone or tablet, scan the QR code above with your camera app." -msgstr "" +msgstr "Pour vous connecter avec votre téléphone ou tablette, scannez le code QR ci-dessus avec votre application caméra." msgid "For other devices, use the login credentials below." -msgstr "" +msgstr "Pour les autres appareils, utilisez les identifiants de connexion ci-dessous." msgid "Network" -msgstr "" +msgstr "Réseau" msgid "The selected interface (%s) has support for the 2.4 GHz wireless band only." msgstr "L'interface sélectionnée (%s) ne prend en charge que la bande sans fil 2,4 GHz." @@ -726,22 +813,91 @@ msgid "The 802.11ac 5 GHz option is disabled until a compatible wireless regulat msgstr "L'option 802.11ac 5 GHz est désactivée jusqu'à ce qu'un domaine de réglementation sans fil compatible soit défini." msgid "WiFi repeater mode: A metric value is already defined for DHCP." -msgstr "" +msgstr "Mode répéteur WiFi : une valeur métrique est déjà définie pour DHCP." msgid "Restart hotspot to enable WiFi repeater mode." -msgstr "" +msgstr "Redémarrez le point d'accès pour activer le mode répéteur WiFi." msgid "Unable to obtain metric value for client interface. Repeater mode inactive." -msgstr "" +msgstr "Impossible d'obtenir la valeur métrique pour l'interface client. Mode répéteur inactif." msgid "Metric value configured for the %s interface." -msgstr "" +msgstr "Valeur métrique configurée pour l'interface %s." msgid "Parameter hiddenSSID contains invalid configuration value." -msgstr "" +msgstr "Le paramètre hiddenSSID contient une valeur de configuration invalide." msgid "Parameter hiddenSSID is not a number." -msgstr "" +msgstr "Le paramètre hiddenSSID n'est pas un nombre." + +msgid "Bridge interface configuration" +msgstr "Configuration de l'interface pont" + +msgid "Configure a static IP address for the br0 interface to maintain connectivity during bridge mode activation." +msgstr "Configurez une adresse IP statique pour l'interface br0 afin de maintenir la connectivité lors de l'activation du mode pont." + +msgid "Static IP Address" +msgstr "Adresse IP statique" + +msgid "Netmask / CIDR" +msgstr "Masque de réseau / CIDR" + +msgid "Example: 192.168.1.100" +msgstr "Exemple : 192.168.1.100" + +msgid "CIDR notation (e.g., 24 for 255.255.255.0)" +msgstr "Notation CIDR (par ex., 24 pour 255.255.255.0)" + +msgid "Gateway" +msgstr "Passerelle" + +msgid "Your router's IP address" +msgstr "Adresse IP de votre routeur" + +msgid "Usually same as gateway" +msgstr "Généralement identique à la passerelle" + +msgid "Bridge static IP address must be a valid IPv4 address" +msgstr "L'adresse IP statique du pont doit être une adresse IPv4 valide" + +msgid "Bridge netmask must be a number between 1 and 32" +msgstr "Le masque de réseau du pont doit être un nombre entre 1 et 32" + +msgid "Bridge netmask is required when using static IP" +msgstr "Le masque de réseau du pont est requis lors de l'utilisation d'une IP statique" + +msgid "Bridge gateway must be a valid IPv4 address" +msgstr "La passerelle du pont doit être une adresse IPv4 valide" + +msgid "Bridge gateway is required when using static IP" +msgstr "La passerelle du pont est requise lors de l'utilisation d'une IP statique" + +msgid "Bridge DNS server must be a valid IPv4 address" +msgstr "Le serveur DNS du pont doit être une adresse IPv4 valide" + +msgid "Bridge DNS server is required when using static IP" +msgstr "Le serveur DNS du pont est requis lors de l'utilisation d'une IP statique" + +msgid "Bridge static IP and gateway must be in the same subnet" +msgstr "L'IP statique du pont et la passerelle doivent être dans le même sous-réseau" + +msgid "Please enter a valid IPv4 address" +msgstr "Veuillez entrer une adresse IPv4 valide" + +msgid "Please enter a valid netmask" +msgstr "Veuillez entrer un masque de réseau valide" + +msgid "DHCP configuration for br0 enabled" +msgstr "Configuration DHCP pour br0 activée" + +msgid "Unable to save WiFi hotspot settings due to validation errors" +msgstr "Impossible d'enregistrer les paramètres du point d'accès WiFi en raison d'erreurs de validation" + +msgid "Enable AP isolation" +msgstr "Activer l'isolation du point d'accès" + +msgid "Blocks wireless clients from seeing or connecting to each other. Recommended for guest networks and public access points." +msgstr "Empêche les clients sans fil de se voir ou de se connecter entre eux. Recommandé pour les réseaux invités et les points d'accès publics." #: includes/networking.php msgid "Summary" @@ -787,19 +943,19 @@ msgid "Information provided by /sys/class/net" msgstr "Informations fournies par /sys/class/net" msgid "Devices" -msgstr "" +msgstr "Appareils" msgid "Diagnostics" -msgstr "" +msgstr "Diagnostics" -msgid "Properties of network devices" -msgstr "Propriétés des périphériques réseau" +msgid "Network devices" +msgstr "Appareils réseau" msgid "Device" msgstr "Appareil" -msgid "MAC" -msgstr "MAC" +msgid "MAC address" +msgstr "Adresse MAC" msgid "USB vid/pid" msgstr "USB vid/pid" @@ -813,11 +969,11 @@ msgstr "Nom fixe" msgid "Change" msgstr "Modifier" -msgid "Settings for Mobile Data Devices" -msgstr "Paramètres pour les périphériques de données mobiles" +msgid "Mobile data settings" +msgstr "Paramètres de données mobiles" -msgid "PIN of SIM card" -msgstr "PIN de la carte SIM" +msgid "SIM card PIN number" +msgstr "Code PIN de la carte SIM" msgid "APN Settings (Modem device ppp0)" msgstr "Paramètres APN (modem ppp0)" @@ -844,7 +1000,7 @@ msgid "raw output" msgstr "résultat brut" msgid "Setting wireless regulatory domain to %s" -msgstr "" +msgstr "Définition du domaine réglementaire sans fil sur %s" msgid "Please provide a valid SSID." msgstr "Merci de saisir un SSID valide." @@ -853,88 +1009,88 @@ msgid "Please provide a valid PSK." msgstr "Merci de saisir un PSK valide." msgid "Speedtest" -msgstr "" +msgstr "Test de vitesse" msgid "Selecting a server" -msgstr "" +msgstr "Sélection d'un serveur" msgid "Privacy" -msgstr "" +msgstr "Confidentialité" msgid "Server" -msgstr "" +msgstr "Serveur" msgid "ms" -msgstr "" +msgstr "ms" msgid "Mbps" -msgstr "" +msgstr "Mbps" msgid "Ping" -msgstr "" +msgstr "Ping" msgid "Jitter" -msgstr "" +msgstr "Gigue" msgid "Upload" -msgstr "" +msgstr "Envoi" msgid "Start" -msgstr "" +msgstr "Démarrer" msgid "Abort" -msgstr "" +msgstr "Abandonner" msgid "Wireless LAN routing" -msgstr "" +msgstr "Routage LAN sans fil" msgid "Stop WLAN routing" -msgstr "" +msgstr "Arrêter le routage WLAN" msgid "Start WLAN routing" -msgstr "" +msgstr "Démarrer le routage WLAN" msgid "Restart WLAN routing" -msgstr "" +msgstr "Redémarrer le routage WLAN" msgid "This option configures RaspAP to route network traffic from your wireless client (STA) interface to another available interface." -msgstr "" +msgstr "Cette option configure RaspAP pour acheminer le trafic réseau de votre interface client sans fil (STA) vers une autre interface disponible." msgid "When an output interface is selected, iptables rules are added to route packets using network address translation (NAT). This is often done to share internet connectivity from a WLAN with devices on an eth0, usb0 or predictable enx interface." -msgstr "" +msgstr "Lorsqu'une interface de sortie est sélectionnée, des règles iptables sont ajoutées pour acheminer les paquets en utilisant la traduction d'adresses réseau (NAT). Cela est souvent fait pour partager la connectivité Internet d'un WLAN avec des appareils sur une interface eth0, usb0 ou prévisible enx." msgid "Wireless client interface" -msgstr "" +msgstr "Interface client sans fil" msgid "Output interface" -msgstr "" +msgstr "Interface de sortie" msgid "Configure a static IP address and DHCP for output interface" -msgstr "" +msgstr "Configurer une adresse IP statique et DHCP pour l'interface de sortie" msgid "Attempting to enable routing between %s and %s interfaces" -msgstr "" +msgstr "Tentative d'activation du routage entre les interfaces %s et %s" msgid "Attempting to disable routing between %s and %s interfaces" -msgstr "" +msgstr "Tentative de désactivation du routage entre les interfaces %s et %s" msgid "No default DHCP configuration exists for the %s interface" -msgstr "" +msgstr "Aucune configuration DHCP par défaut n'existe pour l'interface %s" msgid "Configure a static IP and DHCP for this interface in DHCP Server settings" -msgstr "" +msgstr "Configurez une IP statique et DHCP pour cette interface dans les paramètres du serveur DHCP" msgid "WLAN routing configuration saved" -msgstr "" +msgstr "Configuration de routage WLAN enregistrée" msgid "Unable to save WLAN routing configuration" -msgstr "" +msgstr "Impossible d'enregistrer la configuration de routage WLAN" msgid "Successfully restarted dnsmasq" -msgstr "" +msgstr "Dnsmasq redémarré avec succès" msgid "Failed to restart dnsmasq" -msgstr "" +msgstr "Échec du redémarrage de dnsmasq" #: includes/system.php msgid "System Information" @@ -970,6 +1126,9 @@ msgstr "Heure système" msgid "Memory Used" msgstr "Mémoire utilisée" +msgid "Storage Used" +msgstr "Stockage utilisé" + msgid "CPU Load" msgstr "Charge du processeur" @@ -1028,13 +1187,13 @@ msgid "Restore settings" msgstr "Restaurer les paramètres" msgid "To reset RaspAP to its initial configuration, click or tap the button below." -msgstr "" +msgstr "Pour réinitialiser RaspAP à sa configuration initiale, cliquez ou appuyez sur le bouton ci-dessous." msgid "Custom files for optional components such as Ad Blocking, WireGuard or OpenVPN will remain on the system." -msgstr "" +msgstr "Les fichiers personnalisés pour les composants optionnels tels que le blocage publicitaire, WireGuard ou OpenVPN resteront sur le système." msgid "Perform reset" -msgstr "" +msgstr "Effectuer la réinitialisation" msgid "Restores all access point (AP) service settings to their default values. This applies to hostapd, dhcpcd and dnsmasq." msgstr "Restaure tous les paramètres du service de point d'accès (AP) à leurs valeurs par défaut. Cela s'applique à hostapd, dhcpcd et dnsmasq." @@ -1049,10 +1208,10 @@ msgid "Color" msgstr "Couleur" msgid "Enable this option for resizable, drag and drop widgets. Best for large displays." -msgstr "" +msgstr "Activez cette option pour les widgets redimensionnables et glisser-déposer. Idéal pour les grands écrans." msgid "Dynamic widgets" -msgstr "" +msgstr "Widgets dynamiques" msgid "Tools" msgstr "Outils" @@ -1061,10 +1220,10 @@ msgid "System tools" msgstr "Outils système" msgid "To generate a system debug log, click or tap the button below." -msgstr "" +msgstr "Pour générer un journal de débogage système, cliquez ou appuyez sur le bouton ci-dessous." msgid "Debug log information contains the RaspAP version, current state and configuration of AP related services, installed system packages, Linux kernel version and networking details. No passwords or other sensitive data are included." -msgstr "" +msgstr "Les informations du journal de débogage contiennent la version RaspAP, l'état actuel et la configuration des services liés au point d'accès, les packages système installés, la version du noyau Linux et les détails réseau. Aucun mot de passe ni autre donnée sensible n'est inclus." msgid "Generate debug log" msgstr "Générer le journal de débogage" @@ -1073,10 +1232,115 @@ msgid "Debug log generation in progress..." msgstr "Génération du journal de débogage en cours..." msgid "Diagnostic log size limit (KB)" -msgstr "" +msgstr "Limite de taille du journal de diagnostic (Ko)" msgid "Changing log limit size to %s KB" -msgstr "" +msgstr "Modification de la limite de taille du journal à %s Ko" + +msgid "Information provided by raspap.sysinfo" +msgstr "Informations fournies par raspap.sysinfo" + +msgid "The following user plugins are available to extend RaspAP's functionality." +msgstr "Les plugins utilisateur suivants sont disponibles pour étendre les fonctionnalités de RaspAP." + +msgid "Choose Details for more information and to install a plugin." +msgstr "Choisissez Détails pour plus d'informations et pour installer un plugin." + +msgid "Network error" +msgstr "Erreur réseau" + +msgid "Unable to load plugins" +msgstr "Impossible de charger les plugins" + +msgid "Reload" +msgstr "Recharger" + +msgid "and try again" +msgstr "et réessayer" + +msgid "Plugins" +msgstr "Plugins" + +msgid "Plugin details" +msgstr "Détails du plugin" + +msgid "Name" +msgstr "Nom" + +msgid "Version" +msgstr "Version" + +msgid "Description" +msgstr "Description" + +msgid "Plugin source" +msgstr "Source du plugin" + +msgid "Author" +msgstr "Auteur" + +msgid "License" +msgstr "Licence" + +msgid "Language locale" +msgstr "Langue locale" + +msgid "Configuration files" +msgstr "Fichiers de configuration" + +msgid "Dependencies" +msgstr "Dépendances" + +msgid "Permissions" +msgstr "Permissions" + +msgid "Non-privileged users" +msgstr "Utilisateurs non privilégiés" + +msgid "Install now" +msgstr "Installer maintenant" + +msgid "Installing plugin" +msgstr "Installation du plugin" + +msgid "Plugin installation in progress..." +msgstr "Installation du plugin en cours..." + +msgid "Plugin install completed." +msgstr "Installation du plugin terminée." + +msgid "Details" +msgstr "Détails" + +msgid "Installed" +msgstr "Installé" + +msgid "Alert messages" +msgstr "Messages d'alerte" + +msgid "Alert close timeout (milliseconds)" +msgstr "Délai de fermeture des alertes (millisecondes)" + +msgid "Automatically close alerts after a specified timeout" +msgstr "Fermer automatiquement les alertes après un délai spécifié" + +msgid "To inspect adapters attached to this device, click or tap the button below." +msgstr "Pour inspecter les adaptateurs attachés à cet appareil, cliquez ou appuyez sur le bouton ci-dessous." + +msgid "The adapter inspection tool returns details about external WLAN devices including drivers, supported modes and so on." +msgstr "L'outil d'inspection des adaptateurs renvoie des détails sur les appareils WLAN externes, y compris les pilotes, les modes pris en charge, etc." + +msgid "Choose a network interface to inspect" +msgstr "Choisissez une interface réseau à inspecter" + +msgid "Select an interface..." +msgstr "Sélectionnez une interface..." + +msgid "Adapter health check" +msgstr "Vérification de l'état de l'adaptateur" + +msgid "Inspect adapters" +msgstr "Inspecter les adaptateurs" #: includes/data_usage.php msgid "Data usage" @@ -1380,14 +1644,14 @@ msgstr "Charger une configuration WireGuard" msgid "This option uploads and installs an existing WireGuard .conf file on this device." msgstr "Cette option télécharge et installe un fichier WireGuard .conf existant sur cet appareil." -msgid "Apply iptables rules for AP interface" -msgstr "Appliquer les règles iptables au point d'accès" +msgid "Apply iptables rules to the selected interface" +msgstr "Appliquer les règles iptables à l'interface sélectionnée" -msgid "Recommended if you wish to forward network traffic from the wg0 interface to clients connected on the AP interface." -msgstr "Recommandé si vous souhaitez transférer le trafic réseau de l'interface wg0 aux clients connectés au point d'accès." +msgid "Recommended if you wish to forward network traffic from the wg0 interface to clients connected on a desired interface. The active AP interface is the default." +msgstr "Recommandé si vous souhaitez transférer le trafic réseau de l'interface wg0 vers les clients connectés sur une interface souhaitée. L'interface de point d'accès active est celle par défaut." -msgid "This option adds iptables Postup and PostDown rules for the configured AP interface (%s)." -msgstr "Cette option ajoute des règles iptables Postup et PostDown pour l'interface AP configurée (%s)." +msgid "This option adds iptables Postup and PostDown rules for the interface selected below." +msgstr "Cette option ajoute des règles iptables Postup et PostDown pour l'interface sélectionnée ci-dessous." msgid "Select WireGuard configuration file (.conf)" msgstr "Sélectionner le fichier de configuration WireGuard (.conf)" @@ -1477,25 +1741,25 @@ msgid "WireGuard configuration failed to be updated" msgstr "La configuration WireGuard n'a pas pu être mise à jour" msgid "Enable kill switch" -msgstr "" +msgstr "Activer le coupe-circuit" -msgid "This option adds iptables PostUp and PreDown rules for the configured AP interface (%s)." -msgstr "" +msgid "This option adds iptables PostUp and PreDown rules for the configured interface." +msgstr "Cette option ajoute des règles iptables PostUp et PreDown pour l'interface configurée." msgid "Recommended if you wish to prevent the flow of unencrypted packets through non-WireGuard interfaces." -msgstr "" +msgstr "Recommandé si vous souhaitez empêcher le flux de paquets non cryptés via des interfaces non-WireGuard." msgid "iptables rules added to WireGuard configuration" -msgstr "" +msgstr "Règles iptables ajoutées à la configuration WireGuard" msgid "Existing iptables rules found in WireGuard configuration - not added" -msgstr "" +msgstr "Règles iptables existantes trouvées dans la configuration WireGuard - non ajoutées" msgid "Currently available WireGuard file configurations are displayed below." -msgstr "" +msgstr "Les configurations de fichiers WireGuard actuellement disponibles sont affichées ci-dessous." msgid "Activating a configuration will restart the wg-quick service." -msgstr "" +msgstr "L'activation d'une configuration redémarrera le service wg-quick." msgid "Client Firewall" msgstr "Pare-feu client" @@ -1563,83 +1827,86 @@ msgstr "Désactiver le pare-feu" msgid "Enable Firewall" msgstr "Activer le pare-feu" -msgid "Apply changes" -msgstr "Appliquer les modifications" +msgid "Changing the firewall status may disrupt or allow incoming traffic. Choose Proceed to continue." +msgstr "La modification de l'état du pare-feu peut perturber ou autoriser le trafic entrant. Choisissez Continuer pour poursuivre." + +msgid "Proceed" +msgstr "Continuer" msgid "Dynamic DNS" -msgstr "" +msgstr "DNS dynamique" msgid "Service provider" -msgstr "" +msgstr "Fournisseur de service" msgid "Select a Dynamic DNS service supported by ddclient from the list below. Selecting a known service provider will populate the protocol and server fields. You may also configure the service manually." -msgstr "" +msgstr "Sélectionnez un service DNS dynamique pris en charge par ddclient dans la liste ci-dessous. La sélection d'un fournisseur de services connu remplira les champs protocol et server. Vous pouvez également configurer le service manuellement." msgid "Method to obtain IP" -msgstr "" +msgstr "Méthode pour obtenir l'IP" msgid "Select the method used by ddclient to obtain an IP address. This value is specified in the -use option." -msgstr "" +msgstr "Sélectionnez la méthode utilisée par ddclient pour obtenir une adresse IP. Cette valeur est spécifiée dans l'option -use." msgid "Discovery page on the web" -msgstr "" +msgstr "Page de découverte sur le web" msgid "Network interface" -msgstr "" +msgstr "Interface réseau" msgid "Network address" -msgstr "" +msgstr "Adresse réseau" msgid "Firewall status page" -msgstr "" +msgstr "Page d'état du pare-feu" msgid "External command" -msgstr "" +msgstr "Commande externe" msgid "Web address" -msgstr "" +msgstr "Adresse web" msgid "Firewall" -msgstr "" +msgstr "Pare-feu" msgid "Command" -msgstr "" +msgstr "Commande" msgid "Example: 192.168.1.254/status.htm." -msgstr "" +msgstr "Exemple : 192.168.1.254/status.htm." msgid "Example: /usr/local/bin/get-ip." -msgstr "" +msgstr "Exemple : /usr/local/bin/get-ip." msgid "Domain" -msgstr "" +msgstr "Domaine" msgid "Enable SSL" -msgstr "" +msgstr "Activer SSL" msgid "Use an encrypted SSL connection for updates. Not supported by all providers." -msgstr "" +msgstr "Utiliser une connexion SSL cryptée pour les mises à jour. Non pris en charge par tous les fournisseurs." msgid "Value specified in milliseconds (ms). Default is 300." -msgstr "" +msgstr "Valeur spécifiée en millisecondes (ms). La valeur par défaut est 300." msgid "Use the Generate log button to output detailed ddclient daemon debug info" -msgstr "" +msgstr "Utilisez le bouton Générer le journal pour afficher les informations de débogage détaillées du démon ddclient" msgid "Generate log" -msgstr "" +msgstr "Générer le journal" msgid "Information provided by ddclient" -msgstr "" +msgstr "Informations fournies par ddclient" msgid "Start Dynamic DNS" -msgstr "" +msgstr "Démarrer DNS dynamique" msgid "Stop Dynamic DNS" -msgstr "" +msgstr "Arrêter DNS dynamique" msgid "Restart Dynamic DNS" -msgstr "" +msgstr "Redémarrer DNS dynamique" msgid "Account details" msgstr "Détails du compte" @@ -1711,158 +1978,679 @@ msgid "Contributing" msgstr "Contributions" msgid "Check for update" -msgstr "" +msgstr "Vérifier les mises à jour" msgid "New release check in progress..." -msgstr "" +msgstr "Vérification de nouvelle version en cours..." msgid "A new release is available: Version" -msgstr "" +msgstr "Une nouvelle version est disponible : Version" msgid "Installed version is the latest release." -msgstr "" +msgstr "La version installée est la dernière version." msgid "GitHub authentication" -msgstr "" +msgstr "Authentification GitHub" msgid "Updating Insiders requires GitHub authentication." -msgstr "" +msgstr "La mise à jour d'Insiders nécessite une authentification GitHub." msgid "Your credentials will be sent to GitHub securely with SSL. However, use caution if your RaspAP install is on a WLAN shared by untrusted users." -msgstr "" +msgstr "Vos identifiants seront envoyés à GitHub en toute sécurité avec SSL. Cependant, soyez prudent si votre installation RaspAP se trouve sur un WLAN partagé par des utilisateurs non fiables." msgid "Personal Access Token" -msgstr "" +msgstr "Jeton d'accès personnel" msgid "Please provide a valid token." -msgstr "" +msgstr "Veuillez fournir un jeton valide." msgid "Perform update" -msgstr "" +msgstr "Effectuer la mise à jour" msgid "Update in progress" -msgstr "" +msgstr "Mise à jour en cours" msgid "Application is being updated..." -msgstr "" +msgstr "L'application est en cours de mise à jour..." msgid "Configuring update" -msgstr "" +msgstr "Configuration de la mise à jour" msgid "Updating sources" -msgstr "" +msgstr "Mise à jour des sources" msgid "Installing package updates" -msgstr "" +msgstr "Installation des mises à jour de packages" msgid "Downloading latest files" -msgstr "" +msgstr "Téléchargement des derniers fichiers" msgid "Installing application" -msgstr "" +msgstr "Installation de l'application" msgid "Update complete" -msgstr "" +msgstr "Mise à jour terminée" msgid "An error occurred. Check the log at /tmp/raspap_install.log" -msgstr "" +msgstr "Une erreur s'est produite. Vérifiez le journal à /tmp/raspap_install.log" msgid "RaspAP Exception" -msgstr "" +msgstr "Exception RaspAP" msgid "An exception occurred" -msgstr "" +msgstr "Une exception s'est produite" msgid "RestAPI" -msgstr "" +msgstr "RestAPI" msgid "RestAPI settings" -msgstr "" +msgstr "Paramètres RestAPI" msgid "Start RestAPI service" -msgstr "" +msgstr "Démarrer le service RestAPI" msgid "Stop RestAPI service" -msgstr "" +msgstr "Arrêter le service RestAPI" msgid "API Key" -msgstr "" +msgstr "Clé API" msgid "Saving API key" -msgstr "" +msgstr "Enregistrement de la clé API" msgid "RestAPI status" -msgstr "" +msgstr "État RestAPI" msgid "Current restapi.service status is displayed below." -msgstr "" +msgstr "L'état actuel de restapi.service est affiché ci-dessous." msgid "RestAPI docs are accessible here%s" -msgstr "" +msgstr "La documentation RestAPI est accessible ici%s" msgid "Restarting restapi.service" -msgstr "" +msgstr "Redémarrage de restapi.service" + +msgid "Information provided by restapi.service" +msgstr "Informations fournies par restapi.service" + +msgid "Session Expired" +msgstr "Session expirée" + +msgid "Your session has expired. Please login to continue." +msgstr "Votre session a expiré. Veuillez vous connecter pour continuer." + +msgid "Login" +msgstr "Connexion" + +msgid "Administrator login" +msgstr "Connexion administrateur" + +msgid "Forgot password" +msgstr "Mot de passe oublié" + +msgid "Login failed" +msgstr "Échec de la connexion" msgid "NTP Server" -msgstr "" +msgstr "Serveur NTP" msgid "NTP Server settings" -msgstr "" +msgstr "Paramètres du serveur NTP" msgid "NTP daemon" -msgstr "" +msgstr "Démon NTP" msgid "Synchronized time" -msgstr "" +msgstr "Heure synchronisée" msgid "NTP servers" -msgstr "" +msgstr "Serveurs NTP" msgid "Add an NTP server" -msgstr "" +msgstr "Ajouter un serveur NTP" msgid "Start NTP service" -msgstr "" +msgstr "Démarrer le service NTP" msgid "Stop NTP service" -msgstr "" +msgstr "Arrêter le service NTP" msgid "Edit mode" -msgstr "" +msgstr "Mode édition" msgid "Use the Edit mode toggle to manually edit the current ntp.config configuration." -msgstr "" +msgstr "Utilisez le bouton Mode édition pour modifier manuellement la configuration actuelle de ntp.config." msgid "Specify a public NTP server or a private one on your local network. IPv4 and IPv6 address, or a fully qualified domain name (FQDN) are acceptable values." -msgstr "" +msgstr "Spécifiez un serveur NTP public ou privé sur votre réseau local. Les adresses IPv4 et IPv6, ou un nom de domaine entièrement qualifié (FQDN) sont des valeurs acceptables." msgid "Public NTP servers supporting Network Time Security (NTS) may be specified with the nts suffix." -msgstr "" +msgstr "Les serveurs NTP publics prenant en charge Network Time Security (NTS) peuvent être spécifiés avec le suffixe nts." msgid "Examples of valid server entries include %s, %s and %s." -msgstr "" +msgstr "Des exemples d'entrées de serveur valides incluent %s, %s et %s." msgid "Current ntpq peer status is displayed below. An asterisk (*) indicates the preferred server." -msgstr "" +msgstr "L'état actuel de ntpq peer est affiché ci-dessous. Un astérisque (*) indique le serveur préféré." msgid "NTP configuration cannot be empty" -msgstr "" +msgstr "La configuration NTP ne peut pas être vide" msgid "Restarting ntpd.service" -msgstr "" +msgstr "Redémarrage de ntpd.service" msgid "Please enter a valid NTP server" -msgstr "" +msgstr "Veuillez entrer un serveur NTP valide" msgid "Attempting to start ntp.service" -msgstr "" +msgstr "Tentative de démarrage de ntp.service" msgid "Attempting to stop ntp.service" -msgstr "" +msgstr "Tentative d'arrêt de ntp.service" msgid "NTP configuration not found at %s" -msgstr "" +msgstr "Configuration NTP introuvable à %s" msgid "NTP configuration updated" -msgstr "" +msgstr "Configuration NTP mise à jour" +msgid "Advertising device as a Tailscale exit node" +msgstr "Annonce de l'appareil comme nœud de sortie Tailscale" + +msgid "Attempting to optimize UDP throughput" +msgstr "Tentative d'optimisation du débit UDP" + +msgid "Kernel transport layer offloads enabled for UDP" +msgstr "Déchargements de la couche de transport du noyau activés pour UDP" + +msgid "Failed to enable kernel transport layer offloads for UDP" +msgstr "Échec de l'activation des déchargements de la couche de transport du noyau pour UDP" + +msgid "Attempting to set tailscale up" +msgstr "Tentative de démarrage de Tailscale" + +msgid "Attempting to set tailscale down" +msgstr "Tentative d'arrêt de Tailscale" + +msgid "Attempting to disconnect from tailscale" +msgstr "Tentative de déconnexion de Tailscale" + +msgid "Disconnected from tailscale and expired node key" +msgstr "Déconnecté de Tailscale et clé de nœud expirée" + +msgid "Unable to disconnect from tailscale" +msgstr "Impossible de se déconnecter de Tailscale" + +msgid "Expected tailscale binary not found at: %" +msgstr "Binaire Tailscale attendu introuvable à : %" + +msgid "A Tailscale VPN exit node extension for RaspAP" +msgstr "Une extension de nœud de sortie VPN Tailscale pour RaspAP" + +msgid "Unable to retrieve Tailscale login. Choose %s to continue." +msgstr "Impossible de récupérer la connexion Tailscale. Choisissez %s pour continuer." + +msgid "Start Tailscale" +msgstr "Démarrer Tailscale" + +msgid "Stop Tailscale" +msgstr "Arrêter Tailscale" + +msgid "Next" +msgstr "Suivant" + +msgid "Device approved and activated as a Tailscale exit node" +msgstr "Appareil approuvé et activé comme nœud de sortie Tailscale" + +msgid "Not connected: Login required." +msgstr "Non connecté : Connexion requise." + +msgid "Tailscale VPN" +msgstr "VPN Tailscale" + +msgid "Exit node activated" +msgstr "Nœud de sortie activé" + +msgid "The device %s is connected with the address %s and offers an exit node." +msgstr "L'appareil %s est connecté avec l'adresse %s et offre un nœud de sortie." + +msgid "See the %s on how to use this exit node with your devices." +msgstr "Voir %s sur la façon d'utiliser ce nœud de sortie avec vos appareils." + +msgid "Allow exit node" +msgstr "Autoriser le nœud de sortie" + +msgid "The device %s is pending approval as an exit node." +msgstr "L'appareil %s est en attente d'approbation en tant que nœud de sortie." + +msgid "Locate the %s Exit Node badge in the machines list." +msgstr "Localisez le badge Nœud de sortie %s dans la liste des machines." + +msgid "Open Tailscale Machines" +msgstr "Ouvrir les machines Tailscale" + +msgid "To allow this device as an exit node, choose Open Tailscale Machines." +msgstr "Pour autoriser cet appareil en tant que nœud de sortie, choisissez Ouvrir les machines Tailscale." + +msgid "From the %s icon menu of the exit node, open the %s panel." +msgstr "Depuis le menu de l'icône %s du nœud de sortie, ouvrez le panneau %s." + +msgid "Edit route settings" +msgstr "Modifier les paramètres de route" + +msgid "Login to Tailscale" +msgstr "Se connecter à Tailscale" + +msgid "To connect device %s to your tailnet, choose %s." +msgstr "Pour connecter l'appareil %s à votre tailnet, choisissez %s." + +msgid "After logging in, choose Next to continue." +msgstr "Après vous être connecté, choisissez Suivant pour continuer." + +msgid "Configure exit node" +msgstr "Configurer le nœud de sortie" + +msgid "The device %s is connected to your tailnet with the address %s." +msgstr "L'appareil %s est connecté à votre tailnet avec l'adresse %s." + +msgid "By default, Tailscale only routes traffic between the devices on which it's been installed. You can also route all your public internet traffic by configuring a device on your network as a exit node" +msgstr "Par défaut, Tailscale achemine uniquement le trafic entre les appareils sur lesquels il a été installé. Vous pouvez également acheminer tout votre trafic Internet public en configurant un appareil sur votre réseau comme nœud de sortie" + +msgid "When you route all traffic through an exit node, you're effectively using default routes (0.0.0.0/0, ::/0), similar to how you would if you were using a typical VPN." +msgstr "Lorsque vous acheminez tout le trafic via un nœud de sortie, vous utilisez effectivement des routes par défaut (0.0.0.0/0, ::/0), comme si vous utilisiez un VPN typique." + +msgid "You have the option of configuring this device as an exit node, or using another exit node in your tailnet." +msgstr "Vous avez la possibilité de configurer cet appareil comme nœud de sortie, ou d'utiliser un autre nœud de sortie dans votre tailnet." + +msgid "Select an existing exit node on your tailnet" +msgstr "Sélectionner un nœud de sortie existant sur votre tailnet" + +msgid "This is a typical configuration if you're using this device as a VPN travel router, for example." +msgstr "Il s'agit d'une configuration typique si vous utilisez cet appareil comme routeur VPN de voyage, par exemple." + +msgid "Configure this device as a new exit node" +msgstr "Configurer cet appareil comme nouveau nœud de sortie" + +msgid "By configuring this device as an exit node, public internet traffic from devices connected in your tailnet will be routed through it." +msgstr "En configurant cet appareil comme nœud de sortie, le trafic Internet public des appareils connectés à votre tailnet sera acheminé à travers lui." + +msgid "For security reasons, you must opt in to enable exit node functionality. The first step is to advertise %s as an exit node in your tailnet. In the next step, you'll allow this device to be an exit node." +msgstr "Pour des raisons de sécurité, vous devez accepter d'activer la fonctionnalité de nœud de sortie. La première étape consiste à annoncer %s comme nœud de sortie dans votre tailnet. À l'étape suivante, vous autoriserez cet appareil à être un nœud de sortie." + +msgid "Advertise %s as an exit node" +msgstr "Annoncer %s comme nœud de sortie" + +msgid "This effectively configures Tailscale as a VPN to mask your real location, access region-restricted content, or enhance privacy when connecting from untrusted networks." +msgstr "Cela configure efficacement Tailscale comme un VPN pour masquer votre emplacement réel, accéder au contenu restreint par région ou améliorer la confidentialité lors de la connexion à partir de réseaux non fiables." + +msgid "This option lets Tailscale know your device is ready to route traffic." +msgstr "Cette option indique à Tailscale que votre appareil est prêt à acheminer le trafic." + +msgid "Recommended for Tailscale exit nodes with Linux 6.2 or later kernels, this uses UDP generic receive offload (GRO) forwarding to reduce CPU overhead." +msgstr "Recommandé pour les nœuds de sortie Tailscale avec des noyaux Linux 6.2 ou ultérieurs, ceci utilise le transfert de déchargement de réception générique UDP (GRO) pour réduire la charge du processeur." + +msgid "This option enables transport layer offloads for better performance." +msgstr "Cette option active les déchargements de la couche de transport pour de meilleures performances." + +msgid "Select an exit node" +msgstr "Sélectionner un nœud de sortie" + +msgid "To use %s as a VPN gateway, configure Tailscale to use an exit node. Tailscale's suggested node is indicated with a star." +msgstr "Pour utiliser %s comme passerelle VPN, configurez Tailscale pour utiliser un nœud de sortie. Le nœud suggéré par Tailscale est indiqué par une étoile." + +msgid "Advertise a subnet route for the active %s AP interface" +msgstr "Annoncer une route de sous-réseau pour l'interface de point d'accès %s active" + +msgid "Subnet routes let you extend your Tailscale network (known as a tailnet) to include devices that don't or can't run the Tailscale client." +msgstr "Les routes de sous-réseau vous permettent d'étendre votre réseau Tailscale (appelé tailnet) pour inclure des appareils qui ne peuvent pas ou n'exécutent pas le client Tailscale." + +msgid "A subnet route acts as a gateway between your tailnet and a physical subnet. The subnet of the active AP interface is preconfigured below; edit if necessary." +msgstr "Une route de sous-réseau agit comme une passerelle entre votre tailnet et un sous-réseau physique. Le sous-réseau de l'interface de point d'accès active est préconfiguré ci-dessous ; modifiez-le si nécessaire." + +msgid "Route LAN traffic through the exit node." +msgstr "Acheminer le trafic LAN via le nœud de sortie." + +msgid "This will direct all LAN traffic to go through your exit node only." +msgstr "Cela dirigera tout le trafic LAN uniquement via votre nœud de sortie." + +msgid "Choose Next to configure %s to use the selected exit node with these options." +msgstr "Choisissez Suivant pour configurer %s afin d'utiliser le nœud de sortie sélectionné avec ces options." + +msgid "No exit nodes found on your tailnet. Choose Back to continue." +msgstr "Aucun nœud de sortie trouvé sur votre tailnet. Choisissez Retour pour continuer." + +msgid "Using exit node" +msgstr "Utilisation du nœud de sortie" + +msgid "The device %s is configured to use exit node %s. It has the Tailscale MagicDNS address %s." +msgstr "L'appareil %s est configuré pour utiliser le nœud de sortie %s. Il a l'adresse Tailscale MagicDNS %s." + +msgid "Choose Save settings to continue." +msgstr "Choisissez Enregistrer les paramètres pour continuer." + +msgid "Choose Next to continue." +msgstr "Choisissez Suivant pour continuer." + +msgid "Tailnet status" +msgstr "État du tailnet" + +msgid "Current tailnet status is displayed below." +msgstr "L'état actuel du tailnet est affiché ci-dessous." + +msgid "Use Tailscale DNS settings (default)." +msgstr "Utiliser les paramètres DNS de Tailscale (par défaut)." + +msgid "Uncheck to use local DNS. This sets --accept-dns=false." +msgstr "Décochez pour utiliser le DNS local. Cela définit --accept-dns=false." + +msgid "Do not use Tailscale subnets (default on Linux)." +msgstr "Ne pas utiliser les sous-réseaux Tailscale (par défaut sur Linux)." + +msgid "If subnet routes exist for your tailnet, you can route your device's traffic to a subnet router. Enabling this sets --accept-routes=true." +msgstr "Si des routes de sous-réseau existent pour votre tailnet, vous pouvez acheminer le trafic de votre appareil vers un routeur de sous-réseau. L'activation de cette option définit --accept-routes=true." + +msgid "If keys expire for a device, connections to/from the given endpoint will stop working." +msgstr "Si les clés expirent pour un appareil, les connexions vers/depuis le point de terminaison donné cesseront de fonctionner." + +msgid "This option uses --force-reauth to renew the keys for this device." +msgstr "Cette option utilise --force-reauth pour renouveler les clés de cet appareil." + +msgid "Start capture" +msgstr "Démarrer la capture" + +msgid "Stop capture" +msgstr "Arrêter la capture" + +msgid "Capture files" +msgstr "Fichiers de capture" + +msgid "Capture interface" +msgstr "Interface de capture" + +msgid "Output file" +msgstr "Fichier de sortie" + +msgid "Path where capture file will be saved (.pcap format)" +msgstr "Chemin où le fichier de capture sera enregistré (format .pcap)" + +msgid "File will be saved with .pcap extension" +msgstr "Le fichier sera enregistré avec l'extension .pcap" + +msgid "Capture filter (BPF syntax)" +msgstr "Filtre de capture (syntaxe BPF)" + +msgid "Berkeley Packet Filter syntax. Leave empty to capture all traffic." +msgstr "Syntaxe Berkeley Packet Filter. Laisser vide pour capturer tout le trafic." + +msgid "Examples: port 80, host 192.168.1.1, tcp and not port 22" +msgstr "Exemples : port 80, host 192.168.1.1, tcp and not port 22" + +msgid "Capture limits" +msgstr "Limites de capture" + +msgid "Packet count limit" +msgstr "Limite du nombre de paquets" + +msgid "Stop capture after this many packets. Leave empty for unlimited." +msgstr "Arrêter la capture après ce nombre de paquets. Laisser vide pour illimité." + +msgid "Duration limit (seconds)" +msgstr "Limite de durée (secondes)" + +msgid "Stop capture after this many seconds. Leave empty for unlimited." +msgstr "Arrêter la capture après ce nombre de secondes. Laisser vide pour illimité." + +msgid "Ring buffer settings" +msgstr "Paramètres du tampon circulaire" + +msgid "File size (KB)" +msgstr "Taille du fichier (Ko)" + +msgid "Create new file when this size is reached. Leave empty to disable." +msgstr "Créer un nouveau fichier lorsque cette taille est atteinte. Laisser vide pour désactiver." + +msgid "10000 = 10 MB per file" +msgstr "10000 = 10 Mo par fichier" + +msgid "Number of files" +msgstr "Nombre de fichiers" + +msgid "Maximum number of ring buffer files to keep. Oldest files are deleted." +msgstr "Nombre maximum de fichiers de tampon circulaire à conserver. Les fichiers les plus anciens sont supprimés." + +msgid "Advanced options" +msgstr "Options avancées" + +msgid "Snapshot length (bytes)" +msgstr "Longueur de snapshot (octets)" + +msgid "Limit the amount of data captured per packet. Leave empty for full packets." +msgstr "Limiter la quantité de données capturées par paquet. Laisser vide pour les paquets complets." + +msgid "96 bytes captures headers only, reduces file size" +msgstr "96 octets capture uniquement les en-têtes, réduit la taille du fichier" + +msgid "Promiscuous mode" +msgstr "Mode promiscuité" + +msgid "Capture all packets on the network segment, not just those destined for this interface" +msgstr "Capturer tous les paquets sur le segment réseau, pas seulement ceux destinés à cette interface" + +msgid "Quick filter presets" +msgstr "Préréglages de filtres rapides" + +msgid "Capture files generated by tshark are displayed below." +msgstr "Les fichiers de capture générés par tshark sont affichés ci-dessous." + +msgid "No capture files found in /tmp directory" +msgstr "Aucun fichier de capture trouvé dans le répertoire /tmp" + +msgid "Filename" +msgstr "Nom de fichier" + +msgid "Size" +msgstr "Taille" + +msgid "Modified" +msgstr "Modifié" + +msgid "Actions" +msgstr "Actions" + +msgid "Download file" +msgstr "Télécharger le fichier" + +msgid "Delete file" +msgstr "Supprimer le fichier" + +msgid "Confirm deletion" +msgstr "Confirmer la suppression" + +msgid "Are you sure you want to delete this file?" +msgstr "Êtes-vous sûr de vouloir supprimer ce fichier ?" + +msgid "All Traffic" +msgstr "Tout le trafic" + +msgid "HTTP/HTTPS" +msgstr "HTTP/HTTPS" + +msgid "ICMP (Ping)" +msgstr "ICMP (Ping)" + +msgid "SSH" +msgstr "SSH" + +msgid "Exclude SSH" +msgstr "Exclure SSH" + +msgid "A Wireshark (TShark) CLI packet capture for RaspAP" +msgstr "Une capture de paquets CLI Wireshark (TShark) pour RaspAP" + +msgid "Information provided by tshark" +msgstr "Informations fournies par tshark" + +msgid "Total: %d file(s), %s" +msgstr "Total : %d fichier(s), %s" + +msgid "Captive portal" +msgstr "Portail captif" + +msgid "Gateway interface" +msgstr "Interface de passerelle" + +msgid "Gateway name" +msgstr "Nom de la passerelle" + +msgid "Gateway address" +msgstr "Adresse de la passerelle" + +msgid "Gateway port" +msgstr "Port de la passerelle" + +msgid "Defaults to the active AP interface, typically wlan0" +msgstr "Par défaut, l'interface de point d'accès active, généralement wlan0" + +msgid "Auto-detected from gateway interface if not specified" +msgstr "Détecté automatiquement à partir de l'interface de passerelle si non spécifié" + +msgid "Start portal" +msgstr "Démarrer le portail" + +msgid "Stop portal" +msgstr "Arrêter le portail" + +msgid "Information provided by nodogsplash" +msgstr "Informations fournies par nodogsplash" + +msgid "Stop portal service" +msgstr "Arrêter le service de portail" + +msgid "Start portal service" +msgstr "Démarrer le service de portail" + +msgid "Changing the portal service will momentarily disrupt client traffic. Choose Proceed to continue." +msgstr "La modification du service de portail perturbera momentanément le trafic client. Choisissez Continuer pour poursuivre." + +msgid "Interface to be managed by the portal" +msgstr "Interface à gérer par le portail" + +msgid "Name of your gateway (available as \\$gatewayname variable)" +msgstr "Nom de votre passerelle (disponible en tant que variable \\$gatewayname)" + +msgid "IP address of the router. Leave empty for auto-detection" +msgstr "Adresse IP du routeur. Laisser vide pour la détection automatique" + +msgid "Port for Nodogsplash HTTP server" +msgstr "Port pour le serveur HTTP Nodogsplash" + +msgid "Maximum clients" +msgstr "Clients maximum" + +msgid "Session timeout (minutes)" +msgstr "Délai d'expiration de session (minutes)" + +msgid "Pre-auth idle timeout (minutes)" +msgstr "Délai d'inactivité avant authentification (minutes)" + +msgid "Does not include users on the trusted MAC list" +msgstr "N'inclut pas les utilisateurs de la liste MAC de confiance" + +msgid "Auth idle timeout (minutes)" +msgstr "Délai d'inactivité après authentification (minutes)" + +msgid "Check interval (seconds)" +msgstr "Intervalle de vérification (secondes)" + +msgid "MAC address control" +msgstr "Contrôle d'adresse MAC" + +msgid "MAC mechanism" +msgstr "Mécanisme MAC" + +msgid "Blocked MAC list" +msgstr "Liste MAC bloquée" + +msgid "Trusted MAC list" +msgstr "Liste MAC de confiance" + +msgid "These devices are not subject to authentication or firewall rules" +msgstr "Ces appareils ne sont pas soumis aux règles d'authentification ou de pare-feu" + +msgid "Maximum number of concurrent authenticated users" +msgstr "Nombre maximum d'utilisateurs authentifiés simultanés" + +msgid "Default session length in minutes. 0 = unlimited" +msgstr "Durée de session par défaut en minutes. 0 = illimité" + +msgid "Time before unauthenticated idle users are removed" +msgstr "Temps avant la suppression des utilisateurs inactifs non authentifiés" + +msgid "Time before authenticated idle users are deauthenticated" +msgstr "Temps avant la désauthentification des utilisateurs inactifs authentifiés" + +msgid "How often to check client timeouts" +msgstr "Fréquence de vérification des délais d'expiration des clients" + +msgid "Block: blocklisted MACs are blocked. Allow: only allowlisted MACs are allowed" +msgstr "Bloquer : les MAC de la liste de blocage sont bloquées. Autoriser : seules les MAC de la liste d'autorisation sont autorisées" + +msgid "Example: 00:11:22:33:44:55,AA:BB:CC:DD:EE:FF" +msgstr "Exemple : 00:11:22:33:44:55,AA:BB:CC:DD:EE:FF" + +msgid "Comma-separated MAC addresses that bypass authentication entirely" +msgstr "Adresses MAC séparées par des virgules qui contournent entièrement l'authentification" + +msgid "Block (blocklist mode)" +msgstr "Bloquer (mode liste de blocage)" + +msgid "Allow (allowlist mode)" +msgstr "Autoriser (mode liste d'autorisation)" + +msgid "Gateway IP range" +msgstr "Plage IP de passerelle" + +msgid "Default: 0.0.0.0/0 (all addresses)" +msgstr "Par défaut : 0.0.0.0/0 (toutes les adresses)" + +msgid "Debug level" +msgstr "Niveau de débogage" + +msgid "Firewall settings" +msgstr "Paramètres du pare-feu" + +msgid "Allow all traffic for authenticated users" +msgstr "Autoriser tout le trafic pour les utilisateurs authentifiés" + +msgid "Allow DNS for pre-authenticated users" +msgstr "Autoriser DNS pour les utilisateurs non authentifiés" + +msgid "IP range to manage in CIDR notation. Leave empty for all addresses" +msgstr "Plage IP à gérer en notation CIDR. Laisser vide pour toutes les adresses" + +msgid "Amount of logging detail reported by the nodogsplash.service" +msgstr "Quantité de détails de journalisation rapportés par le nodogsplash.service" + +msgid "0 - Errors only" +msgstr "0 - Erreurs uniquement" + +msgid "1 - Errors, warnings, infos" +msgstr "1 - Erreurs, avertissements, infos" + +msgid "2 - Errors, warnings, infos, verbose" +msgstr "2 - Erreurs, avertissements, infos, verbeux" + +msgid "3 - Errors, warnings, infos, verbose, debug" +msgstr "3 - Erreurs, avertissements, infos, verbeux, débogage" + +msgid "When enabled, authenticated users have unrestricted access" +msgstr "Lorsqu'elle est activée, les utilisateurs authentifiés ont un accès illimité" + +msgid "Required for clients to resolve domain names before authentication" +msgstr "Requis pour que les clients résolvent les noms de domaine avant l'authentification" + +msgid "Portal status" +msgstr "État du portail" + +msgid "Current nodogsplash status is displayed below." +msgstr "L'état actuel de nodogsplash est affiché ci-dessous." From 939c5d164ce00d8ee49cb0f81538f869f1e295c7 Mon Sep 17 00:00:00 2001 From: billz Date: Wed, 22 Oct 2025 05:05:56 -0700 Subject: [PATCH 2/3] Revise navigation label to prevent wrapping --- locale/fr_FR/LC_MESSAGES/messages.mo | Bin 90387 -> 90382 bytes locale/fr_FR/LC_MESSAGES/messages.po | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/locale/fr_FR/LC_MESSAGES/messages.mo b/locale/fr_FR/LC_MESSAGES/messages.mo index 82bd7d966d3b1c6fb75e62f8bec9d728235c8e75..77ce31a34e6f7e531e31304a8067c4f799087832 100644 GIT binary patch delta 5314 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 delta 5319 zcmXZgdwkE=9mnx=L?Yr+l86xEMd{zTM>|Bf$5u9FU8RpHx{jg4+^Q-{_5znzfvHiq0arWV$_YdjN9p$QE#5qn_=d+(je>)t-aBaSGPJExu)_ zi2M%I@mRR^f)Ci5uA@4rkjLU+oPgTL+kN+C&>VPT6rg#Vg_?7Pi)JYdx*DYO7R1)?> zg?cjT09%OK=0&LF`vCR6FFguvDcnJ=S<`3S1D#Pxl!jWv`KbN;mS5k9>ga%9{{r>= zHNS4^xtTUX4WuV(DMzA`bs{PWy|*aDQ`n9J@Q;{|b?UpBW}!MNKt^+ey9 zsNJy;mCY;t_VuWvcL(bEgV+tvppM>}G1gSaMW}7Q6eH>1ETf>W*&5V9KE~i@6E(A& z{`IHWjC$jS?giaZ5z9agWC&{J<52^ij(YEWd=^)tlJyWO66ev=1CJ0b#NFplh09Edl~h$w2j^UNvPb&M4cZ+I2Dhhk~T5UoeRTJGoOPR=-YAZ zf6Z_m4LTThqPE#d)EZwveQbU}4J@LGHEGxyRiA;Hz#G^K-$5NX`%y>iIaK6spx*No zHG!z6F2Wr>3d-8WsF`jk4my$sI?x03h`9b5*4D}vl{jM zCe(?z6*bUPr~}EnM?uNaxS2bM`lG&T^HEE%4fVj6*bb{u185U)$v6;|tTRy^tV2cM z1nU0FsIO*Za~IiE)b*iA#62^Qg0g%yDwOY|M!X9(!gBxmKd=k+E2x<_Y2jwt74`gZ zT!y)*U33{0`dfb8CfML#Jhd=DdoecC{x7GX7o7IJge|Gx#<3XF(uKGH`%_(oUPgtg2(?W& zqXzaNzKmbsDD2m-O`%p<7*~SL{l4^^Ja4BZtdi0c)*C}WwPf%-ByR8dx z3MyNNp|U+6b+)fSeP&Oh4y3E7B?*7lnw8iB7144G;4xH=e2X11s-3%@(T@GEY|W-Y z2hUurj`LB;vj~-JTTuh4Kn>&qYUWkg4@b0j5%@Lg`WDnSK8geIEb4q{+`*b2n2qdc zQ_{h+!5<8}JGx}L=3A|k3tb%QffNj20ct=cxB<&iAs+gi3;i@yh!>!ibSdhavKlp@ zoqqj@?^%z6LUj$beSX4hOh|UwUWj_(N2u!uFbprE{#w3*dcJvz>mV6*4)nuP9FMyH zCMt*SqatKFTT>2RJOyR*-%!bS0hM%DQ8SC^;v&-mwVisP)_xc&XJ(;ts1TI{EB*R* z)IbiSo;!_N!f*Zd$4KsYCbFv=Kr$+1eNiXcSk#NB`R#?M4vVoiZa{^$3^mYWs7O?z zI=Y6sKeU^ROcW~DlKgsajMDypfx<8@Nh*r2oYPtU}!v=;4+)4K=}m=qW_wC@9Hhph8rDi}9EEJer=?lt3yf zQlDcn#`dzo--tU<2a-*5$-5XQQ$K~ezg=%@2I3MNi6?v;q_h9W(J&+3t>JOZr2aK( zDdPKB^D)lF^BCxBgFjLqV>-4Bm4)R`VV#F`;E0af3D zEAS@j{zXG=@E;u4aUu2A-Y{$CQP_x!uy&T^7cIYjQOVSPxZA&(sO>cbl`GRxN%)H2 zUX03-ov7#jjM_~XQM>6rDi`bs_nA+`uGGB|6tv%0;CL*f<{(^deQs7`!P5ZR1#jq ze2mR@-|^RQHTBROxBb?jCQ^p_gXSb^yFNhej+oKz82Ix6pA zTYQKLUCS}n48l&R7cW6w-;TO|23zAdsHF)TYfYZzV}m28|6-gqAL3bL#-?bzdu|y< z(Z4C7ptbw}2jlOt6IP$#?1D;`Jk(77iHb<*L>v6qN*ZcF3sC!h6Y6~*p|Wg*tfFU>bgkdQlZ>jUy&o^9?paeXbv%B2a}oiW76) z40~Zs>Vr@N9);C#C29#)<=Xh*3oB_*vit|b@iFR*58L~ft_KfA=Pb;hlfPif!u*1H Ufoanh1f~_to40q>EpPt+0acQTNdN!< diff --git a/locale/fr_FR/LC_MESSAGES/messages.po b/locale/fr_FR/LC_MESSAGES/messages.po index a107f9d3..0b020faf 100644 --- a/locale/fr_FR/LC_MESSAGES/messages.po +++ b/locale/fr_FR/LC_MESSAGES/messages.po @@ -1344,7 +1344,7 @@ msgstr "Inspecter les adaptateurs" #: includes/data_usage.php msgid "Data usage" -msgstr "Utilisation des données" +msgstr "Données utilisées" msgid "Data usage monitoring" msgstr "Surveillance de l'utilisation des données" From beb40ec7b974b286b3c4943fa047637b6008033c Mon Sep 17 00:00:00 2001 From: billz Date: Wed, 22 Oct 2025 07:18:58 -0700 Subject: [PATCH 3/3] Update w/ final localized messages --- locale/fr_FR/LC_MESSAGES/messages.mo | Bin 90382 -> 90515 bytes locale/fr_FR/LC_MESSAGES/messages.po | 13 ++++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/locale/fr_FR/LC_MESSAGES/messages.mo b/locale/fr_FR/LC_MESSAGES/messages.mo index 77ce31a34e6f7e531e31304a8067c4f799087832..0c4bfef90c748f297a0273c54aecc6d39d18263e 100644 GIT binary patch delta 19023 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 V5y^eGXD{M\n" "POT-Creation-Date: 2017-10-19 08:56+0000\n" -"PO-Revision-Date: 2025-10-22 06:44\n" +"PO-Revision-Date: 2025-10-22 14:14\n" "Last-Translator: Bill Zimmerman \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -773,6 +773,9 @@ msgstr "WPA et WPA2" msgid "WPA2 and WPA3-Personal (transitional mode)" msgstr "WPA2 et WPA3-Personnel (mode transitionnel)" +msgid "WPA3-Personal (required)" +msgstr "WPA3-Personnel (obligatoire)" + msgid "Enabled (for supported clients)" msgstr "Activé (pour les clients supportés)" @@ -1259,7 +1262,7 @@ msgid "and try again" msgstr "et réessayer" msgid "Plugins" -msgstr "Plugins" +msgstr "Extensions" msgid "Plugin details" msgstr "Détails du plugin" @@ -1292,7 +1295,7 @@ msgid "Dependencies" msgstr "Dépendances" msgid "Permissions" -msgstr "Permissions" +msgstr "Autorisations" msgid "Non-privileged users" msgstr "Utilisateurs non privilégiés" @@ -1833,6 +1836,9 @@ msgstr "La modification de l'état du pare-feu peut perturber ou autoriser le tr msgid "Proceed" msgstr "Continuer" +msgid "Apply changes" +msgstr "Appliquer les modifications" + msgid "Dynamic DNS" msgstr "DNS dynamique" @@ -2654,3 +2660,4 @@ msgstr "État du portail" msgid "Current nodogsplash status is displayed below." msgstr "L'état actuel de nodogsplash est affiché ci-dessous." +