From 5b602bee672c469e7b8f27d956c7b10c2321b08f Mon Sep 17 00:00:00 2001 From: metamuffin Date: Sat, 7 Sep 2024 12:17:59 +0200 Subject: fallback language --- locale/tools/src/main.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'locale/tools/src') diff --git a/locale/tools/src/main.rs b/locale/tools/src/main.rs index 1082581e..68805b99 100644 --- a/locale/tools/src/main.rs +++ b/locale/tools/src/main.rs @@ -26,6 +26,8 @@ enum Args { ExportPo { #[arg(long)] remap_ids: Option, + #[arg(long)] + fallback: Option, input: PathBuf, output: PathBuf, }, @@ -55,9 +57,19 @@ fn main() -> Result<()> { remap_ids: id_map, input, output, + fallback, } => { let mut ini = load_ini(&input)?; let id_map = id_map.map(|path| load_ini(&path)).transpose()?; + if let Some(fallback) = fallback { + let f = load_ini(&fallback)?; + for (k, v) in f { + if !ini.contains_key(&k) { + eprintln!("fallback: key {k:?} is missing"); + ini.insert(k, v); + } + } + } for &(code, name) in NATIVE_LANGUAGE_NAMES { ini.insert(format!("c.settings.ui.language.{code}"), name.to_owned()); -- cgit v1.2.3-70-g09d2