diff --git a/locale/fr/LC_MESSAGES/django.mo b/locale/fr/LC_MESSAGES/django.mo new file mode 100644 index 0000000..9f0d671 Binary files /dev/null and b/locale/fr/LC_MESSAGES/django.mo differ diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po index bbb04c9..f7444aa 100644 --- a/locale/fr/LC_MESSAGES/django.po +++ b/locale/fr/LC_MESSAGES/django.po @@ -6,9 +6,10 @@ #, fuzzy msgid "" msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-16 15:41-0300\n" +"POT-Creation-Date: 2025-04-17 09:04-0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,53 +18,54 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" + #: console/views.py:25 console/views.py:57 user_manager/forms.py:16 msgid "Console" -msgstr "" +msgstr "Console" #: console/views.py:27 msgid "iptables list" -msgstr "" +msgstr "liste iptables" #: console/views.py:33 msgid "running processes" -msgstr "" +msgstr "processus en cours" #: console/views.py:36 msgid "WireGuard show" -msgstr "" +msgstr "état WireGuard" #: console/views.py:39 msgid "Memory usage" -msgstr "" +msgstr "Utilisation de la mémoire" #: console/views.py:42 msgid "Routing table" -msgstr "" +msgstr "Table de routage" #: console/views.py:54 msgid "DNS container test script" -msgstr "" +msgstr "Script de test du conteneur DNS" #: console/views.py:57 msgid "Invalid command" -msgstr "" +msgstr "Commande invalide" #: console/views.py:64 msgid "Invalid target" -msgstr "" +msgstr "Cible invalide" #: console/views.py:69 msgid "Enhanced filter is enabled. This command is not available." -msgstr "" +msgstr "Le filtre avancé est activé. Cette commande n’est pas disponible." #: dns/forms.py:22 wireguard/forms.py:22 msgid "Primary DNS" -msgstr "" +msgstr "DNS primaire" #: dns/forms.py:23 wireguard/forms.py:23 msgid "Secondary DNS" -msgstr "" +msgstr "DNS secondaire" #: dns/forms.py:25 dns/forms.py:67 dns/forms.py:109 #: templates/firewall/manage_firewall_rule.html:380 @@ -74,11 +76,11 @@ msgstr "" #: templates/wireguard/wireguard_peer_list.html:166 user_manager/forms.py:49 #: user_manager/forms.py:180 vpn_invite/forms.py:192 vpn_invite/forms.py:326 msgid "Back" -msgstr "" +msgstr "Retour" #: dns/forms.py:29 msgid "Resolver Settings" -msgstr "" +msgstr "Paramètres du résolveur" #: dns/forms.py:37 dns/forms.py:83 dns/forms.py:134 #: templates/firewall/manage_firewall_rule.html:379 @@ -90,11 +92,11 @@ msgstr "" #: user_manager/forms.py:98 user_manager/forms.py:205 vpn_invite/forms.py:191 #: vpn_invite/forms.py:325 msgid "Save" -msgstr "" +msgstr "Enregistrer" #: dns/forms.py:65 templates/dns/static_host_list.html:17 msgid "Hostname" -msgstr "" +msgstr "Nom d’hôte" #: dns/forms.py:66 templates/dns/static_host_list.html:18 #: templates/firewall/manage_redirect_rule.html:43 @@ -102,7 +104,7 @@ msgstr "" #: templates/firewall/manage_redirect_rule.html:68 #: templates/wireguard/wireguard_status.html:45 msgid "IP Address" -msgstr "" +msgstr "Adresse IP" #: dns/forms.py:68 dns/forms.py:110 #: templates/firewall/manage_firewall_rule.html:382 @@ -111,242 +113,247 @@ msgstr "" #: templates/wireguard/wireguard_peer_list.html:185 user_manager/forms.py:48 #: user_manager/forms.py:181 msgid "Delete" -msgstr "" +msgstr "Supprimer" #: dns/forms.py:75 msgid "Static DNS" -msgstr "" +msgstr "DNS statique" #: dns/forms.py:111 templates/dns/static_host_list.html:68 #: templates/user_manager/peer_group_list.html:8 user_manager/forms.py:177 #: wireguard_peer/forms.py:10 msgid "Name" -msgstr "" +msgstr "Nom" #: dns/forms.py:112 firewall/forms.py:111 #: templates/dns/static_host_list.html:69 #: templates/firewall/manage_redirect_rule.html:18 #: templates/firewall/manage_redirect_rule.html:19 msgid "Description" -msgstr "" +msgstr "Description" #: dns/forms.py:113 msgid "List URL" -msgstr "" +msgstr "URL de la liste" #: dns/forms.py:125 msgid "DNS Filter List Details" -msgstr "" +msgstr "Détails de la liste de filtres DNS" #: dns/views.py:33 msgid "DNS settings applied successfully" -msgstr "" +msgstr "Paramètres DNS appliqués avec succès" #: dns/views.py:68 msgid "Default DNS Filter List created successfully" -msgstr "" +msgstr "Liste de filtres DNS par défaut créée avec succès" #: dns/views.py:71 msgid "" "Pending Changes|There are pending DNS changes that have not been applied" msgstr "" +"Modifications en attente|Des changements DNS n’ont pas encore été appliqués" #: dns/views.py:90 msgid "DNS Forwarders" -msgstr "" +msgstr "Redirecteurs DNS" #: dns/views.py:91 msgid "" "All DNS queries will be forwarded to the primary resolver. If the primary " "resolver is not available, the secondary resolver will be used." msgstr "" +"Toutes les requêtes DNS seront transmises au résolveur primaire. Si celui‑ci " +"est indisponible, le résolveur secondaire sera utilisé." #: dns/views.py:118 msgid "Static DNS deleted successfully" -msgstr "" +msgstr "Entrée DNS statique supprimée avec succès" #: dns/views.py:121 msgid "Static DNS not deleted|Invalid confirmation" -msgstr "" +msgstr "DNS statique non supprimé|Confirmation invalide" #: dns/views.py:131 msgid "Static DNS saved successfully" -msgstr "" +msgstr "DNS statique enregistré avec succès" #: dns/views.py:154 msgid "DNS Filter List not deleted | Filter List is enabled" -msgstr "" +msgstr "Liste de filtres DNS non supprimée | La liste est activée" #: dns/views.py:161 msgid "Error removing config file: " -msgstr "" +msgstr "Erreur lors de la suppression du fichier de configuration : " #: dns/views.py:164 msgid "DNS Filter List deleted successfully" -msgstr "" +msgstr "Liste de filtres DNS supprimée avec succès" #: dns/views.py:167 msgid "DNS Filter List not deleted | Invalid confirmation" -msgstr "" +msgstr "Liste de filtres DNS non supprimée | Confirmation invalide" #: dns/views.py:177 msgid "DNS Filter List saved successfully" -msgstr "" +msgstr "Liste de filtres DNS enregistrée avec succès" #: dns/views.py:204 msgid "Failed to read existing config file: " -msgstr "" +msgstr "Impossible de lire le fichier de configuration existant : " #: dns/views.py:222 msgid "Failed to fetch the host list: " -msgstr "" +msgstr "Échec du téléchargement de la liste d’hôtes : " #: dns/views.py:232 msgid "Failed to write config file: " -msgstr "" +msgstr "Impossible d’écrire le fichier de configuration : " #: dns/views.py:257 msgid "DNS Filter List updated successfully" -msgstr "" +msgstr "Liste de filtres DNS mise à jour avec succès" #: dns/views.py:274 msgid "DNS Filter List enabled successfully" -msgstr "" +msgstr "Liste de filtres DNS activée avec succès" #: dns/views.py:276 msgid "DNS Filter List not enabled | No valid hosts found" -msgstr "" +msgstr "Liste de filtres DNS non activée | Aucun hôte valide trouvé" #: dns/views.py:281 msgid "DNS Filter List disabled successfully" -msgstr "" +msgstr "Liste de filtres DNS désactivée avec succès" #: firewall/forms.py:41 msgid "Port is required." -msgstr "" +msgstr "Le port est obligatoire." #: firewall/forms.py:44 msgid "Port 8000 (tcp) is reserved for wireguard-webadmin." -msgstr "" +msgstr "Le port 8000 (TCP) est réservé à wireguard‑webadmin." #: firewall/forms.py:48 #, python-format msgid "Port %s is already in use by another WireGuard instance." -msgstr "" +msgstr "Le port %s est déjà utilisé par une autre instance WireGuard." #: firewall/forms.py:51 msgid "Invalid Destination. Either Peer or IP Address must be informed." -msgstr "" +msgstr "Destination invalide : renseignez soit un Peer, soit une adresse IP." #: firewall/forms.py:54 msgid "Peer and IP Address cannot be selected at the same time." msgstr "" +"Le Peer et l’adresse IP ne peuvent pas être sélectionnés simultanément." #: firewall/forms.py:57 msgid "IP Address cannot be used without selecting a WireGuard instance." msgstr "" +"Une adresse IP ne peut être utilisée sans sélectionner d’instance WireGuard." #: firewall/forms.py:81 msgid "wg+ (Any WireGuard Interface)" -msgstr "" +msgstr "wg+ (n’importe quelle interface WireGuard)" #: firewall/forms.py:112 msgid "Firewall Chain" -msgstr "" +msgstr "Chaîne du pare‑feu" #: firewall/forms.py:113 msgid "In Interface" -msgstr "" +msgstr "Interface entrante" #: firewall/forms.py:114 msgid "Out Interface" -msgstr "" +msgstr "Interface sortante" #: firewall/forms.py:115 msgid "Source IP" -msgstr "" +msgstr "IP source" #: firewall/forms.py:116 firewall/forms.py:121 wireguard/forms.py:18 #: wireguard_peer/forms.py:30 msgid "Netmask" -msgstr "" +msgstr "Masque" #: firewall/forms.py:117 msgid "Source Peer" -msgstr "" +msgstr "Peer source" #: firewall/forms.py:118 msgid "Source Peer Include Networks" -msgstr "" +msgstr "Inclure les réseaux du Peer source" #: firewall/forms.py:119 msgid "Not Source" -msgstr "" +msgstr "Non‑source" #: firewall/forms.py:120 msgid "Destination IP" -msgstr "" +msgstr "IP de destination" #: firewall/forms.py:122 msgid "Destination Peer" -msgstr "" +msgstr "Peer de destination" #: firewall/forms.py:123 msgid "Destination Peer Include Networks" -msgstr "" +msgstr "Inclure les réseaux du Peer destination" #: firewall/forms.py:124 msgid "Not Destination" -msgstr "" +msgstr "Non‑destination" #: firewall/forms.py:125 templates/firewall/firewall_rule_list.html:44 #: templates/firewall/manage_firewall_rule.html:263 #: templates/firewall/manage_redirect_rule.html:22 #: templates/firewall/redirect_rule_list.html:13 msgid "Protocol" -msgstr "" +msgstr "Protocole" #: firewall/forms.py:126 templates/firewall/manage_redirect_rule.html:35 msgid "Destination Port" -msgstr "" +msgstr "Port de destination" #: firewall/forms.py:127 templates/firewall/firewall_rule_list.html:141 msgid "New" -msgstr "" +msgstr "Nouveau" #: firewall/forms.py:128 templates/firewall/firewall_rule_list.html:60 #: templates/firewall/firewall_rule_list.html:142 msgid "Related" -msgstr "" +msgstr "Connexe" #: firewall/forms.py:129 templates/firewall/firewall_rule_list.html:61 #: templates/firewall/firewall_rule_list.html:143 msgid "Established" -msgstr "" +msgstr "Établi" #: firewall/forms.py:130 templates/firewall/firewall_rule_list.html:144 msgid "Invalid" -msgstr "" +msgstr "Invalide" #: firewall/forms.py:131 templates/firewall/firewall_rule_list.html:145 msgid "Untracked" -msgstr "" +msgstr "Non suivi" #: firewall/forms.py:132 msgid "Not State" -msgstr "" +msgstr "Sans état" #: firewall/forms.py:133 msgid "Rule Action" -msgstr "" +msgstr "Action" #: firewall/forms.py:134 msgid "Sort Order" -msgstr "" +msgstr "Ordre" #: firewall/forms.py:182 msgid "Default Forward Policy" -msgstr "" +msgstr "Politique de transfert par défaut" #: firewall/forms.py:182 firewall/models.py:62 firewall/models.py:75 #: firewall/models.py:76 templates/firewall/firewall_rule_list.html:63 @@ -354,315 +361,324 @@ msgstr "" #: templates/firewall/firewall_rule_list.html:168 #: templates/firewall/firewall_rule_list.html:187 msgid "ACCEPT" -msgstr "" +msgstr "Accepter" #: firewall/forms.py:182 firewall/models.py:62 firewall/models.py:75 #: firewall/models.py:76 templates/firewall/firewall_rule_list.html:170 #: templates/firewall/firewall_rule_list.html:187 msgid "REJECT" -msgstr "" +msgstr "Rejeter" #: firewall/forms.py:182 firewall/models.py:62 firewall/models.py:75 #: firewall/models.py:76 msgid "DROP" -msgstr "" +msgstr "Abandonner" #: firewall/forms.py:183 msgid "Allow Peer to Peer" -msgstr "" +msgstr "Autoriser Peer ↔ Peer" #: firewall/forms.py:184 msgid "Allow Instance to Instance" -msgstr "" +msgstr "Autoriser Instance ↔ Instance" #: firewall/forms.py:185 msgid "WAN Interface" -msgstr "" +msgstr "Interface WAN" #: firewall/models.py:62 msgid "MASQUERADE" -msgstr "" +msgstr "MASQUERADE" #: firewall/tools.py:44 msgid "Masquerade traffic from VPN to WAN" -msgstr "" +msgstr "Masquer le trafic du VPN vers le WAN" #: firewall/tools.py:54 firewall/tools.py:58 firewall/tools.py:62 msgid "Reject traffic to private networks exiting on WAN interface" -msgstr "" +msgstr "Rejeter le trafic vers les réseaux privés sortant sur l’interface WAN" #: firewall/tools.py:66 msgid "Allow traffic from VPN to WAN" -msgstr "" +msgstr "Autoriser le trafic du VPN vers le WAN" #: firewall/views.py:21 msgid "Port Forward List" -msgstr "" +msgstr "Liste des redirections de port" #: firewall/views.py:32 msgid "Manage Port Forward" -msgstr "" +msgstr "Gérer la redirection de port" #: firewall/views.py:42 msgid "Port Forward rule deleted successfully" -msgstr "" +msgstr "Règle de redirection supprimée avec succès" #: firewall/views.py:44 msgid "" "Error deleting Port Forward rule|Confirmation did not match. Port Forward " "rule was not deleted." msgstr "" +"Erreur de suppression|La confirmation ne correspond pas ; la règle de " +"redirection n’a pas été supprimée." #: firewall/views.py:54 msgid "Port Forward rule saved successfully" -msgstr "" +msgstr "Règle de redirection enregistrée avec succès" #: firewall/views.py:79 msgid "Firewall Rule List" -msgstr "" +msgstr "Liste des règles du pare‑feu" #: firewall/views.py:93 msgid "Manage Firewall Rule" -msgstr "" +msgstr "Gérer la règle du pare‑feu" #: firewall/views.py:111 msgid "Firewall rule deleted successfully" -msgstr "" +msgstr "Règle du pare‑feu supprimée avec succès" #: firewall/views.py:113 msgid "" "Error deleting Firewall rule|Confirmation did not match. Firewall rule was " "not deleted." msgstr "" +"Erreur de suppression de la règle|La confirmation ne correspond pas ; la " +"règle n’a pas été supprimée." #: firewall/views.py:125 msgid "Firewall rule saved successfully" -msgstr "" +msgstr "Règle du pare‑feu enregistrée avec succès" #: firewall/views.py:157 msgid "Manage Firewall Settings" -msgstr "" +msgstr "Gérer les paramètres du pare‑feu" #: firewall/views.py:173 msgid "Firewall settings saved successfully" -msgstr "" +msgstr "Paramètres du pare‑feu enregistrés avec succès" #: intl_tools/forms.py:11 templates/accounts/login.html:36 msgid "Language" -msgstr "" +msgstr "Langue" #: intl_tools/forms.py:22 templates/base.html:80 msgid "Change Language" -msgstr "" +msgstr "Changer de langue" #: templates/access_denied.html:9 msgid "Access Denied" -msgstr "" +msgstr "Accès refusé" #: templates/access_denied.html:12 msgid "Sorry, you do not have permission to access this page." -msgstr "" +msgstr "Désolé, vous n’avez pas l’autorisation d’accéder à cette page." #: templates/access_denied.html:12 msgid "" "Please contact your system administrator if you believe this is an error." msgstr "" +"Veuillez contacter votre administrateur système si vous pensez qu’il s’agit " +"d’une erreur." #: templates/accounts/login.html:14 templates/user_manager/list.html:8 #: user_manager/forms.py:13 vpn_invite/forms.py:281 msgid "Username" -msgstr "" +msgstr "Nom d’utilisateur" #: templates/accounts/login.html:23 #: templates/vpn_invite/invite_settings.html:19 user_manager/forms.py:14 #: vpn_invite/forms.py:282 msgid "Password" -msgstr "" +msgstr "Mot de passe" #: templates/accounts/login.html:32 msgid "Login" -msgstr "" +msgstr "Connexion" #: templates/accounts/logout.html:11 msgid "You have been successfully logged out." -msgstr "" +msgstr "Vous avez été déconnecté avec succès." #: templates/accounts/logout.html:14 msgid "Login again" -msgstr "" +msgstr "Se reconnecter" #: templates/base.html:112 templates/dns/static_host_list.html:72 #: vpn_invite/forms.py:78 vpn_invite/forms.py:79 vpn_invite/forms.py:80 #: vpn_invite/forms.py:81 vpn_invite/forms.py:82 msgid "Status" -msgstr "" +msgstr "Statut" #: templates/base.html:158 user_manager/views.py:74 msgid "User Manager" -msgstr "" +msgstr "Gestion des utilisateurs" #: templates/base.html:176 templates/wireguard/wireguard_peer_list.html:195 #: vpn_invite/views.py:37 msgid "VPN Invite" -msgstr "" +msgstr "Invitation VPN" #: templates/base.html:254 msgid "Update Required" -msgstr "" +msgstr "Mise à jour requise" #: templates/base.html:256 msgid "" "Your WireGuard settings have been modified. To apply these changes, please " "update the configuration and reload the WireGuard service." msgstr "" +"Les paramètres WireGuard ont été modifiés. Pour appliquer ces changements, " +"mettez à jour la configuration et rechargez le service WireGuard." #: templates/base.html:265 msgid "Update and restart service" -msgstr "" +msgstr "Mettre à jour et redémarrer le service" #: templates/base.html:273 msgid "Update and reload service" -msgstr "" +msgstr "Mettre à jour et recharger le service" #: templates/base.html:286 msgid "Update Available" -msgstr "" +msgstr "Mise à jour disponible" #: templates/base.html:288 msgid "Version" -msgstr "" +msgstr "Version" #: templates/console/console.html:12 msgid "Clear" -msgstr "" +msgstr "Effacer" #: templates/console/console.html:27 msgid "Destination Hostname or IP Address" -msgstr "" +msgstr "Nom d’hôte ou adresse IP de destination" #: templates/dns/static_host_list.html:9 msgid "Static Host List" -msgstr "" +msgstr "Liste d’hôtes statiques" #: templates/dns/static_host_list.html:45 msgid "Add" -msgstr "" +msgstr "Ajouter" #: templates/dns/static_host_list.html:46 msgid "Settings" -msgstr "" +msgstr "Paramètres" #: templates/dns/static_host_list.html:47 msgid "Apply" -msgstr "" +msgstr "Appliquer" #: templates/dns/static_host_list.html:59 msgid "DNS Filter Lists" -msgstr "" +msgstr "Listes de filtres DNS" #: templates/dns/static_host_list.html:70 msgid "Hosts" -msgstr "" +msgstr "Hôtes" #: templates/dns/static_host_list.html:71 msgid "Last Update" -msgstr "" +msgstr "Dernière mise à jour" #: templates/dns/static_host_list.html:73 msgid "Update" -msgstr "" +msgstr "Mettre à jour" #: templates/dns/static_host_list.html:74 templates/user_manager/list.html:53 #: templates/user_manager/peer_group_list.html:35 #: templates/wireguard/wireguard_peer_list.html:196 msgid "Edit" -msgstr "" +msgstr "Modifier" #: templates/dns/static_host_list.html:116 msgid "Add Filter List" -msgstr "" +msgstr "Ajouter une liste de filtres" #: templates/firewall/firewall_nav_tabs.html:11 msgid "Port Forward" -msgstr "" +msgstr "Redirection de port" #: templates/firewall/firewall_nav_tabs.html:15 msgid "Default Policy" -msgstr "" +msgstr "Politique par défaut" #: templates/firewall/firewall_rule_list.html:40 msgid "In" -msgstr "" +msgstr "Entrée" #: templates/firewall/firewall_rule_list.html:41 msgid "Out" -msgstr "" +msgstr "Sortie" #: templates/firewall/firewall_rule_list.html:42 #: templates/firewall/manage_firewall_rule.html:141 msgid "Source" -msgstr "" +msgstr "Source" #: templates/firewall/firewall_rule_list.html:43 #: templates/firewall/manage_firewall_rule.html:202 #: templates/firewall/redirect_rule_list.html:15 msgid "Destination" -msgstr "" +msgstr "Destination" #: templates/firewall/firewall_rule_list.html:45 #: templates/firewall/manage_redirect_rule.html:30 #: templates/firewall/redirect_rule_list.html:14 #: templates/wireguard/wireguard_status.html:47 vpn_invite/forms.py:284 msgid "Port" -msgstr "" +msgstr "Port" #: templates/firewall/firewall_rule_list.html:46 msgid "State" -msgstr "" +msgstr "État" #: templates/firewall/firewall_rule_list.html:47 #: templates/firewall/manage_firewall_rule.html:360 msgid "Action" -msgstr "" +msgstr "Action" #: templates/firewall/firewall_rule_list.html:53 msgid "Automatic rule: Allow established/related traffic" -msgstr "" +msgstr "Règle automatique : autoriser le trafic établi/associé" #: templates/firewall/firewall_rule_list.html:58 #: templates/firewall/firewall_rule_list.html:138 msgid "all" -msgstr "" +msgstr "tous" #: templates/firewall/firewall_rule_list.html:71 #: templates/firewall/firewall_rule_list.html:97 msgid "Automatic Rule: Port forward." -msgstr "" +msgstr "Règle automatique : redirection de port." #: templates/firewall/firewall_rule_list.html:158 msgid "Automatic Rule: Firewall Settings Peer to Peer traffic" -msgstr "" +msgstr "Règle automatique : trafic Peer ↔ Peer (paramètres du pare‑feu)" #: templates/firewall/firewall_rule_list.html:179 msgid "Automatic Rule: Firewall Settings Instance to Instance" msgstr "" +"Règle automatique : trafic Instance ↔ Instance (paramètres du pare‑feu)" #: templates/firewall/firewall_rule_list.html:194 msgid "Create Firewall Rule" -msgstr "" +msgstr "Créer une règle de pare‑feu" #: templates/firewall/firewall_rule_list.html:195 #: templates/firewall/redirect_rule_list.html:59 msgid "Firewall Settings" -msgstr "" +msgstr "Paramètres du pare‑feu" #: templates/firewall/firewall_rule_list.html:196 msgid "Display automatic rules" -msgstr "" +msgstr "Afficher les règles automatiques" #: templates/firewall/manage_firewall_rule.html:18 msgid "General" -msgstr "" +msgstr "Général" #: templates/firewall/manage_firewall_rule.html:79 msgid "" @@ -680,10 +696,23 @@ msgid "" "

