Don't fail default locale ("C") and don't look for $HOME env variable

This commit is contained in:
southerntofu 2021-01-04 15:34:09 +01:00
parent 741af8c6f1
commit c3a4ece084
1 changed files with 6 additions and 1 deletions

View File

@ -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() {