diff --git a/desktop_version/src/Input.cpp b/desktop_version/src/Input.cpp index d1c03f35..aab9a9a6 100644 --- a/desktop_version/src/Input.cpp +++ b/desktop_version/src/Input.cpp @@ -1142,7 +1142,7 @@ static void menuactionpress(void) loc::languagelist_curlang = game.currentmenuoption; loc::lang = loc::languagelist[game.currentmenuoption].code; loc::loadtext(false); - loc::lang_set = true; + loc::lang_set = loc::lang_set_current; graphics.grphx.init_translations(); } diff --git a/desktop_version/src/Localization.cpp b/desktop_version/src/Localization.cpp index 150d620c..0aa11a69 100644 --- a/desktop_version/src/Localization.cpp +++ b/desktop_version/src/Localization.cpp @@ -11,7 +11,7 @@ namespace loc { -bool lang_set = false; +int lang_set = 0; bool pre_title_lang_menu = false; std::string lang = "en"; diff --git a/desktop_version/src/Localization.h b/desktop_version/src/Localization.h index defa7d93..2ec6c94e 100644 --- a/desktop_version/src/Localization.h +++ b/desktop_version/src/Localization.h @@ -45,7 +45,8 @@ struct TextboxFormat unsigned short padtowidth; // pad to X pixels (0 to disable) }; -extern bool lang_set; +extern int lang_set; +static const int lang_set_current = 2; extern bool pre_title_lang_menu; extern std::string lang; diff --git a/desktop_version/src/main.cpp b/desktop_version/src/main.cpp index c947536f..18f72297 100644 --- a/desktop_version/src/main.cpp +++ b/desktop_version/src/main.cpp @@ -674,7 +674,7 @@ int main(int argc, char *argv[]) game.gamestate = TITLEMODE; if (game.slowdown == 0) game.slowdown = 30; - if (!loc::lang_set && !loc::languagelist.empty()) + if (loc::lang_set < loc::lang_set_current && !loc::languagelist.empty()) { loc::pre_title_lang_menu = true; game.gamestate = TITLEMODE;