From c3a4ece0849b289b26886c4b789843c86cf752c3 Mon Sep 17 00:00:00 2001 From: southerntofu Date: Mon, 4 Jan 2021 15:34:09 +0100 Subject: [PATCH] Don't fail default locale ("C") and don't look for $HOME env variable --- src/log.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/log.rs b/src/log.rs index cef5a52..dca66da 100644 --- a/src/log.rs +++ b/src/log.rs @@ -2,6 +2,7 @@ use std::collections::HashMap; use std::env; use std::fs; use std::path::{Path, PathBuf}; +use home::home_dir; use lazy_static::lazy_static; @@ -30,6 +31,10 @@ impl Lang { match lang.to_uppercase().as_str() { "NONE" => Lang::None, "JSON" => Lang::JsonContext, + "C" => { + // Special case: when no lang is specified, default to english + Lang::Some("en".to_string()) + }, _ => { let p = PathBuf::from(&lang); if p.is_file() { @@ -53,7 +58,7 @@ fn find_translations() -> PathBuf { match env::var("FORGEBUILDI18N") { Ok(dir) => PathBuf::from(dir), Err(_) => { - let home = env::var("HOME").expect("$HOME environment variable is not defined!"); + let home = home_dir().expect("$HOME folder not found"); let mut path = PathBuf::from(home); path.push(".local/share/forgebuild/i18n"); if path.is_dir() {