\n" " " msgstr "" +"\n" +"
Configuration avancée du pare‑feu " +"VPN
\n" +"

\n" +" Cette interface est un outil complet " +"de gestion des règles de pare‑feu ; elle permet de définir des politiques de " +"trafic avancées entre pairs VPN et réseaux. Elle simplifie la création de " +"règles, le filtrage de paquets et les configurations NAT afin d’offrir un " +"contrôle précis sur la sécurité. Les utilisateurs peuvent spécifier adresses " +"IP source et destination, ports, protocoles et actions pour ajuster le flux " +"de trafic, garantissant ainsi un environnement réseau sûr et efficace.\n" +"

\n" +" " #: templates/firewall/manage_firewall_rule.html:100 msgid "Interface" -msgstr "" +msgstr "Interface" #: templates/firewall/manage_firewall_rule.html:179 msgid "" @@ -704,6 +733,21 @@ msgid "" "

\n" " " msgstr "" +"\n" +"
Sélection de la source
\n" +"

\n" +" Vous pouvez appliquer cette règle à " +"une adresse IP ou un réseau précis et/ou à plusieurs peers.

\n" +" L’option « Inclure les réseaux du " +"peer » ajoute automatiquement toutes les IP autorisées associées à chaque " +"peer sélectionné.

\n" +" Attention : choisir plusieurs peers " +"avec réseaux inclus en source et en destination peut rapidement augmenter le " +"nombre de règles générées.

