From 2a6c27a339f4dfd37baa02ae8cc5db8aa3fe39c8 Mon Sep 17 00:00:00 2001 From: amy Date: Wed, 26 Jan 2022 20:03:30 +0100 Subject: [PATCH] fix locale issue ( #2 ) --- src/functions/locale.rs | 14 ++++++++------ src/main.rs | 8 +------- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/src/functions/locale.rs b/src/functions/locale.rs index 2001ee1..7c1b1e5 100755 --- a/src/functions/locale.rs +++ b/src/functions/locale.rs @@ -21,15 +21,17 @@ pub fn set_timezone(timezone: &str) { pub fn set_locale(locale: String) { files_eval( - files::append_file("/mnt/etc/locale.gen", "en_US.UTF-8 UTF-8"), + files::append_file("/mnt/etc/locale.gen", "en_US.UTF-8 UTF-8\n"), "add en_US.UTF-8 UTF-8 to locale.gen", ); - files_eval( - files::append_file("/mnt/etc/locale.gen", locale.as_str()), - "add locales to locale.gen", - ); + for i in locale.split(' ') { + files_eval( + files::append_file("/mnt/etc/locale.gen", format!("{}\n", i).as_str()), + "add locales to locale.gen", + ); + } exec_eval( - exec_chroot("locale-gen", vec!["".to_string()]), + exec_chroot("locale-gen", vec![]), "generate locales", ); files::create_file("/mnt/etc/locale.conf"); diff --git a/src/main.rs b/src/main.rs index 2130fee..e215f04 100755 --- a/src/main.rs +++ b/src/main.rs @@ -154,13 +154,7 @@ fn main() { } else if let Some(app) = app.subcommand_matches("locale") { let kbrlayout = app.value_of("keyboard").unwrap(); let timezn = app.value_of("timezone").unwrap(); - let locale: String = app - .values_of("locales") - .unwrap() - .into_iter() - .map(|s| s.to_string()) - .collect(); - locale::set_locale(locale); + locale::set_locale(app.values_of("locales").unwrap().collect::>().join(" ")); locale::set_keyboard(kbrlayout); locale::set_timezone(timezn); } else if let Some(app) = app.subcommand_matches("networking") {