i18n: sweep all remaining dynamic prose (oper commands, XLINE/FILTER/DNSBL notices, whois/vhost/knock/dcc/title/reputation/tline/rmode, hash, rename) through trf; +\xNN catalog escape; fr+es now 236 entries each

This commit is contained in:
Jean Chevronnet 2026-08-25 14:30:29 +00:00
parent ef96bcbd06
commit 9b51db07f5
No known key found for this signature in database
GPG key ID: 439666D63A9477E4
32 changed files with 295 additions and 128 deletions

View file

@ -289,7 +289,9 @@ fn pick(
if let Some(max) = c.limit {
if class_count(s, &c.name, uid) >= max {
if c.maxconnwarn {
s.snotice_c('c', &format!("connect class {} is full ({max})", c.name));
let max_s = max.to_string();
let m = s.trf("connect class {0} is full ({1})", &[c.name.as_str(), max_s.as_str()]);
s.snotice_c('c', &m);
}
continue; // full — try the next class
}
@ -355,7 +357,11 @@ pub fn assign(s: &mut Server, uid: Uid) -> Option<String> {
};
let warn = |s: &Server, why: &str| {
if class.maxconnwarn {
s.snotice_c('c', &format!("connect class {} refused {ip}: {why}", class.name));
let m = s.trf(
"connect class {0} refused {1}: {2}",
&[class.name.as_str(), ip.as_str(), why],
);
s.snotice_c('c', &m);
}
};
if let Some(max) = class.localmax {