\n" +" L’option « Non‑source » annule la " +"source IP, le réseau ou le/les peer(s) sélectionné(s).\n" +"

\n" +" " #: templates/firewall/manage_firewall_rule.html:240 msgid "" @@ -725,6 +769,22 @@ msgid "" "

\n" " " msgstr "" +"\n" +"
Sélection de la destination
\n" +"

\n" +" Cette règle peut s’appliquer à une " +"adresse IP ou à un réseau précis et/ou à plusieurs peers comme destination." +"

\n" +" « Inclure les réseaux du peer » " +"ajoute automatiquement toutes les IP autorisées de chaque peer sélectionné " +"en destination.

\n" +" Le choix de plusieurs peers avec " +"réseaux inclus en source et destination peut générer un grand nombre de " +"règles.

\n" +" L’option « Non‑destination » annule " +"la destination IP, le réseau ou le/les peer(s) sélectionné(s).\n" +"

\n" +" " #: templates/firewall/manage_firewall_rule.html:297 msgid "" @@ -741,18 +801,30 @@ msgid "" "

\n" " " msgstr "" +"\n" +"
Protocole et port
\n" +"

\n" +" Seuls les protocoles les plus " +"courants sont listés. Si vous en avez besoin d’un autre, ouvrez une issue " +"sur GitHub.

\n" +" Choisir TCP+UDP dupliquera les " +"règles générées.

\n" +" Les ports peuvent être indiqués " +"individuellement (ex. 8080) ou en plages (ex. 8001:8999).\n" +"

