mirror of
https://github.com/an-anime-team/an-anime-game-launcher.git
synced 2025-02-16 15:22:01 +03:00
feat(i18n): added automatic language settings updating from i18n
mod
This commit is contained in:
parent
b1bdfc9105
commit
c8e8413a00
2 changed files with 19 additions and 13 deletions
|
@ -13,3 +13,7 @@ company-alter-name = {-company-alter-name-1}{-company-alter-name-2}{-company-alt
|
|||
-game-name-3 = Imp
|
||||
-game-name-4 = act
|
||||
game-name = {-game-name-1}{-game-name-2} {-game-name-3}{-game-name-4}
|
||||
|
||||
en = English
|
||||
ru = Русский
|
||||
de = Deutsch
|
||||
|
|
|
@ -24,6 +24,8 @@ pub struct GeneralApp {
|
|||
|
||||
style: LauncherStyle,
|
||||
|
||||
languages: Vec<String>,
|
||||
|
||||
downloaded_wine_versions: Vec<wine::Version>,
|
||||
downloaded_dxvk_versions: Vec<dxvk::Version>,
|
||||
|
||||
|
@ -167,25 +169,23 @@ impl SimpleAsyncComponent for GeneralApp {
|
|||
|
||||
// TODO: maybe simplify it by some way? e.g. specify such stuff in i18n mod
|
||||
|
||||
#[wrap(Some)]
|
||||
set_model = >k::StringList::new(&[
|
||||
"English",
|
||||
"Русский"
|
||||
]),
|
||||
set_model: Some(>k::StringList::new(&model.languages.iter().map(|lang| lang.as_str()).collect::<Vec<&str>>())),
|
||||
|
||||
set_selected: match CONFIG.launcher.language.as_str() {
|
||||
"en-us" => 0,
|
||||
"ru-ru" => 1,
|
||||
_ => 0
|
||||
set_selected: {
|
||||
let selected = crate::i18n::get_lang().language;
|
||||
|
||||
SUPPORTED_LANGUAGES.iter()
|
||||
.position(|lang| lang.language == selected)
|
||||
.unwrap_or(0) as u32
|
||||
},
|
||||
|
||||
connect_selected_notify => move |row| {
|
||||
if is_ready() {
|
||||
if let Ok(mut config) = config::get() {
|
||||
config.launcher.language = String::from(*[
|
||||
"en-us",
|
||||
"ru-ru"
|
||||
].get(row.selected() as usize).unwrap_or(&"en-us"));
|
||||
config.launcher.language = SUPPORTED_LANGUAGES
|
||||
.get(row.selected() as usize)
|
||||
.unwrap_or(&SUPPORTED_LANGUAGES[0])
|
||||
.language.to_string();
|
||||
|
||||
config::update(config);
|
||||
}
|
||||
|
@ -503,6 +503,8 @@ impl SimpleAsyncComponent for GeneralApp {
|
|||
|
||||
style: CONFIG.launcher.style,
|
||||
|
||||
languages: SUPPORTED_LANGUAGES.iter().map(|lang| tr(lang.language.as_str())).collect(),
|
||||
|
||||
downloaded_wine_versions: vec![],
|
||||
downloaded_dxvk_versions: vec![],
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue