i18n: localize the client-facing Closing-link ERROR wrapper via trf (fr, es); QUIT-broadcast reasons stay canonical for S2S

This commit is contained in:
Jean Chevronnet 2026-08-25 14:35:13 +00:00
parent 9b51db07f5
commit 04671733d2
No known key found for this signature in database
GPG key ID: 439666D63A9477E4
12 changed files with 54 additions and 31 deletions

View file

@ -569,10 +569,8 @@ impl Ircd {
for m in &mut self.modules {
match m.on_user_register(&mut self.server, uid) {
ModResult::Deny => {
self.server.send(
uid,
"ERROR :Closing link (registration refused)".to_string(),
);
let m = self.server.trf("Closing link (registration refused)", &[]);
self.server.send(uid, format!("ERROR :{m}"));
self.server.remove_user(uid, "Registration refused");
return;
}
@ -588,15 +586,15 @@ impl Ircd {
(u.ident.clone(), u.host.clone(), u.addr.ip().to_string())
};
if let Some(reason) = self.server.matched_xline(&ident, &host, &ip) {
self.server
.send(uid, format!("ERROR :Closing link: ({reason})"));
let m = self.server.trf("Closing link: ({0})", &[reason.as_str()]);
self.server.send(uid, format!("ERROR :{m}"));
self.server.remove_user(uid, &reason);
return;
}
// ident: apply a confirmed username (dropping `~`) and enforce requireident
if let Some(reason) = crate::modules::ident::finalize(&mut self.server, uid) {
self.server
.send(uid, format!("ERROR :Closing link: ({reason})"));
let m = self.server.trf("Closing link: ({0})", &[reason.as_str()]);
self.server.send(uid, format!("ERROR :{m}"));
self.server.remove_user(uid, &reason);
return;
}
@ -613,8 +611,8 @@ impl Ircd {
)
};
if let Some(reason) = rl {
self.server
.send(uid, format!("ERROR :Closing link: ({reason})"));
let m = self.server.trf("Closing link: ({0})", &[reason.as_str()]);
self.server.send(uid, format!("ERROR :{m}"));
self.server.remove_user(uid, &reason);
return;
}
@ -636,8 +634,8 @@ impl Ircd {
fn reject_link(&mut self, uid: Uid, reason: &str) {
self.server
.numeric(uid, ERR_PASSWDMISMATCH, &format!(":{reason}"));
self.server
.send(uid, format!("ERROR :Closing link: ({reason})"));
let m = self.server.trf("Closing link: ({0})", &[reason]);
self.server.send(uid, format!("ERROR :{m}"));
self.server.remove_user(uid, reason);
}
@ -705,8 +703,8 @@ impl Ircd {
} else {
"Registration timeout"
};
self.server
.send(uid, format!("ERROR :Closing link: ({reason})"));
let m = self.server.trf("Closing link: ({0})", &[reason]);
self.server.send(uid, format!("ERROR :{m}"));
self.quit_user(uid, reason);
}
// republish gauges (the core owns this state; the scrape thread only reads)