\n" +" " #: templates/firewall/manage_firewall_rule.html:320 msgid "Packet State" -msgstr "" +msgstr "État du paquet" #: templates/firewall/manage_firewall_rule.html:471 msgid "Please type 'delete' to remove this firewall rule." -msgstr "" +msgstr "Tapez « delete » pour supprimer cette règle de pare‑feu." #: templates/firewall/manage_firewall_settings.html:61 msgid "Reset firewall to default" -msgstr "" +msgstr "Réinitialiser le pare‑feu" #: templates/firewall/manage_firewall_settings.html:77 msgid "" @@ -760,29 +832,32 @@ msgid "" "sure you want to continue?\\n\\nType 'delete all rules and reset firewall' " "to confirm." msgstr "" +"Réinitialiser le pare‑feu supprimera toutes les règles et paramètres. " +"Voulez‑vous vraiment continuer ?\\n\\nTapez « delete all rules and reset " +"firewall » pour confirmer." #: templates/firewall/manage_redirect_rule.html:40 msgid "Destination Type" -msgstr "" +msgstr "Type de destination" #: templates/firewall/manage_redirect_rule.html:42 #: templates/firewall/manage_redirect_rule.html:48 #: templates/vpn_invite/invite_settings.html:17 user_manager/forms.py:178 msgid "Peer" -msgstr "" +msgstr "Pair" #: templates/firewall/manage_redirect_rule.html:57 msgid "WireGuard Instance" -msgstr "" +msgstr "Instance WireGuard" #: templates/firewall/manage_redirect_rule.html:74 msgid "Add Forward Rule (allow)" -msgstr "" +msgstr "Ajouter une règle Forward (allow)" #: templates/firewall/manage_redirect_rule.html:80 #: templates/firewall/redirect_rule_list.html:17 msgid "Masquerade Source" -msgstr "" +msgstr "Masquer l’adresse source" #: templates/firewall/manage_redirect_rule.html:91 msgid "" @@ -812,18 +887,43 @@ msgid "" "all connections to match the IP address of the WireGuard instance.

\n" " " msgstr "" +"\n" +"
Ports par défaut
\n" +"

Le fichier docker-compose.yml " +"par défaut définit la plage de ports TCP 8080‑8089. " +"Si vous souhaitez rediriger vers une autre plage, modifiez ce " +"fichier manuellement, puis relancez l’étape Docker Compose décrite dans les " +"instructions de " +"déploiement.

\n" +"
Type de destination : Peer
\n" +"

La redirection de port privilégiera la première " +"adresse IP du peer dont la priorité est zéro.

\n" +"
Type de destination : Adresse IP
\n" +"

Les règles de transfert de port pointeront vers " +"l’adresse IP spécifiée. N’oubliez pas d’associer cette IP ou ce réseau à un " +"peer.

\n" +"
Ajouter une règle Forward
\n" +"

Génère automatiquement une règle de transfert " +"afin de respecter des paramètres de pare‑feu plus stricts.

\n" +"
Masquer l’adresse source
\n" +"

Solution temporaire lorsque le peer n’utilise pas " +"le VPN comme passerelle par défaut. Cette configuration est déconseillée, " +"car elle remplace l’adresse source de toutes les connexions par l’IP de " +"l’instance WireGuard.

