mirror of
https://github.com/an-anime-team/an-anime-game-launcher.git
synced 2025-02-03 14:30:50 +03:00
feat: updated get_default_lang()
Should fix default launcher language selection
This commit is contained in:
parent
bbe5d180f0
commit
2d0e486d40
2 changed files with 11 additions and 3 deletions
13
src/i18n.rs
13
src/i18n.rs
|
@ -51,12 +51,19 @@ pub fn get_lang() -> LanguageIdentifier {
|
|||
/// - `LC_MESSAGES`
|
||||
/// - `LANG`
|
||||
pub fn get_default_lang() -> LanguageIdentifier {
|
||||
let lang = std::env::var("LC_ALL")
|
||||
let current = std::env::var("LC_ALL")
|
||||
.unwrap_or_else(|_| std::env::var("LC_MESSAGES")
|
||||
.unwrap_or_else(|_| std::env::var("LANG")
|
||||
.unwrap_or_else(|_| String::from("en_US.UTF-8"))));
|
||||
.unwrap_or_else(|_| String::from("en_us"))))
|
||||
.to_ascii_lowercase();
|
||||
|
||||
lang.parse().unwrap_or_else(|_| langid!("en-us"))
|
||||
for lang in SUPPORTED_LANGUAGES {
|
||||
if current.starts_with(lang.language.as_str()) {
|
||||
return lang.clone();
|
||||
}
|
||||
}
|
||||
|
||||
get_lang()
|
||||
}
|
||||
|
||||
pub fn format_lang(lang: &LanguageIdentifier) -> String {
|
||||
|
|
|
@ -72,6 +72,7 @@ fn main() {
|
|||
std::fs::write(FIRST_RUN_FILE.as_path(), "").expect("Failed to create .first-run file");
|
||||
|
||||
// Set initial launcher language based on system language
|
||||
// CONFIG is initialized lazily so it will contain following changes as well
|
||||
let mut config = Config::get().expect("Failed to get config");
|
||||
|
||||
config.launcher.language = i18n::format_lang(&i18n::get_default_lang());
|
||||
|
|
Loading…
Add table
Reference in a new issue