Critical: fix unsquashfs arg order, quote Exec paths with spaces, fix compare_versions antisymmetry, chunk-based signature detection, bounded ELF header reads. High: handle NULL CVE severity, prevent pipe deadlock in inspector, fix glob_match edge case, fix backup archive path collisions, async crash detection with stderr capture. Medium: gate scan on auto-scan setting, fix window size persistence, fix announce() for Stack containers, claim lightbox gesture, use serde_json for CLI output, remove dead CSS @media blocks, add detail-tab persistence, remove invalid metainfo categories, byte-level fuse signature search. Low: tighten Wayland env var detection, ELF magic validation, timeout for update info extraction, quoted arg parsing, stop watcher timer on window destroy, GSettings choices/range constraints, remove unused CSS classes, define status-ok/status-attention CSS.
34 lines
988 B
Rust
34 lines
988 B
Rust
/// Mark a string for translation.
|
|
/// Currently a passthrough; will use gettext when locale support is wired up.
|
|
pub fn i18n(msgid: &str) -> String {
|
|
msgid.to_string()
|
|
}
|
|
|
|
/// Translate a string with singular/plural forms.
|
|
pub fn ni18n(singular: &str, plural: &str, n: u32) -> String {
|
|
if n == 1 {
|
|
singular.to_string()
|
|
} else {
|
|
plural.to_string()
|
|
}
|
|
}
|
|
|
|
/// Translate a string and replace named placeholders.
|
|
pub fn i18n_f(msgid: &str, args: &[(&str, &str)]) -> String {
|
|
let mut result = msgid.to_string();
|
|
for (key, value) in args {
|
|
result = result.replace(key, value);
|
|
}
|
|
result
|
|
}
|
|
|
|
/// Translate a string with singular/plural forms and named placeholders.
|
|
pub fn ni18n_f(singular: &str, plural: &str, n: u32, args: &[(&str, &str)]) -> String {
|
|
let base = if n == 1 { singular } else { plural };
|
|
let mut result = base.to_string();
|
|
for (key, value) in args {
|
|
result = result.replace(key, value);
|
|
}
|
|
result
|
|
}
|