\n" +" " #: templates/firewall/manage_redirect_rule.html:143 msgid "To delete this rule, please type:" -msgstr "" +msgstr "Pour supprimer cette règle, saisissez :" #: templates/firewall/redirect_rule_list.html:12 msgid "Instance" -msgstr "" +msgstr "Instance" #: templates/firewall/redirect_rule_list.html:16 msgid "Allow Forward" -msgstr "" +msgstr "Autoriser Forward" #: templates/firewall/redirect_rule_list.html:46 msgid "" @@ -832,169 +932,172 @@ msgid "" "recommended, as it alters the source address of all connections to match the " "IP address of the WireGuard instance." msgstr "" +"Ceci est une solution temporaire lorsqu’un peer n’utilise pas le VPN comme " +"passerelle par défaut. Cette configuration est déconseillée ; elle remplace " +"l’adresse source de toutes les connexions par l’IP de l’instance WireGuard." #: templates/firewall/redirect_rule_list.html:58 msgid "Create Port forwarding Rule" -msgstr "" +msgstr "Créer une règle de redirection de port" #: templates/user_manager/list.html:9 user_manager/forms.py:20 msgid "User Level" -msgstr "" +msgstr "Niveau utilisateur" #: templates/user_manager/list.html:10 user_manager/forms.py:24 #: user_manager/views.py:17 msgid "Peer Groups" -msgstr "" +msgstr "Groupes de peers" #: templates/user_manager/list.html:11 msgid "Permissions" -msgstr "" +msgstr "Autorisations" #: templates/user_manager/list.html:26 msgid "All" -msgstr "" +msgstr "Tous" #: templates/user_manager/list.html:31 msgid "Restart Enabled" -msgstr "" +msgstr "Redémarrage autorisé" #: templates/user_manager/list.html:36 msgid "Reload Enabled" -msgstr "" +msgstr "Rechargement autorisé" #: templates/user_manager/list.html:42 msgid "Console Enabled" -msgstr "" +msgstr "Console autorisée" #: templates/user_manager/list.html:48 msgid "Enhanced Filter Enabled" -msgstr "" +msgstr "Filtre avancé activé" #: templates/user_manager/list_buttons.html:2 user_manager/views.py:111 msgid "Add User" -msgstr "" +msgstr "Ajouter un utilisateur" #: templates/user_manager/list_buttons.html:3 msgid "List Users" -msgstr "" +msgstr "Lister les utilisateurs" #: templates/user_manager/list_buttons.html:4 msgid "List Peer Groups" -msgstr "" +msgstr "Lister les groupes de peers" #: templates/user_manager/list_buttons.html:5 user_manager/views.py:43 msgid "Add Peer Group" -msgstr "" +msgstr "Ajouter un groupe de peers" #: templates/user_manager/peer_group_list.html:9 #: templates/wireguard/wireguard_status.html:48 msgid "Peers" -msgstr "" +msgstr "Peers" #: templates/user_manager/peer_group_list.html:10 user_manager/forms.py:179 msgid "Server Instance" -msgstr "" +msgstr "Instance serveur" #: templates/user_manager/peer_group_list.html:11 msgid "Users" -msgstr "" +msgstr "Utilisateurs" #: templates/vpn_invite/invite_settings.html:18 msgid "Expiration" -msgstr "" +msgstr "Expiration" #: templates/vpn_invite/invite_settings.html:31 msgid "Remove VPN invitation for peer" -msgstr "" +msgstr "Supprimer l’invitation VPN du peer" #: templates/vpn_invite/invite_settings.html:38 msgid "No active VPN invitations" -msgstr "" +msgstr "Aucune invitation VPN active" #: templates/vpn_invite/invite_settings.html:49 vpn_invite/views.py:77 msgid "Email Settings" -msgstr "" +msgstr "Paramètres e‑mail" #: templates/vpn_invite/invite_settings.html:50 msgid "Invite Settings" -msgstr "" +msgstr "Paramètres d’invitation" #: templates/wireguard/wireguard_manage_ip.html:18 msgid "Enter Allowed IP" -msgstr "" +msgstr "Saisir l’IP autorisée" #: templates/wireguard/wireguard_manage_ip.html:34 #: templates/wireguard/wireguard_manage_peer.html:103 #: templates/wireguard/wireguard_manage_peer.html:153 #: wireguard_peer/forms.py:31 msgid "Priority" -msgstr "" +msgstr "Priorité" #: templates/wireguard/wireguard_manage_ip.html:58 msgid "Please type \\\"delete\\\" to remove this IP address." -msgstr "" +msgstr "Tapez \\\"delete\\\" pour supprimer cette adresse IP." #: templates/wireguard/wireguard_manage_peer.html:8 msgid "Peer Configuration" -msgstr "" +msgstr "Configuration du peer" #: templates/wireguard/wireguard_manage_peer.html:17 msgid "Enter Name" -msgstr "" +msgstr "Saisir le nom" #: templates/wireguard/wireguard_manage_peer.html:23 wireguard_peer/forms.py:14 msgid "Persistent Keepalive" -msgstr "" +msgstr "Keep‑alive persistant" #: templates/wireguard/wireguard_manage_peer.html:29 wireguard/forms.py:14 #: wireguard_peer/forms.py:11 msgid "Public Key" -msgstr "" +msgstr "Clé publique" #: templates/wireguard/wireguard_manage_peer.html:36 wireguard/forms.py:13 #: wireguard_peer/forms.py:12 msgid "Private Key" -msgstr "" +msgstr "Clé privée" #: templates/wireguard/wireguard_manage_peer.html:46 wireguard_peer/forms.py:13 msgid "Pre-Shared Key" -msgstr "" +msgstr "Clé pré‑partagée" #: templates/wireguard/wireguard_manage_peer.html:57 #: templates/wireguard/wireguard_peer_list.html:136 msgid "Peer Traffic" -msgstr "" +msgstr "Trafic du peer" #: templates/wireguard/wireguard_manage_peer.html:73 #: templates/wireguard/wireguard_peer_list.html:151 msgid "No traffic history, please wait a few minutes" -msgstr "" +msgstr "Aucun historique de trafic ; veuillez patienter quelques minutes" #: templates/wireguard/wireguard_manage_peer.html:85 msgid "AllowedIPs at Peer section of wg" -msgstr "" +msgstr "AllowedIPs dans la section Peer de wg" #: templates/wireguard/wireguard_manage_peer.html:86 msgid "Peer IP Addresses and networks" -msgstr "" +msgstr "Adresses IP et réseaux du peer" #: templates/wireguard/wireguard_manage_peer.html:88 #: templates/wireguard/wireguard_manage_peer.html:169 msgid "Add IP Address" -msgstr "" +msgstr "Ajouter une adresse IP" #: templates/wireguard/wireguard_manage_peer.html:101 #: templates/wireguard/wireguard_manage_peer.html:151 msgid "Main ip address" -msgstr "" +msgstr "Adresse IP principale" #: templates/wireguard/wireguard_manage_peer.html:116 msgid "Client Routing Configuration" -msgstr "" +msgstr "Configuration du routage client" #: templates/wireguard/wireguard_manage_peer.html:118 msgid "Add Client route" -msgstr "" +msgstr "Ajouter une route client" #: templates/wireguard/wireguard_manage_peer.html:124 msgid "" @@ -1004,6 +1107,10 @@ msgid "" "will need to manually update the client configuration file to reflect these " "settings." msgstr "" +"Le client n’est pas configuré pour utiliser le VPN comme passerelle par " +"défaut.\\n\\nSeuls les réseaux indiqués ci‑dessous sont routés via le VPN." +"\\n\\nRemarque : ces routes ne sont pas poussées automatiquement vers le " +"client ; vous devrez mettre à jour manuellement son fichier de configuration." #: templates/wireguard/wireguard_manage_peer.html:127 msgid "" @@ -1011,133 +1118,141 @@ msgid "" "setting routes all client internet traffic through the VPN, enhancing " "privacy and security across all connections." msgstr "" +"Le client est configuré pour utiliser le VPN comme passerelle par défaut." +"\\n\\nTout son trafic Internet passe donc par le VPN, améliorant la " +"confidentialité et la sécurité de ses connexions." #: templates/wireguard/wireguard_manage_peer.html:136 msgid "default route" -msgstr "" +msgstr "route par défaut" #: templates/wireguard/wireguard_manage_peer.html:171 msgid "Delete Peer" -msgstr "" +msgstr "Supprimer le peer" #: templates/wireguard/wireguard_manage_peer.html:188 msgid "Action Required!" -msgstr "" +msgstr "Action requise !" #: templates/wireguard/wireguard_manage_peer.html:189 msgid "" "When manually updating the \"Public Key\", \"Pre-Shared Key\", or \"Private " "Key\", please ensure the configuration is correct." msgstr "" +"Lorsque vous modifiez manuellement la « Clé publique », la « Clé " +"pré‑partagée » ou la « Clé privée », vérifiez que la configuration est " +"correcte." #: templates/wireguard/wireguard_manage_peer.html:209 msgid "Please type \\\"delete\\\" to remove peer configuration." -msgstr "" +msgstr "Tapez \\\"delete\\\" pour supprimer la configuration du peer." #: templates/wireguard/wireguard_manage_server.html:18 msgid "Create Instance" -msgstr "" +msgstr "Créer une instance" #: templates/wireguard/wireguard_manage_server.html:132 msgid "Delete Configuration" -msgstr "" +msgstr "Supprimer la configuration" #: templates/wireguard/wireguard_peer_list.html:75 #: templates/wireguard/wireguard_peer_list.html:125 msgid "Throughput" -msgstr "" +msgstr "Débit" #: templates/wireguard/wireguard_peer_list.html:76 #: templates/wireguard/wireguard_peer_list.html:126 msgid "Transfer" -msgstr "" +msgstr "Transfert" #: templates/wireguard/wireguard_peer_list.html:77 #: templates/wireguard/wireguard_peer_list.html:127 msgid "Latest Handshake" -msgstr "" +msgstr "Dernier handshake" #: templates/wireguard/wireguard_peer_list.html:79 #: templates/wireguard/wireguard_peer_list.html:128 msgid "Endpoints" -msgstr "" +msgstr "Points de terminaison" #: templates/wireguard/wireguard_peer_list.html:81 #: templates/wireguard/wireguard_peer_list.html:129 msgid "Allowed IPs" -msgstr "" +msgstr "IPs autorisées" #: templates/wireguard/wireguard_peer_list.html:102 msgid "Are you sure you want to create a new peer?" -msgstr "" +msgstr "Voulez‑vous vraiment créer un nouveau peer ?" #: templates/wireguard/wireguard_peer_list.html:102 #: templates/wireguard/wireguard_peer_list.html:104 msgid "Create Peer" -msgstr "" +msgstr "Créer un peer" #: templates/wireguard/wireguard_peer_list.html:106 #: templates/wireguard/wireguard_peer_list.html:617 msgid "Show extras" -msgstr "" +msgstr "Afficher les extras" #: templates/wireguard/wireguard_peer_list.html:158 msgid "Close QR Code" -msgstr "" +msgstr "Fermer le QR Code" #: templates/wireguard/wireguard_peer_list.html:168 msgid "VPN Invite Details" -msgstr "" +msgstr "Détails de l’invitation VPN" #: templates/wireguard/wireguard_peer_list.html:174 msgid "Expires on" -msgstr "" +msgstr "Expire le" #: templates/wireguard/wireguard_peer_list.html:178 msgid "Enter Email or WhatsApp Number" -msgstr "" +msgstr "Saisir l’e‑mail ou le numéro WhatsApp" #: templates/wireguard/wireguard_peer_list.html:179 msgid "Email or phone number" -msgstr "" +msgstr "E‑mail ou numéro de téléphone" #: templates/wireguard/wireguard_peer_list.html:182 msgid "Copy Text" -msgstr "" +msgstr "Copier le texte" #: templates/wireguard/wireguard_peer_list.html:183 msgid "Email" -msgstr "" +msgstr "E‑mail" #: templates/wireguard/wireguard_peer_list.html:184 msgid "WhatsApp" -msgstr "" +msgstr "WhatsApp" #: templates/wireguard/wireguard_peer_list.html:192 msgid "Close" -msgstr "" +msgstr "Fermer" #: templates/wireguard/wireguard_peer_list.html:193 msgid "Config" -msgstr "" +msgstr "Config" #: templates/wireguard/wireguard_peer_list.html:194 msgid "QR Code" -msgstr "" +msgstr "QR Code" #: templates/wireguard/wireguard_peer_list.html:204 msgid "No WireGuard Instances Found" -msgstr "" +msgstr "Aucune instance WireGuard trouvée" #: templates/wireguard/wireguard_peer_list.html:205 msgid "" "There are no WireGuard instances configured. You can add a new instance by " "clicking the button below." msgstr "" +"Aucune instance WireGuard n’est configurée. Vous pouvez en ajouter une en " +"cliquant sur le bouton ci‑dessous." #: templates/wireguard/wireguard_peer_list.html:208 msgid "Add WireGuard Instance" -msgstr "" +msgstr "Ajouter une instance WireGuard" #: templates/wireguard/wireguard_peer_list.html:570 msgid "" @@ -1145,6 +1260,9 @@ msgid "" "indicating that another peer has an IP overlapping this network or that the " "configuration file is outdated." msgstr "" +"Cette adresse n’apparaît pas dans la sortie de la commande « wg show ». Il " +"est probable qu’un autre peer utilise un IP chevauchant ce réseau ou que le " +"fichier de configuration soit obsolète." #: templates/wireguard/wireguard_peer_list.html:585 msgid "" @@ -1152,158 +1270,162 @@ msgid "" "may indicate that another peer is using an overlapping IP or that the " "configuration file is outdated." msgstr "" +"Au moins une adresse n’apparaît pas dans la sortie « wg show » ; cela peut " +"signifier qu’un autre peer utilise un IP chevauchant ou que la configuration " +"est obsolète." #: templates/wireguard/wireguard_peer_list.html:614 msgid "Hide extras" -msgstr "" +msgstr "Masquer les extras" #: templates/wireguard/wireguard_peer_list.html:658 #: templates/wireguard/wireguard_peer_list.html:792 msgid "Access Password" -msgstr "" +msgstr "Mot de passe d’accès" #: templates/wireguard/wireguard_peer_list.html:658 #: templates/wireguard/wireguard_peer_list.html:792 msgid "(Share this password via a separate secure channel)" -msgstr "" +msgstr "(Partagez ce mot de passe via un canal sécurisé distinct)" #: templates/wireguard/wireguard_peer_list.html:661 msgid "Unknown error" -msgstr "" +msgstr "Erreur inconnue" #: templates/wireguard/wireguard_peer_list.html:665 msgid "Error creating invite." -msgstr "" +msgstr "Erreur lors de la création de l’invitation." #: templates/wireguard/wireguard_peer_list.html:702 msgid "Invite text copied to clipboard." -msgstr "" +msgstr "Texte d’invitation copié dans le presse‑papiers." #: templates/wireguard/wireguard_peer_list.html:704 msgid "Failed to copy text." -msgstr "" +msgstr "Échec de la copie du texte." #: templates/wireguard/wireguard_peer_list.html:707 msgid "Clipboard API not supported." -msgstr "" +msgstr "API Clipboard non prise en charge." #: templates/wireguard/wireguard_peer_list.html:716 msgid "Please enter a valid phone number for WhatsApp." -msgstr "" +msgstr "Veuillez saisir un numéro de téléphone WhatsApp valide." #: templates/wireguard/wireguard_peer_list.html:728 #: templates/wireguard/wireguard_peer_list.html:774 msgid "Invite data is not available." -msgstr "" +msgstr "Les données d’invitation ne sont pas disponibles." #: templates/wireguard/wireguard_peer_list.html:737 msgid "Please enter a valid email address." -msgstr "" +msgstr "Veuillez saisir une adresse e‑mail valide." #: templates/wireguard/wireguard_peer_list.html:759 msgid "Error sending email." -msgstr "" +msgstr "Erreur lors de l’envoi de l’e‑mail." #: templates/wireguard/wireguard_peer_list.html:796 #: templates/wireguard/wireguard_peer_list.html:800 msgid "Error refreshing invite." -msgstr "" +msgstr "Erreur lors de l’actualisation de l’invitation." #: templates/wireguard/wireguard_peer_list.html:815 msgid "No invite data available to refresh." -msgstr "" +msgstr "Aucune donnée d’invitation à actualiser." #: templates/wireguard/wireguard_peer_list.html:835 msgid "Error closing invite:" -msgstr "" +msgstr "Erreur lors de la fermeture de l’invitation :" #: templates/wireguard/wireguard_status.html:9 msgid "Update Configuration" -msgstr "" +msgstr "Mettre à jour la configuration" #: templates/wireguard/wireguard_status.html:16 msgid "Restart Wireguard service" -msgstr "" +msgstr "Redémarrer le service WireGuard" #: templates/wireguard/wireguard_status.html:24 msgid "Reload Wireguard service" -msgstr "" +msgstr "Recharger le service WireGuard" #: templates/wireguard/wireguard_status.html:42 msgid "Instance Traffic" -msgstr "" +msgstr "Trafic de l’instance" #: templates/wireguard/wireguard_status.html:46 wireguard/forms.py:15 msgid "Public Address" -msgstr "" +msgstr "Adresse publique" #: user_manager/forms.py:15 msgid "Password Confirmation" -msgstr "" +msgstr "Confirmation du mot de passe" #: user_manager/forms.py:17 msgid "Reload WireGuard" -msgstr "" +msgstr "Recharger WireGuard" #: user_manager/forms.py:18 msgid "Restart WireGuard" -msgstr "" +msgstr "Redémarrer WireGuard" #: user_manager/forms.py:19 msgid "Enhanced Filter" -msgstr "" +msgstr "Filtre avancé" #: user_manager/forms.py:119 msgid "Password is required for new users." -msgstr "" +msgstr "Le mot de passe est requis pour les nouveaux utilisateurs." #: user_manager/forms.py:121 msgid "Password confirmation is required for new users." msgstr "" +"La confirmation du mot de passe est requise pour les nouveaux utilisateurs." #: user_manager/forms.py:125 msgid "The two password fields didn't match." -msgstr "" +msgstr "Les deux champs de mot de passe ne correspondent pas." #: user_manager/forms.py:127 msgid "Password must be at least 8 characters long." -msgstr "" +msgstr "Le mot de passe doit comporter au moins 8 caractères." #: user_manager/forms.py:220 msgid "A peer group with that name already exists." -msgstr "" +msgstr "Un groupe de peers portant ce nom existe déjà." #: user_manager/models.py:13 msgid "Debugging Analyst" -msgstr "" +msgstr "Analyste de débogage" #: user_manager/models.py:14 vpn_invite/models.py:25 msgid "View Only" -msgstr "" +msgstr "Lecture seule" #: user_manager/models.py:15 vpn_invite/models.py:25 msgid "Peer Manager" -msgstr "" +msgstr "Gestionnaire de peers" #: user_manager/models.py:16 vpn_invite/models.py:25 msgid "WireGuard Manager" -msgstr "" +msgstr "Gestionnaire WireGuard" #: user_manager/models.py:17 vpn_invite/models.py:25 msgid "Administrator" -msgstr "" +msgstr "Administrateur" #: user_manager/views.py:31 msgid "Edit Peer Group: " -msgstr "" +msgstr "Modifier le groupe de peers : " #: user_manager/views.py:36 msgid "Peer Group deleted|Peer Group deleted: " -msgstr "" +msgstr "Groupe de peers supprimé|Groupe supprimé : " #: user_manager/views.py:39 msgid "Peer Group not deleted|Invalid confirmation." -msgstr "" +msgstr "Groupe non supprimé|Confirmation invalide." #: user_manager/views.py:58 msgid "" @@ -1317,30 +1439,39 @@ msgid "" "this peer group, including adding or removing peers.

