First commit

This commit is contained in:
2026-07-20 11:05:07 +02:00
commit b592ab669f
159 changed files with 10294 additions and 0 deletions
Binary file not shown.
+241
View File
@@ -0,0 +1,241 @@
# English translation catalog for the banevents dashboard UI (Phase 5).
# Regenerate the msgid list with `manage.py makemessages -l en`, keep the
# msgstr values below in sync by hand, then `manage.py compilemessages`.
msgid ""
msgstr ""
"Project-Id-Version: Fail2banActionBanisher\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-18 17:34+0000\n"
"PO-Revision-Date: 2026-07-18 17:34+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: en\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Django site admin"
msgstr "Django site admin"
msgid "Django administration"
msgstr "Django administration"
msgid "Direct"
msgstr "Live"
msgid "Historique"
msgstr "History"
msgid "Noeuds"
msgstr "Nodes"
msgid "en ligne"
msgstr "online"
msgid "hors ligne"
msgstr "offline"
msgid "dernière activité"
msgstr "last activity"
msgid "Top jails"
msgstr "Top jails"
msgid "Top pays attaquants"
msgstr "Top attacking countries"
msgid "Langue"
msgstr "Language"
msgid "Rejoindre la communauté"
msgstr "Join the community"
msgid "Tableau de bord"
msgstr "Dashboard"
msgid "Le but"
msgstr "The purpose"
msgid ""
"Fail2banActionBanisher est un système distribué de bannissement d'hôtes "
"malveillants (fail2ban + iptables), avec propagation des événements par "
"MQTT. Un serveur \"master\" centralise la décision (corrélation multi-"
"noeuds, récidive globale) et republie les actions à exécuter vers l'ensemble "
"des noeuds abonnés."
msgstr ""
"Fail2banActionBanisher is a distributed malicious-host banishing system "
"(fail2ban + iptables), with event propagation over MQTT. A \"master\" "
"server centralizes the decision (multi-node correlation, global recidive "
"detection) and republishes the actions to be executed to all subscribed "
"nodes."
msgid ""
"Rejoindre la communauté ne suppose aucun lien d'appartenance entre les "
"serveurs : chaque membre garde son propre noeud et son propre fail2ban "
"local, seule la propagation des bans est partagée via ce master commun. "
"Aucun accès aux serveurs des autres membres n'est requis ni accordé."
msgstr ""
"Joining the community doesn't assume any ownership relationship between "
"servers: every member keeps their own node and their own local fail2ban — "
"only ban propagation is shared through this common master. No member gets "
"access to another member's servers."
msgid "Le fonctionnement"
msgstr "How it works"
msgid ""
"Votre serveur détecte et bannit localement (fail2ban + iptables), publie "
"l'événement sur un broker Mosquitto local, puis le relaie vers ce master en "
"mTLS. En retour, le master republie les bans décidés (propagation, escalade "
"en cas de récidive détectée sur plusieurs noeuds, ...) vers votre serveur."
msgstr ""
"Your server detects and bans locally (fail2ban + iptables), publishes the "
"event to a local Mosquitto broker, then relays it to this master over "
"mTLS. In return, the master republishes decided bans (propagation, "
"escalation if recidive is detected across several nodes, ...) to your "
"server."
msgid "L'installation"
msgstr "Installation"
msgid ""
"Cloner le dépôt sur votre serveur (VPS Debian 13), dans le <code>$HOME</"
"code> d'un utilisateur dédié."
msgstr ""
"Clone the repository on your server (Debian 13 VPS), into a dedicated "
"user's <code>$HOME</code>."
msgid "Copier <code>.env.example</code> vers <code>.env</code> et l'éditer."
msgstr "Copy <code>.env.example</code> to <code>.env</code> and edit it."
msgid ""
"Auto-inscription : après acceptation de votre demande ci-dessous, vous "
"recevrez un email avec une commande <code>make join</code> prête à l'emploi "
"— la clé privée de votre serveur est générée localement et ne quitte jamais "
"votre machine."
msgstr ""
"Token-based enrollment: once your request below is accepted, you'll "
"receive an email with a ready-to-use <code>make join</code> command — your "
"server's private key is generated locally and never leaves your machine."
msgid "Demander à rejoindre"
msgstr "Request to join"
msgid ""
"Votre demande sera examinée avant qu'un jeton d'inscription ne vous soit "
"envoyé par email."
msgstr ""
"Your request will be reviewed before an enrollment token is sent to you by "
"email."
msgid "Email"
msgstr "Email"
msgid "Nom de noeud souhaité"
msgstr "Desired node name"
msgid "Pays du serveur (optionnel)"
msgstr "Server country (optional)"
msgid "Message de présentation (optionnel)"
msgstr "Introduction message (optional)"
msgid "Envoyer la demande"
msgstr "Send request"
msgid "Bannissements (direct)"
msgstr "Bans (live)"
msgid "Administration"
msgstr "Administration"
msgid "Événements de bannissement"
msgstr "Ban events"
msgid "Tous les noeuds"
msgstr "All nodes"
msgid "(hors ligne)"
msgstr "(offline)"
msgid "Carte"
msgstr "Map"
msgid "Réinitialiser la vue"
msgstr "Reset view"
msgid "Reçu le"
msgstr "Received"
msgid "Noeud"
msgstr "Node"
msgid "Jail"
msgstr "Jail"
msgid "Action"
msgstr "Action"
msgid "Port/Protocole"
msgstr "Port/Protocol"
msgid "Durée du ban"
msgstr "Ban duration"
msgid "Localisation"
msgstr "Location"
msgid "Aucun événement pour le moment"
msgstr "No events yet"
msgid ""
"En attente d'un ban à diffuser en direct via WebSocket (manage.py "
"mqtt_listen doit tourner)."
msgstr ""
"Waiting for a ban to stream live via WebSocket (manage.py mqtt_listen must "
"be running)."
msgid "Commande reçue du master (non gérée)"
msgstr "Command received from master (unhandled)"
msgid "appliqué"
msgstr "applied"
msgid "échec"
msgstr "failed"
msgid "Fermer"
msgstr "Close"
msgid "Historique des bannissements"
msgstr "Ban history"
msgid "Depuis"
msgstr "From"
msgid "Jusqu'à"
msgstr "To"
msgid "Filtrer"
msgstr "Filter"
msgid "Réinitialiser"
msgstr "Reset"
msgid "Aucun événement sur cette période"
msgstr "No events for this period"
#, python-format
msgid ""
"Ajuste les dates ou le noeud ci-dessus, ou <a "
"href=\"%(reset_url)s\">réinitialise le filtre</a>."
msgstr ""
"Adjust the dates or node above, or <a href=\"%(reset_url)s\">reset the "
"filter</a>."
msgid ""
"Votre demande est enregistrée. Vous recevrez un email si elle est acceptée."
msgstr ""
"Your request has been recorded. You will receive an email if it is "
"accepted."