feat(discord-rpc): automatic system language detection and multi-language support (tr, en, de, es)

This commit is contained in:
ScreamAngel committed 2026-11-07 16:14:19 +03:00
1 parent a60dc8bace
commit 04f61833ea
5 files changed
+627 -196

No files matched your search

BIN
View File
Binary file not shown.
Binary file not shown.
+5 -3
View File
@@ -1689,9 +1689,9 @@ impl LauncherApp {
self.shader_loading = None;
let now = std::time::SystemTime::now().duration_since(std::time::UNIX_EPOCH).map(|d| d.as_secs() as i64).unwrap_or(0);
let is_modded = self.installed_mods.iter().any(|m| m.is_enabled);
self.discord_rpc.set_in_game(self.base_dir.clone(), now, self.config.target_fps, is_modded);
self.discord_rpc.set_in_game(self.base_dir.clone(), now, self.config.target_fps, is_modded, &self.config.language);
} else {
self.discord_rpc.set_compiling_shaders(Some(0.0));
self.discord_rpc.set_compiling_shaders(Some(0.0), &self.config.language);
// Pre-warm all shaders to 100% with the full Spartan Rage bar before game window is displayed
ctx.send_viewport_cmd(egui::ViewportCommand::Fullscreen(true));
#[cfg(target_os = "windows")]
@@ -2235,6 +2235,8 @@ impl LauncherApp {
self.current_lang = *lang;
self.config.language = lang.code().to_string();
let _ = self.config.save(&self.base_dir);
self.discord_rpc.update_language(lang.code());
self.discord_rpc.set_in_menu(lang.code());
}
}
});
@@ -4442,7 +4444,7 @@ impl eframe::App for LauncherApp {
let now = std::time::SystemTime::now().duration_since(std::time::UNIX_EPOCH).map(|d| d.as_secs() as i64).unwrap_or(0);
let is_modded = self.installed_mods.iter().any(|m| m.is_enabled);
self.discord_rpc.set_in_game(self.base_dir.clone(), now, self.config.target_fps, is_modded);
self.discord_rpc.set_in_game(self.base_dir.clone(), now, self.config.target_fps, is_modded, &self.config.language);
}
// Oyun penceresi açıldığında oyun ekranını en öne getir ve launcher'ı Normal seviyeye çek
+1 -1
View File
@@ -307,7 +307,7 @@ fn default_discord_client_id() -> String {
}
fn default_language() -> String {
"tr".to_string()
crate::discord_rpc::detect_system_language().to_string()
}
fn default_target_fps() -> u32 {
60
File diff suppressed because it is too large. Load diff