\n" " " msgstr "" +"\n" +"
Peers
\n" +"

Sélectionnez les peers que les utilisateurs de ce groupe peuvent " +"gérer.

\n" +"\n" +"
Instances WireGuard
\n" +"

Tous les peers de cette instance WireGuard pourront être gérés " +"par les utilisateurs du groupe, y compris l’ajout et la suppression.

\n" +" " #: user_manager/views.py:98 msgid "Edit User" -msgstr "" +msgstr "Modifier l’utilisateur" #: user_manager/views.py:104 msgid "User deleted|User deleted: " -msgstr "" +msgstr "Utilisateur supprimé|Utilisateur supprimé : " #: user_manager/views.py:107 msgid "User not deleted|Invalid confirmation." -msgstr "" +msgstr "Utilisateur non supprimé|Confirmation invalide." #: user_manager/views.py:128 msgid "User Disconnected|User Disconnected: " -msgstr "" +msgstr "Utilisateur déconnecté|Utilisateur déconnecté : " #: user_manager/views.py:132 msgid "User updated|User updated: " -msgstr "" +msgstr "Utilisateur mis à jour|Utilisateur mis à jour : " #: user_manager/views.py:134 msgid "User created|User created: " -msgstr "" +msgstr "Utilisateur créé|Utilisateur créé : " #: user_manager/views.py:139 msgid "" @@ -1384,170 +1515,211 @@ msgid "" "\n" " " msgstr "" +"\n" +"

Niveaux d’utilisateur

\n" +"
Analyste de débogage
\n" +"

Accès aux informations système de base et aux journaux pour le " +"dépannage. Aucun droit de modifier les paramètres ni de consulter des " +"données sensibles (comme les clés des peers).

\n" +"\n" +"
Lecture seule
\n" +"

Droit de tout visualiser, y compris les clés des peers et les " +"fichiers de configuration. Impossible de modifier quoi que ce soit.

\n" +"\n" +"
Gestionnaire de peers
\n" +"

Peut ajouter, modifier et supprimer des peers et des adresses IP, " +"sans toutefois modifier la configuration des instances WireGuard ni d’autres " +"paramètres avancés.

\n" +"\n" +"
Gestionnaire WireGuard
\n" +"

Autorisé à ajouter, modifier et supprimer les configurations des " +"instances WireGuard.

\n" +"\n" +"
Administrateur
\n" +"

Accès complet au système : peut consulter et modifier tous les " +"paramètres, configurations et gérer les utilisateurs.

\n" +"\n" +"
\n" +"

Groupes de peers

\n" +"

Sélectionnez les groupes de peers accessibles à cet utilisateur. " +"Sans sélection, il aura accès à tous les peers.

\n" +"\n" +"

Console

\n" +"

Activer ou désactiver l’accès à la console Web pour cet " +"utilisateur.

\n" +"\n" +"

Filtre avancé

\n" +"

