diff --git a/src/Localization.cpp b/src/Localization.cpp index 2411fa5..b99a5b7 100644 --- a/src/Localization.cpp +++ b/src/Localization.cpp @@ -9,6 +9,8 @@ #include #elif defined(__EMSCRIPTEN__) #include +#elif defined(__ANDROID__) +#include #endif namespace FRG { @@ -100,6 +102,25 @@ Language detectSystemLanguage() { if (primaryLang == LANG_RUSSIAN) return Language::Russian; if (primaryLang == LANG_ENGLISH) return Language::English; +#elif defined(__ANDROID__) + SDL_Locale* locales = SDL_GetPreferredLocales(); + if (locales) { + Language detected = Language::English; + for (SDL_Locale* l = locales; l->language; ++l) { + std::string langCode = l->language; + if (langCode == "ru") { + detected = Language::Russian; + break; + } + if (langCode == "en") { + detected = Language::English; + break; + } + } + SDL_free(locales); + return detected; + } + #else // Linux / SteamOS const char* langEnv = std::getenv("LC_ALL");