Limite la réponse de l’API aux seuls peers autorisés pour " +"l’utilisateur. Selon la taille de votre environnement, cette option peut " +"affecter les performances. Pour compenser, augmentez éventuellement " +"l’« intervalle d’actualisation Web » afin de réduire le nombre de requêtes.\n" +"\n" +" " #: user_manager/views.py:175 msgid "Please type the username to proceed." -msgstr "" +msgstr "Veuillez saisir le nom d’utilisateur pour continuer." #: vpn_invite/forms.py:49 vpn_invite/forms.py:294 msgid "Enabled" -msgstr "" +msgstr "Activé" #: vpn_invite/forms.py:49 msgid "Disabled" -msgstr "" +msgstr "Désactivé" #: vpn_invite/forms.py:68 vpn_invite/forms.py:69 vpn_invite/forms.py:70 #: vpn_invite/forms.py:71 vpn_invite/forms.py:72 msgid "URL" -msgstr "" +msgstr "URL" #: vpn_invite/forms.py:73 vpn_invite/forms.py:74 vpn_invite/forms.py:75 #: vpn_invite/forms.py:76 vpn_invite/forms.py:77 msgid "Text" -msgstr "" +msgstr "Texte" #: vpn_invite/forms.py:83 msgid "Web Page Instructions" -msgstr "" +msgstr "Instructions de la page Web" #: vpn_invite/forms.py:84 msgid "Email Subject" -msgstr "" +msgstr "Objet de l’e‑mail" #: vpn_invite/forms.py:85 msgid "Email Message" -msgstr "" +msgstr "Message e‑mail" #: vpn_invite/forms.py:86 msgid "Email Enabled" -msgstr "" +msgstr "E‑mail activé" #: vpn_invite/forms.py:87 msgid "WhatsApp Message" -msgstr "" +msgstr "Message WhatsApp" #: vpn_invite/forms.py:88 msgid "WhatsApp Enabled" -msgstr "" +msgstr "WhatsApp activé" #: vpn_invite/forms.py:89 msgid "Text Message" -msgstr "" +msgstr "Message texte" #: vpn_invite/forms.py:90 msgid "Expiration (minutes)" -msgstr "" +msgstr "Expiration (minutes)" #: vpn_invite/forms.py:91 msgid "Random Password" -msgstr "" +msgstr "Mot de passe aléatoire" #: vpn_invite/forms.py:92 msgid "Invite URL" -msgstr "" +msgstr "URL d’invitation" #: vpn_invite/forms.py:93 msgid "Required User Level" -msgstr "" +msgstr "Niveau utilisateur requis" #: vpn_invite/forms.py:94 msgid "Default Password" -msgstr "" +msgstr "Mot de passe par défaut" #: vpn_invite/forms.py:95 msgid "Random Password Length" -msgstr "" +msgstr "Longueur du mot de passe aléatoire" #: vpn_invite/forms.py:96 msgid "Random Password Complexity" -msgstr "" +msgstr "Complexité du mot de passe aléatoire" #: vpn_invite/forms.py:103 msgid "General Settings" -msgstr "" +msgstr "Paramètres généraux" #: vpn_invite/forms.py:125 msgid "Download Buttons" -msgstr "" +msgstr "Boutons de téléchargement" #: vpn_invite/forms.py:158 msgid "Message templates" -msgstr "" +msgstr "Modèles de message" #: vpn_invite/forms.py:165 msgid "Email Message Template" -msgstr "" +msgstr "Modèle de message e‑mail" #: vpn_invite/forms.py:176 msgid "WhatsApp Message Template" -msgstr "" +msgstr "Modèle de message WhatsApp" #: vpn_invite/forms.py:183 msgid "Text Message Template" -msgstr "" +msgstr "Modèle de message texte" #: vpn_invite/forms.py:205 msgid "Invite URL must start with 'https://'." -msgstr "" +msgstr "L’URL d’invitation doit commencer par « https:// »." #: vpn_invite/forms.py:207 msgid "Invite URL must end with '/invite/'." -msgstr "" +msgstr "L’URL d’invitation doit se terminer par « /invite/ »." #: vpn_invite/forms.py:213 msgid "Expiration (minutes) must be between 1 and 1440." -msgstr "" +msgstr "L’expiration (en minutes) doit être comprise entre 1 et 1440." #: vpn_invite/forms.py:222 msgid "Default password must not be provided when random password is enabled." -msgstr "" +msgstr "Le mot de passe par défaut ne doit pas être fourni lorsque le mot de passe aléatoire est activé." #: vpn_invite/forms.py:224 msgid "Random password length must be at least 6 characters." -msgstr "" +msgstr "La longueur du mot de passe aléatoire doit être d’au moins 6 caractères." #: vpn_invite/forms.py:229 msgid "Default password must be provided when random password is disabled." -msgstr "" +msgstr "Un mot de passe par défaut doit être fourni lorsque le mot de passe aléatoire est désactivé." #: vpn_invite/forms.py:231 msgid "Default password must be at least 6 characters long." -msgstr "" +msgstr "Le mot de passe par défaut doit comporter au moins 6 caractères." #: vpn_invite/forms.py:241 msgid "Text field must not be empty when download button is enabled." -msgstr "" +msgstr "Le champ texte ne doit pas être vide lorsque le bouton de téléchargement est activé." #: vpn_invite/forms.py:243 msgid "URL field must not be empty when download button is enabled." -msgstr "" +msgstr "Le champ URL ne doit pas être vide lorsque le bouton de téléchargement est activé." #: vpn_invite/forms.py:252 msgid "" "Default password must not be contained in any message template. Found at: " -msgstr "" +msgstr "Le mot de passe par défaut ne doit figurer dans aucun modèle de message. Trouvé dans : " #: vpn_invite/forms.py:259 #, python-brace-format msgid "The template must include the placeholder '{invite_url}'." -msgstr "" +msgstr "Le modèle doit contenir l’espace réservé « {invite_url} »." #: vpn_invite/forms.py:283 msgid "Host" -msgstr "" +msgstr "Hôte" #: vpn_invite/forms.py:285 msgid "Encryption" -msgstr "" +msgstr "Chiffrement" #: vpn_invite/forms.py:286 msgid "From Address" -msgstr "" +msgstr "Adresse de l’expéditeur" #: vpn_invite/forms.py:337 msgid "SMTP port must be between 1 and 65535." -msgstr "" +msgstr "Le port SMTP doit être compris entre 1 et 65535." #: vpn_invite/models.py:8 #, python-brace-format @@ -1562,6 +1734,16 @@ msgid "" "Note: This invitation link will expire in {expire_minutes} minutes. If you " "need a new link after expiration, please request another invite." msgstr "" +"Bonjour,\n" +"\n" +"Vous êtes invité·e à rejoindre notre réseau VPN WireGuard sécurisé. Cliquez " +"sur le lien ci‑dessous pour accéder à votre configuration VPN personnalisée :\n" +"\n" +"{invite_url}\n" +"\n" +"Remarque : ce lien d’invitation expirera dans {expire_minutes} minutes. " +"Si vous avez besoin d’un nouveau lien après expiration, veuillez demander " +"une nouvelle invitation." #: vpn_invite/models.py:16 msgid "" @@ -1572,22 +1754,28 @@ msgid "" "download the configuration file to quickly import your " "settings and start using your secure VPN connection.

" msgstr "" +"

Bienvenue dans votre configuration VPN

\n" +"

Commencez par télécharger l’application WireGuard pour votre appareil à " +"l’aide de l’un des liens ci‑dessous.

\n" +"

Une fois installée, vous pouvez scanner le QR Code ou " +"télécharger le fichier de configuration pour importer " +"rapidement vos paramètres et profiter de votre connexion VPN sécurisée.

" #: vpn_invite/models.py:30 msgid "Letters, Digits, Special Characters" -msgstr "" +msgstr "Lettres, chiffres, caractères spéciaux" #: vpn_invite/models.py:31 msgid "Letters, Digits" -msgstr "" +msgstr "Lettres, chiffres" #: vpn_invite/models.py:31 msgid "Letters" -msgstr "" +msgstr "Lettres" #: vpn_invite/models.py:31 msgid "Digits" -msgstr "" +msgstr "Chiffres" #: vpn_invite/models.py:55 msgid "" @@ -1595,227 +1783,241 @@ msgid "" "After installation, you can scan the QR code or download the configuration " "file to import on your device." msgstr "" +"Téléchargez l’application WireGuard pour votre appareil via l’un des liens " +"ci‑dessous. Après l’installation, scannez le QR Code ou téléchargez le " +"fichier de configuration pour l’importer sur votre appareil." #: vpn_invite/models.py:61 msgid "WireGuard VPN Invite" -msgstr "" +msgstr "Invitation VPN WireGuard" #: vpn_invite/views.py:53 msgid "Invite Settings|Settings saved successfully." -msgstr "" +msgstr "Paramètres d’invitation | Paramètres enregistrés avec succès." #: vpn_invite/views.py:57 msgid "VPN Invite Settings" -msgstr "" +msgstr "Paramètres de l’invitation VPN" #: vpn_invite/views.py:73 msgid "Email Settings|Settings saved successfully." -msgstr "" +msgstr "Paramètres e‑mail | Paramètres enregistrés avec succès." #: wireguard/forms.py:11 msgid "Display Name" -msgstr "" +msgstr "Nom à afficher" #: wireguard/forms.py:12 msgid "Instance ID" -msgstr "" +msgstr "ID de l’instance" #: wireguard/forms.py:16 msgid "Listen Port" -msgstr "" +msgstr "Port d’écoute" #: wireguard/forms.py:17 msgid "Internal IP Address" -msgstr "" +msgstr "Adresse IP interne" #: wireguard/forms.py:19 msgid "Post Up" -msgstr "" +msgstr "Post‑Up" #: wireguard/forms.py:20 msgid "Post Down" -msgstr "" +msgstr "Post‑Down" #: wireguard/forms.py:21 msgid "Web Refresh Interval" -msgstr "" +msgstr "Intervalle d’actualisation Web" #: wireguard/forms.py:42 msgid "Peer List Refresh Interval must be at least 5 seconds" -msgstr "" +msgstr "L’intervalle d’actualisation de la liste des peers doit être d’au moins 5 secondes." #: wireguard/forms.py:45 msgid "Invalid hostname or IP Address" -msgstr "" +msgstr "Nom d’hôte ou adresse IP invalide" #: wireguard/forms.py:54 msgid "The selected network range overlaps with another instance." -msgstr "" +msgstr "La plage réseau sélectionnée chevauche une autre instance." #: wireguard/views.py:97 msgid "WireGuard Status" -msgstr "" +msgstr "Statut WireGuard" #: wireguard/views.py:129 msgid "Update WireGuard Instance" -msgstr "" +msgstr "Mettre à jour l’instance WireGuard" #: wireguard/views.py:133 msgid "Delete WireGuard Instance" -msgstr "" +msgstr "Supprimer l’instance WireGuard" #: wireguard/views.py:136 msgid "Error removing instance: wg" -msgstr "" +msgstr "Erreur lors de la suppression de l’instance : wg" #: wireguard/views.py:136 -msgid "" -"|Cannot delete the requested WireGuard instance. There are still peers " -"associated with this instance." -msgstr "" +msgid "|Cannot delete the requested WireGuard instance. There are still peers associated with this instance." +msgstr "|Impossible de supprimer l’instance WireGuard demandée ; des peers y sont encore associés." #: wireguard/views.py:139 msgid "|WireGuard instance deleted: wg" -msgstr "" +msgstr "|Instance WireGuard supprimée : wg" #: wireguard/views.py:142 msgid "Invalid confirmation|Please confirm deletion of WireGuard instance: wg" -msgstr "" +msgstr "Confirmation invalide | Veuillez confirmer la suppression de l’instance WireGuard : wg" #: wireguard/views.py:146 msgid "Create a new WireGuard Instance" -msgstr "" +msgstr "Créer une nouvelle instance WireGuard" #: wireguard/views.py:147 msgid "New WireGuard Instance" -msgstr "" +msgstr "Nouvelle instance WireGuard" #: wireguard_peer/forms.py:29 msgid "Allowed IP or Network" -msgstr "" +msgstr "IP ou réseau autorisé" #: wireguard_peer/forms.py:39 msgid "Please provide a valid IP address." -msgstr "" +msgstr "Veuillez fournir une adresse IP valide." #: wireguard_peer/forms.py:48 msgid "A peer can have only one IP with priority zero." -msgstr "" +msgstr "Un peer ne peut avoir qu’une seule IP de priorité zéro." #: wireguard_peer/forms.py:54 msgid "This IP is already in use by another peer." -msgstr "" +msgstr "Cette adresse IP est déjà utilisée par un autre peer." #: wireguard_peer/forms.py:56 msgid "" "The IP address does not belong to the Peer's WireGuard instance network " "range. Please check the IP address or change the priority." msgstr "" +"L’adresse IP n’appartient pas à la plage réseau de l’instance WireGuard du " +"peer. Veuillez vérifier l’adresse ou modifier la priorité." #: wireguard_peer/forms.py:58 msgid "The netmask for priority 0 IP must be 32." -msgstr "" +msgstr "Le masque de sous‑réseau pour une IP de priorité 0 doit être 32." #: wireguard_peer/forms.py:60 msgid "The IP address is the same as the Peer's WireGuard instance address." -msgstr "" +msgstr "Cette adresse IP est identique à celle de l’instance WireGuard du peer." #: wireguard_peer/forms.py:63 msgid "" "The IP address belongs to the Peer's WireGuard instance network range. " "Please check the IP address or change use priority 0 instead." msgstr "" +"L’adresse IP se trouve déjà dans la plage réseau de l’instance WireGuard du " +"peer. Vérifiez l’adresse ou utilisez plutôt la priorité 0." #: wireguard_peer/forms.py:66 msgid "Priority must be greater than or equal to 1" -msgstr "" +msgstr "La priorité doit être supérieure ou égale à 1." #: wireguard_peer/forms.py:68 msgid "Invalid config file" -msgstr "" +msgstr "Fichier de configuration invalide" #: wireguard_peer/views.py:50 msgid "WireGuard Peer List" -msgstr "" +msgstr "Liste des peers WireGuard" #: wireguard_peer/views.py:129 msgid "Create a new Peer for instance wg" -msgstr "" +msgstr "Créer un nouveau peer pour l’instance wg" #: wireguard_peer/views.py:148 msgid "Peer created|Peer created successfully." -msgstr "" +msgstr "Peer créé | Peer créé avec succès." #: wireguard_peer/views.py:153 msgid "Error creating peer|No available IP address found for peer creation." -msgstr "" +msgstr "Erreur de création | Aucune adresse IP disponible pour créer le peer." #: wireguard_peer/views.py:166 msgid "Peer deleted|Peer deleted successfully." -msgstr "" +msgstr "Peer supprimé | Peer supprimé avec succès." #: wireguard_peer/views.py:169 msgid "" "Error deleting peer|Invalid confirmation message. Type \"delete\" to confirm." msgstr "" +"Erreur de suppression | Message de confirmation invalide. Tapez « delete » " +"pour confirmer." #: wireguard_peer/views.py:171 msgid "Update Peer: " -msgstr "" +msgstr "Mettre à jour le peer : " #: wireguard_peer/views.py:182 msgid "Peer updated|Peer updated successfully." -msgstr "" +msgstr "Peer mis à jour | Peer mis à jour avec succès." #: wireguard_peer/views.py:220 msgid "IP address deleted|IP address deleted successfully." -msgstr "" +msgstr "Adresse IP supprimée | Suppression réussie." #: wireguard_peer/views.py:225 msgid "" "Error deleting IP address|Invalid confirmation message. Type \"delete\" to " "confirm." msgstr "" +"Erreur de suppression de l’IP | Message de confirmation invalide. Tapez " +"« delete » pour confirmer." #: wireguard_peer/views.py:230 msgid "Manage client route" -msgstr "" +msgstr "Gérer la route client" #: wireguard_peer/views.py:232 msgid "Manage IP address or Network" -msgstr "" +msgstr "Gérer l’adresse IP ou le réseau" #: wireguard_peer/views.py:245 msgid "IP address updated|IP address updated successfully." -msgstr "" +msgstr "Adresse IP mise à jour | Mise à jour réussie." #: wireguard_peer/views.py:247 msgid "IP address added|IP address added successfully." -msgstr "" +msgstr "Adresse IP ajoutée | Ajout réussi." #: wireguard_tools/views.py:160 msgid "" "Export successful!|WireGuard configuration files have been exported to /etc/" "wireguard/." msgstr "" +"Exportation réussie ! | Les fichiers de configuration WireGuard ont été " +"exportés vers /etc/wireguard/." #: wireguard_tools/views.py:162 msgid "" "Export successful!|WireGuard configuration files have been exported to /etc/" "wireguard/. Don't forget to restart the interfaces." msgstr "" +"Exportation réussie ! | Les fichiers WireGuard ont été exportés vers /etc/" +"wireguard/. N’oubliez pas de redémarrer les interfaces." #: wireguard_tools/views.py:255 msgid "Error reloading" -msgstr "" +msgstr "Erreur de rechargement" #: wireguard_tools/views.py:267 msgid "Error stopping" -msgstr "" +msgstr "Erreur à l’arrêt" #: wireguard_tools/views.py:272 msgid "Error starting" -msgstr "" +msgstr "Erreur au démarrage" + #: wireguard_tools/views.py:279 msgid "" @@ -1823,19 +2025,21 @@ msgid "" "check if the the peers are working as expected. If you find any issues, " "please report them." msgstr "" +"AVERTISSEMENT | L’interface a été rechargée, pas redémarrée. Vérifiez que les " +"peers fonctionnent comme prévu ; signalez tout problème rencontré." #: wireguard_tools/views.py:280 msgid "WireGuard reloaded|The WireGuard service has been reloaded." -msgstr "" +msgstr "WireGuard rechargé | Le service WireGuard a été rechargé." #: wireguard_tools/views.py:282 msgid "WireGuard restarted|The WireGuard service has been restarted." -msgstr "" +msgstr "WireGuard redémarré | Le service WireGuard a été redémarré." #: wireguard_tools/views.py:285 msgid "Errors encountered|Error processing one or more interfaces." -msgstr "" +msgstr "Erreurs rencontrées | Problème lors du traitement d’une ou plusieurs interfaces." #: wireguard_tools/views.py:288 msgid "No interfaces found|No WireGuard interfaces were found to process." -msgstr "" +msgstr "Aucune interface trouvée | Aucune interface WireGuard à traiter."